신뢰할 만한 중립성 원칙 by Vitalik Buterin

원문: https://nakamoto.com/credible-neutrality/

다음 내용에 대해 생각해봅시다.

  • 사람들은 종종 정부가 GDP의 5%를 특정 공공 프로젝트나 특정 산업을 지원하는데 사용한다고 분노하지만, 정부가 재산권을 집행함으로써 훨씬 큰 자산의 재분배를 진행하는 것에 대해서는 대개 분노하지 않습니다.
  • 사람들은 종종 블록체인 프로젝트들이 몇몇 개발자에게 마음대로 코인을 할당(또는 “사전채굴”)한다고 분노하지만, 비트코인이나 이더리움같은 메이저 블록체인에서 PoW 채굴자들에게 수조원이 지급되는 것에 대해서는 대개 분노하지 않습니다.
  • 사람들은 종종 소셜 미디어 플랫폼들이 특정 정치 사상과 관련된 컨텐츠를 검열하거나 숨긴다며 분노하지만, 승차 공유 플랫폼에서 별점이 낮다는 이유로 드라이버들을 쫓아내는 것에 대해서는 대개 분노하지 않습니다.

이런 상황을 보았을 때 “잡았다 요놈!”하고 외치며 기만자들의 가면을 벗겨냈다는 영광을 누리는것도 한가지 방법일 것입니다. 그리고 사실 그렇게 하는게 옳을 때도 있습니다. 제가 보기에 정부가 재산권을 집행하는 건 자연스러우 법 집행이라고 취급하는 동시에 탄소세를 국가 통제주의자들의 간섭주의라고 취급하는 것은 완전히 잘못된 생각입니다. 또한 블록체인의 코드를 개발하는 개발자들에게 보상을 지급하는 것을 “공짜 돈을 찍어낸다”고 취급하는 동시에 채굴자들이 블록체인의 보안을 지키는 행위를 보상 받을만한 “진짜 열역학적 일”이라고 취급하는 것 역시 완전히 잘못된 생각입니다.

직관을 시스템화 하려는 시도는 중간에 딴 길로 빠지는 일이 많긴 하지만, 이런 근본적인 도덕적 직관은 완전히 가치없기는 힘들 것입니다. 그리고 이 케이스에 대해, 저는 매우 중요한 원칙이 존재한다고 말씀드리고자 합니다. 이 원칙은 효율적이며, 자유 친화적이고, 공정하며, 포용적이며, 우리 생활의 여러 영역에 영향을 주고 관리하는 제도를 만드는 방법에 대한 논의를 진행하는데 핵심이 될 것이라고 생각합니다. 그 원칙은 다음과 같습니다: “큰 영향을 줄 수 있는 결론을 내리는 메커니즘을 만들 때에는, 그 메커니즘이 신뢰할 만하게 중립적(credibly neutral)이도록 만드는 것이 중요하다”

커니즘 = 알고리즘 + 인센티브

우선, 메커니즘이란 무엇일까요? 여기서 저는 메커니즘 디자인을 다루는 게임 이론 문헌들에서 사용되는 것과 비슷한 방식으로 “메커니즘”이라는 단어를 사용합니다: 기본적으로, 메커니즘이란 알고리즘에 인센티브를 더한 것입니다. 메커니즘은 여러 사람으로부터 입력값(input)을 받고, 그 입력값들을 사용하여 참여자들이 중요시하는 가치를 판단한 후, 사람들이 중요하다고 여기는 것에 대한 결정을 내릴 수 있게 하는 도구입니다. 잘 동작하는 메커니즘에서, 메커니즘에 의해 생성되는 결정은 효율적이며(그 결정이 참여자들의 선호를 반영하여 만들어진 선택 가능한 최선의 결론이라는 측면에서), 인센티브를 반영합니다. 여기서 인센티브를 반영한다는 것은, 사람들이 결정 과정에 “정직하게” 참여할 인센티브를 갖는다는 것입니다.

