← 모든 콜 보기
ARBORIST#56

Ledger 앱 ZIP-32 미지원 문제

Ledger 앱 감사에서 ZIP-32 키 파생을 지원하지 않는다는 문제가 제기됐다

안건별 요약 9

  1. Arborist Call 시간 변경 공지

    Zcash Foundation · Dodger

    • Zcon4 등록이 진행 중이며 빠르게 마감되고 있다고 안내했다. 바르셀로나 Solo House에서 행사 전후 부대 프로그램도 열린다. 8월부터 늦은 슬롯이 22:30 UTC에서 21:00 UTC로 앞당겨진다.
    • 유럽 참가자가 더 쉽게 참여하도록 하기 위한 조치이다. 이른 슬롯의 시간은 그대로이며, 기존 Zoom 링크는 8월부터 무효가 되고 새 링크는 Zcon 이후 8월 초에 공개된다.
  2. ECC 코어 업데이트: Zcashd / lightwalletd / ShardTree

    Electric Coin Company · Daira, Str4d

    • ECC는 최근 Zcashd보다 모바일 지갑 개선에 집중했다. lightwalletd 코드에서 모든 블록을 한 순서로 처리한다는 가정을 모두 걷어내는 작업을 끝냈다.
    • 마지막 PR은 Kris가 작성한 비선형 스캔 구현으로, Str4d가 테스트와 리뷰를 맡았다. 이 과정에서 shardtree crate와 PR의 버그를 다수 수정했다.
    • shardtree crate는 아직 0.1이 나오지 않은 미배포 상태이며 incrementalmerkletree 저장소에 있다. 모바일 지갑에는 bridge tree 대신 shardtree를 쓰기로 했다.
    • SQLite 제약 때문에 병렬 처리를 위해 Rc 대신 Arc를 쓰는 설계 변경이 필요하다고 판단했다. 병렬화는 아직 동작하지 않아 다음 주에 재시도할 예정이다.
    • 기존 지갑 업그레이드가 처음부터 재스캔하는 것만큼 느린 문제를 풀기 위해 캐싱 레이어를 작성 중이다. 이후 Android·iOS SDK에 넣어 실기기에서 성능을 확인할 계획이다.
  3. Zebra 1.0.1 패치 릴리스

    Zcash Foundation · Teor

    • Zebra의 첫 패치 릴리스인 1.0.1이 나왔고, 릴리스 후보든 첫 안정판이든 모두 업그레이드할 것을 강하게 권고했다. 연결 보안 버그와 panic 여러 건을 고치고 CPU 사용량을 줄였다.
    • Komodo의 dimxy와 Ziggurat 팀이 버그 제보와 테스트에 도움을 줬다. Rust 1.70이 macOS 종료 시점에 버그를 일으켜 macOS 빌드는 더 이상 만들지 않는다. 동작은 하며 캐시된 상태는 안전하다고 설명했다.
  4. Zebra와 Zcashd 라이브러리 간 breaking change

    Zcash Foundation · Teor, Str4d, Daira

    • Zebra는 Zcashd RPC 5.6.0의 변경에 맞추는 작업 중이며, 이는 지갑의 fast spendability(spend before sync로 개명)에 해당한다.
    • Zebra가 note commitment tree를 저장할 때 쓰던 문서화되지 않은 직렬화 형식을 ECC 의존성 업데이트가 제거해, 기존 DB 형식에서 새 형식으로의 변환 코드를 작성해야 했다.
    • Teor는 breaking change를 사전에 알릴 방법을 물었다. ECC는 changelog의 main 브랜치 항목과 라이브러리 채널 공지를 참고하되 채널에만 의존하지는 말라고 답했다.
    • Str4d는 명시적 버전이 없는 암묵적 직렬화가 문제였으며 앞으로는 그런 방식을 쓰지 않겠다고 했다. Zebra도 문서화되지 않은 인터페이스를 DB에 저장하지 않겠다는 교훈을 얻었다.
    • Zebra는 체인이 수백 GB가 되어 전체 재구축 비용이 커졌기 때문에, 방금 reindex보다 효율적인 제자리 업그레이드 방식을 병합했다.
  5. FROST 사양 v14와 데모

    Zcash Foundation · Conrado

    • FROST 사양 draft 14가 이번 주에 나왔다. binding factor 계산에 공개키 해싱을 포함하는 변경이 반영되었고 테스트 벡터도 갱신되어 최종본에 가깝다.
    • Chelsea가 재랜덤화 crate의 설계를 단순화할 수 있음을 발견했다. 기본 FROST 위에 재랜덤화 버전을 얹으면 FROST 자체를 수정할 필요가 없다.
    • 진행 중인 감사에서 ed448-goldilocks crate는 심각하지 않은 버그 3건이 나왔고 이미 수정했다. 다음 감사 대상은 FROST core이다.
    • FROST와 Zcash 지갑 통합의 과제를 다루는 개발자 대상 데모 커뮤니티 콜이 다음 주 열릴 예정이며, Zcon에서도 FROST 지갑 세션이 있다.
  6. Shielded Labs의 Zcash Sustainability Fund 개발 착수

    Shielded Labs · Jason McGee, MArc Henderson

    • Shielded Labs가 Zcash Sustainability Fund 개발을 시작했다. 수개월간 커뮤니티 의견을 수렴한 뒤 Equilibrium Group의 엔지니어 두 명을 계약자로 고용했다.
    • 첫 마일스톤은 ZIP 두 건 작성이다. 하나는 프로토콜 수준에서 지속가능성 펀드를 만드는 ZIP이고, 다른 하나는 발행 일정(issuance schedule)을 수정하는 ZIP이다.
    • ZIP-0 절차를 따를 예정이며, ZIP 에디터들은 R&D Discord의 #zips 채널에서 논의하고 초안 PR을 먼저 열어 함께 다듬자고 조언했다.
  7. ZSF ZIP 편집 절차 Q&A

    Zcash Foundation · Teor, Daira, Deirdre, MArc Henderson

    • ZIP 에디터들은 수정할 때마다 새 PR을 여는 것보다 하나의 PR에 커밋을 쌓는 편이 리뷰하기 쉽다고 밝혔다. 서로 강하게 결합된 ZIP 두 건은 한 PR로 묶는 것이 좋고, 느슨하게 관련된 경우에는 두 PR도 가능하다.
    • 블록 헤더 변경은 기존 ZIP 및 LaTeX로 작성된 프로토콜 스펙에 영향을 준다. 스펙 갱신은 같은 PR에 넣어도 되지만 필수는 아니며 일관성 확보는 에디터의 책임이다.
    • Daira는 가능하면 블록 헤더 변경을 피하고, 필요하면 hashBlockCommitments 필드의 기존 확장 방식을 따르라고 조언했다.
    • Teor는 Zebra로 초기 구현을 할 경우의 지원 방안을 물었고, Zcon 이후인 8월 13일 무렵 Rust 구현 논의를 하기로 했다.
  8. Ziggurat 레드팀 업데이트

    Ziggurat · MArc Henderson

    • 앞서 언급된 Zebra 버그는 Ziggurat이 테스트넷에서 진행한 레드팀 훈련에서 발견되었으며, 심각도가 다른 4건을 찾았다. 결과는 블로그로 공개할 예정이다.
    • Zebra 측은 이번 릴리스나 다음 릴리스 이후 재테스트를 원했고, Ziggurat은 두 노드의 수정이 끝난 뒤 한 번에 재테스트하는 편이 좋다고 답했다. Teor는 다음 훈련 때 한두 주 전에 미리 알려 달라고 요청했다.
    • 테스트넷에 충분한 Zebra 인스턴스를 구성하는 데 며칠이 걸리기 때문이다.
  9. Ledger 앱 감사와 ZIP-32 지원 문제

    Taylor Hornby, Str4d, Daira, Conrado, Dodger

    • Taylor Hornby가 Hanh의 Ledger 하드웨어 지갑 앱 감사를 마쳤다. Ledger API가 ZIP-32 키·주소 파생을 지원하지 않는다는 점이 핵심 문제로 지적되었다.
    • 앱이 현재 BIP-32로 파생한 투명 키에서 shielded 키를 만드는데, 이대로 배포되면 지갑 간 시드 구문이 호환되지 않는다.
    • Str4d는 Blake2b가 이미 펌웨어에 있으므로 Orchard용 ZIP-32 파생만 구현해도 되며, 이를 BIP-32식 하드닝 전용 파생으로 일반화하면 다른 체인도 쓸 수 있다고 제안했다.
    • 차선책으로 Zondax 방식이 소개되었다. BIP-32 임의 경로의 키를 ZIP-32 키 트리의 루트 시드로 쓰는 방식이며 외부 지갑으로 내보낼 수 있다.
    • 단점은 투명 주소가 기존 Ledger Zcash 앱과 달라져 자금 이전이 필요하고, 외부 시드 구문을 Ledger로 가져올 수 없다는 점이다.
    • Dodger는 앱 제출의 걸림돌을 두고 Ledger와 소통 중이라 지금은 변경 요청 시점이 아니라며, 진전이 생길 때 제기하자고 했다.

한국어 요약은 원문을 바탕으로 정리한 것으로, 정확한 내용은 원문을 확인하세요.