탐지 키·재귀 우선순위 논쟁
ECC가 1년간 결제 확장성에 집중하겠다고 밝히자 Halo 2 재귀 우선순위를 두고 논쟁이 벌어졌다
안건별 요약 8
Arborist 콜 호스팅 제안
Electric Coin Company · Nate
- 커뮤니티 구성원이 Arborist 콜을 돌아가며 호스팅하는 방안을 제안했다. 캘린더와 Zoom 운영을 맡는 형태가 될 수 있다.
- ECC는 책임을 조직 간에 나눠 이해관계자 참여를 늘리려 한다. 이후 안건 설정과 발표자 섭외까지 협업을 넓힐 수 있어 관심 있는 사람은 알려달라고 했다.
Zebra rc.2와 FROST 현황
Zcash Foundation · Teor, Deirdre
- 일주일 전 세 번째 릴리스 후보 rc.2를 냈다. 멤풀 트랜잭션 퇴출에 쓰는 ZIP 317 기본 수수료를 구현했고, RPC 서버 종료 시 간헐적 충돌과 메모리 오류를 고쳤다.
- 채굴 풀 지원을 Rust feature 뒤에 두고 개발 중이다. 핵심인 getblocktemplate와 submitblock은 끝냈고 통계와 상태용 RPC를 채우는 중이며, zcashd와 비슷한 블록 템플릿을 만들 수 있게 됐다.
- 차기 릴리스 초안에는 블록 템플릿 선택에 ZIP 317을 적용해, 멤풀이 가득 찼을 때 수수료가 낮은 큰 거래의 채굴을 거부하거나 늦춘다. 정식 릴리스 조건은 프로덕션 코드 전체의 감사다.
- Deirdre는 IRTF의 FROST last call이 끝나 피드백을 반영한 버전 12가 실제 RFC가 될 것이라고 했다. Conrado가 ed448 포함 모든 파라미터 세트를 구현했고 Zcash용 재랜덤화 변형을 작업 중이다.
- FROST 서명 라이브러리 전체를 crates.io에 낼 계획이며, RFC 변경에 맞춰 갱신한다.
Zebra 월렛 지원과 네트워크 프로토콜 수정
Zcash Foundation · Teor, Deirdre, Nate, Adi
- Zecwallet 풀노드가 zcashd 지갑 RPC에 의존하는 점에 대해 Teor는 Zebra에 지갑 기능을 넣을 계획이 없다고 답했다. 지갑은 lightwalletd를 쓰고, 그 외 JSON RPC는 직접 호출하면 된다.
- 지출 키를 합의 노드 구현과 같은 프로세스에 두는 것을 꺼린다는 점이 이유다. Deirdre는 뷰잉 키를 등록해 스캔하는 별도 지갑 바이너리 설계가 있으나 아직 추진하지 않았다고 했다.
- Zebra가 Zcash 네트워크 프로토콜의 version 메시지와 연결 설정을 더 정확히 처리하도록 다음 릴리스에 수정한다. 블록 탐색기나 DNS seeder에 노드가 보이지 않던 문제와 관련이 있을 수 있다.
- 현재 submitrawtransaction을 지원하고, getblocktemplate를 켜면 외부 채굴 블록도 제출할 수 있다. Str4d는 자체 지갑이 Rust 크레이트로 거래를 만들어 Zebra로 제출할 수 있다고 했다.
연구 방향 - 차폐 지갑 UX와 지급 확장성
Electric Coin Company · Nate, Pacu, Str4d, Adi
- Nate는 PoS와 상호운용성 연구를 멈추고 대량 출력 부하 속의 차폐 모바일 지갑 성능 개선에 집중하고 있다고 했다. 이후에도 약 1년간 지급 확장성과 UX 개선에 초점을 둘 계획이다.
- 아이디어로 lightwalletd를 대체하거나 보완하는 방안, 그리고 발신자가 수신자에게 결제 알림이나 스캔할 블록 힌트를 주는 오프체인 보조 알림 서비스가 거론됐다.
- Adi가 블록체인 크기 증가와 pruning을 물었다. Nate는 지갑 UX가 1순위이고 채굴자에게 블록 크기 축소를 요청하는 안을 논의했다고 했다. Str4d는 zcashd의 부분 pruning 개선 PR을 환영한다고 했다.
- ECC 모바일 지갑 출시는 SDK 개선에 밀려 상반기에는 어렵고 하반기도 확신하기 어렵다고 Nate가 말했다. Pacu는 ECC 지갑이 SDK 뒤순위라고 했다.
Liberated payments, detection key, 오프밴드 알림 논의
Dodger, Nate, Str4d, Deirdre, Kris
- Dodger는 모든 차폐 거래를 내려받아야 하는 모바일 지갑 구조를 벗어나는 방법으로 detection key와 Deirdre가 연구 중인 OMR을 언급했다. detection key는 프로토콜 변경이 필요하다.
- Nate는 2023년 1분기 이후 이 연구를 시작할 것이라 했다. 먼저 새 lightwalletd 메서드로 스캔을 빠르게 하는 작업이 몇 달 걸리고, 각 방식의 트레이드오프를 나란히 비교하자고 했다.
- Str4d는 2019년 이후 선택지가 늘었으며 도입에는 네트워크 업그레이드가 필요하니 커뮤니티가 목업 제안서를 만들어주면 검토가 쉬워진다고 했다.
- 곧 나올 lightwalletd 변경은 compact block에 첫 노트의 트리 위치 주석을 달고 2^16 서브트리 루트를 조회하는 기능이다. Kris가 초안 PR을 올렸다.
- Deirdre는 detection key와 OMR 모두 계산 부하가 등록 키 수에 선형이라고 지적했다. Str4d는 부하를 개인 거래 그래프 크기에 비례하게 바꾸는 것이 해법이고, NFC나 QR 힌트 같은 UX 작업이 돕는다고 했다.
Halo 2 재귀와 우선순위 논쟁
Nate, Deirdre, Str4d
- Nate는 재귀 증명이 검증 노드의 비용을 낮추는 데는 도움이 되지만 지급 확장성에 직접 도움이 되는지는 덜 확실하며, 지금은 지급이 우선이라고 했다.
- Deirdre는 Halo 2가 재귀로 Zcash를 확장한다는 명분으로 NU5가 추진됐는데 재귀가 우선순위에서 밀리고 있다고 문제를 제기했다.
- Nate는 샌드블라스팅 이전에는 PoS 전환을 주장했고 재귀가 검증자 비용을 낮춘다고 봤으나, 이후 지급 확장 문제로 우선순위를 바꿨다고 했다.
- Str4d는 확장성이 두 가지로 섞여 쓰인다고 정리했다. 현재 용량에서 지갑이 잘 동작하는 문제와 체인 용량을 늘리는 문제이며, 재귀는 후자의 장기 구성요소로 여전히 필요하다고 했다. 재귀 구현은 계속하고 있다.
코어 업데이트 - zcashd 5.3.x와 DAGSync
Electric Coin Company · Str4d
- 5.3.1은 IBD 중 높은 메모리 사용을 줄인 릴리스이며 커뮤니티의 headers-first 수정이 백포트됐다. 그런데 헤더를 모두 받은 뒤 첫 flush에서 메모리가 일시적으로 약 10GB까지 두 배가 되는 문제가 드러났다.
- Equihash 솔루션 때문에 헤더가 커 캐시 크기 추적이 맞지 않았다. 5.3.2에서 headers-first 수정을 임시로 되돌렸고, 1월 중하순 5.4.0에서 캐시 문제를 고쳐 둘 다 얻을 계획이다.
- Greg가 zcashd 지갑의 트랜잭션 빌딩을 통합 중이다. 사용자가 금액과 수수료를 말하면 변경 출력과 프라이버시 영향이 담긴 제안을 돌려주는 propose-commit RPC의 기반이며 모바일 SDK도 같은 방향이다.
- DAGSync는 트리 구조 작업을 끝낸 뒤 모바일 SDK, zcashd, lightwalletd에 새 트리를 적용한다. 그러면 알고 있는 노트를 먼저 사용 가능하게 하고 기존 선형 동기화를 이어서 돌린다.
- ZIP 317은 zcashd 5.4.0을 목표로 구현을 시작했으나 DAGSync보다 후순위다. 내년 초 Halo 2 개발자 콜을 열고, Rust nightly, beta, stable식으로 외부 기여를 쉽게 할 개편을 구상 중이다.
신규 개발자를 위한 학습 자료
Ian, Deirdre, Str4d, Pacu
- Deirdre는 Zcash 스펙의 ZIP을 읽고 zcashd와 Zebra의 GitHub PR로 현재 코드 변화를 보라고 했다. Str4d는 Discord 채널을 눈팅하고 Halo 2 책으로 암호학 입문을 하라고 했다.
- Str4d는 PR 리뷰 코멘트가 보안과 성능을 지키는 방식을 배우기에 좋으며, 리뷰 가이드를 zcash book에 더 싣고 싶다고 했다.
- Pacu는 PoW가 유지되는 한 Mastering Bitcoin으로 기본기를 쌓은 뒤 Zcash 문서와 라이트 클라이언트 프로토콜로 들어가라고 했다.
- Str4d는 개발자 경험도 사용성 문제이므로 어려운 점은 이슈 트래커나 Discord에 알려달라고 했다. ELI15 Halo 2 규칙서 등 접수된 문제의 절반은 빠르게 고쳤다.
한국어 요약은 원문을 바탕으로 정리한 것으로, 정확한 내용은 원문을 확인하세요.