← 모든 콜 보기
ARBORIST#109

Orchard ZSA 스펙 완료 보고

Qedit이 Orchard ZSA가 스펙 기준으로 완성돼 곧 리뷰에 들어간다고 밝혔다

안건별 요약 8

  1. Zebra 업데이트

    Zcash Foundation · Conrado

    • getrawtransaction RPC에 Orchard와 Sprout 필드를 추가했고, 빠져 있던 필드를 채워 z_gettreestate RPC도 완성했다.
    • 설정 방식을 계층형 구성으로 바꿔 기존 TOML 파일에 더해 환경 변수로도 Zebra를 설정할 수 있게 했다.
    • 배포와 CI가 쉬워진다.
    • Sapling 번들 검증을 librustzcash 함수 호출로 대체해 Zebra의 중복 코드를 상당량 제거했다.
    • 장기적으로는 트랜잭션 타입도 librustzcash 것으로 바꾸는 것이 목표이다.
    • RPC 스프레드시트에서 빠진 항목을 확인해 작업하고 있으며, CI 리팩터링도 진행 중이다.
    • 이후 Zallet과 Zaino 지원에 집중할 계획이다.
  2. ECC 코어 업데이트 (librustzcash, P2SH, Zallet)

    Electric Coin Company · Daira Emma, Kris, Str4d, Pacu

    • NU 6.1에 필요한 P2SH 멀티시그 주소 생성 명세(ZIP 48)의 초안을 Keystone 개발자에게 보내 긍정적인 피드백을 받았다.
    • Zallet 알파를 위해 RPC 호출을 구현하고 Zaino와 Zebra 스택의 문제도 우회했다.
    • Zallet 알파에서는 z_viewtransaction과 z_listunspent가 트랜잭션 조회와 미사용 출력 조회를 모두 처리한다.
    • 덕분에 혼란스러운 zcashd의 gettransaction과 listunspent를 폐기할 수 있게 됐다.
    • 앵커 높이 선택과 확인 수 요건을 분리하는 오랜 과제를 신입 엔지니어 Mischell이 구현 중이며, 모바일 SDK 업데이트로 Zashi와 Edge 등에서 잔돈 노트를 더 빨리 쓸 수 있게 될 전망이다.
    • Pacu의 send max 기능이 zcash_client_backend에 병합됐고, ChainSafe가 만든 인메모리 지갑 구현도 병합돼 더는 방치되지 않는다.
    • ChainSafe가 곧 시작하는 유지보수 그랜트에서 보완한다.
    • NU 6.1 프로토콜 명세 변경은 PR에서 완료됐고, 지급 주소 중 하나만 아직 생성되지 않았다.
  3. Zaino 업데이트

    Zingo Labs · Za

    • 그랜트 제안서 작업을 마치고 요청된 기능을 Zallet 개발자에게 전달했으며, 이들이 올린 다수 이슈를 우선순위별로 분류해 Zallet 알파가 몇 주 안에 나오도록 하고 있다.
    • 내부 타입을 타입 시스템으로 승격해 컴파일러 보장을 얻는 아키텍처 재설계도 상당 부분 진행했다.
    • NU 6.1 지원 업그레이드를 이번 주 안에 끝내는 것을 목표로 하고 있다.
  4. zcashd 폐기 업데이트

    Electric Coin Company, Zcash Foundation, Zingo Labs · Pacu, Str4d, Daira Emma, Alfredo

    • 네트워크 업그레이드 마찰 설문을 위해 거래소 등 파트너의 초기 피드백을 받고 있다.
    • 트랜잭션 변경 범위를 파악하고 필요하면 RFP를 구성하는 데 쓰인다.
    • Alfredo가 Zebra RPC 코드베이스에서 도는 테스트 프레임워크를 발표했고, 반복적인 RPC 작업의 피드백 속도를 높일 것으로 기대된다.
    • 통합 과정의 버그도 분류하고 있다.
    • Str4d는 Zallet에 제공하지 않을 기능을 zcashd 다음 릴리스에서 deprecated이지만 기본 활성 상태로 추가 표시할 가능성이 있다고 밝혔다.
    • 달라지는 의미는 북 페이지에 정리해 갱신한다.
    • Zallet은 OpenRPC로 문서를 제공하며, Alfredo는 Zebra와 Zaino도 이를 써서 통일된 RPC 문서를 갖는 것이 좋다고 했다.
    • 현재 Zebra는 Swagger를 쓰고 있다.
    • Pacu는 zcashd를 1대1로 교체하는 것이 아니라 기술 부채를 새 시스템에 옮기지 않는 것을 제1원칙으로 삼는다고 설명했다.
  5. ZSA 업데이트 (Orchard ZSA, 트랜잭션 v6)

    Qedit · Pablo

    • Orchard ZSA는 spec complete 상태이다.
    • ZIP 편집자가 추가한 SIGHASH 버전 관리와 issuance key 변경을 반영했고, diff를 줄이는 마무리 후 며칠 안에 PR을 ready for review로 바꿀 예정이다.
    • 리뷰는 세 영역으로 병렬화할 수 있다.
    • 반년 전 감사 이후 변경이 없는 ZSA 회로, Python 참조 구현, 그리고 v5용 일반 Orchard 번들과 v6용 ZSA 번들을 모두 만드는 Orchard crate이다.
    • Daira Emma와 Str4d와 논의해 v6 트랜잭션 구현을 ZIP 230에 맞춰 NSM 필드와 수수료 변경까지 포함하는 spec complete로 확장하기로 했다.
    • librustzcash 초안 PR도 올렸다.
    • Zebra에는 발행된 자산의 공급량과 finalize 여부를 추적하는 global state와 DB 테이블, 발행 합의 규칙을 구현한 작동 버전이 있다.
    • Orchard와 v6가 확정되기 전이라 최종 버전은 아니다.
    • Docker용 GET 방식 health 엔드포인트를 Zebra에 추가하는 방안을 ZF와 논의 중이며, ZSA와 별개의 PR로 제출할 계획이다.
    • Python 참조 구현은 프로덕션용이 아니라 테스트 벡터 생성기이며, Str4d는 파서 구현자가 모든 트랜잭션 인코딩을 처리하는지 검증하는 용도라고 설명했다.
  6. Network Sustainability Mechanism(NSM) 업데이트

    Shielded Labs · Mark

    • NSM 테스트 벡터 PR을 병합하기 위해 CI를 고치는 작은 PR이 병합됐다.
    • 테스트 벡터가 병합되면 Zebra 작업으로 돌아가 ZIP 233 PR을 다룰 예정이다.
    • ZIP 233, ZIP 234, ZIP 235는 기존 내용 그대로이다.
    • Daira Emma는 CSF 시뮬레이션 저장소를 NSM으로 이름을 바꾸는 PR을 올렸다며 검토를 요청했다.
  7. Crosslink 업데이트 (Trailing Finality Layer)

    Shielded Labs · Nate

    • 지난주 마일스톤 3 워크숍에서 여러 참가자가 네트워크에 접속해 동기화했고, finality 지점 이전으로의 롤백을 막는 시연을 했다.
    • 접속과 음성 문제, 지속되는 버그가 있었으나 전체 진행을 막지는 않았다.
    • 마일스톤 4부터 PoS를 추가한다.
    • 큰 작업이어서 쉽게 참여할 수 있는 테스트넷과 좋은 안내서를 만드는 마일스톤 4.1을 먼저 둔다.
    • Zebra RPC로 임의의 가중치를 로스터에 등록하는 기능도 넣는다.
    • 한 달 안에 더 매끄러운 워크숍을 열고, 이후 4.2에서 본딩과 언본딩 트랜잭션 같은 첫 스테이킹 메커니즘을 도입할 계획이다.
    • 사용자 관점의 스테이킹 영향을 다룬 블로그 글도 곧 나온다.
    • 경제적 메커니즘 분석은 연말 프로토타입 단계 이후에 엄밀하게 하기로 했다.
    • 현재는 슬래싱 같은 엣지 케이스 규칙을 두지 않는 단순화된 설계이다.
    • 프라이버시 때문에 위임과 해제 시점을 양자화하고 언본딩 기간을 두는 방안을 고려 중이다.
    • 위임 포지션은 금액과 위임 대상이 드러나 turnstile과 다르다.
  8. 공개 공지 및 토론

    Str4d, Nate, Daira Emma, Pablo

    • Str4d는 매주 열리는 zcashd 폐기 회의에서 Zallet 시험 사용을 하려 했으나 막는 버그가 있었고, 곧 다시 시도한다고 알렸다.
    • 참여를 원하면 Zcash R&D 디스코드에 알리면 된다.
    • Daira Emma는 Crosslink 스테이킹에 Penumbra의 비공개 스테이킹 설계를 참고하라고 제안했다.
    • 먼저 투명 위임으로 시작하고 이후 단순한 금액 환산 회로 변경으로 비공개 위임을 추가하는 방식이다.
    • Nate는 이를 post 1.0 후보로 올리겠다고 했다.
    • Daira Emma는 단순한 암호로 만든 장기 보관용 프로토콜(reservoir) 초안을 구상 중이며, 포스트 양자 프로토콜이 필요하다는 점도 언급했다.
    • 양자 내성 ZIP은 프로토콜 명세 작업의 선행 변경이 해결돼 곧 초안을 쓸 수 있다.
    • Str4d는 소비자 측 노트 구성 변경이라 합의 변경이 아니며 NU 7과 함께 배포하면 편리하다고 했다.
    • Daira Emma는 NU 7부터 새 note plaintext 형식을 필수로 하자고 주장했고, Str4d는 ZIP 212 경험상 지갑이 따르지 않을 위험을 들어 별도 R&D 회의에서 논의하기로 했다.

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