Qaupot Blog
Software Engineering, Trip

이 글을 이해하기 위해서 컴퓨터 공학 지식이 필요하지 않습니다.

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 라고 정의 합니다.

  1. A 상인은 매장에 생선 100마리를 가지고 있습니다.
  2. A 상인은 생선 100마리에 해당하는 교환권을 2장 만들고, 나중에 매장으로 가져오면 현물로 교환해 준다고 정의합니다. 그러나 실제로는 100마리 밖에 지불할 능력이 없습니다.
  3. A 상인은 B 상인과 C 상인에게 이 교환권을 각각 지불하고 다른 물건을 매입했습니다.
  4. B 상인과 C 상인은 추후 이 교환권을 가지고 A 상인의 매장에 방문하지만, 실제 지불할 능력이 생선 100마리 밖에 없으므로, 문제가 발생합니다.

물론 A 상인은 이후 신뢰를 잃어버릴 것이고, 더 이상 B 상인과 C 상인과는 거래를 할 수 없게 되겠지만, 어쨌든 B 상인과 C 상인은 손해를 입었습니다. 이러한 문제를 Double Spending 이라고 하며, 사람들이 계속해서 이런 리스크를 생각하면, 거래는 더 이상 성립할 수가 없게 됩니다.

여기에서 신뢰할 수 있는 상인 E (Escrow)가 등장합니다.

  1. E는 A로 부터 생선 100마리를 맡고, 교환권을 E 상인의 이름으로 발행합니다.
  2. A는 B와 C에게 E의 교환권을 지불합니다.
  3. B와 C는 E와 오랜 시간 거래해 왔으며, E가 큰 자산을 가지고 있고, E가 거짓말을 하면 잃을 것이 많다는 것을 알고 있습니다. 그만큼, E를 신뢰할 수 있습니다.
  4. 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 등장 이후, 어떻게 발전하였는지

Reference

이 블로그는 개인 블로그입니다. 게시글은 오류를 포함하고 있을 수 있지만, 저자는 오류를 해결하기 위해 노력하고 있습니다.
게시글에 별도의 고지가 없는 경우, 크리에이티브 커먼즈 저작자표시-비영리-변경금지 4.0 라이선스를 따릅니다.

This blog is personal blog. published posts may contain some errors, but author doing efforts to clear errors.
If post have not notice of license, it under creative commons Attribution-NonCommercial-NoDerivatives 4.0.