이 글을 이해하기 위해서 컴퓨터 공학 지식이 필요하지 않습니다.
What is Blockchain?
We propose a solution to the double-spending problem using a peer-to-peer network
(Bitcoin: A Peer-to-Peer Electronic Cash System)
Bitcoin 이외의 체인들을 Alternative Chain (Alt Chain) 혹은 Alternative Coin (Alt Coin)이라고 부르기도 하는데, 그 만큼 블록체인 분야에서 Bitcoin 이 가지는 영향력이 크다는 뜻이기도 합니다.
이러한 Bitcoin 백서의 개요에는 아래와 같은 서술이 있습니다. 블록체인의 정의를 가장 잘 표현해 주는 말이 아닐까 생각합니다.
Double Spending 문제를 해결하기 위해, P2P Network 를 이용하는 솔루션
Double Spending (이중 지불)
기존의 결제 시스템은 신뢰 모델을 사용하고 있었습니다. 이는 Double Spending 이라고 불리는 문제 때문입니다.
예를 들어, 상인 3명이 각각 A B C 라고 정의 합니다.
- A 상인은 매장에 생선 100마리를 가지고 있습니다.
- A 상인은 생선 100마리에 해당하는 교환권을 2장 만들고, 나중에 매장으로 가져오면 현물로 교환해 준다고 정의합니다. 그러나 실제로는 100마리 밖에 지불할 능력이 없습니다.
- A 상인은 B 상인과 C 상인에게 이 교환권을 각각 지불하고 다른 물건을 매입했습니다.
- B 상인과 C 상인은 추후 이 교환권을 가지고 A 상인의 매장에 방문하지만, 실제 지불할 능력이 생선 100마리 밖에 없으므로, 문제가 발생합니다.
물론 A 상인은 이후 신뢰를 잃어버릴 것이고, 더 이상 B 상인과 C 상인과는 거래를 할 수 없게 되겠지만, 어쨌든 B 상인과 C 상인은 손해를 입었습니다. 이러한 문제를 Double Spending 이라고 하며, 사람들이 계속해서 이런 리스크를 생각하면, 거래는 더 이상 성립할 수가 없게 됩니다.
여기에서 신뢰할 수 있는 상인 E (Escrow)가 등장합니다.
- E는 A로 부터 생선 100마리를 맡고, 교환권을 E 상인의 이름으로 발행합니다.
- A는 B와 C에게 E의 교환권을 지불합니다.
- B와 C는 E와 오랜 시간 거래해 왔으며, E가 큰 자산을 가지고 있고, E가 거짓말을 하면 잃을 것이 많다는 것을 알고 있습니다. 그만큼, E를 신뢰할 수 있습니다.
- B와 C는 E의 교환권을 받고 물건을 내어줍니다.
E는 개인일 수도, 회사일 수도, 국가일 수도 있습니다. 중계자를 통한 거래는 E를 '신뢰' 한 이후에 비로소 성립합니다.
Decentralized
Blockchain 은 의문을 던집니다. 중계자를 신뢰하는 방법 이외에 Double Spending 문제를 해결할 수 있는 방법이 없는가?
- 중앙의 중계자에 의해 모든 거래가 처리된다면, 이는 중앙화(Centralized) 되었다고 할 수 있을 것이며,
- 중계자가 없이 거래를 처리할 수 있다면, 이는 탈중앙화(Decentralized) 되었다고 할 수 있을 것입니다.
전통적인 인터넷 서비스는 회사에서 제공하는 서버를 통해 이루어지므로, 중앙화 서비스에 해당합니다.
필연적으로 누구도 통제할 수 없는 P2P Network 를 이용하여 중계자가 없는 시스템을 구성해야만 합니다. 이와 동시에, Blockchain 은 P2P Network 의 특징을 이용하는 기술이기도 합니다.
Now and Next
블록체인은 더 많은 활용을 위해 변해가고 있습니다. 수 없이 많은 실험적 체인들의 시도들이 이를 증명합니다.
- 체인 구조를 바꾸거나
- 스마트 컨트랙트와 같은 기능을 도입하거나
- 중앙화 혹은 컨소시엄 형태의 운영 조직을 구성하거나
- 익명성을 강화하거나
블록체인을 구성하고 있는 각각의 요소들은 이미 컴퓨터 공학에서 널리 사용되고 있던 것들이었습니다. 이와 같은 특징으로 인해, Blockchain 이라는게 명확하게 무엇인지 정의가 내리기 어려워서, 각자의 판단 기준에 의해 정의를 할 필요가 있습니다.
- 자료구조로 Blockchain 을 해석 한다면, 'Linked List' 입니다. 뒤의 Block(Node)은 앞의 Block 을 참조하는 Linked List 의 일종입니다.
- 네트워크로 Blockchain 을 해석 한다면, P2P Network 입니다.
P2P 네트워크가 아니거나 탈중앙화를 포기해도, 데이터를 Blockchain 형태로 저장하면, Blockchain 일까요?
컨소시엄 Blockchain (다수에 의해 관리되는)은 탈중앙화를 포기한 것일까요?
블록체인을 이해한다는 것은, 아래의 항목들을 이해하는 것이라고 볼 수 있습니다.
- 어떤 문제를 해결하기 위해 블록체인이 탄생했는지
- 어떤 요소들을 통해 각각의 문제를 해결 했는지
- Bitcoin 등장 이후, 어떻게 발전하였는지