Jump Crypto: 코드로 토큰 위임 거버넌스의 독립성을 보장하는 방법
저자: Nihar Shah, Joe Howarth
번역: aididiaojp.eth, Foresight News
TL;DR
-
토큰 위임 프로그램은 견고한 거버넌스를 가능하게 하지만, 토큰 보유자가 즉시 위임권을 철회할 수 있기 때문에 토큰 위임의 독립성이 제한된다.
-
기관 보유자와 같은 독립성이 요구되는 토큰 보유자를 위해, 우리는 토큰 위임 계약에 명확한 락업 기간을 포함할 것을 제안한다.
-
우리는 Maker 계약을 통해 시연하며, 상호 결정이 이루어지거나 토큰 보유자가 비상 절차를 실행할 경우 락업 기간을 우회할 수 있는 추가 기능도 포함한다.
소개
지난 2년 동안 토큰 위임 개념은 점점 더 인기를 얻었다. 토큰 위임이란 토큰 보유자가 자신의 체인상 투표권을 다른 사람에게 부여하는 것을 의미하며, Maker, Compound, Uniswap 등 주요 프로토콜들이 커뮤니티 거버넌스를 위해 이를 활용하고 있다. 토큰 위임은 거버넌스 효율성을 높이고, 학생 그룹, 비영리 단체 및 커뮤니티 리더들을 포함한 활발한 커뮤니티 발전을 촉진한다.
토큰 위임에는 두 가지 특별한 장점이 있다. 가장 직접적인 이점은 거버넌스를 더욱 효율적으로 만들 수 있다는 것이다. 위임 프로그램이 없다면, 이해관계가 적거나 시간이 부족한 일부 커뮤니티 구성원들도 수십 개의 제안서를 일일이 검토하고 복잡한 거버넌스 방침을 이해한 후 투표에 참여해야 한다. 위임 프로그램을 통해 전문가들이 더 현명하고 일관되며 중요한 결정을 내릴 수 있게 된다. 많은 경우에서 대의 민주주의는 직접 민주주의보다 이점을 가지며, 암호화폐 시장 역시 예외가 아니다.
작년부터 두 번째 장점인 중립성이 부각되기 시작했다. 예를 들어 특정 토큰 보유자는 매우 큰 지분을 보유하고 있으며 경쟁 프로토콜에도 토큰을 보유하고 있을 수 있는데, 이러한 보유자들은 탈중앙화되고 공정한 커뮤니티 구축에 기여하고자 하며, 투표권 위임은 자신들이 중립적이라고 여겨지도록 하는 한 가지 방법이 된다.
이러한 두 번째 장점은 단순히 토큰 위임 프로그램만으로 달성되지 않으며, 대리인이 토큰 보유자로부터 독립된 특수 조건이 필요하다. 예를 들어 a16z의 Jeff Amico는 글에서 토큰 위임 원칙을 설명하며 "각 대리인이 토큰 보유자와 무관하게 자신의 판단에 따라 자유롭게 투표할 수 있도록 하는 것"의 중요성을 강조했다. 그러나 대부분의 기존 토큰 위임 프로토콜은 이러한 독립성을 강제하지 않으며, 어떤 경우에는 주요 거버넌스 제안 직전에 고의로 이 독립성이 훼손될 수 있다.
본 문서는 간단한 코드 기반 솔루션을 제안한다. 즉, 프로토콜에 락업 기간 기능을 추가하여 토큰 보유자가 락업 기간 중에 수탁자의 거버넌스 권한을 철회하지 못하도록 하는 것이다. 또한 우리는 이 개념의 참조 사례를 제작하였으며, Maker 프로토콜과 호환되는 선택적 양방향 비상 우회 및 단방향 비상 우회 기능도 포함하였다.

