지식 정보

초보자도 이해하는 비트코인 블록체인 원리

푸닥푸다닥 2024. 4. 7. 22:26

여러분은 비트코인이 블록체인 기술을 기반으로 만들어 졌다는 것을 들어봤을겁니다.

블록체인을 이용해서 은행 없이도 화폐를 만들었다고 하는데,

그럼 블록체인이란 무엇일까요? 어떻게 블록체인 기술이 은행을 대신할 수 있을까요?


은행 없이 화폐를 만들고 싶다면 먼저 은행이 무슨 일을 하고 있는지 알아야 합니다.
은행은 화폐의 신뢰를 유지하기 위해서 크게 [두 가지 일]을 합니다.

첫번째로, '보관'입니다.

은행은 거래 내역이 담긴 장부를 안전하게 보관합니다.

누가 돈을 얼마를 가지고 있는지, 누가 누구에게 돈을 보냈는지에 대한 정보를 은행 서버에 보관합니다.

두번째로, '검증'입니다.

은행은 거래 내역에 문제가 없는지를 검증합니다.

새로운 거래 요청이 들어왔을 때 돈을 중복해서 쓰지는 않았는지, 돈이 없는데 보내지는 않았는지 등을 확인하고 검증해줍니다.


따라서 블록체인이 은행을 대신하기 위해서는 이 두 가지 일(보관, 검증)을 대신해주면 됩니다.

대신 조건으로, 단일 주체가 이 두가지 일을 해서는 안된다는 것입니다. 거래내역을 안전하게 보관하면서, 거래에 이상이 없도록 검증하는 시스템을 만드는 것. 수십 년간 많은 사람들이 이 문제를 해결하려고 노력했지만 아무도 성공하지 못하였습니다. 그러다, 사토시 나카모토가 블록체인을 만들면서 이 문제를 해결하게 됩니다.

블록체인은 어떻게해서 이 문제를 해결했을까요?


1. 장부를 '보관'하는 문제

블록체인은 모두에게 장부를 나눠주게 됩니다. 네트워크에 참여하는 모든 사람들이 장부의 사본을 각자의 컴퓨터에 저장하기 때문에 어떤 참여자가 데이터베이스를 손상시키거나, 네트워크에서 나가더라도 전체 장부에는 이상이 없습니다. 각자 모두가 장부를 하나씩 다 가지고 있기 때문에 누가 누구에세 돈을 보냈는지, 잔고는 얼마인지를 모두가 확인할 수 있습니다.

이 장부는 신규 거래가 일정량 쌓이게 되면 자동으로 동기화되게 되어있습니다.업데이트의 단위가 되는 한 거래 묶음을 '블록'이라고 합니다. 장부는 계속 이전 블록들 다음에 한 블록씩 차곡차곡 추가됩니다. 그래서 모든 사람들은 항상 서로 같은 내용의 장부를 가질수 있게 됩니다.

각 블록의 내용은 전부 암화화되어 '봉인'되어 있습니다. 블록에 담긴 거래 내용이 하나라도 바뀌면 '봉인'이 풀리게 됩니다. 봉인이 풀린 장부는 전체 네트워크에서 진짜로 인정받지 못하게 됩니다. 그 블록은 바로 네트워크에서 버려짐과 동시에 다른 사람의 장부과 동일하게 바뀌게됩니다.

게다가 이 봉인은 한 블록에만 적용되는 것이 아니라, 전 블록과도 연결이 되어있습니다. 그렇기 때문에 앞 블록의 내용이 바뀌면 그 뒤에 연결된 블록은 모두 봉인이 풀리게 됩니다. 그래서 이 장부는 한번 기록된 후에는 변경/삭제가 불가능합니다.

모든사람이 동일한 장부를 나누어 가진다. 장부에 담긴 데이터는 수정이 불가능하다. 이 장부를 블록(Block)이 연결(Chain)되었다 해서 '블록체인'이라고 부릅니다.


2. 거래 내역 검증 문제

사람들이 장부를 믿고 거래하려면 잘못된 거래가 있어서는 안됩니다. 그래서 장부에 기록하기 전에 확실하게 먼저 검증을 해야 합니다. 검증을 하는 것 자체는 어려운 것이 아닙니다. 가령 A가 100 달러밖에 없는데 B에게 1000달러를 보내려고 한다던지,  같은 돈을 두군데 보내려고 한다던지 하는 것을 걸러내면 됩니다.

중요한 것은, '누가 검증할 것인가' 입니다. 검증을 할 사람은 반드시 정직해야 합니다.

블록체인은 매 블록마다 제비뽑기를 합니다. 사람들이 돌아가면서 블록을 검증하도록 만듭니다. 단일 주체에게 권한을 주지 않기 위해서 입니다.