메커니즘의 예를 떠올리기는 쉽습니다. 몇가지 예를 들면:

  • 사유재산과 거래. “입력값”은 기부나 거래를 통해 사용자들이 소유권을 재할당할 수 있는 능력이며, “출력값”은 각 물리적 대상들이 어떻게 사용될지에 대해 결정할 수 있는 권한을 갖고있는 사람들의 (어떨 땐 수학적이며, 어떨 땐 함축적인) 목록입니다. 메커니즘의 목표는 쓸모있는 물리적 물건들을 생산하도록 장려하고 그 물건들을 가장 잘 사용할 수 있는 사람들에게 물건을 전달하는 것입니다.
  • 경매. 입력값은 호가이며, 출력값은 판매되는 아이템을 누가 갖게되며 구매자가 얼마를 내야 하는지 입니다.
  • 민주주의. 입력값은 투표, 출력값은 정부에서 선거 대상이 된 자리를 누가 갖게 되는가 입니다.
  • 소셜 미디어에서의 추천, 비추천, 좋아요, 리트윗. 입력값은 추천, 비추천, 좋아요, 리트윗이고, 출력값은 누가 어떤 컨텐츠를 보게될지 입니다. 게임 이론쟁이들은 인센티브가 들어있지 않으므로 이건 메커니즘이 아니라 그냥 알고리즘일 뿐이라고 할 수도 있습니다. 하지만 나중엔 인센티브가 도입될수도 있겠죠 (아니면 예전 구조라거나요. 참조: Slashdot meta-moderation)
  • PoW, PoS에 대한 블록체인에서 주어지는 인센티브. 입력값은 참여자들이 생성해내는 블록과 메시지들이고, 출력값은 네트워크에서 어떤 체인이 메인 체인(canonical chain)이라고 판단할지이며, 보상은 “올바른” 행위를 장려하는데 사용됩니다.

모든 것이 연결되어 있고, 중개자가 수없이 많으며, 빠르게 발전하는 정보화 시대에 진입하면서, 중앙화된 제도들은 대중의 지지를 잃어가고 있으며 사람들은 대체재를 찾고 있습니다. 그 결과, 대중의 지혜를 모으는 (동시에 항상 존재하는 대중의 무지를 거르는) 다양한 형태의 메커니즘들은 우리가 상호작용하는 과정에 점점 더 중요한 역할을 하게 될 것입니다.

신뢰 가능한 중립성이란 무엇인가

그럼 이제 그 중요한 “신뢰 가능한 중립성”에 대해 이야기 해보죠. 기본적으로, 어떤 메커니즘의 설계를 봤을 때 특정한 사람들을 차별하는 구조가 아니라면 신뢰할 만하게 중립적이라고 볼 수 있습니다. 그러한 메커니즘은 모두의 능력과 필요가 서로 다른 이 세상에서 사람들을 공정하게 대우하는 정도로 모두를 공정하게 대우합니다. “블록을 채굴하는 사람은 2 ETH를 받는다”는 신뢰할 만하게 중립적이지만, “우리는 철수가 많은 코드를 작성했다는 걸 알고 보상해줘야 하므로 철수에게 1000 코인을 준다”는 신뢰할 만하게 중립적이지 않습니다. “5명이 나쁘다고 평가한 컨텐츠는 표시되지 않는다”는 신뢰할 만하게 중립적이지만, “우리 관리 부서에서 푸른 눈을 가진 사람에 대한 편견을 담고 있다고 판단한 컨텐츠는 표시되지 않습니다”는 그렇지 않습니다. “정부는 모든 발명에 대해 20년간의 독점 권리를 부여한다”는 신뢰할 만하게 중립적이지만 (물론 어떤 조건을 만족하는 것에 대해 발명이라고 할 지를 결정하는 것은 많은 어려움이 있습니다), “정부는 암 치료가 중요하다고 판단했으므로 암을 치료하기 위해 노력하는 사람들에게 10억 달러를 지원할 수 있는 위원회를 지명한다”는 아닙니다.

