IMG-LOGO
Home 암호화폐 강의 이더리움백서 9편

이더리움백서[9편]


Remind


지난 8편에서는 7편과 동일하게 이더리움을 활용한 어플리케이션, 즉 DApp에 관한 내용이 이어졌습니다. 이더리움을 통한 헷지 컨트랙트, 네임코인과 같은 명의 등록 시스템 그리고 분산형 파일 저장 시스템 등 다양한 탈 중앙화된 어플리케이션에 대한 내용을 다뤘습니다.

개인적으로는 분산형 파일 저장소에 대한 개념이 흥미로웠으며, 월 정액 이용료가 결국 하드 드라이브 이용료 보다 비쌀 수 있다는 생각, 그리고 개인은 남는 하드 드라이브 자원을 제공함으로써 이익이 발생할 수 있다는 점이 참 좋았던것 같습니다.

컴퓨터 자원도 Share할 수 있는 시대가 다가오고 있는것 같다는 생각이 들었으며, 이러한 부분은 더 많은 아이디어를 발생시킬 수 있는 좋은 자극일것 같다는 생각도 들었습니다. 8편의 내용이 어렵지 않기 때문에 읽지 않으셨던분들은 꼭 읽어보셨으면 좋겠습니다.

탈중앙화된 자율조직(Decentralized Autonomous Organizations)


"탈 중앙화된 자율 조직(DAO)"의 기본적인 개념은 특정한 구성원 또는 주주들을 가지고 있는 가상 독립체(virtual entity), 즉 다수의 구성원의 동의하에 조직 자금운용 권한 및 코드 변경 권한을 갖는다는 것이며, 구성원들은 그 조직의 운영자금을 어떻게 배분할지를 공동으로 결정하는것입니다.

DAO에서 자금을 배분하는 방식은 포상, 급여 형식부터 보다 색다른 내부화폐를 보상하는 형식까지 다양하며, 본질적으로는 통상적인 기업이나 비영리 재단에서 사용하는 법적인 장치들은 그대로 따르르지만, 그 집행의 강제(enforcement)를 위해 암호화 블록체인 기술을 사용한다는 것이 다른점(차별점)이라고 할 수 있겠습니다.

지금까지 DAO에 대한 논의는 주로 "자본주의적(capitalist)" 모델인 "탈 중앙화된 자율기업(decentralized autonomous corporation) " 즉, DAC에 관한 내용이었으며, DAC에 대안적인 형태로는 "탈 중앙화된 자율 커뮤니티(decentralized autonomous community)"과 같은 개념도 생각해 볼 수 있습니다.

DAC 안에서 구성원들은 의사 결정에 있어서 모든 동일한 지분을 가지고 있으며, 기본 구성원의 67%(2/3)의 표결을 통한 동의가 있을 경우 구성원을 충원하거나 탈퇴 시킬 수 있으며, 이러한 방식을 유지하기 하기 위해서는 한사람이 오직 하나의 멤버십만을 가져야한다는 요건이 필요합니다.

DAO를 제작하기 위한 가장 간단한 디자인은 아주 단순합니다. 구성원 2/3이 동의 혹은 거부 하였을 경우 저절로 코드가 변경되는 컨셉입니다.

이론적으로는 한 번 셋팅된 코드는 변경될 수 없으나 별도의 코드들을 각각 다른 컨트랙트들로 분리 시킨 후 변경 가능한 저장 공간에 넣어둡니다. 그리고 해당 코드들을 불러낼 수 있는 주소들을 제공함으로써 실제적으로 코드가 변경된 것과 같은 효과를 만들어낼 수 있습니다.


