治理 프로그램은 가치 GEV 해악 프로토콜 보안을 추출할 수 있습니다. 어떻게 방지해야 할까요?

이더리움 애호가
2021-04-27 15:02:40
수집
디자인 균형 거버넌스 프로세스를 통해 가치를 추출할 수 있는 시스템은 DApp이 보급되고 탈중앙화 금융의 초기 비전을 실현하는 데 핵심입니다.

이 글은 이더리움 애호가에 게시되었으며, 저자: Leland Lee & Ariah Klages-Mundt, 번역: 아젠입니다.

거버넌스 프로세스(Governance)는 프로토콜의 최종 소유자입니다. 독재든 부유층 지배(plutocracy)든, 거버넌스 프로세스는 관련 프로토콜의 모든 변동 가능한 측면과 그것들이 어떻게 변화하는지를 통제합니다. 전통적인 회사와는 달리, 블록체인 애플리케이션의 거버넌스 프로세스는 투명하며, 전문 스마트 계약에 의해 정의됩니다(따라서 결정적이며), 무엇이 변경되는지도 모두에게 보입니다. 그러나 빛이 있는 곳에는 어둠도 있습니다. 거버넌스 프로세스는 전체 시스템을 희생하여 이익을 얻을 수 있으며, 이를 우리는 "거버넌스 프로세스에서 추출 가능한 가치(GEV)"라고 부릅니다. 전통적인 회사와 마찬가지로, 나쁜 거버넌스를 제약할 사법적 프레임워크가 없습니다.

거버넌스 프로세스란 무엇인가?

프로토콜의 거버넌스는 두 가지 축으로 나타낼 수 있습니다: 어떤 것이 거버넌스 프로세스에 의해 통제되는지, 얼마나 많은 사람들이 거버넌스에 참여하는지. 각 프로토콜은 고유한 목표를 가지고 있으므로 설계 공간도 다양합니다. 일부 프로토콜은 본질적으로 변경할 수 없고, 다른 프로토콜은 매우 적은 매개변수(예: 요금 전환 및 일시 중지 기능)를 가지고 있으며, 일부는 비즈니스 계약의 기능을 완전히 교체할 수 있습니다(또는 "업그레이드 가능"이라고도 함). 궁극적으로, 권한은 아무도 소유하지 않을 수도 있고, 한 사람이나 소수의 사람(다중 서명 계약에 해당하는 실체) 또는 많은 사람들(거버넌스 토큰 투표)에게 넘어갈 수 있습니다. 권력을 견제할 메커니즘이 없다면, 계약의 복잡성과 유연성은 기회주의의 온상이 될 수 있습니다.

GEV 폭발

거버넌스 프로세스는 사용자의 궁극적인 이익을 염두에 두고 있을까요? 너무 많은 것 같으면 이상하죠 : ) GEV 폭발은 크게 두 가지로 나눌 수 있습니다: 자본 구조 폭발과 단기주의.

자본 구조 폭발

