PoW 끄적거리며 최대한 쉽게 정리해보기 Part. 1

Proof of Work


1. 상태와 트랜잭션

작업 증명(PoW)에 대해 이야기하기 전에 상태와 트랜잭션에 대해 먼저 알아보자. 많은 사람들이 생각하듯 비트코인은 "돈"으로 사용될 수 있는데 당연하게 이게 쓸모가 있으려면 상태와 트랜잭션이 정의가 되어야한다. 비트코인에서 상태는 계좌-잔고의 쌍으로 생각하면 편하다. 그리고 트랜잭션은 "상태 변화"에 해당한다. A계좌에서 B계좌로 2만원이 전송되면 A계좌의 잔고가 -2만원//B계좌의 잔고가 +2만원되는 변화말이다. 아니 그래서 그래서 비트코인 1억원 가나요? 라고 묻지말고 왜 사람들이 비트코인이 "돈" 또는 "투자 자산"으로 생각하게 되었는지를 깊게 고민해보자. 적어도 이 글을 찾아볼 정도면 "가즈아~"만 외치는 사람은 아닐테니 말이다.


2. 합의(Consensus)

블록체인 이야기하다보면 꼭 등장하는 단어가 있다. "컨센서스" 합의라는 뜻을 가진 저 단어가 왜 중요한지는 조금만 생각해보면 알 수 있다. 위에서 상태와 트랜잭션에 대한 이야기를 했는데 결국 "돈"이란 걸 주고 받았다면 이걸 보통 기록을 해둬야 사기를 당하지 않을 수 있다. "합의"란 것은 이 기록 및 신뢰에 대한 합의를 의미하는데 일반적으로 우리는 중앙화된 은행에 이것을 위임한다. "야 쟤네들이 우리 거래한 기록장부 가지고 있거든? 은행 믿을만 하잖아?" 일단 중앙화된 은행이 망하거나 국민을 상대로 단체로 사기행각을 벌이지 않는 이상 문제가 발생하지 않지만.... 역시나 인간 사회에도 버그란 존재하기에 중앙화된 주체를 믿을 수 없는 경우가 존재 한다. 예시가 잘 떠오르지 않는다면 정부나 중앙 은행이 맛탱이가 가버린 멕시코 or 베네수엘라를 생각해보면 편할 것이다. 그래서 블록체인에서는 "탈중앙화"라는 것으로 이 문제를 해결하려고 한다. "탈중앙화"는 블록체인의 합의과정에서 중요한 개념이자 좋은 컨센서스가 되기 위한 조건 중 하나이다. 애초에 블록체인은 중앙화된 주체로 인해 생기는 합의과정의 문제점을 해결하기 위해 등장했으니 크립토 가이들이 "탈중앙화무새"가 되는 건 어쩌면 당연한 걸지도... 그래서 이런 점에서 블록체인은 아나키즘과 어느정도 맞닿아있다. **본인은 탈중앙화가 모든 신뢰 문제의 해결책이라고 생각하지는 않는다.


비트코인은 거래 장부를 모두가 공유하는 시스템이다. 이 거래장부는 노드에 기록되며 노드를 쭉 이어서 체인으로 만든다.(블록체인) 그렇다면 새로운 노드가 만들어질 때(트랜잭션이 일어남) 우리는 합의란 걸 해야한다. 이 새로 만들어진 노드가 진짜 신뢰할 수 있는 거래내역이 맞는지 확인하는 과정이 필요한 것이다. 그래서 다음 글에서는 비트코인이 어떻게 기술적으로 "좋은 컨센서스"를 구현했는지 알아볼 것이다.

댓글

이 블로그의 인기 게시물

암호화폐에 공개 키/비공개 키가 있는 이유를 최대한 쉽게 알아보자.

Astar WASM Stack