게임 이론으로 크립토이코노믹 보안 이해하기

sungtae kim
Tokenists
Published in
7 min readAug 30, 2018

본 글은 Crypto-Economic Security의 이해를 돕고자 Saroj Chintakrindi의 글 ‘Understanding Crypto-Economic Security through Game Theory’ 를 토대로 번역 및 해설을 한 글입니다.

게임이론은 보통 암호화폐에 관한 글을 읽을 때 떠오를 만한 주제는 아니다. 과연 “게임” 이나 “이론” 같은 것들이 암호화폐와 연관이나 있기는 한 것일까? 하지만 알고보면, 암호화폐의 게임이론은 실제로 존재하며, 암호화폐를 이해하는 데에 매우 중요하다. 특히 암호화폐의 보안성에 대해서 분석을 하거나 어떻게 암호화폐에 현명하게 투자할 지에 대해 고민한다면 더욱 중요할 것이다. 사토시 나카모토가 비트코인을 창안한 2008년부터 암호화폐 시장은 매우 급격하게 성장해왔다. 약 11년이 지난 현재, 암호화폐들의 종류는 877종에 달하며 (2017년 6월 15일 기준), 각각은 그들만의 특징과 가치제안을 가지고 있다. 암호화폐 시장이 발전하는 규모는 이제 거의 따라갈 수 없을 정도가 되었다. 게다가, 하루에도 몇 십만 달러 어치의 토큰들이 거래되는 상황에서, 많은 사람들이 코인의 보안과 인센티브에 대해서 의문을 품는 것은 어찌 보면 당연한 것이다.

암호화폐는 암호화폐 커뮤니티의 더 많은 참여자들이 프로토콜에서 역할을 다하고 트랜잭션들을 검증하도록 유도하는 인센티브 메커니즘이 필요하다. 크립토이코노믹스는 토큰이라는 맥락에서 암호학 기술과 특정한 토큰을 뒷받침하는데 필요한 경제적 인센티브에 대한 분석으로서 정의할 수 있다. 즉, 크립토이코노믹스는 경제학 이론이 암호학에 응용된 것이 아니라 암호학이 경제학에 응용된 것이다.

암호화폐의 기본

비트코인 블록체인 프로토콜에서, 거래들의 장부를 일관되고 변경할 수 없도록 유지하기 위해서, 모든 새로운 블록은 작업증명(PoW)를 포함해야한다. 작업증명은 블록 내용이 특정한 숫자(논스)와 함께 해싱되었을 때, 그 결과가 네트워크의 난이도 타겟 값보다 수적으로 작아야 하는 것이다. 논스값을 성공적으로 찾아 작업을 완료한 채굴자는, 특정한 양만큼의 비트코인(BTC)을 보상으로 받는다. 이렇듯 특정한 암호화폐 프로토콜 안에 있는 참여자가 해당 프로토콜 내부 토큰으로 보상을 받는 것이 바로 ‘토큰 인센티브’이다. 비트코인 프로토콜에서 채굴자는 보상으로 12.5 비트코인(BTC)을 받는다. 이더리움 프로토콜에서는 채굴자가 보상으로 5 이더(ETH)를 받는다.

‘특권 인센티브’라고 알려진 것도 존재한다. 성공적으로 블록을 생성하고 나면, 비트코인 채굴자는 어떤 거래들을 어떠한 순서로 블록에 넣어 증명할지에 대해 선택할 수 있는 특권이 주어진다. 마치 서비스에 줄 팁의 액수를 선택하는 것처럼 거래 수수료를 선택할 수 있는 거래라면, 채굴자는 거래들에 대한 우선순위를 정할 수 있다. 거래가 정말로 정당한 거래인지를 검증하기 위해, 네트워크와 거래의 수취인은 추가적인 확인(Confirmation)들을 기다리거나 블록들이 블록체인에 추가되기를 기다려야한다. (주: 비트코인은 거래의 확정을 위해 6회의 확인(Confirmation)이 필요함.) 이런 특권의 이면에는 참여자가 네트워크에 반하는 행동을 했을 때에, 특권이나 토큰의 잔액을 몰수하여 벌할 수 있다는 것을 가르쳐 특정 행위자를 동기부여하는 또다른 메커니즘으로서 작용할 수 있다는 점을 들 수 있다. 일반적으로 6번의 확인은 거래가 검증되어 충분히 안전하다는 것을 보여주는 것으로 널리 받아들여지고 있다. 그러나 거래가 실제로 유효한지에 대한 결정은 궁극적으로 커뮤니티의 결정에 달려있다. 이것은 우리가 발생가능한 보안 문제에 대해서 인식하기 시작하게 된 공동 검증의 아이디어이다.

셸링코인과 게임이론

