조직별 Zebra 포크 제안 논쟁
NU7 이후 업그레이드를 조직별 포크로 개발하자는 제안이 논쟁이 됐다
안건별 요약 15
Zebra 업데이트: 2.4.0 DB 버그와 2.4.1
Zcash Foundation · Alfredo
- Zebra 2.4.0에는 노드 운영자에게 덜 파괴적이도록 만든 데이터베이스 포맷 업그레이드가 들어 있었다.
- 테스트 프레임워크가 아닌 RPC 관련 티켓에서 버그를 발견했고, 근본 원인을 찾아 2.4.1로 수정했으며 2.4.0 릴리스는 철회했다.
- 2.4.0으로 DB가 손상된 경우의 복구 안내를 제공했고, 2.4.2를 낼지 2.4.1로 충분한지는 그날 확인한다.
- 릴리스 과정에 병목과 CI 문제가 있어 더 빨리 고치고 테스트 프레임워크로 이런 버그를 미리 잡도록 개선하려 한다.
Zebra 업데이트: crate 정리와 NU6.1 PR
Zcash Foundation · Alfredo
- zcashd 폐기 스택이 불분명할 때 넣었다가 쓰지 않게 된 zebra-scan crate와 관련 zebra-grpc crate를 제거했다.
- 코인베이스 트랜잭션을 만들 때 zcash primitives의 트랜잭션 빌더를 쓰고, Zebra 안의 중복 코드도 zcash primitives로 대체하려고 한다.
- RPC 프레임워크 시험을 지원하기 위해 부족한 regtest 기능을 작업 중이다.
- NU6.1 구현 PR이 리뷰 중이며 librustzcash 등 스택의 여러 저장소에도 PR이 열려 있다.
- 외부 기여자 PR을 병합하고 사람들이 연 티켓에 대응하고 있다.
ECC 업데이트: Z|ECC 서밋과 로드맵
ECC · Daira Emma
- Z|ECC 서밋과 해커 하우스에서 Sean Bowe가 연구한 새 확장성 아키텍처 Tachyon을 코어 팀이 지갑 팀에 설명했고, 결제 흐름 변화를 논의했다.
- 새 아키텍처에서는 블록체인을 통한 브로드캐스트 전송보다 결제 요청을 더 강조하게 된다.
- ECC 3분기 로드맵은 검토를 마쳤고 곧 블로그 글이 나온다.
- 코어 팀은 NU6.1 메인넷 활성화 창을 10월이나 11월(아마 10월)로 계획하며, 이는 현재 락박스 분배 스트림의 끝 무렵이다.
- NU7은 할 일이 많아 일정에서 구체화되며, FROST 키 파생과 Orchard 양자 내성 명세 작업이 진행 중이고 감사를 바란다.
ECC 업데이트: P2SH 지원, 컴팩트 블록, Zashi Tor 옵션
ECC · Daira Emma
- P2SH 다중서명(투명 다중서명) 지원 작업이 많았고, 이는 zcashd 폐기와 NU6.1에 모두 필요하다.
- NU6.1의 락박스 지급이 P2SH 다중서명 주소로 이뤄지므로 zcashd는 지원하지만 Zallet과 Keystone 지원이 필요하고 Keystone 펌웨어 업데이트가 요구된다.
- 프라이버시 개선을 위해 투명 정보를 컴팩트 블록에 넣는 제안을 할 계획이다.
- zcash_script 작업이 P2SH 지원에 필수이며, librustzcash PR을 대량 리뷰했고 양자 내성 명세에 hardware wallet에 유용한 새 키 qsk를 추가했다.
- Tor 사용이 위험한 국가가 있어 Zashi의 Tor 옵트인·옵트아웃을 더 견고하게 만든다.
ECC 업데이트 Q&A: 락박스 주소와 컴팩트 블록 변경
ECC, Zcash Foundation · Alfredo, Daira Emma, Pacu, Zooko
- Alfredo는 Zebra와 zcashd의 NU6.1 PR에서 락박스 주소 목록이 비어 있는데 노드 측에서 새 주소 유형 지원이 필요한지 물었다.
- Daira Emma는 P2SH 주소 지출은 일반 트랜잭션이며 합의 규칙이 따로 필요 없고, 해당 PR이 일회성 지급의 합의 변경을 모두 담았다고 본다고 답했다.
- Pacu가 컴팩트 블록 포맷에 투명 정보를 넣는 명세 진행도를 묻자, 아직 구체화되지 않았고 프로토콜 포맷 정의에 가까워 경량 지갑 회의에서 논의하겠다고 했다.
- Zooko가 NSM 명세 추적 위치를 묻자 zcash/zips의 가장 최근 PR이라고 답했다.
- Orchard 리뷰는 Halo 회로 변경 리뷰가 다음 할 일이라고 했다.
Zingo Labs: Zaino 업데이트
Zingo Labs · Za, Daira Emma
- Zaino 내부 체인 상태 표현을 비확정 상태와 확정 상태를 일급 객체로 갖도록 크게 리팩터링했다.
- 합의가 Crosslink로 옮겨가도 호환되고 미래 대비가 되며 인체공학적 인터페이스를 제공하게 하려는 것이다.
- Crosslink 호환 릴리스를 내고 Zaino 경량 지갑 프록시를 운영에 올리는 낙관적 목표는 2주이다.
- Arlo가 컴팩트 블록에 TX 출력을 추가하는 작업을 많이 했으며, 중복을 피하도록 경량 클라이언트 워킹그룹 회의에서 논의하기로 했다.
zcashd 폐기: 진행 가시성 도구와 Zallet 알파
ECC, Zcash Foundation · Pacu, Daira Emma, Nate
- Pacu는 날짜에 얽매이지 않고 폐기 작업의 진행 상황을 한눈에 보여주는 가시성 도구를 만들려 하며, 각 팀 리드에게 쓰는 도구를 물을 계획이다.
- 분기별 계획을 세워야 하는 팀들이 진행 상황을 파악하기 어렵다는 의견이 있었다.
- Nate는 이런 가시성 도구가 모든 조직에 걸쳐 필요하며 Shielded Labs 로드맵 페이지가 좋은 예라고 했다.
- Daira Emma는 최근 Zallet 작업이 많이 진행돼 지갑으로 쓰는 데 방해되던 거친 부분이 많이 다듬어졌고 알파가 곧 나온다고 했다.
Zcash Shielded Assets(ZSA) 업데이트
QEDIT · Vivek, Daira Emma
- 발행 인증 서명 버전 관리를 쉽게 하는 인코딩 변경과 모호성을 줄이는 명칭 정리를 ZIP에 반영했고, ZIP 에디터가 마무리 중이라 곧 설계가 다시 동결된다.
- Python 참조 구현에도 같은 변경을 반영했고, 업스트림이 앞서 나가 오래된 테스트 벡터 PR 대신 새 PR을 낸다.
- 설계 변경을 Orchard, librustzcash, Zebra 순으로 스택에 전파하고 있으며 Orchard에서는 회로와 외부 코드를 단순화해 업스트림과의 차이를 줄이고 있다.
- librustzcash는 PCZT 추가의 ZSA 영향을 대부분 해결했고, Halo 2 PR은 ECC의 리뷰를 기다린다.
- Zebra 업스트림 PR은 Arya의 리뷰를 받아 내부에서 반영했으며 ZF와 업스트림 반영 방식을 논의 중이다.
- Zcash transaction tool은 일반화와 CI 자동화를 개선했고, Daira Emma는 이번에 바뀐 것은 NSM이 아니라 발행 키 방식이라고 바로잡았다.
NSM 업데이트: librustzcash PR과 테스트 벡터
Shielded Labs, ECC · Mariusz, Daira Emma, Jason McGee
- Mariusz는 이전 이후 진전이 크지 않고, ECC가 librustzcash PR 위에 새 PR 1879를 만든 것에 대해 물었다.
- Daira Emma는 조직 간 푸시가 안 돼 별도 PR로 여는 것이며 Mariusz의 PR에 커밋을 더한 것이니 앞으로 이 PR을 기준으로 작업하면 된다고 했다.
- 남은 리뷰 제안은 ECC가 그대로 수용하므로 Mariusz가 따로 할 일은 없다.
- Zcash 테스트 벡터 PR은 워크플로 실행 승인이 필요해 Daira Emma가 승인하기로 했고, Shielded Labs의 Mark와 ZF의 Arya에게 병합 권한을 주는 일은 놓친 것이라 챙기겠다고 했다.
- ZIP 233 병합에는 Mariusz가 Zebra PR을 리베이스해야 하며 통화 후 논의하기로 했다.
Crosslink 업데이트: 온체인 서명 설계와 마일스톤 3
Shielded Labs, ECC · Nate
- ECC 서밋에서 현황을 발표하고 피드백을 받았다.
- BFT 블록 서명은 해당 블록에 넣을 수 없어 이후 블록에 넣어야 하는 엇갈림 문제가 있으며, Daira Emma가 이미 TFL 문서에 설계를 제시했다.
- 서명을 체인에 넣는 주된 동기는 가용성이 높은 파이널라이저에게 더 보상하려는 것인데, 그렇지 않은 방식도 논의하며 확장성과 보안 트레이드오프를 살피고 있다.
- PoW와 BFT 블록을 다른 순서로 재생하는 테스트 벡터 프레임워크를 만드는 중이다.
- 마일스톤 3은 PoW 블록이 BFT 블록을 가리키도록 바꿔 파이널리티 로직을 구현하되 지분증명 계층과 트랜잭션 포맷 변경은 없고, 설계 목표는 PoS 전체 설계이다.
- 마일스톤 4는 위임, 파이널라이저 후보 등록 등 PoS 설계 전체를 구현하며 트랜잭션 포맷 변경이 포함돼 분량이 크다.
Crosslink 형식 검증 도구 논의
ECC, Shielded Labs · Daira Emma, Nate, Zooko, Alfredo
- Daira Emma는 TFL book 저장소에서 Crosslink 2 보안 증명에 필요한 PoW 체인과 BFT 체인 가정을 Lean으로 형식화했고, 프로토콜 자체는 아직이다.
- 서명이 체인에 있는지 여부는 가정에 직접 관여하지 않으며 BFT 프로토콜 추상화 경계를 어디에 두느냐에 달려 있다.
- Zooko는 Malachite를 만든 Informal Systems가 연락해 왔고 Quint로 Crosslink 일부를 형식화한 초기 시도가 Shielded Labs GitHub에 있다고 알렸다.
- Daira Emma는 Quint가 TLA+의 프런트엔드이고 TLA+는 모델 체킹에 집중하며, 자신의 연필 증명은 높은 수준의 속성으로 충분해 세부 메시지는 필요 없다고 했다.
- Alfredo는 TLA+가 분산·동시 동작 모델링에 강하다고 했다.
- Nate가 이를 한 번에 논의할 회의를 열기로 했고, Alfredo, Daira Emma, Informal 팀과 Str4d에게 참석을 제안했다.
공개 토론: NU7 이후 네트워크 업그레이드 프로세스 제안
Shielded Labs, ECC, Zcash Foundation · Jason McGee, Alfredo, Daira Emma
- Josh의 포럼 글은 NU7 이후 각 조직이 Zebra 포크를 유지하며 제안 변경의 개발·통합을 책임지는 방식을 제안했고, Jason McGee는 의견을 구했다.
- Alfredo는 현재 진행이 특정 조직에 부담을 몰고 있다고 보지만, zcashd 폐기와 NU7까지는 기존 저장소와 인력으로 하기로 한 약속이 앞선다고 했다.
- Daira Emma는 각 조직이 패치를 유지하며 업스트림에서 리베이스하는 방식이며, 거래소와 채굴 풀이 쓰는 업스트림은 계속 하나라고 설명했다.
- 포크는 코드 포크를 뜻하며 제안 기능 버전은 테스트넷에서 실행하는 용도이고 메인넷과는 호환되지 않는다고 했다.
공개 토론: 포크와 CI 비용
Shielded Labs, Zcash Foundation, ECC · Nate, Daira Emma, Alfredo, Arya
- Nate는 Shielded Labs가 Zebra CI 전체를 복제하려다 설정이 어렵고 비용이 커 단순한 CI를 쓰고 마일스톤마다 초안 PR로 전체 CI를 받으려 한다고 소개했다.
- Daira Emma는 ECC는 장기 브랜치의 PR CI 비용을 감수하지만 Zebra는 다르다고 했다.
- Alfredo는 외부 기여자는 전체 CI를 못 돌리며, ZF 조직 안에 브랜치를 만들 권한을 주면 가능하다고 했고, 체인 동기화 때문에 CI가 며칠 걸리는 문제가 있다고 했다.
- Arya는 CI를 단순하고 저렴하게 만들고 있으며, 앞으로 포크가 같은 CI를 쉽게 돌릴 수 있게 하려 한다고 했다.
공개 토론: 포크별 릴리스와 프로세스 명확성
Zcash Foundation, ECC · Arya, Daira Emma, Conrado, Zooko
- Arya는 대형 기능 개발용 포크는 논란이 없지만 각 포크에서 릴리스를 만드는 것은 비용이 커 경쟁 구현체가 없는 한 맡기 어렵다고 했다.
- Daira Emma는 Josh의 글에는 공식 릴리스 요구가 없으며 릴리스 여부는 포크 관리자 몫이고, 단일 업스트림 중앙 저장소라면 효율적이라는 데 Arya와 의견이 모였다.
- Conrado는 사람마다 제안을 다르게 이해하고 있고 Kris가 포럼에서 각자 노드 릴리스를 낸다고 답한 점이 혼란스러우며, 무엇을 해결하려는지 명시해 달라고 했다.
- Daira Emma는 프로토콜 변경이 업그레이드에 들어가기까지 너무 오래 걸리고 변경을 한 업그레이드에 묶는 경향이 있어 일부는 분리했어야 한다고 답했다.
- Zooko는 가장 단순한 패치였던 NSM이 24개월쯤 걸렸다고 짚었고, Daira Emma는 NU7이 막혀 NU6.1을 끼워 넣게 됐다고 비유했다.
공개 토론: 탈중앙화와 업그레이드 조율 논쟁
ECC, Zcash Foundation, Shielded Labs · Pacu, Daira Emma, Alfredo, Nate, Natalie, Arya
- Pacu는 ECC가 업그레이드 주도자 역할에서 빠지는 점은 이해하지만 이후 NU를 어떻게 조율할지 비전이 없으면 속도가 더 느려질 수 있다고 우려했고, 다른 프로토콜의 사례 조사를 제안했다.
- Daira Emma는 탈중앙화의 이점은 개념적인 것이 아니라 단일 조직에 가해질 법적·서비스 거부 공격 위험을 줄이는 것이며, 다른 조직이 ECC의 역할을 대신하는 것은 장기적으로 이롭지 않다고 했다.
- Alfredo는 이미 약속한 zcashd 폐기와 ZSA를 먼저 마치자고 했고, Daira Emma는 NU7에 적용하자는 것은 아니지만 이후가 아니라 지금 논의해야 한다고 답했다.
- Arya는 단일 조직 의존의 위험은 다른 조직들이 Zebra에 익숙해지는 것으로 풀 수 있다고 했고, Daira Emma는 포크를 유지하는 것이 코드를 익히는 사실상 유일한 길이라고 했다.
- Nate는 포크에 소스 포크와 체인 분기 두 의미가 있다고 짚었고, Natalie는 경쟁하는 포크는 장기적으로 비건강하다고 우려했다.
- Daira Emma는 Josh와 논의해 오해를 정리하고, 사람들이 포크를 테스트 외에 쓰지 않길 원하면 그렇게 명시하면 된다고 했다.
한국어 요약은 원문을 바탕으로 정리한 것으로, 정확한 내용은 원문을 확인하세요.