블록체인이 무엇인가요?
Last updated
Last updated
블록체인이란, 비트코인, 이더리움과 같은 암호 화폐의 '거래를 저장하는 장부'입니다.
무슨 말인지 어렵게 느껴지나요? 여러분이 그동안 많이 사용해왔던 은행으로 쉽게 예시를 들어 살펴볼게요.
여러분(A)의 은행 계좌에는 현재 잔액이 100만큼 있습니다. 이것은 은행의 데이터 저장소에 기록되어 있는 값입니다. 여러분이 누군가(B)에게 50을 이체하면 어떻게 될까요? 여러분의 잔액은 100에서 50으로 감소하고, 이체 받은 사람의 잔액은 +50이 되겠지요? 간단한 잔액의 변경이지만, 절차를 세분화 해보면 다음과 같습니다.
이체를 위해서 여러분은 은행 앱을 이용하여 로그인이라는 인증 절차를 진행하고,
이체 금액을 입력하여 거래내역을 작성
한 후
인증서, 패스워드, 생체 인식 등으로 거래내역에 대해 확인
합니다. (이 과정은 계약서에 서명하는 것과 같습니다.)
은행은 잔액이 충분히 있는지 등을 검증 후 거래내역을 데이터 저장소에 저장
합니다.
거래내역이 데이터 저장소에 저장되면 은행 시스템에서 사용자들의 잔액이 변경
됩니다.
이렇게 데이터 저장소의 기록을 변경하는 역할을 은행이 담당하고 결과를 보장해줍니다. 만약에 은행이 여러분의 잔고가 실제로 100인데 0으로 잘못 기록하면 어떻게 될까요? 은행이 올바로 관리해줄 것이라는 믿음을 가지고 있다는 점에서 우리는 은행을 '신뢰'하면서 이용하고 있습니다.
암호 화폐는 어떻게 동작할까요? 기본적으로는 은행과 같습니다. 비트코인을 예로 들어볼게요. 여러분의 비트코인 주소(은행의 계좌 번호와 같은 번호)에 100BTC가 있습니다. 여러분(A)이 이체하려는 B에게 50BTC를 보낼 때, 어떻게 데이터 저장소가 변경되어야 할까요? 여러분의 잔액에서는 -50BTC, B의 잔액에는 +50BTC으로 변경되어야 합니다.
앞의 은행 예시와 비교해보겠습니다. 우선적으로, 비트코인과 같은 암호 화폐는 은행 시스템과 다르게 로그인이 필요 없습니다. 이것은 장점이 될 수도, 단점이 될 수도 있지만 원리를 이해하는 것과는 무관하므로 건너뛰겠습니다. 이체를 위해서, 여러분은
"A가 B에게 50BTC를 보냅니다." 라는 거래내역을 작성
하고,
실제 돈의 주인인 A임을 확인할 수 있는 서명
을 해서 네트워크에 보냅니다.
네트워크에서는 거래내역이 올바른지를 확인 후, 거래내역을 블록체인에 저장
하면
비트코인의 잔액이 변경
됩니다.
기본적으로 절차도, 원리도 같습니다. 다만 거래내역을 데이터를 저장하는 주체가 은행이냐, 비트코인 네트워크냐 하는 것만 다르지요.
여러분은 은행의 데이터 저장소는 은행이 잘 관리하여 이를 조작하지 않을 것이라는 신뢰하에 사용할 것입니다. 반면, 비트코인 네트워크는 믿을 수 있는 누군가가 관리하는 것이 아니라, 블록체인에 저장된 거래내역이 조작이 어렵다는 사실에 기반하여 운영됩니다. 은행과 같은 신뢰 기관 없이도, 블록체인이 신뢰할 수 있는 저장소가 되어 주는 것입니다. 어떻게 가능할까요?
아래 그림을 보면, 블록체인이 어떻게 구성되는지를 나타냅니다.
여러개의 거래내역이 발생하면 이를 적당히 취합하는데, 이 단위를 블록이라고 합니다. 하나의 블록을 만들 때마다, 조작된 거래내역이 발생하면 바로 알 수 있도록, 블록 내부에 거래내역을 압축하여 변경 시에 알 수 있는 정보를 표시해둡니다. 거래내역 전체를 비교하지 않아도, 압축된 정보만 다르면 바로 알 수 있도록 하기 위함입니다. (이 정보를 전문 용어로 해시값이라고 합니다.) 위 그림에서는 거래내역(TX) 3번에서 C가 D에게 보내는 잔액이 원래 1BTC이라고 가정해봅시다. TX 3의 보내는 금액을 2BTC로 조작하고자 할 때 이 데이터가 바뀔 경우, 블록의 해시값이 바뀌기 때문에 쉽게 알아차릴 수 있습니다.
또한 거래내역이 추가적으로 생길 때마다 블록이 생겨날 텐데, 과거의 거래내역을 위변조 할 수 없도록 서로 연결(Chain)하여 보관합니다. 따라서, 거래내역 중 어떤 것에 대한 위변조가 일어나면 바로 확인할 수 있는 구조를 가지기 때문에 "블록체인에 저장된 것은 위변조 할 수 없다"고 할 수 있는 것입니다.
이제 블록체인은 거래내역을 위변조 할 수 없는 구조라는 사실이 정리가 되었나요? 블록체인에 저장된 데이터는 위변조 할 수 없다는 사실을 바탕으로, 블록체인은 신뢰 기관 없이도 운영될 수 있는 데이터 저장소의 역할을 할 수 있습니다.
그런데, 알고 보니 별거 아닌 것 같은 블록체인의 구조가 왜 그렇게 세상을 바꿀 변화라느니, 제2의 인터넷이라느니 하는 건 조금 과장된 것 같지 않나요? 이를 이해하기 위해서는 블록체인과 함께 탈중앙화의 특징을 이해해야 합니다. 앞의 은행 시스템 예시에서, 은행의 데이터 저장소는 은행이 관리하고 운영했는데, 블록체인은 누가 그 블록체인을 관리하는 역할을 할까요?
다음 편에서 블록체인의 가장 큰 핵심 가치인 탈중앙화에 대해서 알아보도록 하겠습니다.