← 모든 콜 보기
ARBORIST#33

수수료 구조 개편 논의

네트워크 부하에 대응해 입출력 개수 기반 수수료 구조로 바꾸자는 제안이 논의됐다

안건별 요약 5

  1. Zebra 업데이트 - 동시성 재작성

    Zcash Foundation · Teor

    • 네트워크 부하 증가로 Zebra가 이만큼의 블록과 트랜잭션을 처리한 것은 처음이라, 블록을 파이프라인에 넣는 최상단부터 증명과 서명을 병렬 검증하는 최하단까지 동시성을 다시 썼다.
    • 노트 커밋먼트 트리 갱신도 이제 병렬로 처리하며, Rust 스레드 작업 스케줄링 라이브러리인 Rayon을 사용한다.
    • 블록 헤더와 해시 요청에 응답하려고 블록 전체를 DB에서 역직렬화하던 중복 작업을 찾아 고쳤다. 500개 블록의 해시를 구하려고 전부 역직렬화하던 셈이었다.
    • Adi의 질문에 Teor는 CI에서 lightwalletd와 함께 테스트 중이며 부하로 드러난 타이밍 버그를 고치고 있다고 답했다. 실제 지갑을 띄운 수동 테스트는 최근 많이 못 했다고 밝혔다.
  2. Zcashd 5.2.0 릴리스

    Electric Coin Company · Str4d, Daira, Deirdre

    • 5.2.0은 전날 릴리스됐다. 5.1.0 이후 증가한 네트워크 부하에 대응하고, lightwalletd 백엔드로서의 안정성을 높이는 성능 개선이 중심이다.
    • 멤풀 유입이나 getblocktemplate 검사로 확인된 Sapling과 Orchard 증명, 서명의 유효성을 캐시하고, 블록에 들어오면 항목을 지운다.
    • 이는 정상 상태 성능과 블록 전파 시간을 개선해 최근 높아진 채굴자 고아 블록 비율을 낮출 것으로 기대한다. 지갑 rescan에는 도움이 되지 않는다.
    • 지갑 스캔에는 Sapling과 Orchard의 멀티스레드, 배치 시도 복호화를 넣었고, 필요 없어진 증인 데이터를 정리(prune)한다. 노트를 쓰고 100블록이 지나면 증인을 버릴 수 있다.
    • Deirdre가 캐시 검증 허용을 스펙에 명시할지 묻자 Daira는 스펙이 검증 시점을 규정하지 않아 투명한 최적화라고 답했고, ZIP 401에 일반 노트를 넣는 안에 공감했다.
    • Str4d는 zcashd가 Bitcoin의 투명 서명 캐시를 확장해 쓰며, 블록 연결 시 캐시를 비우는 구현이 합의상 올바르게 동작해야 한다고 짚었다.
  3. 공개 토론 - FROST ZIP 초안

    Zcash Foundation · Conrado, Deirdre

    • Zcash용 스레숄드 서명 FROST를 규정하는 ZIP 초안이 준비됐고, 지난주 ZIP sync에서 유용한 피드백을 많이 받았다. 정리만 남았고 제출을 기대하고 있다.
    • Deirdre는 FROST 변형의 보안 증명(Chelsea 작성 중)을 기다리지 않고 ZIP을 진행하며, 증명은 병렬로 작성해 완성되면 링크할 것이라고 설명했다. 초안은 Zcash Foundation zips 저장소의 PR 3이다.
  4. 공개 토론 - 수수료 구조 변경안

    Daira, Kris, Adi ZCG, Dodger, Str4d

    • 현재 부하는 크기와 무관하게 기본 수수료만 내는 거대한 트랜잭션에서 온다. Kris는 입력과 출력 개수에 비례해 수수료를 매기는 안을 제안했다.
    • 구체안은 입출력당 250 zat에 최소 1000 zat로, 2-in 2-out 거래는 현재 수수료를 유지한다. 바이트 대신 개수 기준인 이유는 투명 입출력이 크기가 작아 차폐 거래가 불리해지지 않게 하려는 것이다.
    • Daira는 수수료를 10,000 zat에서 1,000 zat로 내린 이전 변경을 되돌리는 안도 제시했다. Kris는 두 안을 합치면 공격 비용이 약 20달러에서 약 20만 달러로 늘어난다고 추산했다.
    • Adi는 유료화 방향에는 찬성했지만 EIP 1559 방식은 수수료 예측이 어렵고 프라이버시와 먼지 정리에 불리하다고 반대했다. Kris는 비재량적 조정도 가능하다고 답했다.
    • 배포 순서는 수수료를 올릴 때는 지갑이 먼저, 내릴 때는 노드가 먼저다. Kris는 처음에는 합의 규칙이 아니라 지갑 업데이트, 채굴자 선택 기본값, 릴레이 수수료 순으로 가자고 했다.
    • Daira는 2017년 3월 수수료 아이디어 문서와 2019년 5월 DoS 완화 문서를 찾았고, 그 일부는 zcashd와 Zebra에 구현된 ZIP 401이라고 밝혔다.
  5. 공개 토론 - 수수료 변경의 배포와 UX 영향

    Electric Coin Company · Pacu, Nate Wilcox, Daira, Adi ZCG

    • Pacu는 모바일 비수탁 지갑 사용자는 업데이트를 강제하지 않아 구버전이 낮은 수수료로 전송을 시도할 위험이 있다고 지적했다.
    • Nate는 지갑이 체인에서 프로토콜 또는 동작 버전 신호를 읽어 구버전 사용자에게 알리는 범용 버전 관리 체계를 제안했다. 수수료를 SDK에서 쉽게 바꿀 파라미터로 만들자는 의견도 나왔다.
    • Nate는 차폐 거래의 고정 수수료가 UX상 장점이지만 블록이 가득 차면 유지하기 어렵다고 했다. 수수료 조정이 안 되는 차폐 지갑은 멤풀이 커지면 송금이 확정되지 않는 문제가 있다고 우려했다.
    • Daira는 단기 완화책으로 채굴자가 zcashd 옵션 blockmaxsize를 낮추고 blockprioritysize도 비례해 줄이라고 권했다. 장기적으로는 재귀 증명이나 증명 집계를 언급했다.
    • Daira는 트랜잭션 최대 크기 축소 가능성도 언급했으나(Sapling 이전 100 kB, 이후 2 MB) 쓰임새를 제한하므로 신중해야 한다고 했다.
    • Dodger는 lightwalletd가 권장 수수료를 지갑에 알려주자고 했다. Daira는 계산 변경 시 lightwalletd나 zcashd만 고치면 된다고 했고, 개발자 회의를 제안했다.

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