낙원의 상실: 위임 철회
토큰 위임은 잠재력이 크다고 널리 여겨지지만, 비판 없이 진행되지는 않았다. 이론적으로나 실질적으로나, 토큰 위임 프로그램은 위임에 관한 규범을 무시하기 쉬우며, 견고한 거버넌스를 구축하려는 의지를 약화시킬 수 있다.
예를 들어 DeFi Watch의 Chris Blec는 a16z가 옹호하는 위임 프로그램의 선택과 상호 작용의 명확성을 지속적으로 주장해왔다. Blec는 거버넌스 제안이 한두 명의 보유자 대표에 의해 완전히 승인될 경우, 투표 대리인과 토큰 보유자 사이의 관계에 대한 의문이 제기된다고 지적한다.
이러한 위험은 실제이며, Maker의 Poll 819가 대표적인 예이다. 일반적으로 LOVE 투표로 알려진 이 투표는 대출 감독 기관 선정 문제와 분권화 및 효율성에 대한 광범위한 커뮤니티 거버넌스 논의를 중심으로 진행되었으며, 논란이 많고 치열한 투표였다(Maker 투표 참여 기록을 세웠으며, 본문 작성 당시까지 그 기록이 유지됨). Luca Prosperi는 전체 투표 과정을 상세히 기록했으며, 특히 토큰 위임 관련 세부 사항을 중심으로 다뤘다.
이는 중요한 거버넌스 제안에서 토큰 위임 프로그램을 우회할 수 있음을 보여준다. 예를 들어 Maker 창시자 Rune Christensen은 위임 기간 중 제안에 대한 위임을 변경하여 투표 결과에 영향을 미쳤다. Christensen은 해당 제안에 공개적으로 반대했지만 거의 모든 MKR 토큰을 위임해 놓은 상태였다. 그러나 2주간의 투표 기간 동안 그는 찬성 또는 기권 투표를 한 대리인들의 위임을 철회하고, 이 토큰들을 다시 투표하지 않은 다른 대리인들에게 재위임했다. 이 재배분은 Christensen과 찬성 투표 대리인들 사이의 근본적인 의견 차이를 숨기는 전술로 보인다. 투표 종료 후 사흘 만에 Christensen은 다시 이전 선거에서 찬성 투표를 한 대리인들에게 위임권을 돌려주었다. 이 패턴은 아래 그림과 같다:

법적 해결책
토큰 위임 프로그램은 더욱 정교해져야 한다. 하나의 해결책은 법적 계약을 통해 위임과 독립성 집행을 보장하는 것이다. 예를 들어 a16z의 위임 프로그램에서는 대표자가 거버넌스 권리를 보유하는 최소 기간을 약속한다. 만약 대리인이 이해상충 투표를 할 경우, 이는 토큰 보유자가 거버넌스 권한을 회수할 위험을 줄일 수 있다. 일반적으로 말하면, 이는 토큰 보유자가 대리인에게 가할 수 있는 압력을 제한한다.
이 원칙은 공개 GitHub 저장소에 게시된 법적 계약에 의해 시행된다. 법적 계약의 핵심 조항은 제6조로, "대리인이 거버넌스 책임을 이행하지 못할 경우를 대비하여 본 계약의 초기 기간은 효력 발생일로부터 [N] 개월이며, 토큰 보유자는 기간 만료 전에만 본 계약을 해지할 수 있다"고 규정한다.
그러나 법적 메커니즘은 최선의 선택이 아니다. 우리는 a16z를 의심하지 않지만, 그들의 뒤를 따르는 자들이 그렇게 고결하지 않을 수 있다. 법적 계약의 집행 비용은 높으며, 비대칭적인 권력 분포와 투명하지 않은 협상을 내포한다. 관심이 적은 토큰 보유자의 손에선 법적 계약은 의미 있는 검증 기능을 거의 수행하지 못한다.
따라서 투명성과 집행 가능성에 대한 너무 많은 가정에 의존하기 때문에, 법적 계약은 토큰 위임 프로그램을 일반적으로 확장하고 강화하는 데 부적절한 메커니즘이 될 수 있다.

제안: 법이 아닌 코드
본 문서는 간단한 해결책을 제안한다: 법적 계약이 아니라 스마트 계약을 사용하라는 것이다. 즉, 락업 기간을 스마트 계약에 직접 내장하여 대리인의 독립성을 보호하는 것이다. 이는 사전에 매우 투명하며, 사후에 쉽게 집행 가능하며, 무엇보다도 간단한 기술적 구현이 가능하다.
우리는 Maker 계약을 통해 이를 시연한다. 대부분의 핵심 위임 로직은 VoteDelegate.sol 계약에 존재하며, 특히 lock 및 free 함수에 주목해야 한다. 이 함수들은 요구사항을 충족시키기에 충분하다. 토큰 보유자는 lock 함수를 사용하여 토큰을 묶고 거버넌스 권한을 배정하며, free 함수를 사용하여 이러한 토큰과 관련 거버넌스 권한을 회수한다.

몇 가지 간단한 수정도 가능하다. 첫째, 계약 생성자 호출 시 _lockupPeriod라는 변수를 정의한다. 둘째, 보유자가 initialUnlock 함수를 호출하여 해제 카운트다운을 트리거한다. 셋째, 락업 기간 준수 여부를 확인하기 위해 free 함수를 약간 수정해야 한다.

