[논문 리뷰] Implement Liquid Democracy on Ethereum: A Fast Algorithm for Realtime Self-tally Voting System
이 논문은 이더리움에서 액티브한 민주주의를 실현하기 위한 새로운 O(log n) 온체인 알고리즘을 제안한다. 이는 가스 제약 조건에도 불구하고 실시간 자기 집계 투표를 가능하게 하며, 초기화 과정을 오프체인으로 이관하고, 간격 트리(interval trees)를 사용해 위임 체인을 추적함으로써 각 투표당 보다 선형에 가까운 계산을 보장한다. 이는 수백만 명의 투표자도 포함한 네트워크에서도 확장 가능한 구현을 가능하게 한다.
We study the liquid democracy problem, where each voter can either directly vote to a candidate or delegate his voting power to a proxy. We consider the implementation of liquid democracy on the blockchain through Ethereum smart contract and to be compatible with the realtime self-tallying property, where the contract itself can record ballots and update voting status upon receiving each voting massage. A challenge comes due to the gas fee limitation of Ethereum mainnet, that the number of instruction for processing a voting massage can not exceed a certain amount, which restrict the application scenario with respect to algorithms whose time complexity is linear to the number of voters. We propose a fast algorithm to overcome the challenge, such that i) shifts the on-chain initialization to off-chain and ii) the on-chain complexity for processing each voting massage is O(\log n), where n is the number of voters.
연구 동기 및 목표
- 이더리움에서 가스 요금 제약 조건으로 인해 발생하는 온체인 액티브한 민주주의의 확장성 문제를 해결한다.
- 각 거래마다 결과가 온체인에 즉시 업데이트되는 탈중앙화된 투표 시스템에서 실시간 자기 집계를 가능하게 한다.
- 투표자 수가 증가함에 따라 실행 불가가 되는 선형 시간 순회 알고리즘의 한계를 극복한다.
- 사용자가 위임 순환을 생성함으로써 위임 체인을 위반하더라도 정확성과 보안을 유지할 수 있는 프로토콜을 설계한다.
- 수백만 명의 투표자를 지원할 수 있도록 이더리움의 가스 제한과 호환되도록 보장한다.
제안 방법
- 온체인 초기화를 오프체인으로 이관하여, 유일한 위임 관계와 투표 상태는 희소 스토리지에만 저장한다.
- 위임 체인을 간격 트리로 표현함으로써, 투표 메시지당 O(log n) 업데이트를 가능하게 하여 투표력 전파를 효율적으로 추적한다.
- 순환을 형성하는 위임 간선을 거부하는 순환 탐지 메커니즘을 구현하여 일관성과 무한 루프 방지를 보장한다.
- 솔리디티(Solidity)의 희소 스토리지 의미 체계를 활용하여, 할당되지 않은 키는 기본적으로 0이 되므로 가스 소비를 최소화하고 동적 위임 그래프를 지원한다.
- 투표 업데이트 로직을 가장 가까운 투표한 조상에만 의존하도록 설계하여 온체인 상태 의존도를 줄이고 점진적 계산을 가능하게 한다.
- 각 레벨에서 최대 두 개의 간격만 처리하는 재귀적 간격 트리 업데이트 전략을 사용하여 로그 시간 복잡도를 보장한다.
실험 결과
연구 질문
- RQ1엄격한 가스 제약 조건 하에서 이더리움에서 실시간 자기 집계가 가능한 액티브한 민주주의를 효율적으로 구현할 수 있는가?
- RQ2각 투표 제출 후 투표력을 업데이트하기 위해 필요한 최소한의 온체인 계산 복잡도는 무엇인가?
- RQ3전체 그래프를 선형 순회하지 않고도 위임 체인을 효율적으로 표현하고 업데이트할 수 있는 방법은 무엇인가?
- RQ4사용자가 순환을 생성함으로써 위임 그래프를 조작하려 할 경우에도 시스템이 강건하고 정확하게 유지될 수 있는가?
- RQ5100만 명 이상의 투표자를 지원하면서도 이더리움의 트랜잭션 당 가스 제한을 초과하지 않을 수 있는가?
주요 결과
- 제안된 알고리즘은 각 투표 메시지당 O(log n) 시간 복잡도를 달성하여, 대규모 네트워크에서 기계적 O(n) 순회 방법보다 현저히 뛰어나다.
- 선형 위임 체인이 있는 극단적인 경우, 순회 알고리즘이 약 1,000명의 투표자에서 이더리움의 가스 제한을 초과하지만, 제안된 방법은 100만 명의 투표자에서도 여전히 제한 이내에 머문다.
- 제안된 알고리즘의 가스 비용은 체인 길이에 따라 매우 느리게 증가하며, 800만 명의 투표자 체인에서도 3,000 가스 이내로 유지된다.
- 사용자가 순환을 만들려는 시도를 해도 알고리즘이 가스 효율성과 기능성을 유지한다. 순환을 형성하는 간선은 자동으로 거부되며, 다른 투표자에게 영향을 주지 않는다.
- Ganache에서의 구현은 제안된 방법이 효과적으로 확장됨을 보여주며, 가스 소비가 선형이 아니라 로그적으로 증가함을 입증한다.
- 솔리디티의 희소 스토리지 사용은 최소한의 온체인 프로필을 보장한다. 할당된 키만 스토리지 소비를 유발하므로, 알고리즘의 요구 조건과 완벽하게 부합한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.