물론, 중립성이 모든 것을 커버하지는 못합니다. 블록 보상은 하드웨어와 저렴한 전력에 접근할 수 있는 연줄을 가진 사람들에게 유리합니다. 자본주의는 집중적인 이자와 부자들에게 유리하며, 공공재에 크게 의존하는 가난한 사람들에게는 불리합니다. 정치와 관련된 논의는 사회적 바람직성 편향의 안좋은 측면에 나타나는 것들에 대해 불리하게 작용합니다. 또한 협력 실패(coordination failure)를 보완하려 하는 메커니즘들은 어떤 실패가 발생할 것인지를 추측하게 되며, 그 결과 해당 메커니즘에서 과소평가하는 협력 실패의 당사자들에게 불리하게 작용합니다. 그러나 그렇다고 해서 특정 메커니즘들이 다른 것들보다 훨씬 중립적이라는 사실을 부정할 수는 없습니다.

이것이 바로 왜 사유 재산 시스템이 존재하는지를 설명합니다: 신으로부터 주어진 권리이기 때문에 존재하는 것이 아니라, 사회의 많은 문제(“모든 문제”는 아니지만, 그래도 많은 문제)를 해결해주는 신뢰할 만하게 중립적인 메커니즘이기 때문이죠. 또한 왜 인기도 기준 필터링은 괜찮고 정치 사상 기준 필터링은 문제가 되는지를 설명해주기도 합니다: 다양한 사람들이 모인 그룹에 특정한 정치적 시각을 금지하는 블랙리스트가 옳다는 것을 설명하고 그들을 설득하는 것 보다는 모두를 합리적으로 공정하게 대우하는 중립적인 메커니즘이 옳다는 것에 합의하는 것이 더 쉽기 때문입니다. 또한 왜 블록체인 시스템적으로 개발자 보상을 지급하는 것이 블록체인 시스템적으로 채굴 보상을 지급하는 것 보다 의심스러워 보이는지를 설명해주기도 합니다: 누가 채굴자인지 판단하는 것이 누가 개발자인지 판단하는 것보다 쉽고, 현실에서 “누가 개발자인가”를 판단하려는 대부분의 시도는 편파적이라는 비난의 타겟이 되기 쉽기 때문입니다.

여기서 단순히 중립성이 필요한게 아니라, 신뢰할 만한 중립성이 필요하다는 것에 주목해야 합니다. 즉, 단순히 다른 사람들보다 특정한 사람들을 우대하지 않도록 설계하는 것 만으로 충분하지 않으며, 수많은 다양한 사람들이 모인 여러 집단에 대해 메커니즘이 최소한의 공정해지기 위한 노력을 했다는 사실을 납득시키는 것 또한 매우 중요하다는 것입니다. 블록체인, 정치 시스템, 소셜 미디어 같은 메커니즘은 대규모의 다양한 사람들이 모인 집단 내에서 협력을 촉진하도록 설계됩니다. 메커니즘이 이를 위한 기본 구조로서 실제로 사용되기 위해서는, 시스템에 참여하는 모든 사람들이 그 메커니즘이 공정하다는 것을 알 수 있어야 하며, 참여하는 모든 사람들이 다른 모든 사람들 역시 메커니즘이 공정하다고 보고 있다는 것을 알 수 있어야 합니다. 참여하는 모든 사람들은 다른 사람들이 당장 다음날 그 메커니즘을 버리지 않을 거라는 확신을 얻고 싶어하기 때문이죠.

즉, 우리에게 필요한 것은 공공 지식의 게임 이론적인 개념 같은 것, 또는 좀 덜 수학적인 용어를 쓰자면, 일반적으로 생각하는 타당성입니다. 이러한 중립성의 공공지식을 달성하기 위해서는, 메커니즘의 중립성을 알아보기 쉬워야 합니다. 너무 알아보기 쉬워서 그 메커니즘이 편향되어있고 믿을 수 없다는 적대적인 프로파간다가 이루어지는 가운데에서 상대적으로 교육을 받지 못한 사람들조차도 쉽게 알아볼 수 있어야 합니다.

