만약에 비트코인이 PoS로 나왔다면 어땠을까

by WuKong/whatscoin.io posted Apr 10, 2019

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 댓글로 가기 위로 아래로

 

 

안녕하세요, 코인논객오공입니다.

이 글은 개인적으로 정리했었던 합의프로토콜에 대한 내용을 복습할 겸 재미있는 상상을 해보기 위한 글입니다. 

여러분들도 저의 상상에 동참해주시길 바라랍니다. 참고로, 이 글의 상상의 무대는 비트코인 출시시점인 2009년이며,

그 당시에는 코인거래소도 없었고 이렇다할 지갑 등 기술인프라, 커뮤니티도 거의 전무했을시기임을 감안하시기 바랍니다.

*편의상 '~이다/하다'체로 작성하였음을 미리 양해바랍니다.

 

 

□ 비트코인 낯설게 보기

  ㅇ 엉뚱하지만 재밌는 상상

    - 필자의 블록체인/암호화폐 영역에서의 관심분야들 중 하나는 '합의(Consensus)'인데, 이 분야를 탐색하던 중, 문득 이런 생각이 들었다.

 

"만약에 비트코인이 PoW기반이 아닌 

PoS기반으로 나왔다면 어땠을까"

 

   - 혹시 나처럼 이런 상상을 해본적이 있는가. 그렇다면, 이 글을 다 읽어보고 본인의 상상과 비교해서 피드백을 주고, 그렇지 않다면 잠시 읽는 것을 멈추고 상상을 해보시라, 어떤게 떠오르는가.

    - 간단한 상상이지만, 생각처럼 글이나 말로 풀어내기는 쉽지 않다. 왜냐면, 그런 상상은 답도 없어보이고 의미도 없어 보이기 때문이다. 과연 그럴까.

    - 정말 그런지는 따져보면 될일이고, 만약 당신이 이 글을 보고 있다면, 다행히 내가 그 의미를 찾은것이다.(의미없다고 생각했다면 이 글을 쓰다 지워버렸을테니까).

 

  ㅇ 배경지식과 상상의 조건

    - 그 상상의 나래를 글로 풀기전에, 합의알고리듬과 PoW 및 PoS에 대한 고찰을 해보자.

    - 합의알고리듬은 누가 블록을 생성하는가(블록선택규칙), 체인포크시 어떤체인을 선택하는가(체인선택규칙)에 대한 메커니즘이다.

    - 그 중 '누가 블록을 생성하는가'에 대한 답변이 PoW, PoS 등 이며, PoW기반 네트워크에서는 '연산작업(채굴)을 제일 빨리 증명하는(캐는) 자가 블록을 생성'하고, PoS기반 네트워크에서는 '유효지분보유자 중 그 보유비중에 따라 또는 조건을 충족시 블록을 생성'한다.

 

%25EB%25B9%2584%25ED%258A%25B8%25EC%25BD%2594%25EC%259D%25B8PoS.jpg

https://www.bearvalleycenterforspiritualenrichment.org >

 

