a16z:DAO 거버넌스 공격을 피하는 세 가지 방법

a16z
2022-07-30 20:51:54
수집
이 프로토콜을 이용하려는 동기를 줄이기 위해, 이 방정식은 세 가지 명확한 선택을 의미합니다: 공격의 가치를 낮추고, 투표권을 얻는 비용을 증가시키며, 공격을 실행하는 비용을 증가시키는 것입니다.

원문 출처: a16z

저자: Pranav Garimidi, Scott Duke Kominers 및 Tim Roughgarden

편집: DeFi之道

많은 Web3 프로젝트는 허가 없는 투표를 위해 상호 교환 가능하고 거래 가능한 네이티브 토큰을 사용합니다. 허가 없는 투표는 접근 장벽을 낮추고 경쟁을 증가시키는 등 많은 이점을 제공합니다. 토큰 보유자는 그들의 토큰을 사용하여 간단한 매개변수 조정부터 거버넌스 프로세스 자체의 철저한 점검에 이르기까지 다양한 문제에 대해 투표할 수 있습니다. (DAO 거버넌스에 대한 리뷰는 "Lightspeed Democracy" 기사를 참조하십시오.) 그러나 허가 없는 투표는 거버넌스 공격에 쉽게 노출될 수 있습니다. 즉, 공격자가 합법적인 수단(예: 공개 시장에서 토큰 구매)을 통해 투표권을 얻고, 그 투표권을 사용하여 공격자의 이익을 위해 프로토콜을 조작하는 것입니다. 이러한 공격은 순수하게 "프로토콜 내" 공격으로, 암호학적 수단으로 해결할 수 없습니다. 반대로, 이를 예방하기 위해서는 깊이 있는 메커니즘 설계가 필요합니다. 이를 위해 우리는 DAO가 위협을 평가하고 잠재적 공격에 대응할 수 있도록 돕는 프레임워크를 개발했습니다.

현실에서 발생한 거버넌스 공격

거버넌스 공격 문제는 단순히 이론적인 것이 아니며, 현실 세계에서 여러 차례 발생했으며 앞으로도 계속 발생할 것입니다.

눈에 띄는 예로, Steemit은 Steem 블록체인 위에 구축된 탈중앙화 소셜 네트워크를 만드는 스타트업입니다. 이 블록체인은 20명의 검증자(witnesses)가 통제하는 온체인 거버넌스 시스템을 가지고 있습니다. 유권자는 그들의 STEEM 토큰을 사용하여 검증자를 선출하며, Steemit과 Steem이 발전하는 동안, 선우천은 Steem을 Tron에 통합할 계획을 세웠습니다. 충분한 수의 투표권을 얻기 위해, 그는 Steem의 공동 창립자 중 한 명에게 연락하여 총 공급량의 30%에 해당하는 토큰을 구매했습니다. Steem의 검증자들이 그의 구매 행위를 발견했을 때, 그들은 그의 토큰을 동결했습니다. 이후 선우천과 Steem 간의 공개적인 논쟁이 시작되었고, 그의 목적은 새로운 검증자 목록을 선출하기 위해 충분한 토큰을 통제하는 것이었습니다. 몇몇 거래소의 도움으로, 그는 결국 승리하여 Steem 네트워크를 효과적으로 통제하게 되었습니다.

또 다른 예로, 스테이블코인 프로토콜 Beanstalk은 플래시 론 거버넌스 공격에 취약한 것으로 드러났습니다. 한 공격자는 대출을 받아 충분한 수의 Beanstalk 거버넌스 토큰을 확보한 후, 즉시 악의적인 제안을 통과시켜 Beanstalk의 1.82억 달러의 준비금을 통제하게 되었습니다. Steem의 거버넌스 공격과는 달리, Beanstalk의 공격은 한 블록의 시간 범위 내에서 발생했으며, 이는 누구도 반응하기 전에 공격이 끝났음을 의미합니다.

