DApp의 거버넌스, 어디까지 탈중앙화해야 할까?

거버넌스를 탈중앙화시키지 않고 신뢰가 필요없는(trustless) 시스템 구축하기

Yoonjae Yoo
Alice Finance 한국
12 min readMay 23, 2019

--

서론

AlicePlasmaChain에서 작동하는 EVM 기반의 탈중앙 금융 서비스로써 하나의 DApp입니다. 이와 같은 DApp들은 이더리움, EOS, 트론 등의 블록체인을 기반으로 많이 출시되어 있습니다. 그리고 블록체인 위에서 작동을 하기 때문에 당연히 DApp은 탈중앙화되어 있다고 생각할 수 있습니다.

하지만 실제로는 그렇게 간단한 문제가 아닙니다. 왜냐하면 탈중앙화된 합의 알고리즘을 갖는 블록체인 위에서 동작하는 DApp일지라도 그 자체의 거버넌스는 탈중앙화되어 있지 않을수도 있고, 또 그렇다한들 사용자들에게 충분한 효용을 줄 수 있다면 문제가 없을수도 있기 때문입니다. 또한 탈중앙화의 정도가 0과 1로 뚜렷하게 구분되는 것이 아니라 그 중간 지점 어딘가를 가리키고 있을수도 있기 때문입니다.

Alice를 개발하면서 저희는 거버넌스 구조에 대해 많은 고민과 치열한 논의를 거쳤고, 그결과를 공유하고자 합니다. 그 결론을 짧게 요약하자면 아래와 같습니다.

거버넌스를 탈중앙화시키지 않아도 운영 주체를 믿을 필요가 없는(trustless) 시스템을 만들 수 있다.

잘 설계된 블록체인 시스템에서는 타인을 믿을 필요가 없어야 한다.

DApp 탈중앙화 측정 기준

DApp이 탈중앙화되어 있는지 여부는 아래 두가지 기준을 별도로 고려해야 합니다.

블록체인의 합의 알고리즘

DApp을 구동하는 블록체인의 합의 알고리즘이 얼마나 탈중앙화되어 있는가를 의미합니다. 여기서 합의 알고리즘이란 PoW(작업 증명), PoS(지분 증명), DPoS(위임 지분 증명), PBFT(실용적 비잔틴 장애 감응) 같은 것들을 의미하고 블록체인마다 다를 수 있습니다. 즉 이더리움 위에서 DApp을 구동시키는지, 혹은 EOS나 Tron을 기반으로 하는지에 따라 달라지는 것입니다.

PoW에 비해서는 PoS가 조금 더 탈중앙화된 것으로 알려져있고, DPoS는 탈중앙화를 조금 포기하면서 성능에 집중한 알고리즘입니다. 합의 알고리즘의 탈중앙화는 거래를 확정시키는 데에 얼마나 많은 사람들이 참여하는지에 대한 것입니다. 즉 DApp에 저장되는 데이터를 블록으로 확정짓는데에 요구되는 탈중앙화의 정도인 것입니다.

중요한 것은 탈중앙화된 합의 알고리즘을 갖는 블록체인 위에서도 얼마든지 중앙화된 거버넌스를 갖는 DApp을 만드는 것이 가능하고 반대의 경우도 마찬가지라는 점입니다. 거버넌스의 탈중앙화는 아래에서 설명됩니다.

거버넌스의 탈중앙화