□ 2009년 PoS기반의 비트코인 출시되다

  ㅇ 'PoS기반의 비트코인(이하 '비트코인PoS') 스펙

    - 총 발행량 : 총 발행량은 2,100만개(단, 인플레이션 존재).

    - 블록생성시간 : 60초(유동적).

    - 블록생성보상 : 맡겨놓은 지분(유효지분) 비중에 따라 확률적으로 부여.

    - 합의방식 : PBFT방식*. 즉, 매 라운드마다 투표절차에 따라 선정된 리더가 블록 추가를 제안하는 라운드 로빈(Round Robin) 형식으로, 그 제안은 적어도 2/3의 승인이 필요.

      * PBFT(Practical Byzantine Fault Tolerance)는 소규모 폐쇄 노드집단에 적합하나, 상상임을 감안하여 주시기 바람.

    - 기타 세부사항은 논외로 한다(혹시 다른 주요스펙을 빼먹었다면 양해바람)

 

  ㅇ (쟁점1) 초기에 살아남기 - 코인배분 및 커뮤니티 확보 문제

    - PoW의 경우, 누구나 채굴(연산작업)에 참여할수 있기때문에 채굴이라는 행위 자체가 곧 코인배분*방식이다. 그런데 PoS기반이니, 어떻게 코인을 배분할것인가.

     * 엄밀히 따지면, PoW에서는 코인배분 겸 코인발행이라는 표현이 맞을것이다. 처음부터 코인량이 정해지거나 총 발행량이 배분되는 PoS와 달리, PoW에서는 앞으로 존재할 예정인 코인을 배분 겸 발행시키는 작업이기 때문이다.

    - 당시 ICO개념도 없었겠지만, 사토시 나카모토 관점에서는 그런식으로 모금을 하자니 사기꾼처럼 보일것 같고 또 신원이 노출될것 같다. 그리고 그런식으로 해봤자, 많이 참여할것 같지도 않고 지속가능하지 않다.

    - 결국, 고민을 거듭한 끝에 파격적으로 특정 이메일 주소에 이메일을 보낼때마다 몇개씩 무료배분하는 장치를 설정하여 실행하되, 코인받는자는 네트워크 노드로 참여해야하는 선의의 조건을 단다(글을 쓰면서 즉흥적으로 생각한 코인배분방식인데 일부물량의 프로모션으로는 좋을것 같다).

    => (질문) 과연, '비트코인PoS'는 초기에 성공적인 코인배분과 커뮤니티 확보를 할수 있을까.

    => (내추측) 결코 쉽지 않았을 것이다. PoW의 채굴방식은 철저히 경쟁을 통한 이익추구방식으로 인간의 욕망을 자극한다. 대부분의 인간은 누구나 가질수 있는 것을 탐하지 않는다. 이상하게, 타인이 갖고있는 것 또는 자신이 소유한 그 이상을 가지려 한다. 따라서, 참여하고 경쟁하여 획득하는 능동적 메커니즘이 아닌 (조건부) 무료로 받는 수동적 메커니즘에서는, 코인배분은 그렇다쳐도 채굴팬덤(fandom)처럼 결과를 얻기위한 최소한 사용자 수(Critical mass)를 확보하기 어려웠을것이다.

    => (당신의추측) ?

 

  ㅇ (쟁점2) 지속해서 살아남기 - 안전성(Safety)과 생존성(Liveness) 확보문제

    - 쟁점1을 해결하고 초기에 살아남아도 지속해서 살아남는지는 따져봐야하며, 이 지속가능성에 대하여 '안정성'과 '생존성'을 다뤄보겠다.

    - 우선 '안전성'이란, 문제없는 노드들에서는 잘못된 합의가 발생하지 않는다는 뜻이다. 반면 '생존성'이란, 문제없는 노드들은 언젠간 반드시 합의를 이룬다는 뜻이다. 비슷해보이지만 분명 다르다.

    - 예를들어, 같은시점에 A노드가 a블록을 생성하고, B노드가 a'블록을 생성하여 체인의 분기가 발생하면, 문제있는 노드들이 존재한다고 보고 합의를 이룰수 없으며, 이때 안전성이 훼손됐다고 말한다. 그리고 체인의 분기가 발생하든 안하든, 압도적인 파워로 기존체인보다 긴 체인을 만들어 밀어붙이면, 어쨌든 네트워크의 상태(state)를 지속 변경하는 상황을 문제없다고 여기고 노드들은 그 긴 체인을 따르며, 이때 생존성이 보장된다고 한다.

    - 전통적으로, 장애모델*에서는 안전성을 우선 확보한 다음에 생존성을 따지는데, PoW기반의 비트코인은 위의 예시처럼 안전성보다 생존성을 우선시하는 매우 독특한 구조다. 그 대신에 떨어진 안전성을 보완하기 위하여, 비트코인을 10분이라는 다소 긴 블록생성시간을 두고 모든 노드가 그 시간동안 상호통신을 통해 트랜잭션 유효성 검사를 실시한다.

    * 장애모델(Failure Model) : 네트워크 내 여러 노드들이 서로 메세지를 보내며 해당 시스템을 유지하다보면 메세지가 잘 전달되지 않는 문제가 발생할수 있는데, 이런 장애가 일어날수 있는 방식 또는 그 장애를 처리할수 있도록 정의된 모델.

    - 하지만, 이는 말 그대로 보완책일뿐이며 확률적으로 안전성을 확보할뿐이다. 즉, 중앙화가 0%에서 51%에 가까울수록 안전성은 100%에서 0%으로 떨어지기에, '중앙화에 따른 확률적 안전성'이라 할수있다.

    - PoS의 경우, 상대적으로 안전성을 높일수 있는데 그 이유는 그 이름처럼 지분보유에 있다. 지분을 담보로 하고 블록을 생성하다가 악의적인 공격시 페널티로 그 지분의 전부 또는 일부를 삭감이 가능하기에 안전성을 높일 수단이 된다.

    - 다만, 생존성이 문제인데 그 해결책으로,

      1) 블록생성 조건을 일정부분 조절한다. 가령, 블록생성시 투표(vote)와 실행(commit)이 필요할때, 실행만 해도 블록생성을 용인한다면 안전성은 다소 떨어지지만 생존성을 살릴수 있다.

      2) 부분동기성 모델(동기성 모델처럼 일정시간을 부여하나 네트워크 속도에 따라 유동적이며, 메세지 누락만 없다면 언젠간 메세지가 도착하는 모델)을 적용한다.

    => (질문) '비트코인PoS'는 끝까지 살아남을수 있을까

    => (제추측) PoW의 경우 안전성을 일부 포기하고 생존성을 확보하는 실체를 10년이상 비트코인이 보여줬지만, PoS의 경우 앞서 언급한 설명대로 간단명료하게 설계하기가 어렵기때문에 비트코인PoS는 겨우겨우 목숨은 유지했었을 것이다.

    => (당신의추측) ?

 

  ㅇ (쟁점3) 카르텔로부터 살아남기 - 탈중앙화의 달성 문제

    - 흔히 PoW보다 PoS가 탈중앙화에 유리하다고 한다, 왜 그럴까. PoW는 규모의 경제 논리에 입각하여 규모가 클수록 그에 따른 비용(단가)이 저렴해져서 더 많은 이득을 가져가는 효과, 즉 '1코인은 1코인+@가치'를 갖는 경우도 있다. 반면, PoS에서는 '1코인은 1코인 가치' 그대로다.

      ※ PoS가 부익부빅인빅 효과가 있다지만 규모의 경제효과와 이 둘은 위상이 다르기에 동일선상에서 비교하는 것은 옳지 않으며, 따라서 여기서 다루진 않겠다.

    => (질문) PoW와 PoS 중, 어느방식이 더 탈중앙화에 유리한가.

    => (제추측) 방식 자체로만 보면 1코인당 1코인가치를 지닌 PoS가 '덜중앙화'된 체계라고 본다. 하지만, 네트워크에 있어 그 방식 자체 하나로만 설명하기 어렵다. 아무리, PoS가 유리하다고 해도, 앞서 설명한 초기 코인배분만 추가적용해도 PoS가 확실히 유리하다고 보기 어렵다. 따라서, 비트코인PoS의 탈중앙화는 현재의 그것과 크게 다르지 않았을것이다.

    => (당신의추측) ?

 