자본 구조 폭발은 일반적으로 "도망(rug pull)"이라고 불리며, 거버넌스 프로세스가 시스템에서 담보를 훔치거나 직접 담보를 자신에게 가져가는 것을 포함합니다. 도망은 은행이 예금자의 돈을 가지고 도망가는 것과 비슷하지만, 자본 구조 폭발은 더 은밀하고 간접적으로 이루어질 수 있습니다. 대부분의 사용자는 명백한 호출 가능한 도망 함수가 있는 계약에 돈을 넣지 않을 것입니다. 그러나 개발자는 나중에 도망 함수를 추가하거나 시스템의 구조를 이용해 간접적이고 혼란스러운 방법으로 도망칠 수 있습니다. 여기 몇 가지 예가 있습니다:

  • 악의적인 업그레이드 도망. 일반적으로 은행에서는 사용자가 자신의 돈만 입금하고 인출할 수 있으며, 타인의 돈을 인출할 수 없어야 합니다. Compounder의 초기 설계에는 백도어가 없었습니다. 그러나 개발자가 계약을 업그레이드할 때 도망 함수를 추가하여 총 1080만 달러의 담보 자산을 훔칠 수 있게 되었습니다. 업그레이드가 발효되기 전에 24시간의 시간 잠금이 있었지만, 이 기간 동안 사용자가 자신의 자산을 인출할 수 있었던 것은 사실상 드문 일이었습니다.

  • 무한 발행 폭발. PAID 네트워크의 erc20 토큰 계약 소유자 계정은 하나뿐이며, 해당 계정은 새로운 코인을 발행할 수 있습니다. 공격 중에 개발자는 수백만 개의 코인을 발행하여 Uniswap 거래소의 PAID-ETH 유동성 풀을 고갈시키고 ETH를 가지고 도망쳤으며, 그 결과 초인플레이션으로 인해 가치가 0이 된 PAID가 남았습니다.

  • 소수 주주 매각. DigixDAO는 ICO 자금을 토큰 보유자에게 환불하는 결정을 투표로 통과시켰습니다. 당시 모금된 자본은 거버넌스 토큰보다 더 가치가 있었습니다. 이면에는 대부분의 주식을 장악한 연합이 있었으며, 이들이 누구인지, 어떻게 투표할 것인지에 대한 정보는 명확하지 않았습니다(Digix 팀은 해산에 대해 강력히 반대했습니다). 투표가 시작되기 전에 각 당사자는 소수 주주로부터 DigixDAO 토큰을 구매할 수 있었고, 그 시장 가격은 해당 ETH 준비금과의 차이가 48%에 달했습니다. 지금까지도 이 구매자들이 연합의 구성원인지, 소수 주주를 매각하여 이익을 얻으려는 사람인지, 아니면 무관한 사람들인지, 단순히 투표 결과에 베팅하는 것인지 알 수 없습니다.

  • 투표 도망. MakerDAO는 이론적으로 공격 인터페이스가 있습니다: 거버넌스 프로세스는 시스템의 모든 담보를 자신에게 투표로 넘길 수 있으며, 최종 사용자에게 알릴 필요가 없습니다. 그러나 위험은 시간 잠금으로 완화되었습니다.

단기주의

거버넌스와 사용자는 프로토콜의 성장을 원하지만, 구체적인 방법과 단계에 대해서는 의견이 다를 수 있습니다. 사용자의 목표는 지속 가능한 성장입니다. 반면, 거버넌스 토큰 보유자는 어떤 대가를 치르더라도 성장을 추구할 수 있습니다. 따라서 단기적인 가시적 이익(수수료 / 거버넌스 토큰 가치 상승)을 얻기 위해 높은 위험을 감수하는 것도 가능하지만, 이는 전체 시스템을 손상시켜 더 취약하게 만들 수 있습니다. 단기주의는 여러 가지 상황에서 발생할 수 있습니다. 한 예로, 시스템이 더 높은 위험 자산을 사용하고 전체 시스템의 부채 한도를 높이는 경우가 있습니다.

  • Cream Finance는 Compound의 복제품으로, 많은 저성장 DeFi 토큰을 추가하고 부채 한도를 설정하지 않아 사용자와 규모를 유치했습니다. 그러나 FTT 토큰 예치금은 결국 Cream의 예치금의 40%를 차지하게 되어 이 프로토콜의 위험을 크게 증가시켰습니다. FTT 가격이 폭락하면 Cream에서 대출자들은 자산을 잃을 수 있습니다.

GEV 해결

