ZSA 노트 암호문 612바이트
ZSA 자산 식별자 32바이트가 노트 암호문에 더해지고 Zebra는 rc.3을 내놓았다
안건별 요약 6
Zebra rc.3와 FROST ZIP 현황
Zcash Foundation · Pili, Deirdre
- 재단 엔지니어링 매니저 Pili가 getblocktemplate RPC 구현을 마쳤다고 알렸다. 테스트넷에서 블록을 채굴할 방법이 불확실해 최대한 철저히 시험하고 있다.
- 채굴 풀 지원에 필요한 RPC는 대부분 구현했고, 실제 사용하는 풀 수를 살펴 최소 RPC 집합을 확정할 예정이다. 네 번째 릴리스 후보 rc.3에는 채굴 풀 RPC와 최신 ZIP 317에 맞춘 거래 선택 알고리즘이 들어갔다.
- 채굴 RPC는 getblocktemplate 기능을 켜 컴파일하고 설정해야 하며 아직 실험 단계다. 풀이 테스트할 수준은 1월 말이 목표이고, 블록은 만들지만 채굴은 못 해 zcashd보다 기능이 적다.
- Deirdre는 Zcash 지출 승인 서명에 FROST를 쓰는 방법의 ZIP이 리뷰 중이라고 했다. IETF 문서는 last call을 거쳐 거의 완료됐고, Sapling과 Orchard의 서명이 재랜덤화되므로 변형을 정의했다.
- RFC 초안 기반의 옛 redjubjub와 redpallas용 Rust 코드는 최종 RFC에 맞춰 갱신할 예정이다.
ZSA 프로토콜 현황 - 소각과 노트 암호화
QEDIT · Jon, Vivek
- 소각 기능을 구현해 PR을 올렸다. 특정 자산의 지정 수량을 소각하는 기본 기능이며 회로 등 남은 작업이 있다.
- ZSA는 노트에 32바이트 자산 식별자가 추가돼 평문이 580에서 612바이트가 된다. note encryption, orchard, zcash_primitives 세 크레이트 수정이 필요하고 librustzcash PR이 있다.
- zcashd 클라이언트에는 RPC가 자산 ID별 잔액을 보여주는 변경을 넣었고, orchard 크레이트와 연결하는 작업으로 나아가고 있다.
- ZIP은 편집자 의견을 반영해 PR 649의 전송과 발행으로 나눴다. 별도 ZIP 317b는 ZIP 317에 ZSA용 섹션으로 합치는 쪽으로 정리 중이다.
- 스펙 문서에는 ZIP의 많은 내용을 그대로 옮길 수 있다. 전송 마무리, 회로 잔여 작업, 스펙 작성은 한 달 안에 한다. Jon은 ECC와 재단의 PR을 맞물리게 할 조율 회의가 필요하다고 했다.
ZSA 다음 기능과 테스트넷 계획
QEDIT · Jon, Str4d, Daira, Adi
- 스테이블코인 등 첫 응용을 고려해 다음 기능 순서를 바꿨다. 가장 먼저 구현하려는 것은 송금자를 모를 때 받기를 거부하는 Reject Transactions이다. Tornado Cash 같은 법적 문제를 피하려는 것이다.
- Adi가 거절 시 수수료를 누가 내는지 묻자 Jon은 보낸 사람이 부담하고, 수신자가 거부해도 이미 온체인 공간을 쓴 만큼 누군가 내야 한다고 답했다. Daira는 수락 여부의 온체인 기록이 필요하다고 했다.
- Str4d는 zcashd의 네트워크 업그레이드 기능 플래그 프레임워크로 ZSA를 구현하자고 권했다. 합의에 영향 없이 코드를 병합해 두고 새 테스트넷에서 켜고, NU6에 포함되는 기능과 함께 테스트하는 방식이다.
- Daira는 Canopy와 NU5 때도 별도 테스트넷이 유용했을 것이라고 했다. Jon은 Zcon 시점에 맞춰 ZSA 전용 테스트넷을 운영하는 안을 소개했다.
ZSA 노트 암호문 크기와 메모 필드
Electric Coin Company · Str4d, Vivek, Daira
- Str4d가 암호문이 612바이트로 커지는지 메모를 일부 쓰는지 묻자 Vivek은 메모는 512바이트로 그대로 두고 암호문을 32바이트 늘린다고 답했다.
- Str4d는 NU5에서 복잡도 때문에 넣지 못한 메모 필드 분리 논의를 언급했다. 메모를 별도 암호문으로 떼면 여러 수신자가 읽거나 필요 없을 때 제거할 수 있다. Daira는 초기엔 단순히 늘리고 이후 통합하자고 했다.
- 현재 PR은 note encryption 크레이트의 기존 코드를 수정한다. 길이를 연관 상수로 쓰는 리팩터링이 가능하면 길이가 타입에서 빠져 새 기능을 추가 형태로 넣을 수 있어 변경을 나눠 보겠다고 했다.
코어 업데이트 - TZE와 ShardTree
Electric Coin Company · Str4d, Daira, Kris, Jon
- zcashd에는 consensus feature enum으로 합의 기능을 그래프로 정의하는 프레임워크가 이미 병합돼 있고 Zfuture라는 합성 업그레이드로 검색할 수 있다. TZE를 기능으로 넣는 PR이 열려 있다.
- TZE는 Transparent Zcash Extensions로 UTXO를 전제조건에 보내고 지출 때 증인을 제시하게 하는 일반화다. BOLT(ZK Channels)가 동기였고, 모든 것이 차폐된 미래에 차폐 버전을 만들 단서가 된다.
- Kris가 shardtree 크레이트 PR을 올렸다. 노트 커밋먼트 트리를 임의 순서로 채워 최근 100블록만 스캔하고 lightwalletd의 중간 노드를 몇 MB 받으면 노트를 바로 쓸 수 있다.
- zcashd의 shardtree 지원 변경을 곧 시작하며, lightwalletd까지 연결하면 첫 성능 개선이 나온다.
- Halo 2 재귀는 Filecoin Foundation, Ethereum Foundation과 협력 중이고, Rust Sapling 타입은 Orchard와 더 비슷하게 리팩터링해 하드웨어 지갑 지원 등을 쉽게 한다.
ZIP 317 준비 작업과 deprecated RPC 제거
Electric Coin Company · Daira, Kris, Adi, Nate
- Daira는 프로토콜 스펙에 합의에 영향 없는 정정이 있고, Canopy의 ZIP 212 관련 스펙 오류가 있다고 알렸다.
- ZIP 317을 위해 Bitcoin의 멤풀 투명 거래 의존성 추적 변경을 백포트했다. 폐기 예정 RPC 일부는 기본 꺼짐으로 바뀌고 z_seeraw 같은 오래된 것은 삭제됐다. 시작 옵션으로 한시적으로 켠다.
- Kris는 2017년부터 쌓인 RPC 코드 중복과 기술 부채를 정리해야 zcashd 지갑에 ZIP 317을 구현할 수 있다고 했다.
- dumpwallet 폐기를 Adi가 묻자 Kris와 Daira는 투명 키만 내보내 차폐 키가 빠지므로 z_exportwallet을 쓰라고 했다. zcashd 4.7.0부터는 니모닉 시드 백업으로 복구한다.
- Nate의 제안대로 폐기 RPC의 오류 메시지가 대체 호출을 안내하는지 Daira가 확인했고 이미 z_exportwallet을 안내한다.
한국어 요약은 원문을 바탕으로 정리한 것으로, 정확한 내용은 원문을 확인하세요.