Kite DAO에서 비공개 위임 투표 프로토콜
초록
Kite는 DAO 거버넌스에서 위임 투표를 비공개로 수행할 수 있게 하는 프로토콜이다. 투표자는 위임·해제·재위임을 할 때 자신이 누구에게 위임했는지 공개되지 않으며, 위임받은 대표도 위임자를 알 수 없다. 위임은 영지식 증명과 동형암호를 이용해 체인에 기록되고, 투표 자체는 공개 혹은 비공개 방식으로 선택 가능하다. 논문은 UC·SUC 프레임워크를 이용한 보안 증명을 제공하고, 이더리움 Governor Bravo와 연동한 구현과 7~167초의 위임 지연을 보이며 실용성을 입증한다.
상세 분석
Kite는 DAO 거버넌스에서 가장 빈번히 발생하는 프록시 투표 문제를 프라이버시 관점에서 재설계하였다. 핵심 아이디어는 위임 행위 자체를 영지식 증명(zk‑SNARK)으로 감싸서, 체인에 저장되는 데이터는 “누가 위임했는가”가 아닌 “위임이 발생했다”는 사실만을 포함하도록 하는 것이다. 이를 위해 논문은 다음과 같은 암호학적 구성요소를 결합한다. 첫째, 투표 파워를 표현하기 위해 CPA‑secure 가법 동형암호를 사용한다. 각 위임자는 자신의 토큰 수를 해당 인덱스에만 비밀히 암호화한 벡터를 생성하고, 스마트 계약은 이 벡터를 동형적으로 합산해 위임된 총 파워를 유지한다. 둘째, 위임·해제·재위임 트랜잭션에 포함되는 zk‑SNARK 증명은 (a) 위임자가 실제 토큰을 보유하고 있음을, (b) 위임 대상 주소가 계약에 등록된 유효한 위임자임을, (c) 위임량이 토큰 잔액을 초과하지 않음을 검증한다. 이러한 증명은 영지식이므로 위임 대상 주소는 공개되지 않는다. 셋째, 투표 단계에서는 두 가지 옵션을 제공한다. 공개 투표에서는 위임받은 총 파워를 그대로 옵션별 가법 암호문에 더해 결과를 집계한다. 비공개 투표에서는 위임받은 파워를 재무작업(rerandomization)한 뒤, 선택한 옵션에만 해당 암호문을 삽입하고 나머지는 영(0) 암호문을 넣어 투표 내용을 은폐한다. 최종 집계는 신뢰된 집계 위원(TA)이 비밀키로 단일 해독을 수행함으로써 효율성을 확보한다. 보안 분석은 UC 프레임워크의 변형인 SUC를 채택해, 이상적인 위임·투표 기능과 실제 구현을 하이브리드 게임으로 연결한다. 특히, bulletin board를 블록체인으로 모델링함으로써 메시지 인증·불변성을 가정하고, 위임·투표 과정에서 발생할 수 있는 위조·재연산 공격을 모두 시뮬레이션 기반 증명으로 차단한다. 구현 측면에서 논문은 기존 Governor Bravo 계약에 최소한의 인터페이스만 추가하고, ERC‑20 토큰 잠금 메커니즘을 도입해 이중 사용을 방지한다. zk‑SNARK 회로는 Noir 프레임워크로 작성했으며, 회로 최적화를 통해 증명 생성 시간은 7초(낮은 프라이버시 수준)에서 167초(높은 프라이버시 수준)까지 변동한다. 가스 비용 역시 증명 검증 단계에서만 발생하도록 설계해, 실제 DAO 환경에서의 채택 장벽을 크게 낮췄다. 전체적으로 Kite는 프라이버시와 투명성 사이의 트레이드오프를 유연하게 조정하면서, 기존 DAO 인프라와의 호환성을 유지하는 실용적인 솔루션이라 평가할 수 있다.
댓글 및 학술 토론
Loading comments...
의견 남기기