전통적인 회사에서는 GEV의 예방 메커니즘으로 보수파 세력, 규제자 및 집단 소송이 있으며, 이는 폭발 행위를 억제하는 큰 힘이 됩니다. 그러나 이러한 것들은 스마트 계약으로 번역할 수 없습니다(그 논리는 미리 프로그래밍되어 있습니다). 체인 상의 세계에서는 거버넌스 프로세스가 미리 프로그래밍되어야 하며, 악행을 억제할 인센티브 메커니즘이 있어야 합니다. 왜냐하면 우리는 모두 알고 있습니다, 폭발 후에 중앙 집중화된 기관이 우리를 위해 정의를 세울 수는 없습니다.

권력 분산 ------ 다중 서명 및 토큰 투표

관점 | 거버넌스 프로세스에서 추출 가능한 가치

누가 프로토콜을 거버넌스할 것인지에 대한 많은 고려 사항이 있습니다. 단일 소유 계정을 설정하는 것은 개발자에게 가장 편리하며, 이 프로토콜을 업그레이드하는 데 단 하나의 키만 필요하고, 다른 시간대의 개인 키 소유자나 무관심한 토큰 보유자와 조정할 필요가 없습니다. 개발 과정은 일방적으로 진행될 수 있어 빠르지만, 사용자는 이 개인 키 소유자를 신뢰해야 합니다.

다중 서명 제어 및 토큰 투표 제도는 더 성숙한 프로토콜에 더 나은 선택이 될 수 있으며, 더 넓은 합의를 얻을 수 있습니다. 그러나 현실에서는 개발 팀이 대부분의 투표 토큰을 통제하면 시스템은 여전히 독재 모드 또는 연합 모드로 돌아갈 것입니다.

업그레이드 가능성 없음 또는 제한된 계약

초기 스마트 계약은 문자 그대로의 "변경 불가능성"을 추구했습니다. 계약의 변경 및 업그레이드는 불가능합니다. 계약에 버그가 발생하거나 스마트 계약 개발이 개선할 수 없는 하드웨어 설계처럼 되는 것은 매우 두려운 일입니다. 수정할 수 없는 화성 탐사선처럼 말이죠. 업그레이드 불가능한 계약에 새로운 기능을 추가하려면 사용자가 자금을 이전해야 합니다. 어떤 관점에서는 이것이 특성이 될 수 있지만(코드가 변하지 않는다고 상상할 수 있음), 또한 끔찍한 사용자 경험의 블랙홀로 간주될 수 있습니다(예: YAM의 사용자는 두 번이나 자신의 토큰을 이전해야 했습니다).

가장 직접적인 개선 방법은 최소한의 업그레이드 공간을 설계하는 것입니다. 예를 들어, 버그가 발견되었을 때 매우 유용한 일시 중지 기능과 몇 가지 매우 제한된 매개변수가 있습니다.

가장 유연한 설계는 업그레이드 가능한 계약(조합)을 사용하는 것입니다. 하나의 핵심(프록시) 계약이 모든 데이터를 저장하고, 교체 가능한 계약을 참조하여 모든 비즈니스 논리를 로드합니다. 사용자는 기본 계약이 업그레이드되었는지조차 알지 못하므로 사용자 경험이 매우 부드럽습니다(물론 도망도 매우 부드럽습니다).

시간 잠금

거버넌스 프로세스의 시간 잠금 설계는 사용자가 업그레이드에 적응할 수 있는 조정 시간을 제공하기 위해 존재합니다. 유동성이 충분하다고 가정할 때, 시간 잠금은 사용자가 프로토콜을 떠날 수 있게 해줍니다(그들이 곧 활성화될 변경 사항을 좋아하지 않는 경우). 이러한 이용을 위해 사용자는 더 긴 시간 잠금을 설계하고 싶어할 것입니다. 그렇게 하면 변경 사항을 이해할 시간과 반응할 시간이 생기지만, 더 긴 시간 잠금은 프로토콜의 유연성을 저하시킬 수 있습니다. MakerDAO는 오랫동안 이 이유로 인해 시간 잠금을 추가하는 것을 거부했습니다.