* DAO를 제작하기 위한 코딩에 관한 일방적인 방법은 다음과 같습니다.

  • * [0,i,K,V]는 저장공간 인덱스 k 에 있는 주소를 v 값으로 바꾸라는 인덱스 i 를 가진 제안을 등록
  • * [0,i]는 제안 i 에 찬성하는 투표를 등록
  • * [2,i] 는 충분한 투표가 이루어 졌을 때 제안 i 를 완결

  • 컨트랙트는 상기 항목들에 대한 조건절을 가지고 있을 것이며, 전체 구성원 리스트를 보관하고, 모든 오픈 스토리지에 일어난 변화들과 누가 그 변화들에 투표했는지에 관한 리스트를 유지 보관하고 있을것입니다. 어떤 변경이던지 구성원의 2/3의 투표를 받았을 경우 최종적으로 변경을 집행하는 트랙잭션이 실행될 것입니다.

    앞서 언급한 방식보다 조금더 발전된 형태를 구현하기 위한 방법으로는 내장 투표 기능을 이용한 트랜잭션을 송수신하거나, 투표위임(위임 민주주의(Liquid Democracy 또는 Delegative Democracy))등의 기능들이 추가될 수 있습니다.


    이런 투표 위임을 통해 누구에게나 자신을 위해 투표할 수 있도록 위임할 수 있고, 또 이 권한은 다른 사람에게 다시 전가가 될 수 있습니다. A가 B에게 위임하고, B는 C에게 위임하면, C가 A의 투표를 결정할 수 있다는 의미입니다.


    이러한 설계를 통해서 DAO는 탈 중앙화된 커뮤니티로 유기적으로 성장할 수 있으며, 더 나아가 누가 구성원인지 아닌지를 판단하는 기능을 전문가들에게 위임할 수 있도록 해줄것입니다. (물론 "현행시스템"과 달리, 각 커뮤니티 구성원들의 의견이 바뀜에 따라, 전문가들이 있을 수도 없을 수도 있습니다.)

    이런 방식과 비교되는 다른 모델은 탈중앙화된 기업이라고 할 수 있으며, 각 어카운트는 0 또는 그 이상의 지분을 가질 수 있으며, 어떤 결정을 내리기 위해서는 지분의 2/3이 필요합니다. 이러한 방식의 가장 단순화된 핵심 골격은 자산 관리 기능, 지분을 매매하거나, 다른 오퍼를 수락할 수 있는 능력들을 포함할 것입니다. 또한, "이사회" 개념을 일반화하는 유동식 민주주의(Liquid Democracy) 스타일의 위임제도가 있을 것입니다.

    추가적인 어플리케이션들(Further Applications)


    예금용 "전자지갑"

    펀드를 안전하게 보관하고 싶은 Alice는 펀드를 잃어버리거나, 누군가 자신의 Private Key를 해킹할것을 걱정한다고 가정했을때, Alice는 자신이 소유하고 있는 이더를 Bob이라는 은행과 아래와 같은 조건의 컨트랙트를 생성할것입니다.

  • * Alice는 혼자서 하루에 최대 1%의 자금을 인출할 수 있다.
  • * Bob만으로는 하루에 자금의 최대 1%를 인출할 수 있지만, Alice는 Bob의 출금 권한을 박탈할 수 있다.
  • * lice와 Bob은 함께 어떤 것이든 인출할 수 있다.

  • Alice는 하루에 1% 정도의 예금을 인출하면 충분하고, 만약 더 많은 돈을 인출하고 싶을 경우 Bob에게 상한 조정을 요청할 수 있습니다. Alice가 Private Key를 해킹 당했을 경우, Bob에게 펀드를 새로운 컨트랙트로 이체 시키라고 요청할 수 있으며, Private Key를 분실했을 경우에는 Bob은 오랜 시간에 걸쳐서라도 펀드의 금액을 출금할 수 있습니다. 만약 Bob이 악의적인 사람으로 판명될 경우 Alice는 Bob의 출금 권한을 정지시킬 수 있습니다.

    작물보험

    시세가 아닌 날씨 데이터 피드를 이용하여 파생상품을 손쉽게 만들 수 있습니다. 만약 강수량 데이터와 역비례하게 지불금이 산출되는 파생상품이 있고, 농부는 가뭄이 있을 것을 대비하여 이 파생상품을 구매하게된다면 보험과 같은 역할을 수행할 것이고 이러한 어플리케이션은 자연재해 일반에 대한 보험상품으로 확대될 수 있을것입니다.

    탈중앙화된 데이터피드

    "쉘링코인 (SchellingCoin)" 프로토콜을 사용하여, 변량 (Difference)을 다루는 금융계약을 탈중앙화된 방식으로 운용할 수 있다. 쉘링 코인은 어떤 특정한 기준치 값에 대한 명백한 참 값(turth)을 도출하기 위해 사용됩니다.

    예를 들어 ETH/USD와 같은 기준치에 대해 n명의 참여자가 참가하였다고 가정했을 경우 각 참여자들은 자신들이 맞다고 생각하는 값을 시스템에 제공합니다. 자신이 입력한 값이, 정렬된 데이터의 25% ~ 75% 사이의 값과 같을 경우 보상으로 하나의 토큰을 받게됩니다. 사람들은 보상을 받기 위해서 정확한 값을 제시하고자 할 것이고, 많은 다수의 참여자가 현실적으로 동의할 수 있는 값이 도출되어, 값은 참값(truth)이 될것입니다. 이러한 방식은 ETH/USD 가격, 베를린의 온도, 심지어는 어려운 연산 문제의 결과값들도 제공해줄 수 있는 탈중앙화된 프로토콜을 만들 수 있게해줍니다.

    스마트 멀티시그 공탁 계좌

    비트코인에서는 멀티시그 트랜잭션을 만들 수 있습니다. 멀티시그 트랜잭션은 5개의 키 중 3개의 키를 가지고 서명을 해야 출금을 허용하는 방식의 트랜잭션을 의미합니다. 이더리움은 보다 다양한 방법의 멀티시그 트랜잭션을 제공할 수 있습니다.

    예를 들어 5개 중 4개의 키를 통해 서명되었을 경우 기금의 전체를 사용할 수 있고, 5개 중 3개의 키를 통해 서명했을 경우 하루에 기금의 10%을 사용할 수 있으며, 2개의 키를 통해 서명했을 경우 하루에 0.5% 기금을 사용할 수 있습니다. 또한, 이더리움의 멀티시그 트랜잭셕은 동시에 집행해야 할 필요가 없으며, 다른 시기에 블록체인에 본인의 전자 서명을 등록할 수 있고 최종적으로 서명이 다 이루어졌을 경우 자동적으로 트랜잭션이 네트워크에 보내집니다.

    클라우드 컴퓨팅

    EVM 기술을 사용하여 검증 가능한 컴퓨팅 환경을 구축할 수 있으며, 검증 가능한 컴퓨팅 환경의 예시는 다음과 같습니다. 사용자는 다른 사용자에게 연산을 수행하도록 요청한 후 랜덤한 시점에 연산을 수행한 주체에게 미리 설정된 연산 체크포인트가 올바른지에 대한 증명을 요구할 수 있습니다. 이기술은 데스크탑, 노트북, 또는 전문화된 서버를 가지고 사용자가 참여할 수 있는 클라우드 컴퓨팅 시장을 구축할 수 있으며, 참여자들은 함께 연산의 정확성을 무작위 추출검사를 함으로써 시스템의 안정성을 보장할 수 있습니다. (예: 노드는 부정 행위를 통해 이익을 얻을 수 없으며, 이익을 내기 위해 유저들을 속일 수 없습니다.)

    물론 이러한 방식은 모든 작업들을 수행하는 데에 적합한 것은 아닙니다. 예를 들어 높은 수준의 프로세스간 커뮤니케이션이 필요한 작업의 경우 여러 개의 클라우드 노드들로 수행하기에는 접합하지 않습니다. 하지만 그 외 작업들은 병렬진행이 가능합니다. SETI@home, folding@home, 유전자 알고리즘과 같은 프로젝트들은 분산화된 클라우드 컴퓨팅 플랫폼에서 쉽게 작업할 수 있는 프로젝트입니다.

    P2P 도박

    Frank Stajano와 Richard Clayton의 Cyberdice와 같은 P2P 도박 프로토콜은 이더리움 블록체인 위에 구현될 수 있습니다. 가장 단순한 도박 프로토콜은 다음 블록의 해시 값의 차이에 대한 컨트랙트이며, 0에 가까운 수수료와 그 누구도 사기를 칠 수 없는 보다 발전도니 프로토콜이 그 위에 얹혀질 수 있습니다

    * 예를 들어 다음 블록의 해시 값이 어떤 값이 나올지 그 누구도 예측할 수 없으며, 블록의 해시 정보 값을 통해 숫자 들만 추출하여 모두 합산한 후 합산된 결과 값을 6으로 나누어 어떤 숫자가 나올지 예측하는 주사위 게임과 같은 컨트랙트들이 만들어질 수 있습니다.

    블록체인상의 탈중앙화된 장터

    신원조회 / 평판 시스템을 기반으로 원활하게 돌아가는 P2P 장터를 구축할 수 있다.

    Think


    이제 이더리움 백서의 내용이 끝을 향해 달려가고 있습니다, 지금까지의 내용을 조금 요약정리해보면 기존의 비트코인 시스템의 장점, 그리고 비트코인의 상태표현의 한계점 및 스크립팅의 한계점에 대한 내용으로 백서가 시작되었으며, 이러한 문제점을 이더리움에서는 어떻게 해결할것인지에 대한 내용으로 이어졌습니다.

    특히 이번 9편에서는 DAO, DAC에 관한 개념 및 기타 응용될 수 있는 어플리케이션에 대한 내용으로 이어졌습니다. DAC의 개념은 매우 흥미로웠습니다.


    [참고문헌]


    * 이더리움 백서(한글)
    * 이더리움 백서(영문)



    작성자 : yahweh87