DApp 자체의 거버넌스가 얼마나 탈중앙화되어 있는가를 의미합니다. 거버넌스의 탈중앙성은 0과 1 사이의 어떤 값을 갖겠지만 크게 다음과 같이 분류해 보았습니다.

  • 자비로운 독재자 유형
    사토시 나카모토가 잠적하기 전, 초창기 비트코인의 거버넌스에 해당합니다. 비트코인은 최초의 탈중앙 장부를 표방한 일종의 DApp이고 사토시 나카모토는 이를 개발한 개발자이자 독재자였습니다. 소스코드의 개발 권한은 그에게만 있었고 비트코인 커뮤니티의 구성원들은 그가 올바른 결정을 내릴 것이라고 믿어야 했습니다. 다행히 그는 자비로운 독재자였습니다 :)
  • 코어 개발팀에 의해 결정
    사토시 나카모토가 잠적한 후에 코어 개발팀이 꾸려짐으로써 비트코인은 이 유형의 거버넌스로 전환하게 되었고 이후에 나온 이더리움 또한 같은 유형에에 해당합니다. 코어 개발팀이 비전을 제시하고 강력한 추진력으로 개발을 해나갑니다. 자비로운 독재자만큼은 아니지만 역시나 개발팀에 대한 커뮤니티의 신뢰가 있어야 가능한 모델입니다.
  • 열린(open) 거버넌스
    탈중앙 소셜 네트워크인 스팀잇이 여기에 해당합니다. 스팀잇에는 20명의 증인(witness)가 존재하고 이들의 협의를 통해 새로운 기능 업데이트, 통화량의 조절 등이 결정됩니다. 중요한 것은 이 시스템이 폐쇄적으로 운영되지 않는다는 것입니다. 스팀잇 커뮤니티에서 영향력을 가진 누구라도 증인이 될 수 있고 증인들은 사용자들의 의견을 종합해서 운영 방침을 정합니다. 완벽에 가까워보이기는 하지만 어쨌든 증인들이 올바르게 운영할 것이라는 것을 믿어야 합니다. 그들을 선출할 수는 있지만 그들의 행동을 강제할 수는 없습니다.
  • 온체인(on-chain) 거버넌스
    신뢰해야할 대상이 가장 적은 거버넌스로, MakerDAO와 같은 DAO들이 이에 해당합니다. 대표자들에 의해서 거버넌스가 이루어지는 것이 아니라 (MakerDAO를 예로 들면) MKR 토큰을 가진 누구나 투표를 통해 운영 방향을 결정하는 데에 참여할 수 있습니다. 그리고 이 투표는 온체인에서 이루어지기 때문에 신뢰해야할 대상 자체가 존재하지 않습니다. 투표 결과 그대로 로직이 수행될 것임이 블록체인에 의해서 보장되기 때문입니다.

위에서 아래로 내려올수록 믿어야하는 주체의 숫자는 점점 줄어들다가 온체인 거버넌스의 경우에는 아무도 믿지 않아도 됩니다. 애초에 중간자를 제거하고 신뢰 비용을 제거하기 위한 블록체인의 목표와 가장 잘 맞는 방식인 것입니다.

저희 Alice에서도 위의 네가지를 포함한 모든 거버넌스를 고려한 결과, 온체인 거버넌스를 이상적인 지향점으로 설정했습니다.

온체인 거버넌스가 모든 것을 해결해줄까?

이렇게만 보면 온체인 거버넌스가 가장 우아한 솔루션이고 모든 것을 해결해줄 것으로 보입니다. 운영 방향이 블록체인 위에서 투표로 결정되고 그 결정에 따라 자동으로 이행되는 시스템이라니 정말 꿈만 같습니다. 그리고 실제로 MakerDAO로 대표되는 DAO들은 나름 잘 운영되고 있습니다. 민주주의의 문제이기도 한 투표 참여 비율이 저조한 문제가 있지만, 이는 많은 홍보와 커뮤니케이션을 통해 해결될 수 있는 문제인 것 같습니다.

하지만 DAO로 대변되는 온체인 거버넌스의 진짜 문제는 그 자체를 구축하는 데에 너무 많은 비용과 시간, 시행착오가 필요하다는 것입니다. 그리고 어쩌면 많은 자원을 쏟아부었음에도 불구하고 애초에 불가능했던 것이라는 결론이 나올지도 모릅니다. 왜냐구요?

왜죠..?

우선, 온체인 거버넌스는 투표가 필수적인데 투표권에 해당하는 토큰을 발행하고 그 토큰의 역할을 명확히 정의해야 합니다. 지난해 수많은 블록체인 프로젝트들이 토큰을 발행했고 나름의 토큰 이코노미를 가지고 있었지만 성공한 사례는 손에 꼽습니다. 즉 거버넌스를 떠나서 토큰 자체가 훌륭해야 한다는 것입니다. 이런 토큰은 설계하기가 쉽지 않습니다. 토큰의 성공은 곧 DApp의 성공이라고 할 수 있겠죠.

토큰이 뚜렷한 쓰임새를 갖고 있다면 일단 첫단계는 넘었습니다. 이제 DAO를 구축할 차례입니다. Aragon과 같이 DAO 구축을 도와주는 서비스도 있지만 아직 베타 단계를 벗어나지 못했습니다. 그리고 개별 DApp을 위한 DAO는 커스텀한 요구사항을 수반하기 마련입니다. 즉 DAO를 구현하는 데에도 상당한 고민과 노력이 필요하다는 것입니다.