신뢰할 만하게 중립적인 메커니즘 만들기

신뢰할 만하게 중립적인 메커니즘을 만들기 위한 4가지 주요 원칙은 다음과 같다:

  1. 메커니즘 안에 사람이나 결과를 특정하여 기재하지 않는다.
  2. 오픈 소스화 하고 공개적으로 검증 가능하게 실행한다
  3. 단순하게 유지한다
  4. 지나치게 자주 변경하지 않는다

(1)은 이해하기 쉽습니다. 이전에 들었던 예시를 다시 사용하자면, “블록을 채굴하는 사람은 2 ETH를 받는다”는 신뢰할 만하게 중립적이지만, “철수은 1000 코인을 받는다”는 그렇지 않습니다. “비추천을 받은 컨텐츠는 덜 보여진다”는 신뢰할 만하게 중립적이며, “푸른 눈을 가진 사람들에 대한 편견을 담은 컨텐츠는 덜 보여진다”는 그렇지 않습니다. “철수”는 특정한 인물이며 “눈이 푸른 사람에 대한 편견”은 특정한 결과 입니다. 물론 철수는 실제로 뛰어난 개발자이고 어떤 블록체인 프로젝트의 성공에 매우 중요한 사람이라 보상을 받을 만할 수도 있습니다. 또한 저는 (그리고 바라건대 여러분도) 푸른 눈에 대한 편견이 심해지는 것은 원하지 않습니다. 그러나 신뢰할 만하게 중립적인 메커니즘 설계에서는 이런 바람직한 결과가 메커니즘 안에 기록되지 않는 것을 추구합니다. 대신 그러한 결과들이 참여자들의 행동에 의해 창발적으로 발견(emergently discovered)되는 것을 추구하죠. 자유 시장에서, 기영이가 만든 물건은 쓸모가 없지만 영희가 만든 물건은 쓸모 있다는 사실은 가격 메커니즘에 의해 창발적으로 발견되게 됩니다: 결국 사람들은 기영이의 물건을 안사게 되면서 기영이는 파산하게 되고, 한편 영희는 판매 수익으로 사업을 확장하고 더 많은 물건을 만들 수 있게 되겠죠. “출력값”의 대부분의 정보는 메커니즘 내부에 하드 코딩 되어있는 규칙이 아니라 사용자들의 “입력값”으로부터 생성되어야 합니다.

(2) 역시 쉽게 이해할 수 있습니다: 메커니즘의 규칙들은 모두 공개되어야 하며, 그 규칙들이 제대로 시행되고 있다는 사실을 공개적으로 검증할 수 있어야 합니다. 하지만 많은 경우 우리는 입력값이나 출력값이 공개되기를 원하지 않는다는 점을 기억해야 합니다. 이 글은 당신이 원하는 경우에도 당신이 어떻게 참여했는지를 증명할 수 없는 강한 수준의 프라이버시를 확보하는 것이 왜 중요한지를 다루었습니다. 다행히도, 영지식 증명과 블록체인을 사용하면 증명 가능성과 프라이버시를 동시에 확보할 수 있습니다. 자세한 내용은 여기를 참조하세요.

