합의 메커니즘
장부를 모두가 나눠 갖는다는 건 멋진 아이디어지만, 곧바로 까다로운 질문이 따라옵니다. 새 기록은 누가 추가할까요? 중앙 관리자가 없는데 아무나 마음대로 적으면 장부가 엉망이 될 텐데요. 이 문제를 푸는 규칙이 합의(consensus)입니다.
합의: 다수가 동의해야 기록된다
블록체인은 참여자(노드)들이 정해진 규칙에 따라 "다음 블록은 이것이 맞다"고 함께 동의해야만 새 기록을 추가합니다. 누구 한 명의 결정이 아니라 네트워크 다수의 합의로 장부가 자랍니다. 이 덕분에 중앙 심판 없이도 모두가 같은 장부를 유지합니다.
거짓 기록을 끼워 넣으려면 다수의 동의를 거슬러야 하는데, 현실적으로 매우 어려운 일입니다. 합의는 위변조를 막는 또 하나의 방어선인 셈입니다.
작업증명과 지분증명
합의에 이르는 방법은 여러 가지인데, 실제로 가장 널리 쓰이는 것은 다음 두 가지입니다.
작업증명(PoW, Proof of Work): 어려운 수학 문제를 가장 먼저 푼 참여자가 다음 블록을 적을 권리를 얻습니다. 문제를 푸는 데 막대한 계산(과 전기)이 들기 때문에, 거짓 기록을 넣으려면 그만큼의 비용을 감수해야 합니다. 비트코인이 작업증명을 사용합니다.지분증명(PoS, Proof of Stake): 네트워크에 자산을 맡겨(스테이킹) '성실히 기록하겠다'고 약속한 참여자 중에서 기록자를 뽑습니다. 부정을 저지르면 맡긴 자산을 잃으므로 정직하게 행동할 동기가 생깁니다. 이더리움이 지분증명을 사용합니다.
방식은 달라도 목표는 같습니다. 중앙 심판 없이도 다수가 같은 기록에 동의하게 만드는 것입니다. 그래서 거짓 기록을 끼워 넣으려면 네트워크 대다수를 속이거나 과반수 이상의 컴퓨팅 파워로 시스템을 압도해야 합니다.
PoW와 PoS는 우열의 문제라기보다 무엇을 비용으로 거느냐의 차이입니다. PoW는 '계산력과 전기'를, PoS는 '맡긴 자산'을 담보로 정직함을 유도합니다. 두 방식 모두 부정행위를 손해 보는 일로 만든다는 점에서 발상이 같습니다.
이렇게 합의 규칙이 더해지면서, 블록체인은 비로소 누구의 명령도 없이 스스로 굴러가는 장부가 됩니다.