이렇게 DAO 구현이 끝났으면 토큰을 홀드하고 운영할 구성원들을 모아야 합니다. 그러기 위해서는 토큰 자체가 매력이 있어야할 것입니다. 그리고 다수의 익명 구성원들을 교육하고 설득해서 결정할 사안이 있을 때마다 투표에 참여하도록 해야 합니다. 이 과정은 절대 쉽지 않을 것이고 많은 시간과 노력이 필요할 것입니다. 실제로 가장 앞서가는 DAO인 MakerDAO의 경우에도 투표율에 미달해서 결정 자체가 미뤄지는 상황이 벌어지고 있습니다. 사람들이 DAO의 개념을 받아들이고 시장이 성숙하려면 아직 시간이 필요할지도 모릅니다.

그렇다면 대안은?

Alice를 만드는 저희는 아직 Series A 투자도 받지 않았고 ICO 계획도 없는 스타트업입니다(물론 스타플레이어들이 모여있기 때문에 개발은 순조롭게 이루어지고 있습니다).

그렇다보니 Alice 거버넌스의 최종적인 지향점을 DAO로 설정하되 당장 이를 실행하기에는 리스크가 크다고 판단했습니다. 저희가 지향하는 프로젝트 운영 방향은 빠른 실행을 주무기로 하는 린스타트업 방식인데 DAO 구축을 위해서 Alice의 런칭을 몇달 미룰수는 없는 것이니까요.

하지만 그렇다고 해서 거버넌스를 중앙화할수는 없었습니다.

개발자인 저희가 모든 것을 결정해버린다면 ‘누구나 믿고 쓸 수 있고 누구나 참여할 수 있으며 누구나 이로부터 이익을 얻을 수 있는’ 금융을 지향하는 Alice의 모토와 어긋나버리기 때문입니다. 따라서 대안적 거버넌스를 고안해내야 했고 그 조건은 아래와 같습니다.

  1. 몇주 이내의 시간 안에 빠르게 실행할 수 있어야 할 것
  2. 토큰이 없이도 작동해야할 것
  3. 신뢰할 대상이 없어야 할 것
  4. 추후에 DAO로 전환할 수 있어야 할 것

위 조건을 모두 만족하는 저희의 초창기 거버넌스 모델에 대해 설명해드리려고 합니다. 한마디로 요약하자면 오픈 소스로 운영되지만, 투표와 같은 복잡한 절차를 통하지 않고도, 사용자들은 개발팀을 신뢰할 필요없이 사용할 수 있는 거버넌스입니다.

어떻게 그게 가능하죠?

오픈 소스 개발 (누구나 참여)

Alice의 개발은 우리에 의해 주로 이루어지지만 모든 계약 및 개발 진행상황은 Github에 공개됩니다. 그리고 누구나 issue 등록 혹은 pull request 전송을 통해 의견을 전달하고 개발에 참여할 수 있습니다. Alice의 개발에 도움이 되는 어떤 commit이라도 저희는 감사하게 받아들이고 반영할 것입니다. 이를 통해 커뮤니티의 다양한 의견을 수용하는 한편 최종적인 결정은 저희가 내림으로써, 열려 있지만 빠른 의사결정 체계를 갖게 됩니다. 저희의 Github 주소는 여기입니다. Alice 개발에 의견이 있으면 지금 방문해주세요!

투표없는 거버넌스

투표 그 자체는 물론 가장 공정하고 신뢰도높은 시스템이지만 이는 대다수 사용자들이 참여했을 때의 이야기입니다. 따라서 저희는 이를 위해 노력하는 대신 텔레그램 채널을 통해 커뮤니티의 의견을 수집하기 위해서 최대한 노력을 다할 것입니다. Alice의 운영에 대해 질문이 있거나 개선 사항, 의견이 있으면 무엇이든 알려주세요. 저희의 커뮤니티 매니저가 친절하게 답변드릴 것입니다. 물론 여러분의 의견은 Alice의 운영 방향에 영향을 미치게 됩니다. 이를 투명하게 공개하기 위해서 매주 금요일 09:00(GMT) 한 주동안의 의견, 요청에 대해서 요약하고 이에 대한 저희의 대응 방향을 알려드릴 예정입니다. 텔레그램 채널을 꼭 구독해주세요!