이 두 공격은 공개적인 장소와 대중의 시선 아래에서 발생했지만, 거버넌스 공격은 오랜 시간 동안 비밀리에 진행될 수도 있습니다. 공격자는 많은 익명의 계정을 생성하고, 다른 보유자처럼 행동하면서 거버넌스 토큰을 천천히 축적할 수 있습니다. 사실, 많은 DAO의 유권자 참여도가 종종 낮기 때문에, 이러한 계정은 오랜 시간 동안 잠자고 있어도 의심을 받지 않을 수 있습니다. DAO의 관점에서 보면, 공격자의 익명 계정은 건강한 수준의 탈중앙화된 투표권을 나타내는 데 도움이 될 수 있습니다. 그러나 결국 공격자는 이러한 마녀 지갑이 일방적으로 거버넌스를 통제할 수 있는 임계값에 도달할 수 있으며, 커뮤니티는 이에 대응할 수 없습니다. 마찬가지로, 악의적인 행위자는 투표율이 충분히 낮을 때 거버넌스를 통제할 수 있는 충분한 투표권을 얻고, 많은 다른 보유자가 비활성 상태일 때 악의적인 제안을 통해 시도할 수 있습니다.

우리는 모든 거버넌스 행동이 시장의 힘의 결과라고 생각할 수 있지만, 실제로는 인센티브 실패나 프로토콜 설계의 다른 결함으로 인해 거버넌스가 비효율적인 결과를 초래할 수 있습니다. 정부의 결정이 이익 집단이나 단순한 관성에 의해 포획될 수 있는 것처럼, DAO 거버넌스도 구조가 부적절하면 나쁜 결과를 초래할 수 있습니다.

그렇다면 우리는 메커니즘 설계를 통해 이러한 공격에 어떻게 대응할 수 있을까요?

근본적인 도전: 구별 불가능성

토큰 분배의 시장 메커니즘은 프로젝트에 가치 있는 기여를 하고자 하는 사용자와 파괴하거나 다른 방식으로 프로젝트를 통제하려는 공격자를 구별할 수 없습니다. 공개 시장에서 토큰을 사고팔 수 있는 세계에서, 시장의 관점에서 이 두 그룹은 행동적으로 구별되지 않으며, 두 그룹 모두 점점 더 높은 가격으로 대량의 토큰을 구매할 의향이 있습니다.

이러한 구별 불가능성 문제는 탈중앙화 거버넌스가 무료가 아님을 의미합니다. 반대로, 프로토콜 설계자는 공개 탈중앙화 거버넌스와 시스템을 공격자로부터 보호하기 위한 근본적인 균형을 맞춰야 합니다. 커뮤니티 구성원이 거버넌스 권한을 얻고 프로토콜에 영향을 미칠 자유가 많을수록, 공격자는 동일한 메커니즘을 사용하여 악의적인 변경을 수행하기가 더 쉬워집니다.

이러한 구별 불가능성 문제는 지분 증명(PoS) 블록체인 네트워크 설계에서 흔히 발생하며, 또한 토큰의 높은 유동성 시장은 공격자가 네트워크의 보안을 해치는 데 필요한 충분한 지분을 얻기 쉽게 만듭니다. 그럼에도 불구하고, 토큰 인센티브와 유동성 설계의 결합은 PoS 네트워크를 가능하게 합니다. 유사한 전략은 DAO 프로토콜을 보호하는 데 도움이 될 수 있습니다.

취약성 평가 및 해결 프레임워크

다양한 프로젝트가 직면한 취약성을 분석하기 위해, 우리는 다음과 같은 방정식으로 포착된 프레임워크를 사용합니다:

image

프로토콜이 안전하려면(거버넌스 공격을 견딜 수 있어야), 공격자의 이익은 부정적이어야 합니다. 프로젝트의 거버넌스 규칙을 설계할 때, 이 방정식은 다양한 설계 선택의 영향을 평가하는 가이드로 사용될 수 있습니다. 프로토콜을 이용하려는 동기를 줄이기 위해, 이 방정식은 세 가지 명확한 선택을 의미합니다: 공격의 가치를 낮추고, 투표권을 얻는 비용을 증가시키며, 공격을 실행하는 비용을 증가시킵니다.