%25EB%25B9%2584%25ED%258A%25B8%25EC%25BD%2594%25EC%259D%25B8PoW%2Bvs.%2BPoS.JPG

https://blockgeeks.com >

 

□ 비트코인은 비트코인이다

  ㅇ 분석을 하고난 소회

    - 갑자기 생각난 재미난 상상과는 다르게, 써놓고 보니 재미는 어디가고 학문적 보고서를 써놔버렸다. 재미있게 쓰려고 한 나의 의도와는 다른 뱡향으로 작성되었기에, 읽는 분께는 미안한 마음이다. 그럼에도, '비트코인PoS'의 가상 시나리오를 생각나는대로 풀어냈다는 것에 의의를 두겠다.

    - 어쨌든 상상속 '비트코인PoS'에 대해 작성을 하면서 느낀건, 그나마 참고할 비트코인PoW이 있음에도 이렇게 말로 구현해도 어려운데, 이렇다할 선례없이 간단명료한 합의메커니즘으로 구현하여 10년이상 지속 가동이 된다는 사실에 그저 경이로웠다.

 

  ㅇ 비트코인의 그 자체로 거대하고 위대한 실험체

    - 상호신뢰할 수 없는 분산 네트워크로서, 가장 난이도가 높은 장애인 '비잔틴장애'*를 처리하는 블록체인을 통해 전세계에 걸친 대규모로 분산시스템을 구현하는 건 정말 위대한 도전이다. 그런데 그 실험을 이렇다할 시행착오 없이 거의 완벽하게 해냈다.

     * 비잔틴장애(Byzantine Fault) : 각자 다른 이(노드)의 상태를 모르며 본인이 제대로 된 메시지를 주고받았는지 잘못된 메세지를 주고받았는지 모르는 상황에서 악의적으로 메세지를 보내는 일부(노드)가 있는 상태를 뜻함. 이는, 분산시스템을 구축시 가장 어려운 상황이면서도 반드시 극복해야하는 문제임.

    - 제네시스 블록이 생겨난 시점부터 수많은 악조건(Stress Test)을 견뎌내며 살아남았고, 이 실험에 영감을 받은 다양한 블록체인 및 암호화폐 프로젝트들이 이후 탄생했으며, 이제는 각 정부나 대기업들조차 버리기보다는 안고가는 입장을 갖고 비트코인을 연구중이다.

    - 아마도 그런 후발 프로젝트팀, 정부, 기업 등이 비트코인을 활용하여 새로운 시스템을 만드는 과정이 내가 머릿속으로 '비트코인PoS'를 상상하고 분석하는 과정과 비슷한것 같다는 생각이 들었다.

    - 다만, 그 상상의 결과물이 블록체인과 암호화폐의 첫 사례인지 아니면 선례가 있는 상태의 후발주자인지의 차이는 엄청나다. 그렇기 때문에, 첫 사례로서 PoW기반의 비트코인은, 시간이 지나면서부족한 면면을 드러냈지만 전반적으로 완벽한 구현체이며, 만약 PoS기반으로 비트코인이 출시되었다면, 10년이 넘는동안 살아남기가 쉽지 않았을 것이고 특히 초기에 코인배분과 커뮤니티 확보가 매우 어려웠을것이다. 내가 추측하건데, 사토시 나카모토는 당시 이 모든걸 예견했기에, 비트코인을 PoW기반으로 출시했을 것이다.

    - 하지만 첫 사례가 아닐지라도, 이미 나온 비트코인PoW과는 다른 프로젝트를 내놓는 것 역시 매우 의미있는 일이다. 실제로, 주로 PoS에서만 보이는 스마트컨트렉트도, 이제는 비트코인 영역에서 스마트컨트렉트 프로토콜(RSK)이나 비트코인캐시의 스마트컨트렉트솔루션(Wormhole) 등과 같은 시도도 있지않은가

    - 어쩌면, 색다르고 차별화된 것을 선보이고 싶은 욕심과 열정덕분에, 나도 그들도 자신들만의 상상을 하지 않나 싶다. 마지막으로, 나름대로의 분석과 제언까지 마쳤지만 정작 상상속에 물었던 의문이 해소는 커녕 갈증만 더 나는건 기분탓일까.

 

"만약에, 정말 만약에,, 사토시 나카모토가 

비트코인을 PoW가 아닌 PoS기반으로 했다면 어땠을까"

 

 

* 호응, 의견 등 피드백 환영합니다.

 

2,893
default debug random = 0 / type = READ / detected = READ

Articles

default debug random = 0 / type = READ / detected = READ