이렇게 하면 권력을 분산시킬 수는 있지만, 다른 문제가 발생합니다. 어떻게 제비뽑기로 뽑힌 사람들이 '정직하게' 검증하도록 만들 수 있을까? 그냥 랜덤으로 사람을 뽑아버리면 혹시나 나쁜놈 한 명이 당첨되서 일부러 검증을 제대로 안 할 수도 있지 않을까? 이 사람들이 나쁜짓을 하지 못하게 할 안전장치가 필요하지 않을까?

여기에 대한 안전장치는 다음 2가지로 구성되어있습니다.

첫째로, 제비뽑기를 할 때 '비용'이 발생하도록 만듭니다.

검증자의 신뢰성을 높이기 위해서 제비뽑기를 할때는 비용을 써야 합니다. 제비뽑기 확률은 공평하게 배분하지 않습니다. 돈을 많이 쓸수록 제비를 더 많이 뽑을 수 있습니다. 돈을 쓰지 않으면 당첨 될 확률이 거의 없습니다.

이것은 검증에 참여할 때 상당한 양의 비용이 들게 해서 나쁜 의도를 가진 참여자를 걸러내기 위해서 입니다. 검증에 참여하려는 사람은 이 돈을 씀으로써 나는 '신뢰할 만한 사람'이라는 것을 증명합니다. 따라서 참여비용은 '물 관리'를 위한 최소한의 필터링 장치입니다. 돈을 지불했으므로 보상을 극대화하려는 유인도 더 커지게 됩니다.

둘째로, 당첨이 된 사람에게는 네트워크 가치와 연동되는 보상을 줍니다.

당첨이 되면 검증을 해준 대가로 네트워크는 보상을 지급합니다. 그런데 이 보상은 원화나 달러 같은 '법정화폐'로 주는 것이 아니라 비트코인 같은 '암호화폐'로 줍니다. 이 암호화폐의 가치는 네트워크의 사용자가 많아질수록 커집니다. 네트워크의 사용자가 많아지려면 네트워크가 신뢰성 있게 잘 운영되어야 합니다.

그렇다면 합리적으로 생각했을 때, 검증하는 사람이 보상의 가치를 극대화하려면, 정직하게 잘 검증을 해야 할 것입니다. 정직하게 잘 검증을 해야하만 네트워크의 신뢰가 유지되기 때문입니다. 네트워크의 신뢰가 유지되어야 네트워크가 성장합니다. 그렇게 성장해야만 내가 받는 보상도 커지게 됩니다.

요약하자면, 검증하는 사람들은 정직하게 행동해야 손해를 안보게 되는 것입니다. 그래서 네트워크의 다른 참여자들은 이 사람들을 믿고 검증을 맡깁니다.

이것이 바로 블록체인의 작동 원리입니다.

블록체인은 단일 주체 없이 기록을 [보관]하고 [검증]하는 시스템입니다.


블록체인은 3가지 주요 특성을 가지게 됩니다.


1) 장부에 쓰인 내용은 수정되거나 지워지지 않는다.

2) 모든 사람이 이 장부의 사본을 가지고 있으며 언제든지 확인할 수 있다.

3) 기록하기 전에 여러 명의 '정직한' 사람들이 내용을 검증한다.


결론적으로 모든 사람들이 이 장부에 적힌 거래 기록을 믿을 수 있게 됩니다. 동시에, 어떤 개인이나 기관도 이 장부를 마음대로 조작할 수 없고, 통제할 수 없습니다. 이 네트워크는 누구나 참여할 수 있으며, 동시에 누구 한 명이 빠져도 네트워크에는 아무런 문제가 없습니다.

이것이 바로 블록체인 기술의 핵심이며, 블록체인은 '탈중앙화된 신뢰'를 만드는 기술입니다.



모든 블록체인이 비트코인과 같은 방식을 사용하는 것은 아닙니다.


알아두셔야 할 것은, 비트코인에 사용된 블록체인은 '최초'의 블록체인이지만, 비트코인 블록체인이 유일한 블록체인은 아닙니다. 비트코인의 등장 이후 블록체인이 제공하는 '신뢰'를 기반으로 수많은 암호화폐와 응용프로그램이 만들어졌기 때문입니다. 하지만 비트코인 블록체인은 모든 블록체인의 기준이며 다른 블록체인은 거의 다 비트코인에서 파생되었습니다. 우리는 이해를 위해서 비트코인에 사용된 블록체인을 기준으로 블록체인을 설명합니다. 비트코인 블록체인을 이해한 뒤, 차이점만 이해하면 다른 블록체인도 쉽게 이해할 수 있습니다.

728x90