블록체인(영어: block chain, blockchain)
근본적으로 분산 데이터 저장기술의 한 형태로, P2P[1] 방식의 네트워크에서 '블록'이라고 하는 소규모 데이터들을 체인 형태로 연결 지어 분산 데이터 저장 환경(블록체인)에 저장한 것이다. 누구라도 임의로 수정할 수 없고, 누구나 변경의 결과를 열람할 수 있는 특징을 갖고 있다. 블록체인은 다수가 데이터를 저장, 증명하기 때문에 중앙관리자가 존재하지 않고(탈중앙화), 임의의 사용자가 수정을 하기 몹시 어려운 구조로 되어 있어(데이터 신뢰성) 효과적인 기술이다.
블록체인 기술을 기반으로 비트코인은 2008년 10월 사토시 나카모토(가명)가 개발하여, 2009년1월에 소스가 배포되었다. 사토시는 암호학적 증명에 기반해, 개인 대 개인간의 거래에서 신뢰 받는 제 3자를 필요로 하지 않고 서로 직접 거래하게 해주는 전자 화폐 시스템을 가능하게 만든 것이다.
인터넷 기반 상거래는 전자 결제를 처리할 신뢰받는 제 3자 역할을 거의 전적으로 금융기관에 의존해 왔다. 이 시스템은 대다수 거래에 충분히 잘 동작하지만, 여전히 신뢰 기반 모델의 태생적 약점을 극복하지 못한다. 따라서, 우리는 중앙집권형의 거래 시스템이 아닌 개인 대 개인간의 거래 시스템을 구축하려 한다.
먼저 은행이 무슨일을 하는지 알아야 한다. 은행은 신뢰를 유지하기 위해서 2가지 일을 한다.
1) 보관 : 거래 내역이 담긴 장부를 안전하게 보관한다.
누가 누구에게 돈을 보냈는지, 누가 돈을 얼마 가지고 있는지에 대한 데이터를 은행 서버에 보관한다.
2) 검증 : 거래 내역에 문제가 없는지 검증한다.
새로운 거래 요청이 들어왔을 때, 중복해서 쓰지는 않았는지, 잔고가 없는 데 돈을 보내지는 않았는지 등을 확인하고 걸러낸다.
즉, 블록체인이 이 두 가지 일만 대신하게 되면, 개인 대 개인간의 거래 시스템이 가능한 것이다.
장부 보관
블록체인은 모두에게 거래 장부를 나눠준다. 네트워크에 참여하는 모든 사람들이 장부의 사본을 각자의 컴퓨터에 저장한다. 어떤 참여자가 데이터베이스를 손상시키거나, 네트워크에서 나가더라도 전체 장부에는 이상이 없다. 각자 장부를 하나씩 가지고 있으므로 누가 누구에게 돈을 보냈는지, 잔고는 얼마인지를 모두 확인할 수 있다.
신규 거래가 일정량 쌓이면 자동으로 동기화가 된다. 업데이트의 단위가 되는 한 거래 묶음을 ‘블록’이라고 한다. 장부는 이전 블록들 다음에 한 블록씩 추가된다. 그래서 모든 사람들은 같은 내용의 장부를 가지고 있다.
각 블록의 내용은 공개키를 통해서 암호화되어 있다. 블록에 담긴 거래 내용이 한 글자라도 바뀌면 전체 네트워크에서는 무효하게 된다. 그 블록은 네트워크에서 버려지고, 다른 사람의 장부와 동일하게 바뀐다.
그리고 블록이 추가될 때, 전 블록과의 연결이 되어있어, 앞 블록의 내용이 바뀌면 그 뒤에 연결된 블록이 모두 무효하다고 판단한다. 그래서 장부는 한번 기록된 후에는 변경/삭제가 불가능하다.
거래 내역 검증
검증을 하는 것 자체는 어렵지 않다. A의 잔고에 10달러밖에 없는데 20달러를 보내려고 한다던지, 같은 돈을 두 명에게 보낸다던지 하는 거래들을 걸러내면 된다.
‘누가 검증할 것인가’ 검증을 할 사람은 반드시 정직해야 한다.
블록체인은 매 블록마다 제비뽑기를 한다. 사람들이 돌아가면서 블록을 검증하도록 만든다. 단일 주체에게 권한을 주지 않기 위해서다. 제비뽑기로 뽑힌 사람들이 정직하게 검증하도록 만들 수 있을까? 뽑힌 사람이 나쁜 짓을 못하게 할 안전장치로 2가지가 구성되어 있다.
1. 제비뽑기를 할 때 ‘비용’이 발생하도록 만든다.
돈을 많이 쓸수록 제비를 더 많이 뽑을 수 있다. 검증에 참여할 때 상당한 양의 비용이 들게 해서 나쁜 의도를 가진 참여자를 걸러 내기 위해서다. 검증에 참여하려는 사람은 이 돈을 씀으로써 나는 ‘신뢰할 만한 사람’이라는 것을 증명한다. 따라서 참여비용은 ‘물 관리’를 위한 최소한의 필터링 장치이다. 돈을 지불했으므로 보상을 극대화하려는 유인도 더 커지게 된다.
2. 당첨이 된 사람에게는 네트워크의 가치와 연동되는 보상을 준다.
검증을 해준 대가로 네트워크는 보상을 지급한다. 이 보상은 원화나 달러 같은 ‘법정화폐’로 주는 것이 아닌 ‘암호화폐’로 준다. 이 암호화폐의 특징은 가치가 변한다는 것이다. 암호화폐의 가치는 네트워크의 사용자가 많아질수록 커진다. 네트워크의 사용자가 많아지려면 네트워크가 신뢰성 있게 잘 운영되어야 한다.
검증하는 사람이 보상의 가치를 극대화 하려면, 정직하게 잘 검증해야 한다. 정직한 검증이 있어야만 이 네트워크의 신뢰가 유지되기 때문이다. 네트워크의 신뢰가 유지되어야 네트워크는 계속 성장한다. 네트워크가 성장해야 내가 받는 보상도 커진다.
검증하는 사람들은 정직하게 행동해야 손해를 안 본다.
즉, 검증을 위해 PoW를 진행하고, 작업 증명의 hash 값을 맞춘 사람이 하나의 비트코인을 새로 받게 되는데, 이 수행과정을 '채굴한다' 라고 정의한다.
블록체인은 단일 주체 없이 기록을 보관하고, 검증하는 시스템이다.
블록체인은 3가지 특성을 갖게된다.
1. 장부에 쓰인 내용은 수정되거나 지워지지 않는다.
2. 모든 사람이 이 장부의 사본을 가지고 있으며 언제든지 확인할 수 있다.
3. 기록하기 전에 여러 명의 ‘정직한’사람들이 내용을 검증한다.
결론적으로 모든 사람들이 이 장부에 적힌 거래 기록을 믿을 수 있게 된다. 동시에, 어떤 개인이나 기관도 이 장부를 마음대로 조작할 수 없고, 통제할 수 없다. 이 네트워크는 누구나 참여할 수 있으며, 동시에 누구 한 명이 빠져도 네트워크에는 아무런 문제가 없다.
이것이 블록체인의 기술의 핵심이며, 블록체인은 ‘탈중앙화된 신뢰’를 만드는 기술이다.
[참조]
https://brunch.co.kr/@bumgeunsong/50
https://ko.wikipedia.org/wiki/%EB%B8%94%EB%A1%9D%EC%B2%B4%EC%9D%B8
사토시 나카모토 - 비트코인: 개인 대 개인 전자 화폐 시스템
[1] P2P(Peer to peer) : 네트워크에 참여하는 기계들의 계산과 대역폭 성능에 의존하여 구성되는 통신망이다.