그러나 시간 잠금도 만능은 아닙니다: 사용자는 이론적으로 그렇게 할 수 있지만, 시장에 유동성이 있어야 그렇게 할 수 있습니다. 만약 Maker의 거버넌스 프로세스가 CDP의 모든 담보를 박탈하려고 한다면, DAI의 유동성이 매우 낮다면 ------ CDP를 종료하기 위해 DAI를 얻으려는 사람은 스스로를 구해야 할 것입니다. 또한, 이는 모든 사용자가 악의적인 행동을 방지하기 위해 시간 잠금을 지속적으로 모니터링하고 있다는 가정을 전제로 합니다(Compounder가 바로 당신을 지칭하는 것입니다).

낙관적 허가

관점 | 거버넌스 프로세스에서 추출 가능한 가치

시간 잠금의 업그레이드 버전으로, 낙관적 허가는 프로토콜이 제안을 신속하게 통과시킬 수 있게 해줍니다. 누군가가 반대하지 않는 한 말이죠. 반대 기능은 프로토콜의 소액 투자자, 즉 이 프로토콜을 사용하지만 거버넌스 프로세스에 참여하지 않는 사람들(예: DAI 보유자, CDP 보유자 및 Uniswap 유동성 제공자)이 거버넌스 프로세스의 제안을 거부할 수 있게 해줍니다. 충분한 수의 사용자가 반대를 시작하면, 시간 잠금이 연장되어 더 많은 사용자가 이 반대에 대해 지지하거나 거부할 수 있게 됩니다. 결과적으로 개발자는 신속하게 대응할 수 있지만, 사용자도 자신을 보호할 방법이 있습니다.

  • 지원 추적 ------ 시간 잠금만 있다면, 악의적인 업그레이드는 모두가 대규모 인출과 발작을 초래할 수 있습니다. 이제 사용자는 즉시 탈퇴할 필요가 없습니다.

  • 안전 밸브 ------ 악의적인 제안의 맥락에서, 결석한 사용자는 자금을 잃을 걱정이 없습니다(망루와 같은 서비스가 필요하지 않습니다). 소수의 사용자가 시간 잠금을 모니터링하기만 하면 모두의 안전을 보장할 수 있습니다.

낙관적 허가 방법은 본질적으로 거버넌스의 인센티브를 변경하므로, 도망치는 것이 무익해집니다. 도망치려 할 때, 세심한 사용자가 반대를 시작하여 자신과 다른 사용자를 보호할 것입니다. 거버넌스자는 코를 납작하게 맞을 것이며, 공격이 성공하지 못하므로 사용자는 이 프로토콜에 참여할 의지가 줄어들 것입니다.【0】

낙관적 허가의 핵심은 어떤 팀이 반대를 제기할 자격이 있는지를 결정하는 것입니다. MakerDAO와 같은 시스템에서 CDP의 소유자와 DAI의 보유자는 반대권을 가져야 할까요? 아니면 특정 팀만 가져야 할까요?【1】

장기 거버넌스자

거버넌스 프로세스는 프로토콜의 장기적인 성공 방향과 일치해야 합니다. 일반적으로, 이는 토큰 보유자가 자본을 잠그거나 그들이 장기주의자임을 증명해야 합니다. 전자는 무기한 스테이킹 및 만기 해제 형태(즉, Curve와 같은)를 가집니다. 후자는 종신 투표 제도(토큰을 보유한 시간이 길수록 투표权 중량이 높아짐) 형태를 가집니다.

일반적으로, 파생상품 및 스마트 계약을 사용하여 토큰 잠금 메커니즘을 조작할 수 있습니다【2】. 그러나 종신 투표 제도는 장기적으로 토큰을 보유한 사람이 여전히 장기주의자가 되고 싶어하는 것을 보장하지 않습니다. 아마도 장기 보유자가 더 많은 권력을 가지게 되었을 때, 그는 사고 방식을 바꾸는 것이 더 유리하다고 느낄 것입니다.

