프로그래밍/블록체인

[해석서]Bitcoin: A Peer-to-Peer Electronic Cash System - 6. 인센티브

산을좋아한라쯔 2018. 4. 1. 21:43
반응형

이번 절은, 블록생성에 대한 대가로 주어지는 인센티브(보상)에 대한 얘기입니다.

 

인센티브

관례상, 블록에 포함된 거래 중 첫 번째 거래는, 해당 블록 생성자에게 새로운 코인이 발행돼서 주어지는, 특별한 거래로 이루어진다. 이렇게 함으로써, 네트워크를 지탱하고 있는 노드들에게 인센티브를 줄 수 있고 또한, 코인을 발행하는 중앙 기관 없이도 신규 코인을 발행해서 유통될 수 있게 된다. 지속해서 일정한 양의 신규 코인을 발행하는 것은, 금을 유통할 수 있게 광부들이 자원을 소비하는 것과 유사하다. 이 경우에는 CPU 동작과 전력이 소비된다.

 

지금까지 논문을 읽었다면 느끼고 있을 사실이, 이 블록체인망이 유지되기 위해서는 거래를 검증하고 블록을 생성할 성실한 노드들이 많아야한다는 것입니다. 이 노드들은 블록을 생성할 권리를 획득하기 위해서 해시계산 경쟁을 치뤄야하고, 이 해시계산 경쟁을 하기위해서는 자신의 컴퓨팅파워를 소모해야합니다. 시간과 전기료가 소모됩니다. 따라서, 이 소모되는 비용을 상쇄할 수 있는 인센티브가 없다면, 이 블록체인 시스템은 영속할 수 없게됩니다.

논문에서 제시하는 인센티브 방법은, 블록 생성권을 따내서 블록을 생성하는 이에게, 코인을 지급하는 것입니다. 이 코인은 거래 당사자가 원래 가지고 있던 코인에서 수수료로 주어지는 것이 아니고, 비트코인 화폐 자체가 새로 생성되어 지급됩니다. 즉, 화폐가 발행되는 것입니다. 

 

실물 화폐 시스템에서는 중앙은행이 신규화폐를 찍어냅니다. 예전 금 본위의 화폐시스템에서는 화폐를 찍어내면, 그에 상당하는 금을 중앙은행 금고에 채워넣었습니다. 

반면에 비트코인 시스템에서는 위에서처럼 블록을 생성한 이에게 코인을 지급하면서 신규코인이 발행됩니다. 즉, 비트코인에서 신규화폐의 발해은 이처럼 블록생성에 대한 댓가로만 주어집니다. 블록을 생성하는데 소모된 시간과 전깃세에 상응하는 댓가라 할 수 있겠습니다.

 

이 신규 생성된 코인은 블록안에서 제일 첫번째 거래로 자동 생성됩니다. 송금자는 없고 수신인은 블록을 생성한 이의 공개키주소로해서 일정 코인만큼 송신이 됩니다.

 

인센티브는 거래수수료에 의해서도 발생한다. 거래 내역에서 출금(out)되는 값이 입금(in)되는 값보다 작다면, 그 차액은 거래수수료가 되며, 해당 거래를 포함하는 블록생성 인센티브에 더해진다. 코인 유통량이 어느 수준에 이르면, 인센티브는 거래수수료에 의해서만 이루어지며, 인플레이션으로부터 완전히 자유롭게 된다.

거래를 만들어내는 이가 블록생성자에게 수수료를 줄 수도 있습니다.

전 세계에서 이루어지는 거래들은 10분 정도씩 마다 블록에 추가되어 승인된 거래로써 등록이 됩니다. 이 과정에서 미처 10분마다의 블록에 기록되지 못하는 거래도 발생할 수 있습니다. 근데 만약 거래를 만들어내는 이가 블록생성자에게 수수료를 준다면, 블록 생성자는 이 거래를 더 우선적으로 블록에 삽입해서 블록생성을 시도할 것이고, 그 거래는 10분마다 생성되는 블록에 빨리 기재될 가능성이 높아집니다. 해서 거래자는 수수료를 책정해서 거래를 할 수 있는데, 이 때는 자신이 송금하는 금액 P와 수신인이 받는 금액 R에 차액을 둬서 수수료를 발생시킵니다. 

예를 들어 100코인을 보내는 것으로 하고, 수신은 95코인으로 하면, 그 차액인 5코인이 수수료가 되고, 이 수수료는 해당 거래를 블록에 넣어서 블록을 생성한 이에게 돌아가게됩니다.

 

그리고, 블록생성에 의해서 새로 생성되는 코인은, 코인 발급량이 어느정도 수준에 도달하면, 더 이상 신규코인이 생성되지는 않고, 거래 수수료에 의한 인센티브만 남게됩니다. 이렇게 함으로써 미래 발생할 수 있는 두 가지 문제점이 해결됩니다.

 

1. 화폐 인플레이션 문제

인플레이션은 화폐의 가치가 떨어치는 것으로, 화폐의 발행량이 계속 증가하는 한 피할 수 없는 현상입니다. 실제 실물화폐계에서도 경기부양을 위해 화폐를 많이 찍어내면 인플레이션이 발생합니다.

