← 모든 콜 보기
ARBORIST#71

FROST 1.0 출시·TEX 주소

FROST 1.0.0 정식 버전이 출시됐고 Binance 대응은 TEX 주소 방식으로 정리됐다

안건별 요약 5

  1. ECC 업데이트: 모바일 SDK와 ZIP-320(TEX 주소)

    Electric Coin Company · Kris, Daira, Jack Grigg

    • 현재 집중은 지갑 SDK 릴리스이다. Orchard 지원을 더한 zcash_client_backend 릴리스를 준비 중이며 이후 zcash_client_sqlite와 SDK로 연결해 Zashi 1.0을 3월 말에 내는 것이 목표이다.
    • iOS 계층부터 지갑 SDK와 Rust 라이브러리까지 보안 감사를 진행 중이다. iOS 릴리스가 Android보다 먼저 나올 예정이며 감사에서 중대한 문제가 나오면 일정이 바뀐다.
    • Binance 투명 출처 거래소 주소 작업은 Jason McGee, Hanh, Pacu 등과 Binance 피드백으로 방향이 정해졌다. 이를 정의하는 ZIP-320을 TEX 인코딩 주소 방식으로 확정할 예정이다.
    • 장기적으로 주소 메타데이터로 shielded 출처만 허용하는 등의 제한을 표현하는 별도 ZIP도 고려한다. 또한 zcash_address crate와 같은 Java, Swift, TypeScript 구현의 커뮤니티 그랜트를 제안했다.
  2. Zebra 업데이트: 스캐너 gRPC, regtest, 해커톤

    Zcash Foundation · Alfredo, Jack Gavigan

    • Zebra scanner의 gRPC 인터페이스가 6개 메서드로 정리되었고 문서도 작성했다. 등록, 스캔 시작, 비동기 결과 스트림을 제공하는 scan push 인터페이스가 핵심이다.
    • 아직 Orchard 스캔이 없고 버그가 남아 있어 커뮤니티의 테스트와 피드백을 요청했다. Marek이 작업한 Zebra 1.6.0을 곧 릴리스한다.
    • QEDIT과 Zingo!가 각각 Zebra에 regtest 모드를 추가하는 제안을 해 어느 쪽을 택할지 조사 중이다. 처음으로 ECC와 Zebra 팀이 zcashd를 대체하기 위해 Zebra에 부족한 기능을 논의하는 회의를 열었다.
    • Zebra 팀은 2주간 해커톤 스프린트를 연다. Tor 지원 복원(Arti 연동), Tauri 기반 GUI로 Zebra 실행, Windows 지원 복원 같은 아이디어가 있다.
  3. Trailing Finality 현황

    Electric Coin Company · Daira

    • 새 업데이트는 없다. Crosslink 2 변경 사항을 문서로 정리할 계획이다.
    • ECC 일정에 PoS를 어떻게 넣을지는 아직 결론이 나지 않았다.
  4. FROST 1.0 안정 릴리스와 취약점 공개

    Zcash Foundation · Conrado, Daira, Jack Grigg

    • FROST crate 1.0.0 안정판을 릴리스했다. 릴리스 후보와의 차이는 사용자 피드백에 따라 노출한 메서드 몇 개와 취약점 수정이다. Trail of Bits가 1월에 분산 키 생성(DKG) 프로토콜의 취약점을 알려 왔다.
    • 다항식 계수 commitment의 길이를 검사하지 않아 악의적 참가자가 더 큰 다항식을 만들어 임계값을 높여 지갑을 쓸 수 없게 만들 수 있는 서비스 거부 취약점이다.
    • 키 탈취는 아니며 길이를 확인하는 방식으로 수정해 1.0.0에 반영되었다. 실제 배포된 응용은 알려지지 않았지만 crate 사용자는 업데이트를 권했다. DKG에는 사양이 없어 RFC 초안이 서명만 다룬다는 점이 지적되었다.
    • 비공식 표준을 공개하자는 의견이 나왔다. 데모 1단계는 병합되어 서버를 직접 실행하면 인터넷에서 FROST 데모가 가능하다. 서버와 코디네이터를 분리하는 2단계가 절반 진행되었다.
  5. experimental 기능의 정의와 Rust feature flag 사용

    Jack Gavigan, Daira, Jack Grigg, Alfredo, Kris, Andrew Arnott

    • Zebra의 뷰잉 키 스캔을 experimental 기능으로 내려는 상황에서 공식 정의가 있는지 물었다. Daira는 호환성 보장이 없고 예고 없이 바뀌거나 삭제될 수 있다는 뜻이라고 답했다.
    • Jack Grigg는 experimental 기능이 Rust feature flag와 개념상 무관하다고 설명했다. feature flag는 추가 전용이어야 하는데 큰 변경은 semver를 깰 수 있다.
    • 대안으로 Orchard 기능을 --cfg zcash_unstable=orchard 플래그 뒤에 두고 없으면 컴파일이 실패하게 했다. zcashd의 experimental 플래그와 유사하나 all-features 컴파일은 안 된다.
    • Andrew Arnott의 질문에 대해, 트레이트에 flag로 메서드를 추가하는 것은 기본 구현을 제공하거나 응용 계층에 가까운 crate에서만 해야 한다고 답했다.
    • zcash_client_backend은 응용 crate 성격이라 허용된다. 반대로 zcash_primitives 같은 깊은 의존성의 experimental 기능은 feature flag에서 빼야 한다고 했다.
    • Zebra의 Alfredo는 flag로 숨긴 기능이 영구 기능인지 제거 대상인지 구분이 없다며 readme로 정의를 명확히 하자고 했고, 두 팀이 공유할 crate를 두는 방안도 논의되었다.

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