신뢰할 필요없는(trustless) 시스템

마지막으로 가장 중요한 것은, 사용자들은 운영 주체인 우리를 신뢰할 필요가 없다는 것입니다. 그리고 이를 가능하게 하는 것은 Alice만의 독특한 스마트 계약 작성 방식입니다.

기본적인 EVM 기반의 스마트 계약은 업그레이드가 불가능합니다. 그리고 이를 극복하기 위해서 ZeppelinOS와 같은 솔루션이 나와 있습니다. 하지만 업그레이드 가능한 계약을 배포하는 순간 아래와 같은 문제가 생깁니다.

  1. 관리자에게는 언제든 계약을 원하는대로 수정할 수 있는 권한이 있다.
  2. 계약의 수정은 자금을 탈취하는 등의 나쁜 방향으로 일어날 수 있다.
  3. 2번과 같은 형태의 계약 수정 후 관리자가 자금을 탈취한다해도 이를 막을 수 없다.

그렇다고 해서 업그레이드 불가능한 계약을 배포한다면 혹시나 추후에 발견되는 버그를 수정할 수도 없고 사용자들에게 추가 기능을 제공할 수도 없습니다. 딜레마에 봉착했네요.

어느 길을 택하더라도 문제가 있는 딜레마의 상황입니다.

Alice가 이를 해결한 방식은 ‘지연된 업그레이드 가능한' 계약입니다. 사용자들에게 잠재적으로 피해를 줄 가능성이 있는 부분은 업그레이드가 불가능하고 나머지에 대해서만 업그레이드 가능하되 시간차를 두고 적용되게 하는 것이 핵심입니다. 구체적인 방법에 대해서는 지연된 업그레이드 가능한 계약 이라는 글에서 다시 다루도록 하겠습니다.

이를 통해 사용자들은 운영 주체인 관리자를 신뢰할 필요가 없이 편리하게 금융 서비스를 사용할 수 있습니다. 왜냐하면 고객들이 자금을 인출하는 로직은 업그레이드가 불가능함이 보장되어 있기 때문입니다. 관리자가 기능 추가를위한 업그레이드를 한다면, 이것이 바로 적용되는 것이 아니라 최소 1주 이후에 추가된 기능이 활성화됨이 보장됩니다. 혹여나 관리자가 고객들에게 불리한 로직을 추가한다고 하더라도 활성화 되기 전, 고객들은 자금을 인출할 수 있습니다. 업그레이드가 예정되어 있을 때 많은 사람들이 자금을 인출한다면 관리자는 이를 막기 위해 업그레이드를 취소할 것입니다. 즉 투표를 위한 토큰이나 DAO 없이도 간접적으로 의견을 표출할 수 있는 방식입니다.

결론

위 방식을 통해 Alice는 ‘빠르게 실행할 수 있어야 할 것, 토큰없이 작동해야할 것, 신뢰할 대상이 없어야 할 것’ 세가지 조건을 충족하는 거버넌스를 구축할 수 있었습니다. 그리고 이런 하이브리드 거버넌스 방식에서 점차적으로 DAO 방식의 온체인 거버넌스로 전환할 예정입니다.

물론 DAO를 도입하기 위한 업그레이드 또한 지연되어서 적용이 될 것이므로 사용자들은 자금 인출을 통해 간접적으로 반대 의견을 표출할 수 있고, 만약 이런 상황이 발생한다면 커뮤니티의 의견을 수렴해서 Alice 사용자들이 원하는 방향이 무엇인지 고민하고 소통할 것입니다.

DAO는 가장 이상적이고 바람직한 탈중앙 거버넌스이지만 이를 구축하는 데에는 많은 시간과 비용, 고민이 필요합니다. Alice의 거버넌스는 궁극적으로 완전히 탈중앙화된 DAO 방식으로 전환될 것이며 그 전에는 저희가 고안해낸 여러가지 기법으로 사용자들이 우리를 신뢰할 필요없이 안전하게 사용할 수 있는 탈중앙 금융 서비스를 제공할 것입니다.

이런 저희 Alice의 비전에 공감하는 분들이라면 지금 바로 텔레그램 채널에 들어와주세요. 초창기부터 Alice의 운영에 의견을 제시하고 발전 방향을 제안하실 수 있습니다. 저희는 여러분의 의견을 귀기울여 들을 준비가 되어 있습니다. 지금 참여해주세요!

--

--