← 모든 콜 보기
ARBORIST#77

메모 키, 노트 평문 vs KDF 논쟁

메모 번들 키를 노트 평문에 넣을지 KDF로 도출할지를 두고 논의했다

안건별 요약 7

  1. ECC 업데이트: Binance TEX 주소 RPC와 Zashi 환율 변환

    Electric Coin Company · Kris, Str4d

    • ZconV 이후 Zashi 출시로 생긴 지갑 유지보수와 버그 수정을 따라잡고 있다. Binance가 TEX 주소 변환을 확인할 수 있는 zcashd RPC 메서드를 요구해 협의 끝에 추가하기로 했다.
    • 추가하지 않으면 Binance가 진행하지 않겠다고 했기 때문이다. Zashi의 환율 변환 방식을 논의했다.
    • lightwalletd가 조작할 수 없도록 검증 가능하게 환율을 얻고, 환율 서버에 불필요한 정보를 노출하지 않으며 환율 조작에 강한 방식을 목표로 한다.
    • 대부분의 암호화폐 환율 API는 이를 고려하지 않지만 기존 API 위에서 가능할 것으로 보았다. NU6와 NU6 메모 관련 논의도 이어갔다.
  2. Zebra 1.7.0과 regtest 튜토리얼

    Zcash Foundation · Alfredo

    • ZconV 시작 전 월요일에 Zebra 1.7.0을 릴리스했다. regtest와 커스텀 testnet 지원이 핵심이다.
    • 지난 콜에서 16주에서 20주로 늘렸다고 한 end of support 기간을 우려 때문에 zcashd와 같은 16주로 되돌렸다. 새 기능을 쓸 수 있는 regtest 튜토리얼을 작성 중이다.
    • Zebra가 뒤처진 ECC 의존성(zcash_primitives, zcash_client_backend, zcash_proofs 등) 업그레이드도 재개했으나 쉽지 않다.
    • Andrew Arnott가 보고한 gettreestate 버그의 수정 PR이 열려 있다.
  3. ECC와 ZF의 zcashd 폐기 작업

    Electric Coin Company / Zcash Foundation · Str4d, Kris

    • 스캔과 인덱싱 서비스의 구성과 책임 분담을 더 논의했고, 서비스 구축에 필요한 데이터 종류를 정리하는 후속 작업도 확인했다.
    • C++에서 옮기는 Rust 스크립트 엔진 구현을 zcash_script Rust 라이브러리에 통합하는 작업이 진행 중이다.
    • 기존 C++ 검증기와 교차 테스트할 수 있고, 기능이 완전해져도 안전을 위해 과거 Libsodium 교체 때처럼 네트워크 업그레이드로 전환할 가능성이 높다. zcash_primitives 트랜잭션 빌더를 크게 리팩터링하고 있다.
    • Sapling 의존성을 쓰지 않는 응용(Brave는 투명과 Orchard만 배포)이 Sapling crate를 뺄 수 있게 하는 것이 목적이며, 서명 생성을 빌드와 분리해 하드웨어 지갑 서명 스택 통합도 쉬워진다.
  4. ZSA ZIP과 통합 회의

    ZIP 에디터 / QEDIT · Str4d, Daira

    • 수개월간 이어온 ZIP 에디터와 QEDIT의 사양 설계 정기 회의가 이제 쌓인 변경 사항을 코드베이스에 반영하는 통합 회의로 바뀌었다. 이번 주 회의에서는 노트 암호화에 먼저 반영할 부분과 halo2 가젯 변경을 다뤘다.
    • ZIP-227은 현재 풀노드가 최종 확정된 자산만 추적하도록 요구한다.
    • 자산별로 발행량 합계를 추적해 값이 음수가 되지 않도록 하는 ZIP-209 같은 규칙도 필요하다는 논의가 있었고, 새 자산 정의와 기존 자산 추가 발행의 수수료를 구분할지도 논의 중이다.
    • 자산 이름 충돌과 지갑 UX를 위한 설계 고려사항을 정리했다. ZSA 지갑 권고는 ZIP-315에 추가하거나 별도 ZIP이 될 수 있다.
  5. FROST 데모와 TFL 발표

    Zcash Foundation / Electric Coin Company · Conrado, Daira

    • ZconV에서 발표했고 마지막 PR만 병합하면 누구나 데모를 직접 실행할 수 있다. 서버를 통해 서로 다른 기계에서 FROST를 실행하는 데모이다.
    • 서버를 프로덕션 수준으로 만들기 위해 사용자 등록 메커니즘, 암호화, 인증을 구현하는 리팩터링 중이다. Natalie가 refresh shares 기능을 마무리 중이다.
    • Daira는 ZconV에서 TFL 발표를 했으며 이번 콜에서 새 소식은 없다고 정정했다. 모든 발표는 Zcash Foundation YouTube 채널에서 볼 수 있다.
  6. 공지: My First Zcash 워크북

    Mass Adoption · Jack Gavigan

    • Elise가 작업한 교육용 워크북 'My First Zcash'를 소개했다. 돈과 탈중앙 암호화폐, Zcash 입문을 다룬다.
    • 커뮤니티가 함께 완성했으며 GitHub에 있어 이슈로 의견을 남길 수 있다.
  7. 메모 번들 설계: 메모 키를 KDF로 유도할지 여부

    Electric Coin Company · Str4d, Daira, Kris, Conrado, Arya

    • Hanh이 메모 키를 노트 평문에 넣는 대신 공유 비밀에서 KDF로 유도하자고 제안했다. 초안은 노트 평문의 메모 필드를 메모 번들 복호화 키로 교체하는 단순한 방식이다.
    • KDF 방식에서는 출력마다 고유한 메모 키가 생겨 메모를 공유하려면 별도 구조 메모가 필요하다. 공유 메모를 모든 수신자에게 주면 데이터 절약이 없고, 크기가 작은 키 조각 때문에 메모 공유 여부가 식별될 수 있다.
    • Daira, Kris, Conrado, Arya는 간접 구조가 복잡하고 회로 증명이 어려워지므로 노트 평문에 32바이트 키를 넣는 원래 설계를 선호했다.
    • Ywallet이 변경 출력마다 같은 메모를 복제하는 예처럼 공유 메모가 중요하다는 근거도 나왔다. Str4d는 KDF 방식이 노트 값만 공개하고 메모는 숨기는 세분화된 결제 공개에 한 걸음 가깝다는 장점을 짚었다.
    • Sprout에서 두 키를 쓰다 결제 공개가 어려워 Sapling에서 되돌린 경험도 언급되었다. 메모 번들은 어떤 키로도 암호화할 수 있어 KDF 키는 컨센서스 밖의 지갑 표준으로 추가할 수도 있다.
    • 중첩 메모로 인증된 답장 주소를 한 번만 담고 수신자별 메모에서 참조하는 방식도 논의되었다.

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