CLI 지갑·Zaino 인덱서 구조 합의
zcashd 대체 CLI 지갑의 Zaino 인덱서 구조에 참석자들이 합의했다
안건별 요약 13
NU6 테스트넷 활성화 후속 상황
ECC, Zcash Foundation · Daira Emma, Str4d, Alfredo, Pili, Dodger, Pacu
- NU6 테스트넷 활성화는 성공했지만 많은 사용자가 동기화에 어려움을 겪고 있으며, 합의 버그의 증거는 없고 연결이 희박한 것이 원인으로 추정된다.
- Daira Emma의 zcashd 노드는 연결이 2개뿐이고 NU6 활성화 직전 높이에서 멈췄으며, 100블록 롤백 한도는 주된 원인이 아니다.
- Alfredo는 핵심 문제가 채굴하는 노드가 없는 것이라며 ZF가 영구 마이닝 노드를 만들고 있다고 했다.
- Str4d는 기존 채굴자가 NU6로 업그레이드하지 않고 이전 체인에서 계속 채굴 중일 수 있다고 말했다.
- librustzcash SDK에는 아직 NU6 활성화 높이가 설정되지 않아 다음 Rust crate 릴리스에서 설정할 계획이다.
- Pili는 Least Authority의 NU6 감사 예비 보고서가 문서와 코드의 불일치 위주라고 전했다.
Zebra 업데이트: NU6 감사 보고서
Zcash Foundation · Marek
- Stop과 Generate RPC 두 개를 새로 추가하고 RPC 하나를 리팩터링했으며, 의존성 업데이트와 문서·CI 개선도 진행했다.
- NU6 감사 보고서 초안에는 문서와 에러 처리에 관한 두 건의 finding이 있고, 현재는 모두 suggestion 등급으로 분류됐다.
ECC 업데이트: NU6 버그·Zashi·지갑 SDK
ECC · Daira Emma, Str4d
- zcashd 5.10.0 이후 체인 값 풀 잔액 추적에 문제가 있다는 보고가 메인넷 사용자 한 명에게서 나왔다.
- 변경 사항을 면밀히 살폈지만 원인을 찾지 못했고, 차단 이슈는 아니라고 판단했다.
- 지갑 SDK는 스캔 진행률을 노출하는 방식을 바꿔, 지갑 사용 전에 필요한 동기화와 과거 내역 탐색을 구분해 보여준다.
- 이전 Android API(API 27) 관련 버그도 수정했다.
- ZIP 315 초안의 컨펌 선택 방식 변경을 구현 중이다.
- 안전성을 유지하면서 노트를 더 빨리 쓸 수 있게 하는 것이 목적이다.
Zcash Shielded Assets(ZSA) 업데이트
QEDIT · Vivek
- Orchard, librustzcash, 테스트 벡터 스크립트의 v6 트랜잭션 지원 작업을 마쳤고, Zebra의 ZSA 추가 작업은 여러 방면으로 진행 중이다.
- Least Authority와 Orchard ZSA 프로토콜 감사 시작을 논의 중이다.
- ZIPs 저장소의 핵심 이슈 대부분을 해결했고 권장 지갑 동작 관련 작업이 남았다.
- Halo 2와 Zcash note encryption의 열린 PR은 피드백을 기다리고 있다.
- 자산 스왑 ZIP-228을 다시 점검하고 Orchard 저장소의 구현 변경을 시작했으며, 사용자 제어 기능은 Daira Emma와 방향을 논의했다.
Zcash Sustainability Fund(ZSF) 업데이트
Paul Dann, Alfredo
- ZSF ZIP에서 몇 가지 문제를 발견해 다시 손보고 있으며, 자세한 내용은 며칠 안에 설명하겠다고 했다.
- Zebra에서는 zcashd처럼 종단 간 테스트를 돌릴 수 없어, zcashd와 Zebra의 로컬 테스트넷을 구축해 zcashd RPC 테스트를 Zebra로 보내 검증하는 데 성공했다.
- Zebra Rust 코드의 async lifetime 관련 까다로운 문제가 있어 도움을 요청했다.
- Alfredo는 zcashd의 Python RPC 테스트 프레임워크를 Zebra에 추가하는 작업이 도움이 될 수 있다고 안내했다.
FROST 업데이트
Conrado
- DKG용 키 쉐어 갱신 기능을 마무리하고 FROST 서버에 암호화 인증을 추가하는 작업을 계속하고 있다.
- 목표는 앞으로 몇 달 안에 운영 환경에서 쓸 수 있는 FROST 서버를 내놓는 것이다.
공개 발표: GitHub 보드·TUM Blockchain
Pacu, Daira Emma
- Pacu는 zcashd 폐기, 하드웨어 지갑 지원, 블록 탐색기 지원 등 개발 노력별 진행 상황을 보여주는 GitHub 프로젝트 보드를 만들고 있다고 알렸다.
- Daira Emma는 TUM Blockchain 컨퍼런스의 프라이버시 패널에 참석해 감시나 컴플라이언스 프로토콜과 타협하지 않는 입장을 분명히 밝혔다.
zcashd 폐기와 CLI 지갑 아키텍처: 배경과 개요
ECC, Zcash Foundation · Dodger, Daira Emma, Jon, Str4d, Pili
- Dodger는 지난해 Zcon에서 ECC와 ZF가 zcashd 폐기를 협력하기로 했고, 기능을 그대로 복제하지 않고 CLI 지갑 같은 새 소프트웨어를 만들기로 했다고 설명했다.
- ECC가 zcashd에 더 이상 기능을 넣지 않기로 해 주요 프로토콜 업그레이드가 zcashd 폐기에 막혀 있다.
- 7개월간 아키텍처를 논의했으나 확정되지 않았고 Zingo Labs가 CLI 지갑 지원 그랜트를 제안했으며, ZCG는 ZF·ECC 엔지니어의 합의 여부를 묻고 있다.
- ZF는 지갑 개발 경험이 없어 아키텍처는 ECC를 따르되 Zebra에 지갑 기능을 전부 넣는 것은 피하려 한다.
- Daira Emma는 풀 노드가 복잡도와 공격 표면이 크므로 최소 기능만 맡기고 지갑용 정보는 중간 인덱서가 제공하게 나눈다고 설명했다.
- Str4d는 풀 노드는 합의, 인덱서는 공개 정보 캐시를 맡고 뷰잉 키를 아는 스캐너는 인덱서와 분리해 신뢰 경계를 지킨다고 정리했다.
Zingo Labs의 Zaino 제안과 인덱서 설계 논의
Zingo Labs · Arlo, Marek, Conrado, Str4d, Daira Emma
- Zingo의 설계는 Zebra read state service를 원격 노출하는 인덱서 RPC와 같은 데이터로 lightwallet gRPC를 제공하는 Zaino가 핵심이며 NYM 믹스넷 준비도 했다.
- 기존 Arya 설계와의 주된 차이는 인덱서 안에 lightwallet 서버가 들어간다는 점이다.
- Conrado는 인덱서를 별도 프로세스로 만들 필요가 있는지, 그렇다면 기존 lightwalletd를 확장하면 되지 않느냐고 물었다.
- Str4d는 현재 lightwallet RPC만으로는 zcashd 지갑 대체에 부족하다고 답했다.
- Daira Emma는 확장보다 새로 만드는 쪽이 장기적으로 유지보수에 유리하다고 보았다.
- Str4d는 crate로 묶느냐 프로세스로 분리하느냐는 배포 문제이며 논리적 분리가 중요하다고 했다.
Zaino 범위 축소와 거래소 사용 사례
Arlo, Str4d, Daira Emma, Rene
- Arlo는 Zingo가 지갑 개발을 그랜트에서 빼고 Zaino 원격 인덱싱 서비스만 맡도록 요청받았다고 밝혔고, Str4d는 이제 초점이 Zaino라고 정리했다.
- Daira Emma는 일부 기존 지갑이 거래소 규모의 투명 주소를 감당하지 못하므로 거래소용 지갑 지원 방안을 막아서는 안 된다고 했다.
- Zenith 지갑의 Rene는 성능이 쟁점이라며 거래소 측에 자세한 사용 패턴을 물어보겠다고 했다.
- Str4d는 성능 병목이 주소 수보다 추적할 노트와 코인 수에 있으며 예전에 20만 노트 규모를 시뮬레이션했다고 소개했다.
- Str4d는 인덱스를 추가할 때 노드를 처음부터 재동기화해야 하는 zcashd의 문제를 피해야 한다고 했다.
중앙화 거래소 우선순위 논쟁
Za, Pacu, Dodger, Daira Emma, Str4d
- Za는 중앙화 거래소 중심 설계가 DEX 같은 다른 사용 사례의 기회비용이 될 수 있다고 우려했다.
- Dodger와 Daira Emma는 중앙화 거래소가 zcashd 폐기의 걸림돌이라 지원을 포기할 수 없다고 반박했다.
- Pacu는 거래소가 최소한의 노력만 한다는 점을 고려해 기존 RPC를 최대한 유지하되 데이터 변환으로 보완하자고 제안했다.
- Str4d는 인덱서 RPC가 풀 노드 제어 API를 노출하지 않아야 공개 서비스로 안전하게 운영할 수 있다고 했다.
- lightwallet gRPC를 Zaino에 포함하면 기존 모바일 지갑으로 검증할 수 있다는 장점도 언급됐다.
Zaino의 DB 접근 방식
Zingo Labs, ECC · Arlo, Daira Emma, Str4d, Marek, Arya
- 직접 DB 접근이 타이밍 공격에 취약한지에 대해, 코어 state와 인덱서 DB를 분리해 완충하면 충분할 것으로 논의됐다.
- RocksDB 보조 DB가 기록 프로세스를 따라잡는 API를 이미 쓰고 있다고 확인됐다.
- Zaino는 기본이 read state service 직접 접근이며 JSON RPC 백업 모드로 다른 머신에서도 돌릴 수 있다.
그랜트 요청 규모와 아키텍처 합의
Zingo Labs, Zcash Foundation, ECC · Za, Alfredo, Pili, Daira Emma, Conrado, Arya
- Za는 ZCG 요청으로 선지급 규모를 밝혔고, 소급분은 시급 80달러 기준 8개월 약 153,600달러이다.
- 신규 개발자 3명의 6개월 인건비 3만 달러와 테스트 장비 1만2천 달러도 요청했다.
- Alfredo는 마일스톤 금액이 38,400달러, 44,800달러, 38,400달러라고 소개했다.
- Pili는 그랜트 금액은 이 회의에서 논평할 사안이 아니라고 선을 그었다.
- Daira Emma, Conrado, Arya 등은 유지보수 가능한 이 아키텍처에 만족한다고 밝혔고 Pili는 합의에 이르렀다고 정리했다.
한국어 요약은 원문을 바탕으로 정리한 것으로, 정확한 내용은 원문을 확인하세요.