비트코인(BTC)용 해시 기반 양자내성 서명 초안 슈링크스(SHRINCS)는 상태 기록을 유지하면 최소 548바이트, 기록을 복구할 수 없으면 5777바이트 서명을 쓴다. 두 경로의 크기는 약 10.5배 차이다. 다만 이 비교만으로 비트코인 노드의 처리 부담이나 실제 수수료가 10배 늘어난다고 볼 수는 없다.
슈링크스 명세는 이 방식을 비트코인 거래 승인용 해시 기반 서명 초안으로 설명한다. 서명 때마다 사용한 일회용 키를 기록하는 '상태 기반' 경로는 크기가 작다. 상태를 잃거나 손상하면 기록이 필요 없는 큰 서명으로 전환한다. 명세에는 공개키가 48바이트, 상태 기반 서명이 548~4619바이트, 상태 없는 서명이 5777바이트로 제시됐다.
상태 기록은 일회용 키의 재사용을 막는다. 같은 일회용 키로 서로 다른 메시지에 서명하면 위조가 가능해질 수 있다. 크립토슬레이트(CryptoSlate)는 RFC 10033이 이런 위험을 줄이기 위해 서명 공간을 나누는 섹터화 등을 정리했다고 소개했다. 따라서 서명을 만들 때마다 사용 기록을 갱신해야 하고, 여러 서명자가 같은 키를 나눠 쓸 때는 키 재사용을 막도록 조율해야 한다.
초안은 기록을 안전하게 확인할 수 없을 때 상태 기반 경로를 포기하고 큰 폴백 서명을 쓰도록 설계했다. 백업에서 키를 복원해도 백업 뒤에 생성된 서명 기록까지 되살릴 수 있다고 보장할 수 없기 때문이다. 작은 서명을 쓰려면 키뿐 아니라 카운터와 기록의 백업·복구 과정도 함께 관리해야 한다.
코인베이스($COIN)의 샤샹크 아그라왈(Shashank Agrawal)은 13일 회사 블로그에서 양자내성 서명 선택은 일반 지갑과 기관 커스터디, 독립적으로 검증하는 전체 노드의 요구를 함께 고려해야 한다고 밝혔다. 그는 상태 기반 방식이 더 작고 빠를 수 있지만 상태 관리 오류가 위조로 이어질 수 있어 상태 없는 선택지도 필요하다고 적었다. 크립토슬레이트는 코인베이스가 커스터디 사업 맥락에서 유통 중인 비트코인의 약 12%를 보유하고 있다고 전했다.
서명 크기와 수수료는 같은 수치가 아니다. 크립토슬레이트는 서명 외 데이터를 400 가중 단위로 두고 수수료율을 바이트당 10사토시로 가정한 계산 예시를 소개했다. 이 조건에서 548바이트 서명은 2370사토시, 4619바이트 서명은 1만2550사토시, 5777바이트 서명은 1만5450사토시로 계산됐다. 실제 거래의 수수료나 노드 부하는 거래 데이터 전체와 비트코인의 가중치 계산 방식에 따라 달라진다.
슈링크스 명세는 아직 초안이며 보안 증명 항목도 미완성으로 표시돼 있다. RFC 10033은 상태와 백업 관리에 관한 정보성 지침으로, 비트코인 적용을 확정하는 표준은 아니다. 작은 서명을 쓰려면 상태 기록을 안전하게 유지하고 복구할 수 있어야 한다는 점이 남은 과제다.
<저작권자 ⓒ TokenPost, 무단전재 및 재배포 금지>
많이 본 기사