이 논문에서는 이러한 문제점을 막기위해서 코인의 발행량을 고정해야한다 합니다. 예를 들어 전체 화폐발행량을 2100만코인으로 한정해 놓고, 초기단계에서 블록을 생성하면 코인을 좀 많이 주고, 발행량이 늘어날 수록 블록생성에 대한 댓가로 주는 코인량을 줄여나가서, 최종 2100만 코인이 전부 발행되면 더 이상 신규코인을 발행하지 않는 것입니다. (실물 화폐의 경우, 화폐가 훼손/망실 등에 의해 없어지고, 최소한 그 없어진 만큼은 화폐를 신규 발행해야하지만, 디지털 화폐에서는 훼손이라는 것이 없기에 전체 화폐를 고정해도 된다는 말임. ) 

 

2. 블록생성 인센티브 문제

위의 화폐 인플레이션 문제 때문에, 화폐 발행량을 고정하고, 발행량인 많아질 수록 블록생성에 대한 인센티브로 적은 수의 코인을 주면, 발행량이 늘어남에 따라 생긴 인플레이션에다 더 적은 량의 코인을 주기에, 블록생성에 대한 인센티브가 적어져서, 더 이상 블록을 생성하려는 요인이 사라지게됩니다. 이를 해결하기 위한 방법으로 '수수료'라는 개념을 내 놓은 것이고, 화폐 발행량이 많아져서 신규 코인 발행에 의한 인센티브가 없어도 거래수수료가 있기에, 블록생성을 하려는 노드들이 있을 거라는 얘깁니다. 

 

이렇게 블록생성에 대해 수수료만 남는 상황이 되면, 수수료를 책정하지 않는 거래들은 블록에 삽입되지 않을 것입니다. 즉, 거래를 하려면 필히 수수료를 내야하는 상황이 되는 것이고, 이는 비트코인처럼 실물화폐가 아닌 디지털 화폐, 그리고 중앙집중이 아닌 P2P거래라도, 끝내는 거래에 대한 수수료는 발생한다는 얘기가 됩니다. 세상에 공짜는 없습니다. ^^  

  

논문의 다음 문구는, 이 인센티브에 의해서 블록의 안정성이 더 견고히 된다는 얘깁니다.

인센티브는 노드들의 정직한 참여를 유도하는 데도 도움이 된다. 만약 욕심 많은 공격자가, 모든 정직한 노드들의 CPU 파워 보다 더 많은 파워를 가지게 되었다면 그는 이 파워를 이용해서, 자신이 송금했던 거래를 조작하여 사취(詐取)하거나 혹은, (블록생성 경쟁에서 이겨) 새로운 코인을 발급 받을지를 선택하게 될 것이다. 여기서 그는, 시스템을 붕괴시키고 또한 그가 보유한 부의 유효성이 사라지는 것보다는, 시스템의 규칙을 따르면서 그 규칙에 따라 다른 누구보다도 더 많은 신규 코인을 받는 것이, 그 자신에게 더 이득이라는 것을 알게 될 것이다.

논문의 앞 부분에서, 블록의 안정성이 보장되려면 정직한 노드들이 많아야한다고 했습니다. (최소한 전체 노드의 절반 이상)

만약 노드에 있는 CPU파워의 대부분을 개인 혹은 단체가 보유하고 있다면, 블록의 무결성은 깨질 수 있습니다.

그러나, 이처럼 일부 노드가 CPU파워의 대부분을 가지게 되는 경우는, 굳이 블록의 내용을 조작해서 이익을 받으려는 노력보다, 그가 가진 CPU파워를 이용해서 정상적으로 블록을 생성해서(왜냐면 CPU파워가 높기에 블록생성권 획득이 쉬움) 얻는 이득이 클 것이기에, 시스템을 훼손하기 보다는 시스템 내에서 정상적인 활동을 하면서 이득을 취할 것이라는 겁니다.

 

전체 이득에 의해서만 판단을 하는 합리적인 노드라면, 자신이 전체 CPU파워의 대부분을 가진 상태에서, 몇 개의 거래에 대한 조작을해서 이득을 취하는 것보다, 블록 생성에 의한 이득을 보는 것을 선택하는 것이 맞을겁니다. 왜냐면 60%정도의 CPU파워를 독점한다하더라도 현재까지 이뤄졌던 모든 거래에 대해 조작할 수는 없고 몇 개 정도의 블록에 대해 조작을 할 수 있을 것이고(블록간 체인에 의해서, 관련된 모든 블록에 대해 새롭게 해시를 생성해야하기에), 이렇게 조작을 하고 나면, 언젠가는 해당 거래당사자들에 의해 조작이 들통날 것이고, 시스템은 더 이상 가동되지 않을 것입니다. 따라서, 조작을 해서 시스템을 망가뜨리는 것보단, 가지고 있는 CPU파워를 이용해서 블록생성권을 획득해서 이득을 보는 것이 나을 것입니다.

그러나, 세상은 이처럼 금전적인 이득만을 위해서 판단되고 결정되는 것이 아닌, 불합리한 결정도 있기에, 만약 50% 이상의 CPU파워가 독점된다면, 비트코인 시스템은 제대로 동작되지 않을 수 있겠습니다.

 

-계속-

 

[전체 목차]

1. 서론  
2. 거래(1/2)  
2. 거래 (2/2)
3. 타임스탬프 서버 
4. 작업 증명 
5. 네트워크 
6. 인센티브 
7. 디스크공간 회수 
8. 지불 입증 간소화 
9. 금액의 결합과 분할 
반응형