(3) 단순성에 대한 내용은 아이러니하게도 덜 단순합니다. “오버피팅으로서의 중앙화된 계획”을 다룬 이 글은 여러 주장에 대해 깊이 다루었지만, 요약하면 다음과 같습니다. 메커니즘이 단순할수록, 그리고 메커니즘이 더 적은 파라미터를 가질수록, 특정한 집단에 대해 유리하거나 불리하게 작용하는 장치를 숨겨둘 곳이 줄어든다는 것입니다. 만약 어떤 메커니즘이 복잡하게 얽힌 50개의 파라미터를 갖고 있다면, 어떤 결과를 원하는 그 결과를 만들어내는 파라미터 조합을 찾아낼 수 있을 것입니다. 그러나 어떤 메커니즘이 하나 또는 두개의 파라미터만을 갖는다면, 그렇게 하기는 훨씬 어려울 것입니다. 매우 넓은 그룹(“선동꾼”이라거나, “부자”라거나 등등)에 영향을 주는 장치를 넣을 수는 있겠지만, 좁은 범위의 사람들만을 타게팅 하기는 어려울 것이며, 특정한 결과를 타게팅하는 것 역시 시간이 흐를수록 어려워질 것입니다. 메커니즘을 생성한 시점 A에 있는 당신과, 시점 B에서 메커니즘에 의해 불균형적인 이득을 보는 상황에 놓여질 당신의 수혜자들 사이에는 더더욱 많은 “무지의 베일(veil of ignorance)“이 존재할 것이기 때문입니다.

그리고 이것은 메커니즘을 너무 자주 변경하지 않는다는 규칙 (4)로 이어집니다. 메커니즘을 변경하는 것은 복잡한 일이며, 무지의 베일 위에서 “시계를 초기화(resets the clock)하는 것”이기도 합니다. 도움을 주고싶은 친구들이나 공격하고 싶은 적들의 현재 위치와, 메커니즘을 어떻게 바꾸면 어떤 영향을 끼칠지에 대한 최신 정보를 가진 상태에서 메커니즘을 수정할 수 있는 기회를 주는 것이죠.

중립성 뿐만 아니라 효과 역시 중요하다

제가 이 글의 앞부분에서 언급한 사상들의 극단적인 버전이 주로 빠지는 함정은 중립성만을 추구하는 것(neutrality maximalism)입니다: 완벽한 중립성을 확보할 수 없다면, 아예 안하느니만 못하다는 것이죠. 이러한 시각의 맹점은 좁은 범위의 중립성은 달성하지만 넓은 범위의 중립성을 희생한다는 점입니다. 예를 들면, 당신은 모든 채굴자들이 다른 채굴자들과 동일한 입장에 처한다는 것을 보장할 수 있으며 (블록당 12.5 BTC 또는 2 ETH), 모든 개발자들을 동일하게 대우할 수도 있습니다 (자원 봉사에 대한 감사의 말 이외에 아무런 보상 없음). 하지만 그렇게 하면 채굴에 비해 개발에 대한 인센티브가 너무 적어지게 될 것입니다. 사실 하위 20%의 채굴자들이 개발자들보다 블록체인의 성공에 대해 더 큰 기여를 한다고 생각하기는 어렵지만, 지금의 보상 구조는 그런 의미를 담고 있습니다.

더 넓게 말하면, 사회에는 생산되어야 할 것들이 다양하게 존재합니다: 사유재, 공공재, 정확한 정보, 좋은 거버넌스 결정, 지금은 가치를 두지 않지만 미래에 가치를 갖게 될 물건들 등등. 여러가지가 있지요. 이 중 일부에 대해서는 신뢰할 만하게 중립적인 메커니즘을 만들기가 더 쉽습니다. 그리고 우리가 극단적으로 신뢰할 만하게 중립적인 메커니즘만을 받아들이겠다는, 좁은 범위의 중립성 순수주의를 받아들인다면, 그런 메커니즘을 만들기 쉬운 문제들은 해결할 수 있게 될 것입니다. 커뮤니티의 다른 필요들은 시스템적인 지원을 전혀 받지 못할 것이며, 넓은 범위의 중립성은 고통받을 것입니다.

따라서, 신뢰할 만한 중립성 원칙은 효과의 원칙이라는 또다른 아이디어로 보완되어야 합니다. 좋은 메커니즘이란, 우리가 중요하다고 여기는 문제를 해결하는 메커니즘이기도 합니다. 이는 곧 가장 명백하게 신뢰 가능하게 중립적인 메커니즘들의 개발자들 역시 비판에 열려있어야 한다는 것을 의미합니다. 왜냐하면 메커니즘은 신뢰할 만하게 중립적인 동시에 엉망일 수도 있기 때문입니다 (특허들에서 자주 논의되듯이)