1. 공격의 가치 낮추기

공격의 가치를 제한하는 것은 어려울 수 있습니다. 프로젝트가 성공할수록 성공적인 공격의 가치는 더 높아지기 때문입니다. 명백히, 프로젝트는 공격의 가치를 낮추기 위해 자신의 성공을 의도적으로 훼손해서는 안 됩니다.

그러나 설계자는 거버넌스 기능의 범위를 제한함으로써 공격의 가치를 제한할 수 있습니다. 거버넌스가 프로젝트 내 특정 매개변수를 변경하는 권한만 포함한다면(예: 대출 프로토콜의 이자율), 잠재적 공격의 범위는 거버넌스가 거버넌스 스마트 계약에 대한 전면적인 통제를 허용할 때보다 훨씬 좁아집니다.

거버넌스 범위는 프로젝트 단계의 함수일 수 있습니다. 프로젝트 초기에는 프로젝트가 입지를 찾을 때 더 광범위한 거버넌스가 있을 수 있지만, 실제로 거버넌스는 창립 팀과 커뮤니티의 엄격한 통제를 받을 수 있습니다. 프로젝트가 성숙해지고 탈중앙화 통제가 이루어짐에 따라, 거버넌스에 일정 수준의 마찰을 도입하는 것이 의미가 있을 수 있습니다. 적어도 가장 중요한 결정은 많은 커뮤니티 구성원의 참여가 필요합니다.

2. 투표권 얻는 비용 증가시키기

프로젝트 측은 공격에 필요한 투표권을 얻는 것을 더 어렵게 만들기 위한 조치를 취할 수 있습니다. 토큰의 유동성이 강할수록 공격자는 투표권을 더 쉽게 얻을 수 있으며, 이는 거의 자가 모순적입니다. 프로젝트 측은 거버넌스를 보호하기 위해 유동성을 줄이기를 원할 수 있습니다. 사람들은 토큰의 단기 거래 가능성을 직접 줄이려고 할 수 있지만, 이는 기술적으로 불가능할 수 있습니다.

유동성을 간접적으로 줄이기 위해, 프로젝트 측은 개인 토큰 보유자가 판매를 꺼리도록 인센티브를 제공할 수 있습니다. 이는 스테이킹을 장려하거나, 토큰에 순수한 거버넌스를 넘어서는 독립적인 가치를 부여함으로써 이루어질 수 있습니다. 토큰 보유자가 얻는 가치가 높을수록, 그들은 프로젝트의 성공과 더 잘 일치할 수 있습니다.

독립적인 토큰의 이점은 직접적인 참여 활동이나 사회적 경험을 포함할 수 있습니다. 이러한 이점은 프로젝트 측과 협력하는 개인에게는 매우 가치가 있지만, 공격자에게는 무용합니다. 이러한 이점을 제공하면 공격자가 토큰을 획득할 때 직면하는 유효 가격이 상승합니다. 독립적인 이점으로 인해 현재 보유자는 판매를 꺼리게 되고, 이는 시장 가격을 높입니다. 그러나 공격자는 더 높은 대가를 치러야 하지만, 독립적인 기능의 존재는 공격자가 토큰을 획득하는 가치를 높이지 않습니다.

3. 공격 실행 비용 증가시키기

투표권의 비용을 높이는 것 외에도, 우리는 공격자가 토큰을 얻은 후에도 투표권을 행사하기 더 어렵게 만드는 마찰을 도입할 수 있습니다. 예를 들어, 설계자는 투표에 참여하기 위해 어떤 사용자 인증을 요구할 수 있습니다. KYC 검사나 평판 점수 기준이 필요할 수 있습니다. 사람들은 심지어 인증되지 않은 참여자가 투표 토큰을 얻는 능력을 제한할 수 있으며, 기존의 검증자가 새로운 참여자의 합법성을 증명해야 할 수도 있습니다.