대안적인 방법은 거버넌스 토큰 보유자에게 자본 수익(배당금 / 매입-소각)을 지연시키고 안정성 / KPI 지표에 조건을 설정하는 것입니다. 이 배경에는 거버넌스 프로세스가 현재 프로토콜 성장의 보상을 받아서는 안 되며, 미래 성장의 보상을 받아야 한다는 이유가 있습니다. 본질적으로, 시스템이 더 이상 신뢰할 수 없게 된다면, 거버넌스 프로세스는 책임을 져야 합니다(그들은 보상을 받을 수 없습니다). 반대로, 이러한 보너스는 시스템이 계속 건강하게 성장하는 것을 조건으로 해야 합니다. 뚜렷한 대조: 은행가와 정치인의 단기 인센티브 메커니즘. DeFi는 사용자에게 거버넌스 구조에서 이를 수정할 기회를 제공합니다.

GEV 감소는 프로토콜의 신뢰성을 높입니다

많은 ape와 degen이 존재하여 현재로서는 고위험 프로토콜조차 자본과 사용자를 얻는 것처럼 보이지만 ------ 대부분의 사용자는 위험을 더욱 싫어합니다. GEV도 위험 중 하나이며, 직접적인 도망의 위험보다 더 일반적입니다. GEV를 견제하는 시스템을 설계하는 것은 dApp이 대중화되고 탈중앙화 금융의 초기 비전을 실현하는 데 핵심이 될 것입니다. 도망이 없는 세상을 기원합니다.

각주:

【0】 Aave의 거버넌스 프로세스에는 악의적인 제안을 거부할 수 있는 다중 서명의 백도어가 있습니다(주로 개발자를 위한 것이지 사용자를 위한 것은 아닙니다).

【1】 반대 메커니즘의 왜곡은 악의적인 제안자에게 독약(즉, 몰수)을 생성할 수 있습니다 ------ 비록 이것이 남용될 수 있으며 추가 분석이 필요합니다. 몰수 기능을 활성화하는 것은 위험하며, 그 조건이 입증 가능해야 합니다. 예를 들어, 검증자가 두 개의 상충되는 블록에 서명했다는 것을 입증하는 것은 쉽습니다(PoS); 주어진 상태 전제에서 특정 거래가 유효하다는 것을 입증하는 것도 쉽지만(블록의 유효성을 검증), 특정 거버넌스 결정이 악의적이라는 것을 입증하는 것은 쉽지 않습니다. 결국, 그것이 나쁜 것인지 아닌지를 판단하는 것은 합의의 대리인에게 맡겨지게 되지만, 이는 그것 자체가 나쁜 것과는 별개입니다. 이는 소수 주주를 다수의 폭정으로부터 어떻게 보호할 것인가에 대한 일련의 문제를 제기합니다.

【2】 스마트 계약은 거버넌스 토큰을 잠그고 잠금 자산을 대표하는 파생 토큰을 거래하도록 설계될 수 있습니다. 블랙리스트 기능을 사용하여 계약이 거버넌스에 참여하는 것을 금지할 수 있지만, 이는 다중 서명 지갑도 비활성화하게 됩니다(비록 특정 바이트코드를 허용하기 위해 화이트리스트를 사용할 수는 있지만, 등등).

체인캐처(ChainCatcher)는 독자들에게 블록체인을 이성적으로 바라보고, 리스크 인식을 실제로 향상시키며, 다양한 가상 토큰 발행 및 조작에 경계해야 함을 상기시킵니다. 사이트 내 모든 콘텐츠는 시장 정보나 관련 당사자의 의견일 뿐이며 어떠한 형태의 투자 조언도 제공하지 않습니다. 만약 사이트 내에서 민감한 정보를 발견하면 “신고하기”를 클릭하여 신속하게 처리할 것입니다.
체인캐처 혁신가들과 함께하는 Web3 세상 구축