때때로, 이는 특정 문제를 해결하는 신뢰할 만하게 중립적인 메커니즘이 아직 발견되지 않은 경우, 불완전하게 중립적인 메커니즘이라도 단기적으로는 도입되어야 한다는 뜻이기도 합니다. 블록체인에서의 사전채굴과 한정된 시간동안 지급되는 개발자 보상은 이러한 예 중 하나입니다. 특정 인물을 대표하는 계정을 감지할 수 있는 탈중앙화된 방법이 없을 때 중앙화된 방법을 사용하는 것을 또다른 예시로 볼 수 있을 것입니다. 그러나 그럼에도 불구하고 신뢰할 만한 중립성을 매우 가치있고 앞으로 달성하기 위해 노력해야 하는 대상으로 인지하는 것은 중요합니다.

만약 메커니즘이 불완전하게 중립적이라서 신뢰를 잃게 되거나 정치적으로 지배당할 것이 걱정된다면, “안전장치”를 설치하는 것도 좋습니다. 예를 들면, 신규 발행량이 아닌 트랜젝션 수수료만을 개발자 지원 펀드로 보냄으로써 지급되는 금액의 상한을 제한하는 “셸링 펜스(Schelling fence)“를 만드는 것이 가능할 것입니다. 또는 시간이 흐름에 따라 보상이 줄어들고 이를 명시적으로 갱신해야 보상이 복구되는 형태의 시간 제한이나 “빙하기”를 넣는 것도 가능합니다. 또는 롤업이나 이더리움 2 실행 환경 처럼 일종의 네트워크 효과를 갖고있어 사용자들을 머무르게 하지만 메커니즘에 문제가 있는 경우 사용자들이 합심하면 버릴 수 있는 메커니즘을 “레이어 2” 시스템 안에 넣는 것도 방법일 것입니다. 메커니즘이 망가질 조짐이 보이면 탈출 자유도를 높임으로써 리스크를 줄일 수 있는 것입니다.

여러 종류의 문제를 해결할 수 있는 신뢰할 만하게 중립적인 메커니즘은 이론 상으로는 존재하며, 현실에서는 연구와 개발이 필요합니다. 예를들면:

우리는 아직 이 것들 중 어떤 것이, 또는 완전히 새로운 무언가가 앞으로 잘 동작할지는 알지 못하며, 어떤 종류의 규칙이 여러가지 다른 상황에서 좋은 결과를 만들어낼 수 있을 지 알아내기 위해 많은 실험을 해야 할 것입니다. 메커니즘의 규칙이 공개되어야 하며 이와 동시에 공격을 잘 버텨야 한다는 것은 분명히 난관이 될 것이지만, 숨겨진 입력값으로 출력값을 생성할 수 있게 하며 규칙을 공개하고 공개적으로 실행을 검증할 수 있도록 해 주는 암호학의 발전은 이 일들을 상당히 쉽게 해 줄 것입니다.

우리는 이러한 튼튼한 규칙들의 조합을 만들어내는게 원칙적으로 가능하다는 사실을 알고 있습니다. 앞서 언급한것처럼 이미 실제로 많은 사례가 이미 존재하죠. 그러나 우리가 의존하는 여러 형태의 소프트웨어 기반의 시장이 계속해서 증가함에 따라, 이 시스템들이 선택된 소수(플랫폼 운영자 또는 그들을 지배할 수 있는 더욱 강한 권력)에게만 힘을 주는 것이 아니라는 것을 확실히 하는 것, 그리고 우리 모두가 의지할 수 있는 신뢰할만한 시스템을 만드는 것이 앞으로 더욱 중요해질 것입니다.

Leave a Reply

Your email address will not be published.