손해의 삼각형

sungtae kim
Tokenists
Published in
7 min readSep 13, 2018

본 글은 Crypto-Economic Security의 이해를 돕고자 Vitalik Buterin의 글 ‘The Triangle of Harm’ 를 토대로 번역 및 해설을 한 글입니다.

다음은 이번주에 코넬에서 발표한 프레젠테이션 슬라이드에서 가져온 도표이다.

위 그림은 캐스퍼의 인센티브 철학의 핵심원칙을 정확하게 설명하고 있는 도표이다. 보충설명을 하자면 다음과 같다.

도표에는 세 개의 유권자 그룹이 있다. - 소수 그룹(Minority), 다수 그룹(Majority) 그리고 프로토콜(The protocol-사용자들), 그리고 네개의 화살표는 가능한 공격들을 나타낸다 : 소수 그룹이 프로토콜을 공격, 소수 그룹이 다수 그룹을 공격, 다수 그룹이 프로토콜을 공격, 다수 그룹이 소수 그룹을 공격

각각은 다음의 예시들을 포함한다:

  • 소수 그룹이 프로토콜을 공격 -피니 공격 ( Finney attacks)(작업증명 블록체인에에서 채굴자가 실행하는 공격으로 채굴자가 컨펌이 되지 않았거나 한 번 컨펌되었을 거래들을 이중지불한다)
  • 소수 그룹이 다수 그룹을 공격 -페더 포킹( feather forking) (작업증명 체인에서 어떠한 블록이든 간에 그 블록이 원하지 않는 거래들을 가지고 있으면 소수 그룹이 그것을 반환하려고 시도하는 것이다. 단, 블록이 2컨펌이 된 경우에는 포기한다.)
  • 다수 그룹이 프로토콜을 공격 -전통적인 51% 공격
  • 다수 그룹이 소수 그룹을 공격 -51% 검열 공격, 자신의 카르텔에 속하지 않은 채굴자(또는 검증자)가 만든 블록을 카르텔이 거부하는 공격

캐스퍼의 철학의 본질은 다음과 같다: 4가지 모든 종류의 공격에 대해서, 공격으로 인해 피해자들이 입는 피해의 양과 공격자가 공격하는 데에 드는 비용 사이의 비율을 높게한다. 어떤 면에서는, 캐스퍼에서 모든 디자인 결정이 이 원칙으로부터 나온다.

작업증명의 측면에서 보았을 때, 마지막 두 공격은 막을 수 없다는 점에서 일반적인 작업증명 인센티브 이론과 완전히 다르다. 첫번째 두 공격들, 피니 공격과 페더 포킹은 대가가 많이 든다. 왜냐하면 공격자가 자신의 블록들이 체인에 포함되지 않음으로 인해 보상을 잃을 위험을 무릅써야하기 때문이다. 그러나, 만약 공격자가 다수 그룹이라면, 공격하는 데에 비용이 들지 않을 것이다. 왜냐하면 공격자가 언제나 그들의 체인이 메인체인이 될 것이라고 확신할 수 있기 때문이다. 난이도 수정은 장기적으로 어떤 상황에서도 모든 채굴자들의 총 수익이 정확하게 같도록 보장한다. 즉, 어떤 공격으로 몇몇 피해자들이 돈을 잃었다면, 공격자가 돈을 얻는다는 것을 의미한다.

전통적인 나카모토의 작업증명은 근본적으로 잘못된 것만을 처벌하기 때문에 이런 작업 증명의 특성이 생겨났다. 채굴자가 합의와 일치하는 블록을 만든다면, 보상을 받는다. 그리고 합의에 일치하지 않는 블록을 만든다면, 처벌을 받는다. (사실 처벌이 프로토콜에 포함되지는 않는다. 채굴자가 블록을 생산하기 위해 전기와 자본을 투자했지만 보상을 받지 못한다는 사실 자체가 처벌의 일종인 것이다.)

이와 다르게 캐스퍼는 주로 애매모호한 행위를 처벌함으로써 작동한다. 만약 당신이 서로 충돌하는 두 메시지를 보낸다면, 둘 중 하나의 메시지가 합의와 일치하더라도 당신은 크게 처벌받을 것이다. (관련 내용은 “minimal slashing conditions”블로그 포스트에 나와있음) 이런 이유로, 완결 반환 공격(finality reversion attack)이 일어날 때, 반환을 일으킨 사람은 처벌을 받고, 다른 모든 사람은 그대로 유지된다. 즉, 다수 그룹은 오직 많은 비용을 낼 때만 프로토콜을 공격할 수 있으며 소수 그룹이 돈을 잃게 만들 수 없다.

두 종류의 다른 공격인 활동 중지(liveness faults)와 검열 결함(censorship faults)은 더욱 까다롭다. 활동 중지는 캐스퍼 검증인들 중 많은 비율이 오프라인으로 전환함으로써 합의가 완결되지 못하도록 막는 것이다. 검열 결함은 대다수의 캐스퍼 검증인들이 몇몇 거래들을 받아들이기를 거부하거나, 다른 캐스퍼 검증인들의 보상을 빼앗기 위해 그들로부터 오는 합의 메시지들을 받아들이기를 거부하는 것이다.

