본문으로 건너뛰기

게임이론

게임이론은 여러 참가자가 서로의 선택을 따져 자기에게 가장 유리한 길을 고르는 상황을 다루는 학문입니다. 비트코인은 이 계산을 설계에 활용합니다. 참가자들이 선해서 규칙을 지키기를 기대하기보다, 자기 이익을 따져도 정직하게 행동하는 쪽이 더 남도록 구조를 짜 둔 것입니다.

감시자 없이 규칙을 지키게 하는 방법

비트코인에는 규칙을 어긴 사람을 잡아가는 경찰이나 벌금을 매기는 기관이 없습니다. 참가자들이 착한 마음으로만 규칙을 지킨다면 이익이 커지는 순간 선택이 달라질 수 있습니다. 그래서 비트코인은 선의에 기대지 않고, 규칙을 지키면 보상을 얻고 어기면 손실을 보게 하는 얼개를 사용합니다.

시장에서 저울을 속이는 상인을 생각해 볼 수 있습니다. 하루 동안은 더 많은 이득을 얻을 수 있지만, 며칠 지나면 소문이 퍼지고 손님이 끊길 수 있습니다. 장사를 오래 하려는 사람이라면 속이지 않는 편이 더 유리합니다.

여기에 장사를 시작할 때 큰 보증금을 미리 맡기는 조건을 더해 보겠습니다. 속이다가 걸리면 보증금을 잃는다면 정직은 마음가짐이 아니라 계산의 문제가 됩니다. 비트코인에서 채굴자가 장비를 사고 전기를 사용하는 일도 이와 비슷한 비유로 설명할 수 있습니다. 채굴자는 규칙에 맞는 블록을 만들면 보상을 받지만, 규칙을 어긴 블록은 거부되고 투입한 전기와 장비 사용 비용은 되돌아오지 않습니다.

참여자마다 다른 계산

정직하게 채굴하면 들인 비용에 걸맞은 보상을 기대할 수 있고, 장비도 계속 사용할 수 있는 자산으로 남습니다. 반대로 규칙을 어긴 블록은 통째로 거부될 수 있습니다. 공격이 알려지면 네트워크에 대한 신뢰와 함께 공격자가 가진 장비나 코인의 가치도 흔들릴 수 있습니다.

장부를 검사하는 노드에도 자기 이익을 지키려는 동기가 있습니다. 잘못된 거래를 받아들이면 자신이 따르는 장부와 보유 자산이 위험해질 수 있으므로, 노드는 거래와 블록이 규칙에 맞는지 확인합니다.

이용자 역시 규칙에서 벗어난 사슬을 따를 이유가 적습니다. 그 사슬을 따르면 자신이 받은 돈이 무효가 될 수 있기 때문입니다. 채굴자, 노드, 이용자는 각자 손해를 피하려고 움직이지만, 그 결과가 자동으로 하나의 장부가 되는 것은 아닙니다.

유효한 여러 체인이 경쟁할 때 노드는 단순히 블록 개수가 많은 체인이 아니라, 규칙에 맞는 체인 가운데 누적 작업량이 가장 큰 체인을 선택합니다. 따라서 경제적 유인만으로 합의가 이루어지는 것이 아니라, 블록과 거래의 유효성 검증 및 누적 작업량에 따른 체인 선택이 함께 작동합니다. 비트코인 개발자 문서는 체인 선택을 누적 작업량과 유효성의 관점에서 설명합니다.

정직이 항상 가장 유리한가

비트코인의 설계는 참가자들의 선의를 전제로 하지 않습니다. 오히려 모두가 자기 이익을 따진다고 가정한 뒤에도 시스템이 유지되도록 만들어졌습니다. 사람을 믿어야 하는 자리에 계산을 놓으려는 발상입니다.

다만 이익 계산이 언제나 같은 답을 준다고 단정할 수는 없습니다. 네트워크의 가치가 크게 흔들리거나 외부에서 자금이 투입되면 참가자의 계산이 달라질 수 있습니다. 따라서 이 안전은 절대적인 보장이 아니라 확률과 비용의 문제로 이해해야 합니다.

작업증명은 공격자가 먼저 비용을 지불하게 하고, 반감기와 총량은 보상의 조건에 영향을 줍니다. 난도 조정은 블록이 만들어지는 속도를 일정하게 유지하려고 작동합니다. 이런 요소들이 함께 참여자의 선택을 유도하는 계산판을 이룹니다.

게임이론의 관점에서 보면 비트코인은 감시자를 세우는 대신, 규칙을 어긴 쪽이 스스로 손해를 보도록 설계한 시스템입니다. 유효성 검증과 누적 작업량에 따른 체인 선택이 이 경제적 유인과 함께 작동해 장부의 기준을 정합니다. 그렇다고 그 구조가 모든 위험을 없애는 것은 아닙니다. 결국 정직을 유지하는 데 필요한 비용과 그 비용이 제공하는 보안을 어떻게 평가할지는 남은 질문입니다.

관련 개념은 작업증명, 최장체인 규칙, 채굴보상에서 이어 볼 수 있습니다.

링크 복사하기X에 공유페이스북에 공유쓰레드에 공유