락업 기간을 내장함으로써 토큰 위임 프로그램은 더욱 공개적이고 신뢰할 수 있게 되며, 대리인의 독립성은 법이 아니라 코드에 의해 강제된다.
비상 우회 기능
물론 락업 기간이 항상 바람직하지 않을 수 있으므로, 스마트 계약을 그에 맞게 수정할 수 있다.
첫째, 수탁자와 토큰 보유자가 공동으로 위임 관계 종료에 동의할 수 있다. 이 경우, delegatorBypassLockup이라는 간단한 함수를 통해 지체 없이 거버넌스 권한을 포기할 수 있도록 우회 기능을 제공할 수 있다.(참고: 매개변수 isDelegatorBypassEnabled는 계약 시작 시 이 기능을 활성화할 수 있음)

둘째, 대리인이 매우 무책임하거나 적대적인 방식으로 행동하는 등의 긴급 상황에서 토큰 보유자가 일방적으로 락업 기간을 우회할 수도 있다. 물론 이러한 상황은 자주 발생하지 않는다.
좋은 해결책 중 하나는 토큰 보유자가 토큰을 불가역적으로 소각함으로써 락업 기간을 우회할 수 있도록 허용하는 것이다. 이는 구현하기 쉽다. 계약 초기화 시, 토큰 소유자는 EmergencyUnlockBurnPercent 값을 설정한다(최대 100%까지 가능). 그런 다음 free 함수를 수정하여 토큰 보유자가 비상 절차를 선택했는지 확인한다. 만약 그렇다면, 소각되지 않은 토큰 비율만 반환하고 나머지 비율은 소각한다. 아래는 해당 로직의 일부를 보여준다:


완전한 토큰 저장소
본문에서 논의된 모든 기능과 수정 사항이 포함된 함수 요청은 아래 공개 Github 저장소에서 확인할 수 있으며, Maker 아키텍처에 필요한 모든 변경 사항도 포함되어 있다. 우리는 피드백과 제안을 환영하며, 해당 계약은 이미 프로덕션에 배포 가능한 상태라고 믿는다.
미래 비전: 조합 가능성
토큰 위임 프로그램은 더욱 풍부해질 수 있으며, 우리는 토큰 위임 계약의 조합 가능성이 다음 세대의 혁신 물결을 열 것이라 믿는다. 예를 들어 대리인이 자신의 투표권을 다른 대리인에게 다시 위임할 수 있다면 어떻게 될까?
이러한 관계는 수탁자를 더욱 독립적으로 만들 수 있다. 예를 들어 토큰 보유자는 자신의 토큰을 학생 그룹에 위임할 수 있다. 반대로 학생 그룹은 토큰 보유자에게 정확한 신원을 밝히지 않고도 거버넌스 목록상 개인 구성원에게 이 권리를 다시 위임할 수 있다. 따라서 토큰 보유자가 부드러운 압력을 가하고자 해도, 누군지, 누구에게 이익을 주는 방향으로 투표했는지조차 알 수 없게 된다.
조합 가능성은 더 풍부한 계약과 결합되어 토큰 보유자와 대리인 사이의 더욱 창의적인 상호작용을 가능하게 할 수 있다. 예를 들어 토큰 보유자는 수탁자로부터 일방적으로 토큰을 인출할 수 있지만, 최소 락업 기간이 지난 후에야 실제로 토큰을 받을 수 있도록 허용할 수 있다. 조합 가능한 계약이 이를 구현하는 한 가지 방법이 될 것이다.
결론
락업은 모두에게 적합하지 않다. 예를 들어 토큰 위임 프로그램의 초기 효율성 이점에 끌린 사람들은 락업을 불필요하다고 느낄 수 있다. 그러나 중립성을 유지하고자 하는 특정 토큰 보유자(창립자, 기관 보유자 등)에게는 매우 유용하다.
중요한 것은 명확성을 갖는 것이다. 일부 토큰 보유자는 대리인에게 큰 독립성을 부여하고 싶어 하고, 다른 보유자들은 더욱 엄격한 감독 관계를 맺고자 한다. 현재 상황은 모든 사람을 동일한 스마트 계약 안으로 몰아넣고, 공개 성명이나 법적 문서를 통해 진정한 의도를 표현하게 만든다. 반면 본 계약은 각 토큰 보유자가 원하는 프레임워크를 선택할 수 있게 하며, 여기에는 원하는 락업 기간, 상호 우회 기능, 비상 소각 파라미터가 포함된다. 전체 과정은 체인 상에서 이루어지며, 누구나 볼 수 있고, 별도의 모니터링이 필요 없다.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News














