← 모든 콜 보기
ARBORIST#130

수수료 파라미터 변경 절차 논쟁

수수료 파라미터를 ZIP 없이 구현에 먼저 반영한 일을 두고 절차 논쟁이 벌어졌다

안건별 요약 8

  1. Zebra 업데이트

    Zcash Foundation · Alfredo

    • 8월 10일 동기화와 피어 점수 관련 보안 수정을 담은 Zebra 6.3.0을 릴리스했다.
    • 이제 lightwallet 호환 gRPC 서버를 통해 compact 트랜잭션 스트리밍 인터페이스를 구현해, 경량 클라이언트가 lightwalletd 없이 Zebra에 직접 연결할 수 있다.
    • 실험적 기능이며 기본으로 꺼져 있다.
    • 합의 쪽에서는 트랜잭션 검증기를 블록 검증기와 mempool 검증기로 분리했다.
    • 피어를 차단하면 해당 IP의 주소록 항목을 모두 제거하도록 고쳐 악의적 피어가 주소록으로 되돌아오지 못한다.
    • 피어 세트를 단순화해 주소록을 Tower 서비스 뒤로 옮겼다.
    • 외부 기여자가 네트워크와 합의 crate에 퍼징 커버리지를 추가했고 리뷰 중이다.
    • 변경 로그 충돌을 줄이려고 Changie 도구로 바꿨다.
    • 곧 트랜잭션 타입을 zcash_primitives의 것으로 교체하는 큰 리팩터링 PR이 준비돼 있다.
    • CI의 불안정한 테스트를 nextest로 옮기고 있고, Arya와 ZIP 편집자들이 QUIC 기반 새 P2P 프로토콜 PR 초안 5건을 작업 중이다.
  2. ZODL: 핵심 라이브러리와 Zallet 업데이트

    ZODL · Pacu, Alfredo

    • Zallet 보안 감사의 지적 사항 대부분을 해결했고 gRPC 등을 강화했다.
    • zcashd 이전 경로도 광부와 사용자 피드백으로 강화해 Sapling 이전의 HD 시드 없는 지갑과 오래된 키 자료도 가져올 수 있다.
    • zcash_client_sqlite 0.22 등 crate를 릴리스했으며, 이번 crate 릴리스가 최종본이고 더는 RC가 없다.
    • Zallet에 서명 메시지 RPC 등 RPC도 추가했다.
    • Ironwood 풀 이전 엔진도 진전시켰다.
    • Pacu는 Orchard crate와 librustzcash 개선을 만든 쪽에서 상류에 반영해 주면 리뷰해 병합하겠다고 요청했다.
    • Alfredo는 Pacu가 올린 Zebra 회귀 이슈를 그날 확인하겠다고 했다.
  3. ZSA 업데이트

    Qedit · Vivek, Daira Emma, Alfredo

    • NU 6.2와 6.3 변경을 따라잡는 작업이 주였다.
    • NU 6.2는 Orchard, librustzcash, Zebra, 트랜잭션 도구 전반에 반영했고, NU 6.3은 Orchard에 먼저 반영했으며 나머지는 Ironwood 변경을 작업 중이다.
    • Daira Emma와 논의해 Orchard의 회로를 별도 PR로 분리하기로 했다.
    • Orchard ZSA 회로에 필요한 Halo 2 PR은 리뷰를 마쳐 병합되거나 다음 릴리스에 포함될 수 있다.
    • ZIP 편집자에게 요청해 스왑 ZIP 초안이 upstream zips 저장소에 ZIP 228로 추가됐다.
    • 스왑과 ZSA가 모두 준비돼 가고 있어 하나로 합쳐 내는 방안과 각 crate별 작업량을 검토 중이다.
    • Daira Emma는 Ironwood 형식화가 거의 끝나 향후 몇 주간 이 PR들의 리뷰에 집중하겠다고 했다.
    • Alfredo는 Zebra의 트랜잭션 타입을 zcash_primitives의 것으로 바꾸는 리팩터링 때문에 Qedit PR의 변경이 늘 수 있으나 어차피 Ironwood로 코드가 크게 바뀌었다고 했다.
  4. Network Sustainability Mechanism(NSM) 업데이트

    Shielded Labs · Judah, Daira Emma

    • 요청에 따라 반감기를 유지하는 ZIP 234 초안을 제출한다.
    • 제안이 최소한 ZIP으로 뒷받침되게 하려는 것이다.
    • Daira Emma는 평탄화 옵션과 반감기 유지 옵션을 병렬 트랙으로 제시하거나 또 하나의 초안 ZIP으로 두어 렌더링된 버전으로 비교할 수 있게 하자고 했다.
    • 사람들이 이 옵션에 투표해야 하기 때문이다.
  5. Crosslink 업데이트 (Trailing Finality Layer)

    Shielded Labs · Philip, Daira Emma, Nate

    • 8월 26일 16시(UTC) 워크숍에서 안정성 개선과 하드 포크 도구, 2차 지급일, 다음 네트워크 구현 계획, 정기 네트워크 리셋 계획, 새 nightly 네트워크를 공유하고 질의응답을 한다.
    • Crosslink 노드 버전 12와 13을 릴리스했다.
    • 12는 내장 지갑의 속도 개선으로 체인이 길어진 상황에서 스테이킹과 해제의 신뢰성을 높였고 사이드체인 시각화와 headless 사용 경험도 개선했다.
    • 13은 지갑 안정성 패치이다.
    • v11 이후 체계적이거나 광범위한 포크는 더 보이지 않아 해당 조사를 종료했다.
    • 첫 네트워크 재시작을 준비 중이며 첫 네트워크에서 배운 합의 변경과 Ironwood 등 Zebra 업데이트 병합을 포함한다.
    • Daira Emma가 합의 변경 내용을 묻자 Philip은 스테이킹 데이터 포맷 변경을 들었다.
    • 재위임 시 어느 Finalizer에서 옮기는지 나타내는 from 필드를 넣어 하드 포크 도구의 슬래시 창 확인을 쉽게 하고, 10% Finalizer 커미션 같은 미구현 기능도 추가한다.
    • Nate는 메인넷 변경의 백포트도 한 범주라고 보탰다.
  6. 동적 수수료와 사양 프로세스 논의

    Shielded Labs, ZODL · Mark, Daira Emma, Alfredo, Zooko, Nate

    • Mark는 한계 수수료를 5000 zat에서 1000 zat로 낮추는 2000번대 ZIP 초안을 PR로 올렸다.
    • 또 Zakura의 Dave가 가중치 비율 상한을 10배로 올렸고, Mark는 DC에서 Arya와 이야기한 뒤 같은 변경을 Zebra에 PR로 올렸다.
    • Daira Emma는 명세를 먼저 바꾸지 않고 구현을 일방적으로 바꾸면 명세와 구현을 동기화할 수 없다며, 특히 이 변경이 ZIP 싱크 회의 등에서 한 번도 언급되지 않았음을 문제 삼았다.
    • 4배와 10배 노드가 섞일 때의 상호운용성도 공개 논의가 없었다고 지적했다.
    • Mark는 더 넓히는 포용적 변경이라 해가 적다고 보지만 공개 논의는 없었다고 인정하고 별도 ZIP을 쓰겠다고 했다.
    • Zooko는 수수료는 지갑과 광부가 알아서 정하면 된다며 반대 의견도 있음을 알렸다.
    • Nate는 사양과 다르게 구현할 때 ZIP 저자에게 비차단 방식으로 알리는 최소한의 예의를 새 규범으로 제안했고, 안전하다고 판단되면 메인넷 실험도 가치가 있다고 했다.
    • Daira Emma는 보안 분석을 갱신하려면 프로토콜이 지나치게 움직이면 안 되고, 구현마다 명세를 안 따르면 인터넷 프로토콜처럼 우회 코드와 보안 버그가 쌓인다고 반박했다.
    • 또 ZSA도 이런 식이었다면 코인 홀더 투표를 무시했을 것이라며 신중하라고 했다.
    • Zooko는 동적 수수료 초기에는 ZIP과 합의 절차가 필요하다고 말했다가, 저녁 식사 중 지갑만 설득하면 된다고 판단해 방향을 바꿨다고 밝히며 잘못을 인정했다.
    • Mark는 동적 수수료가 이런 논쟁의 전장이 되기를 원치 않는다고 했다.
  7. 형식 검증 진행 상황과 Lean 스터디

    ZODL · Daira Emma, Nate

    • Daira Emma는 Ironwood 북(github.com/zcash/Ironwood)의 group hash indifferentiability 페이지를 소개했다.
    • 곡선 점을 만드는 해시의 이산로그 미지 성질은 고수준 프로토콜과 Halo 2의 보안에 필요한데 형식화에서 빠져 있던 부분이다.
    • 이 페이지는 Lean 코드로 뒷받침되며, 무엇이 증명되었고 무엇이 아닌지, 수학 논문에 의존해 신뢰해야 하는 부분을 명시한다.
    • 앞으로 다른 형식화 부분도 수십만 줄의 Lean 코드를 보지 않고 검증할 수 있도록 같은 수준의 설명으로 끌어올리려 한다.
    • Nate는 Lean을 배우려는 Zcash 참여자들이 있다며 학습 스터디 클럽의 부활을 제안했다.
    • Daira Emma는 AI 없이도 이해하는 법과 AI가 앞서가지 않게 하는 법을 함께 다뤄야 한다고 했다.
  8. 그랜트 발표: Zcash 암호의 constant-time 하드닝

    Erys · Facundo, Daira Emma, Alfredo

    • Erys의 Facundo는 librustzcash에 기여하며 제안한 그랜트를 소개했다.
    • Zcash Rust 저장소에서 민감한 데이터를 다루는 경로를 위협 모델로 찾아 constant-time 연산이 필요한 곳을 코드 주석과 테스트로 명시하고, 적대자가 닿지 않아 가변 시간이어도 되는 곳도 표시하는 것이 목표이다.
    • 필요한 지원은 위협 모델의 정의와 검증, 가끔의 질문 답변, 짧은 PR 리뷰 정도로 시간이 많이 들지 않는다.
    • Daira Emma는 유용하며 시간을 내겠다고 했다.
    • Halo 2 증명의 multiscalar multiplication은 비밀 witness를 다루지만 성능 때문에 가변 시간을 쓰며, 블라인딩 덕에 괜찮을 수 있으니 그런 의식적 선택을 문서화하라고 했다.
    • Alfredo가 librustzcash를 고른 이유를 묻자 Facundo는 생태계에 처음이라 널리 쓰이는 저장소에서 시작했다고 답했다.
    • Daira Emma는 실제 암호 코드는 pasta_curves, orchard 등 의존 crate에 있으므로 이들까지 범위에 넣어야 한다고 조언했다.

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