여기서 비트코인에 대한 이야기는 잠시 접어두고, 셸링코인과 같이 이론적인 예시를 살펴보자. 이런 이론적인 암호화폐는 질문에 대해서 ‘참’인 대답을 결정하거나 최소한 커뮤니티가 동의하는 대답을 결정하기 위해 오라클 시스템에 의지하고 있다. 질문의 예시로는 ‘오늘 버클리에 비가 왔었나?’ 같은 것이 있다. 모든 이들이 ‘예’ 또는 ‘아니오’로 투표하고 다수가 택한 대답이 정답으로 채택된다. 다수가 선택한 곳에 투표한 사람은 P의 보상을 받고, 다른 곳에 투표한 사람은 아무것도 얻지 못한다. 만약 다수의 투표자들이 정직하게 투표할 것이라고 받아들여진다면, 이 모델은 흠없이 잘 동작할 것이다. 투표자들은 모든 사람들이 진실에 투표할 것이기 때문에, 그들도 진실에 투표해야 한다고 생각할 것이다. 이것이 바로 그들이 P의 보상을 받는 유일한 방법이다. 그래서, 왜 모든 이들이 진실에 투표해야 할까? 왜냐하면, 같은 상황에서는 다른 사람들도 당신이 생각하는 방식과 같은 방식으로 생각하기 때문이다. 이런 방식으로, 모든 사람들이 참인 대답에 투표하도록 하는 반복적인 논리가 있다.

하단의 이 이론을 보여주는 표이다.

이제, 시나리오에 악의적인 참여자, 즉 뇌물 공격자를 불러오자. 공격자의 목적은 몇몇 참여자들을 P+ε의 뇌물로 매수하고 그들이 틀린 대답에 투표하도록 함으로써 진실을 속이는 것이다. 이것은 이더리움 스마트 컨트랙트나 다른 암호학적으로 영향을 받은 에스크로의 형태를 띌 수 있다. 이번 사건에서 참인 대답이 ‘예’라고 추정해보자. 아래는 공격자가 당신에게 뇌물을 주고 나서의 이익이 어떻게 될지에 대한 내용이다.

만약 당신이 ‘아니오’에 투표하고 대다수가 ‘아니오’에 투표한다면 당신은 정상적인 이익인 P를 얻을 것이다. 그러나, 만약 당신이 ‘아니오’에 투표하고 대다수가 ‘예’에 투표한다면, 당신은 P+ε의 이익을 얻을 것이다. 이러한 제도에 따르면, 당신은 언제나 보상을 받을 것이기 때문에 잘못된 대답에 투표하는 것이 이익이다. 그러나, 만약 공격자가 성공적으로 게임의 모든 참여자들을 매수한다면, 커뮤니티가 잘못된 대답에 동의하여 공격자는 아무 지불도 하지 않아도 되는, 표의 오른쪽 아래 상태에 머무를 것이다. 이 시나리오에서는, 나쁜 참여자가 P+ε를 기꺼이 내기만 하면 되었으나, 결국엔 아무것도 지불하지 않게 된 것이다.

비트코인의 작업증명(PoW)은 P+ε공격과 같은 속성을 지니고 있다. 만약 채굴자가 가장 긴 유효한 체인에 블록을 만든다면, 그는 12.5 비트코인의 보상을 받는다. 그러나, 만약 블록이 메인체인에 연결되지 않는다면, 그는 아무것도 보상받지 못한다. 참여자는 다른 체인에 블록들을 생성하여 궁극적으로 아무 것도 지불하지 않기 위해서 이론적으로 다른 채굴자들을 매수할 수 있다.

결론

지금까지 비트코인에서 일어날 수 있는 하나의 낮은 레벨의 게임이론 스타일의 공격 예시에 대하여 이야기했다. 51% 공격과 같은 널리 알려진 공격도 있다. 51% 공격은 하나의 독립체가 네트워크의 채굴 해시레이트의 대부분에 기여하여 근본적으로 네트워크 전체를 통제하고 마음대로 공공 장부를 바꿀 때 일어난다. 이러한 공격들에 대응할 방법들이 없는 것은 아니지만, 특정 토큰의 크립토이코노믹 보안에 있어서 명확한 공격 요인들은 반드시 분석해야한다. 몇몇 요인들은 다양한 잘못들(프로토콜, 참여자, 네트워크) 혹은 지분 증명(PoS)을 포함한 특정한 알고리즘을 포함한다. B@B 블로그에 기고되는 글들과 앞서 말한 개념들은 앞으로 더욱 개선되고 시험될 것이다. 그때 까지, 나중에 크립토이코노믹스와 게임이론에 관해서 읽고 싶은 아이디어들에 대해서 아래에 의견을 제시하기를 바란다.

--

--