어떤 면에서, 이것은 많은 프로젝트가 초기 토큰을 분배하는 방식이며, 신뢰할 수 있는 측이 상당 부분의 투표권을 통제하도록 보장합니다. (많은 지분 증명 솔루션은 초기 지분을 얻을 수 있는 사람을 엄격하게 통제하여 보안을 보호하는 유사한 기술을 사용하며, 이후 점진적으로 탈중앙화됩니다.)

또는 프로젝트 측은 공격자가 대량의 투표권을 통제하더라도, 악의적인 제안을 통해 어려움을 겪도록 할 수 있습니다. 예를 들어, 일부 프로젝트는 시간 잠금 설정을 두어, 교환 후 일정 시간 동안 토큰을 사용하여 투표할 수 없도록 합니다. 따라서 대량의 토큰을 구매하거나 빌리려는 공격자는 추가 비용을 감수해야 하며, 그들은 실제로 투표하기 위해 기다려야 하고, 투표 구성원은 그들의 잠재적 공격을 주의 깊게 살펴보고 이를 저지할 위험이 있습니다. 위임도 여기서 유용하며, 악의적이지 않은 적극적인 참여자에게 그들을 대신해 투표할 권한을 부여함으로써, 거버넌스에서 특별히 적극적인 역할을 하고 싶지 않은 개인도 시스템 보호에 기여할 수 있습니다.

일부 프로젝트는 거부권 메커니즘을 사용하여 투표를 일정 시간 연기할 수 있도록 하여 비활성 유권자에게 잠재적 위험이 있는 제안에 주의를 환기시킵니다. 이러한 계획 하에서는 공격자가 악의적인 제안을 하더라도 유권자는 이에 대응하고 이를 차단할 수 있는 능력을 가집니다. 이러한 설계의 배경에 있는 생각은 공격자가 악의적인 제안을 통해 몰래 통과하는 것을 방지하고, 프로젝트 커뮤니티가 대응할 시간을 제공하는 것입니다. 이상적으로, 프로토콜의 이익에 명확히 부합하는 제안은 이러한 장애물에 직면할 필요가 없습니다.

예를 들어, Nouns DAO에서 거부권은 Nouns 재단이 보유하고 있으며, DAO 자체가 대안을 구현할 준비가 될 때까지 유지됩니다. 그들이 웹사이트에 쓴 것처럼:

"Nouns 재단은 Nouns DAO 또는 Nouns 재단에 중대한 법적 위험이나 위험을 초래하는 제안을 거부할 것입니다."

***

프로젝트 측은 커뮤니티 변화(때때로 환영받지 못할 수 있음)에 대해 일정 수준의 개방성을 유지하면서 악의적인 제안이 틈새로 빠져나가는 것을 허용하지 않는 균형을 이루어야 합니다. 일반적으로, 하나의 악의적인 제안만으로도 프로토콜이 무효화될 수 있으므로, 제안을 수용하고 거부하는 위험의 균형을 명확히 이해하는 것이 중요합니다. 물론, 거버넌스의 안전성을 보장하고 거버넌스를 가능하게 하는 것 사이에는 높은 수준의 균형이 존재합니다. 왜냐하면 잠재적 공격자를 막기 위해 도입된 모든 마찰 메커니즘은 거버넌스 프로세스를 더욱 도전적으로 만들기 때문입니다.

우리가 여기서 개요한 해결책은 완전한 탈중앙화 거버넌스와 프로토콜의 전반적인 건강을 위해 일부 탈중앙화를 희생하는 것 사이에 위치합니다. 우리의 프레임워크는 프로젝트 측이 거버넌스 공격이 이익을 얻지 못하도록 보장하기 위해 선택할 수 있는 다양한 경로를 강조합니다. 우리는 커뮤니티가 이 프레임워크를 사용하여 자신의 실험을 통해 이러한 메커니즘을 더욱 발전시켜 DAO를 미래에 더 안전하게 만들기를 바랍니다.

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