이것은 ‘화자/청자 결함 등가’라는 근본적인 이분법과 관련된다.

B가 A로부터 메시지를 받지 못했다고 말했다고 가정하자. 이때, 두가지 가능한 상황을 추측해볼 수 있다.

(i) A가 메시지를 보내지 않음.

(ii) B가 메시지를 받지 못한 척을 함.

B의 주장의 증거만을 고려해 볼 때, 두가지 설명 중 어느 쪽이 올바른지 말할 수 없다. 블록체인 프로토콜 인센티브와의 관계는 다음과 같다. 만약 당신이 검증인들의 메시지 중 70%가 체인에 속하고 30%는 속하지 않는 프로토콜 실행 상황을 바라보고 있다면 (블록체인은 이러한 형태로 문제를 바라본다) 30%가 오프라인 인것이 문제인지 아니면 70%가 검열받고 있는 것이 문제인지 알 수 없다. 만약 두가지 종류의 공격들 모두의 비용을 비싸게 만들고 싶다면, 우리가 할 수 있는 유일한 방법은 양쪽 모두 처벌하는 것이다.

양쪽 다 처벌하는 방식은 소수 그룹일 때는 오프라인으로 전환함으로써, 다수그룹일 때는 검열을 함으로써 두 쪽 모두 상대 편을 그리프(grief;슬픔)이라는 요소에 이를 수 있도록 한다. 그러나 우리는 그리프 요소 분석 기술을 통해 그리프에 이르게 하는 것을 얼마나 쉬울지 범위를 설정할 수 있다. 그리프 요소는 피해자가 잃은 돈을 공격자가 잃은 돈으로 나눈 것이다. 또한 프로토콜의 그리프 요소는 프로토콜에서 가능한 가장 높은 그리프 요소이다. 예를 들어서 프로토콜에서 당신이 3달러를 잃게 하는 대가로 내가 1달러의 비용을 낸다면, 그리프 요소는 3이다. 만약 다른 사람의 돈을 잃게 만들 방법이 전혀 없다면, 그리프 요소는 0이다. 그리고 만약 당신이 비용을 전혀 지불하지 않고 (혹은 당신이 이익을 얻으면서) 다른 사람이 돈을 잃게 할 수 있다면, 그리프 요소는 무한대이다.

일반적으로, 화자/청자가 이분법적으로 나뉘는 곳에서 그리프 요소는 1 이하로 떨어질 수 없다. 이유는 간단하다. 양쪽 모두 상대방을 그리프에 이르게 할 수 있기 때문이다. 만약 A가 B를 x의 요인으로 그리프에 이르게 할 수 있다면 B가 A를 1/x의 요인으로 그리프에 이르게 할 수 있다. (x 와 1/x는 둘다 1보다 작을 수 없음) 우리는 이러한 요인들을 가지고 놀 수 있다. 예를 들어서 소수 공격자들이 공격할 확률이 높다는 논리로 소수 그룹의 그리프 요소를 0.5로 유지하는 것을 다수 그룹의 공격자들의 그리프 요소가 2인 것과 교환할 수 있다. 또한, 작은 규모의 공격자들이 1의 그리프 요소를 갖도록 할 수 있다. 이와 달리, 큰 규모의 공격자들은 강제로 체인을 나누어서 한 쪽 체인은 화자가 페널티를 받고, 다른 한 쪽 체인은 청자가 페널티를 받아서, 시장이 공격자들이 선호하지 않는 체인을 선택하도록 할 수 있다. 그러므로 이러한 구조에서 양쪽이 서로 타협하고 거래가 일어날 수 있는 지점이 많이 있다.

양쪽을 모두를 처벌하는 것은 또다른 이점을 가지고 있다. 프로토콜이 해를 입었을 때, 공격자가 항상 처벌받을 것이라고 보장할 수 있다는 점이다. 공격자가 누구이든 간에, 프로토콜에 해를 준 양 만큼의 인센티브 때문에 공격을 하지 않을 수 있다. 그러나 만약 우리가 프로토콜에 입히는 해의 비율을 공격자의 비용이 더 많이 들도록 설정하기를 원한다면, 우리는 프로토콜에 가해진 손해가 얼마인지를 측정하는 공식화된 방법이 필요하다.

여기서 프로토콜 유용성 함수( protocol utility function)의 개념을 소개한다. 프로토콜이 얼마나 잘 작동하고 있는지 알려주는 공식은 블록체인 안에서부터 계산할 수 있어야 한다. 작업 증명 체인의 경우에는, 메인체인에서 생성된 블록들의 비율이 될 수 있다. 캐스퍼에서는 완결되지 않은 에폭은 처벌이 가해지고 안전상 결함의 경우에는 매우 큰 처벌이 가해진다. 모든 에폭이 완결되고 안전상 결함이 일어나지 않는 완벽한 실행에서는 프로토콜 유용성이 0이다. 만약 프로토콜 유용성 함수가 공식화될 수 있다면, 실패에 대한 처벌의 강도는 그 실패로 인해 생긴 프로토콜 유틸리티의 손실과 가능한 최대로 가까울 수 있을 것이다.

--

--