비탈릭 부테린, 블록체인 투표에 대한 두 가지 오해를 해명하다: 그것이 왜 저평가되었는가?

비탈릭 부테린
2021-05-27 13:32:36
수집
블록체인을 이용한 투표 시도가 문제를 안고 있지만, 올바른 해결책은 블록체인을 포기하는 것이 아니라 다른 암호 기술과 결합하는 것입니다.

이 글은 체인뉴스에서 가져온 것으로, 원제목은 《Vitalik:왜 블록체인 투표가 필요한가?》이며, 저자는 비탈릭 부테린(이더리움 공동 창립자), 번역: 남풍, 출처: 유니타임스입니다.

투표는 프로세스 완전성이 매우 필요한 과정입니다. 투표 결과는 반드시 정확해야 하며, 이를 보장하기 위한 투명한 과정이 필요합니다. 그래야 모든 사람이 이 결과가 정확하다고 믿을 수 있습니다. 누구의 투표 의사를 성공적으로 방해하거나 그들의 투표가 집계되는 것을 막을 가능성이 있어서는 안 됩니다.

블록체인은 프로세스 완전성을 보장하는 기술입니다. 어떤 과정이 블록체인에서 실행된다면, 그 과정은 사전에 합의된 코드에 따라 실행되며 올바른 출력을 제공합니다. 아무도 그 실행을 막을 수 없고, 아무도 그 실행을 변조할 수 없으며, 아무도 어떤 사용자의 입력이 처리되는 것을 검토하거나 방해할 수 없습니다.

그래서 처음 보기에는 블록체인이 투표에 필요한 것을 제공하는 것처럼 보입니다. 저만 이런 생각을 하는 것은 아닙니다; 많은 주요 잠재 사용자들이 이에 관심을 가지고 있습니다. 하지만 사실 어떤 사람들은 이에 대해 매우 다른 의견을 가지고 있습니다….

비탈릭 부테린이 블록체인 투표에 대한 두 가지 오해를 해명하다: 왜 저평가되었는가?

투표의 필요성과 블록체인이 제공하는 기술적 이점이 완벽하게 일치하는 것처럼 보이지만, 우리는 종종 두 가지를 결합하는 것에 대한 두려운 기사를 봅니다. 그리고 단순히 한 편의 기사만이 아닙니다: 《사이언티픽 아메리칸》(Scientific American)에는 블록체인 투표에 반대하는 기사가 실렸습니다 [1]; CNet 웹사이트에도 그런 기사가 게시되었습니다 [2]; ArsTechnica 웹사이트에도 기사가 실렸습니다 [3]. 그리고 단순히 기술 기자들만이 아닙니다: 브루스 슈나이어(유명한 컴퓨터 보안 전문가)도 블록체인 투표에 반대합니다 [4]; MIT의 연구자들은 이 문제에 대해 전체 논문을 작성했습니다 [5], 이는 나쁜 아이디어라고 주장합니다. 도대체 무슨 일이 일어난 걸까요?

개요

블록체인 투표 프로토콜의 비판자들은 일반적으로 두 가지 주요 비판을 제기합니다:

  1. 블록체인은 선거를 위한 소프트웨어 도구가 아닙니다. 블록체인이 제공하는 신뢰 속성과 투표에 필요한 속성이 일치하지 않으며, 다른 유형의 소프트웨어 도구가 더 유용할 수 있습니다.
  2. 일반적으로 소프트웨어를 신뢰할 수 없으며, 어떤 소프트웨어든 마찬가지입니다. 소프트웨어와 하드웨어의 버그가 발견되지 않을 위험이 너무 높습니다. 플랫폼이 어떻게 구성되었든 간에 말입니다.

이 글에서는 이 두 가지 관점을 차례로 논의할 것입니다(「반박」이라는 단어는 너무 강하게 들리지만, 저는 이 두 가지 관점에 전적으로 동의하지 않습니다). 먼저, 블록체인을 사용한 투표의 기존 시도에서의 보안 문제를 논의할 것이며, 올바른 해결책은 블록체인을 포기하는 것이 아니라 다른 암호화 기술과 결합하는 것입니다. 둘째, 소프트웨어(및 하드웨어)가 신뢰할 수 있는지에 대한 문제를 설명할 것입니다. 제 대답은: 컴퓨터 보안은 실제로 점점 더 좋아지고 있습니다. 우리는 이 추세를 계속 유지하기 위해 노력할 수 있습니다.

장기적으로 종이 방식에 영원히 고수하는 것(투표를 위한)은 우리가 투표를 개선하는 데 큰 장애물이 될 것입니다. 매 N년마다 투표를 하는 것은 250년의 역사를 가진 민주적 형태입니다. 만약 투표가 더 편리하고 간단해진다면, 우리는 더 나은 민주주의를 가질 수 있으며, 그렇게 되면 더 자주 투표할 수 있습니다.

의심할 여지 없이, 이 글은 좋은 블록체인 확장성 기술(예: 샤딩)이 가능하다는 전제에 기반하고 있습니다. 물론 블록체인이 확장할 수 없다면 이러한 일은 불가능합니다. 하지만 지금까지 이 기술의 발전은 매우 빠르며, 그것이 일어나지 않을 이유는 없습니다.

형편없는 블록체인 투표 프로토콜

블록체인 투표 프로토콜은 항상 공격받고 있습니다. 2년 전, 블록체인 투표 기술 회사인 Voatz가 큰 인기를 끌었고, 많은 사람들이 이에 대해 매우 흥분했습니다. 그러나 작년, MIT의 몇몇 연구자들은 그들의 플랫폼에서 일련의 주요 보안 취약점을 발견했습니다 [6]. 동시에, 모스크바에서 선거에 사용될 예정인 블록체인 투표 시스템이 해킹당했습니다 [7], 다행히도 공격은 선거 시작 한 달 전에 발생했습니다.

이러한 해킹 공격은 상당히 심각합니다. 다음은 Voatz를 분석한 연구자들이 성공적으로 발견한 공격 능력 표입니다:

비탈릭 부테린이 블록체인 투표에 대한 두 가지 오해를 해명하다: 왜 저평가되었는가?

이것 자체가 블록체인 투표 사용에 대한 반대 이유는 아닙니다. 그러나 블록체인 투표 소프트웨어는 더 신중하게 설계되어야 하며, 시간이 지남에 따라 점진적으로 확장되어야 합니다.

개인 정보 보호 및 강제 저항

하지만 기술적으로 해킹되지 않은 블록체인 투표 프로토콜조차도 일반적으로 형편없습니다. 그 이유를 이해하기 위해서는 블록체인이 제공하는 특정 보안 속성과 투표가 필요로 하는 특정 보안 속성을 더 깊이 연구해야 합니다. 깊이 연구해보면 두 가지 간의 불일치가 존재한다는 것을 알게 될 것입니다.

블록체인은 두 가지 주요 속성을 제공합니다: 정확한 실행(correct execution)과 검열 저항(censorship resistance). 정확한 실행은 블록체인이 사용자의 입력(「거래」)을 받아들이고, 사전에 정의된 규칙에 따라 올바르게 처리하며, 올바른 출력을 반환한다는 것을 의미합니다; 검열 저항은 이해하기 쉽습니다: 거래를 보내고 충분히 높은 수수료를 지불할 의사가 있는 사용자는 누구나 거래를 보낼 수 있으며, 거래가 곧 체인에 포함될 것으로 기대할 수 있습니다.

이 두 가지 속성은 투표에 매우 중요합니다: 당신이 원하는 투표 결과는 각 후보자의 투표 수를 합산하여 가장 많은 표를 받은 후보자를 선택하는 결과여야 하며, 당신은 자격이 있는 모든 사람이 투표에 참여할 수 있기를 바랍니다. 심지어 권력 있는 사람들이 그들을 막으려 하더라도 말입니다. 하지만 투표는 블록체인이 제공하지 않는 몇 가지 중요한 속성이 필요합니다:

*개인 정보 보호** : 특정 개인이 어떤 후보자에게 투표했는지, 심지어 그들이 투표했는지조차 알 수 없어야 합니다;*

*강제 저항** : 당신은 다른 사람에게 당신이 어떻게 투표했는지 증명할 수 없어야 하며, 심지어 그렇게 하고 싶더라도 말입니다.*

첫 번째 요구 사항(즉, 개인 정보 보호)의 필요성은 분명합니다: 사람들은 주변 사람들, 고용주, 경찰 또는 거리에서 무작위로 나타나는 폭력배의 투표 선택에 대한 감정을 고려하지 않고 개인적인 감정에 따라 투표하기를 원합니다.

두 번째 요구 사항(즉, 강제 저항)은 '투표 판매' 문제를 방지하는 데 필요합니다: 만약 당신이 어떻게 투표했는지(즉, 누구에게 투표했는지) 증명할 수 있다면, 당신의 투표를 판매하는 것이 매우 쉬워집니다. 투표의 증명 가능성은 강제 형태를 가능하게 하며, 강제자는 (강제된 사람, 즉 유권자) 특정 후보자에게 투표했다는 증거를 요구할 수 있습니다. 대부분의 사람들은 첫 번째 요구 사항을 아는 사람들조차도 두 번째 요구 사항에 대해 고려하지 않습니다. 그러나 두 번째 요구 사항도 필요하며, 이 요구 사항을 기술적으로 제공하는 것이 중요합니다. 의심할 여지 없이, 당신이 외부에서 보는 일반적인 '블록체인 투표 시스템'은 두 번째 속성을 제공하려고 시도조차 하지 않으며, 일반적으로 첫 번째 속성도 제공할 수 없습니다.

블록체인을 사용하지 않는 안전한 전자 투표

암호화 방식으로 안전하게 실행되는 사회적 메커니즘의 개념은 블록체인 괴짜들이 발명한 것이 아닙니다. 실제로 우리는 그 이전부터 존재했습니다. 블록체인 분야 외부에서 안전한 전자 투표 문제를 연구하는 암호학자들은 20년의 전통을 가지고 있으며, 좋은 소식은 이미 해결책이 있다는 것입니다. Juels, Catalano 및 Jakobsson은 2002년에 발표한 논문 《강제 저항 전자 선거》(Coercion-Resistant Electronic Elections[8])에서 지난 20년 동안 많은 문헌에서 인용되었습니다:

비탈릭 부테린이 블록체인 투표에 대한 두 가지 오해를 해명하다: 왜 저평가되었는가?

그 이후로 이 개념은 여러 번의 반복을 거쳤습니다; Civitas[9]는 두드러진 예이며, 많은 다른 예들도 있습니다. 이러한 프로토콜은 비슷한 핵심 기술 세트를 사용합니다: 합의된 '모니터' (talliers 또는 개표자) 집합과, 대다수의 모니터가 정직하다는 신뢰 가정이 있습니다. 각 모니터는 개인 키의 '일부'를 소유하며, 해당 공개 키는 공개됩니다. 유권자는 모니터의 공개 키를 사용하여 투표를 암호화하고, 암호화된 투표를 공개합니다. 모니터는 안전한 다자간 계산(MPC) 프로토콜[10]을 사용하여 투표를 해독하고 검증하며, 투표 수를 계산합니다. 투표 수 계산은 'MPC 내부'에서 완료됩니다: 모니터는 처음부터 끝까지 그들의 개인 키를 알지 못하며, 최종 결과를 계산할 때 개인 투표에 대한 정보는 알지 못합니다. 최종 결과에서 어떤 정보를 얻을 수 있는지 외에는 말입니다.

투표를 암호화하는 것은 개인 정보 보호를 제공하며, 추가적인 인프라(예: 믹싱 네트워크)를 추가하여 개인 정보 보호를 강화할 수 있습니다. 동시에 강제 저항을 제공하기 위해 다음 두 가지 기술 중 하나를 사용할 수 있습니다:

첫 번째 선택은 등록 단계에서(모니터가 이 단계에서 각 등록 유권자의 공개 키를 알게 됩니다) 유권자가 키를 생성하거나 수신하는 것입니다. 해당 공개 키는 모니터 간에 공유되며, 모니터의 MPC는 특정 투표가 키로 서명된 경우에만 해당 투표를 계산합니다. 유권자는 제3자에게 자신의 키가 무엇인지 증명할 수 없으므로, 만약 그들이 뇌물을 받거나 강제로 투표를 하게 된다면, 그들은 단순히 잘못된 키를 제시하고 잘못된 키로 투표를 서명할 수 있습니다. 또는 유권자는 메시지를 보내 키를 변경할 수 있으며, 유권자는 제3자에게 그러한 메시지를 발송하지 않았다는 것을 증명할 수 없으므로 투표 결과는 여전히 동일합니다.

두 번째 선택은 유권자가 여러 번 투표할 수 있는 기술입니다. 후속 투표가 이전 투표를 무효화할 수 있습니다. 만약 어떤 유권자가 뇌물을 받거나 강제로 투표를 하게 된다면, 그는 먼저 뇌물 제공자/강제자의 요구에 따라 특정 후보자에게 투표할 수 있지만, 이후에는 이전 투표를 무효화하는 또 다른 투표를 보낼 수 있습니다.

비탈릭 부테린이 블록체인 투표에 대한 두 가지 오해를 해명하다: 왜 저평가되었는가?유권자가 이후의 투표를 통해 이전 투표를 무효화할 수 있도록 하는 것은 위 그림의 2015년 프로토콜의 강제 저항 메커니즘의 핵심입니다.

이제 이러한 모든 프로토콜에서 중요한 미세한 차이를 살펴보겠습니다. 이들은 모두 외부 원리를 사용하여 보안 보장을 완료합니다: 전자 게시판(bulletin board, 위 그림의 'BB'). 게시판은 모든 유권자가 정보를 보낼 수 있는 장소이며, 다음을 보장합니다: (1) 누구나 게시판을 읽을 수 있으며, (2) 누구나 수용된 게시판에 정보를 보낼 수 있습니다. 당신이 찾을 수 있는 대부분의 강제 저항 투표 문서는 게시판의 존재를 언급하지만, 이 게시판이 실제로 어떻게 구현될 수 있는지에 대한 논의는 거의 없습니다. 이 글에서 제가 의도하는 바를 보실 수 있습니다: 게시판을 구현하는 가장 안전한 방법은 기존의 블록체인을 사용하는 것입니다!

블록체인을 사용하는 안전한 전자 투표

물론 블록체인 이전에도 많은 사람들이 전자 게시판을 만들려고 시도했습니다. 이 2008년 논문[12]은 그런 시도의 하나로, 그 신뢰 모델은 'n개의 서버 중 k개는 정직해야 한다'는 표준 요구 사항입니다(일반적으로 k = n/2). 예를 들어, 이 2021년 문헌 리뷰[13]는 블록체인 이전의 게시판 구현 시도를 다루고 있으며, 블록체인의 사용을 탐구하고 있습니다. 이러한 블록체인 이전의 솔루션도 k-of-n 신뢰 모델에 의존합니다.

블록체인도 k-of-n 신뢰 모델입니다, 이는 적어도 절반의 채굴자 또는 PoS 검증자가 프로토콜을 준수해야 하며, 이 가정이 실패하면 일반적으로 '51% 공격'으로 이어집니다. 그렇다면 왜 블록체인이 특정 용도의 전자 게시판보다 더 나은가요? 대답은: 진정으로 신뢰할 수 있는 k-of-n 시스템을 구축하는 것은 어렵고, 블록체인은 이 문제를 대규모로 해결한 유일한 시스템입니다. 어떤 정부가 투표 시스템을 구축한다고 발표하고, 15개의 지역 조직과 대학의 목록을 제공한다고 가정해 보겠습니다. 이 조직과 대학이 특정 용도의 게시판을 운영할 것입니다. 외부 관찰자로서, 당신은 정부가 1000개의 조직 중에서 이 15개 조직을 선택한 것이 특정 정보 기관과 결탁하려는 의도에 기반하지 않았다는 것을 어떻게 알 수 있겠습니까?

반면에, 공공 블록체인은 누구나 참여할 수 있는 허가 없는 경제 합의 메커니즘(PoW 또는 PoS)과, 블록 탐색기, 거래소 및 기타 모니터링 노드로 구성된 다양하고 높은 인센티브를 가진 인프라를 갖추고 있어, 나쁜 일이 발생하지 않았음을 지속적으로 실시간으로 검증합니다.

이러한 더 복잡한 투표 시스템은 단순히 블록체인을 사용하는 것만이 아닙니다; 그들은 또한 올바른 결과를 보장하기 위해 제로 지식 증명과 같은 암호학을 의존하고, 강제 저항을 보장하기 위해 다자간 계산을 의존합니다. 따라서 그들은 단순히 '투표를 블록체인에 직접 던지는' 더 '순진한' 투표 시스템의 약점을 피합니다. 그러나 블록체인 게시판은 전체 설계의 보안 모델의 핵심 부분입니다: 만약 위원회가 해킹당하더라도 블록체인이 해킹되지 않았다면, 강제 저항의 특성은 사라지게 되며, 투표 과정에 대한 모든 다른 보장은 여전히 존재합니다.

MACI: 이더리움에서의 강제 저항 블록체인 투표

이더리움 생태계는 현재 MACI라는 시스템을 실험하고 있습니다[14], 이 시스템은 블록체인, ZK-SNARKs 및 강제 저항성을 보장하는 중앙 참여자를 결합합니다(그러나 강제 저항 특성을 보장하는 것 외에는 어떤 특성도 파괴할 수 있는 능력은 없습니다). MACI는 기술적으로 그리 어렵지 않습니다. 사용자는 다음과 같은 방식으로 참여할 수 있습니다: 자신의 개인 키로 메시지에 서명한 후, 중앙 서버에서 게시한 공개 키를 사용하여 해당 서명된 메시지를 암호화하고, 암호화된 서명 메시지를 블록체인에 게시합니다. 서버는 블록체인에서 이러한 메시지를 다운로드하여 해독하고 처리하며, 결과와 ZK-SNARK 증명을 출력하여 올바르게 계산되었음을 보장합니다.

비탈릭 부테린이 블록체인 투표에 대한 두 가지 오해를 해명하다: 왜 저평가되었는가?

사용자는 그들이 어떻게 참여했는지 증명할 수 없습니다. 왜냐하면 그들은 '키 변경' 메시지를 보내어 그들을 감사하려는 사람들을 속일 수 있기 때문입니다: 그들은 먼저 키를 A에서 B로 변경하는 메시지를 보낸 후, A로 서명된 '가짜 메시지'를 보낼 수 있습니다. 서버는 이 가짜 메시지를 거부하지만, 다른 사람들은 이 키 변경 메시지가 전송되었다는 것을 알 방법이 없습니다. 서버에는 신뢰 요구가 있으며, 비록 개인 정보 보호와 강제 저항을 구현하기 위해서라도, 서버는 잘못된 계산 방식이나 메시지를 검열하여 잘못된 결과를 발표할 수 없습니다. 장기적으로는 다자간 계산을 사용하여 어느 정도 서버의 탈중앙화를 실현하여 개인 정보 보호와 강제 저항의 보장을 강화할 수 있습니다.

이 솔루션은 clr.fund[15]에서 시연되었으며, 이 솔루션은 이차 자금 조달(quadratic funding)에 사용됩니다. 이더리움 블록체인을 사용하여 투표의 검열 저항을 보장함으로써, 위원회에 의존하는 것보다 훨씬 높은 검열 저항 수준을 보장합니다.

요약

  • 투표 과정에는 네 가지 중요한 보안 요구 사항이 충족되어야 합니다: 정확성, 검열 저항, 개인 정보 보호, 강제 저항.

  • 블록체인은 앞의 두 가지에는 능숙하지만, 뒤의 두 가지에는 능숙하지 않습니다.

  • 투표를 암호화하여 블록체인에 올리면 개인 정보 보호가 증가할 수 있습니다. 제로 지식 증명은 정확성을 가져오며, 외부 관찰자는 직접적으로 투표를 합산할 수 없습니다. 왜냐하면 그것들이 암호화되어 있기 때문입니다.

  • 다자간 계산을 통해 투표를 해독하고 검증하면 강제 저항 특성을 제공할 수 있으며, 이는 사용자가 시스템과 여러 번 상호작용할 수 있는 메커니즘과 결합되어야 합니다: 이전 투표가 후속 투표를 무효화하거나 그 반대의 경우입니다.

  • 블록체인을 사용하여 매우 높은 보안 검열 저항성을 보장할 수 있으며, 심지어 위원회가 결탁하여 강제 저항성을 깨뜨리더라도 여전히 이 검열 저항성을 유지할 수 있습니다. 블록체인을 도입하면 시스템의 보안을 크게 향상시킬 수 있습니다.

하지만 우리는 기술을 신뢰할 수 있을까요?

하지만 이제 우리는 전자 투표의 어떤 형태에 대한 두 번째 깊은 비판으로 돌아갑니다(블록체인을 사용하든 사용하지 않든): 기술 자체가 너무 불안정하여 신뢰할 수 없다는 것입니다.

MIT의 최근 논문[16]은 블록체인 투표를 비판하며, 아래 표를 포함하여 모든 형태의 무지종이 투표가 근본적으로 안전성을 보장하기 어렵다는 것을 설명합니다:

비탈릭 부테린이 블록체인 투표에 대한 두 가지 오해를 해명하다: 왜 저평가되었는가?

이 논문의 저자들이 주목한 핵심 속성은 소프트웨어 독립성(software-independence)입니다. 그들은 이를 '시스템 소프트웨어에서 발견되지 않은 변화나 오류가 선거 결과에 눈에 띄지 않는 변화를 초래할 수 없는 속성'으로 정의합니다. 기본적으로 말하자면, 코드의 버그가 우연히 Prezzy McPresidentface를 어떤 나라의 새로운 대통령으로 만들 수 없어야 한다는 것입니다(또는 더 현실적으로, 고의로 삽입된 버그가 특정 후보자의 투표 비율을 42%에서 52%로 증가시킬 수 없어야 한다는 것입니다).

하지만 버그를 처리하는 다른 방법도 있습니다. 예를 들어, 공개적으로 검증 가능한 제로 지식 증명을 사용하는 블록체인 기반 투표 시스템은 독립적으로 검증될 수 있습니다. 어떤 사람은 증명 검증기 구현을 스스로 작성하고 ZK-SNARK를 검증할 수 있습니다. 그는 심지어 자신의 투표 소프트웨어를 작성할 수도 있습니다. 물론, 실제로 그렇게 하는 기술적 복잡성은 99.99%의 실제 유권자 수를 초과하지만, 수천 명의 독립 전문가가 그렇게 할 수 있고, 소프트웨어가 작동할 수 있음을 검증할 수 있다면, 이는 실질적으로 매우 좋은 일입니다.

그러나 MIT의 저자들에게는 이것만으로는 충분하지 않습니다:

따라서 전자 시스템, 심지어 엔드 투 엔드 검증 가능한 시스템조차도 예측 가능한 미래의 정치 선거에 적합하지 않은 것 같습니다. 미국 투표 재단은 E2E-V 방법이 온라인 투표의 안전성을 개선할 수 있다는 약속을 주목했지만, 이 기술이 더 성숙해지고 투표에서 충분히 테스트될 때까지 온라인 투표에 사용하는 것을 피하라는 자세한 보고서를 발표했습니다.

다른 사람들은 이러한 생각을 확장했습니다. 예를 들어, Juels 등의 제안은 암호학을 사용하여 다양한 형태의 '강제 저항'을 제공하는 것을 강조합니다. Clarkson 등의 Civitas 제안은 강제 저항을 위한 추가 메커니즘을 구현했으며, Iovino 등의 제안은 이를 통합하고 그들의 Selene 시스템으로 세분화했습니다. 우리의 관점에서 볼 때, 이러한 제안은 혁신적이지만 비현실적입니다: 그것들은 상당히 복잡하며, 가장 심각한 것은 그들의 안전성이 유권자의 장치가 손상되지 않고 예상대로 작동한다는 비현실적인 가정에 의존한다는 것입니다.

이 MIT 저자들이 주목하는 문제는 투표 시스템의 하드웨어 안전성입니다; 이 측면의 위험은 실제로 제로 지식 증명을 사용할 경우 완화될 수 있습니다. 반대로, 그들이 주목하는 것은 다른 안전 문제입니다: 원칙적으로 사용자의 장치가 안전한가?

소비자 장치에 대한 다양한 취약점과 해킹 공격의 오랜 역사로 인해, 사람들은 대답이 '안전하지 않다'고 생각할 이유가 충분합니다. 다음은 제가 2013년에 작성한 비트코인 지갑 보안에 관한 글에서 인용한 내용입니다:

어젯밤 9시경, 저는 CoinChat[.]freetzi[.]com에 접근하는 링크를 클릭했습니다 -- 자바를 실행하라는 메시지가 나왔습니다. 저는 그렇게 했습니다(이게 합법적인 채팅룸이라고 생각했기 때문입니다), 그러나 아무 일도 일어나지 않았습니다. 저는 그 창을 닫고 신경 쓰지 않았습니다. 약 14분 후, bitcoin-qt 지갑을 열었을 때, 제가 승인하지 않은 거래가 발생했으며, 그 거래는 제 지갑의 모든 자금(2.07 BTC)을 이 주소로 보냈습니다:

1Es3QVvKN1qA2p6me7jLCVMZpQXVXWPNTC

또한:

2011년 6월, Bitcointalk 회원 'allinvain'의 컴퓨터가 불명확한 침입자에 의해 직접 침입당하여 2.5만 BTC(당시 가치 50만 달러)를 잃었습니다. 공격자는 allinvain의 wallet.dat 파일에 접근할 수 있었고, 그 지갑을 신속하게 비웠습니다 -- allinvain의 컴퓨터를 통해 거래를 보내거나 wallet.dat 파일을 업로드한 후 자신의 컴퓨터에서 그 지갑을 비웠습니다.

그러나 이러한 재앙은 더 큰 사실을 가립니다: 지난 20년 동안 컴퓨터 보안은 실제로 점진적으로 개선되고 있습니다[17]. 이제 공격이 발생하기가 더 어려워졌으며, 일반적으로 공격자는 여러 하위 시스템에서 취약점을 찾아야 하며, 대규모 복잡한 코드에서 단일 취약점을 찾아야 합니다. 이제 주목할 만한 사건은 그 어느 때보다 많지만, 이는 모든 것이 더 안전하지 않다는 신호가 아닙니다; 오히려 이는 우리가 인터넷에 점점 더 의존하고 있다는 신호입니다.

신뢰할 수 있는 하드웨어(trusted hardware[18])는 최근 매우 중요한 개선의 출처입니다. 일부 새로운 '블록체인 전화기'(예: HTC의 한 전화기[19])는 이 기술에서 상당히 멀리 나아갔으며, 신뢰할 수 있는 하드웨어 칩에 보안을 중시하는 극소형 운영 체제를 설치하여 높은 보안 요구 사항을 가진 응용 프로그램(예: 암호화폐 지갑)이 다른 응용 프로그램과 분리될 수 있도록 합니다. 삼성은 유사한 기술을 사용하는 전화기를 생산하기 시작했습니다. 심지어 광고에서 '블록체인 장치'로 홍보되지 않은 장치(예: 아이폰)조차도 종종 어떤 형태의 신뢰할 수 있는 하드웨어를 가지고 있습니다.

암호화폐 하드웨어 지갑은 실제로 동일한 것입니다. 단지 이 신뢰할 수 있는 하드웨어 모듈이 물리적으로 컴퓨터 외부에 위치한다는 점에서 다릅니다. 그러나 신뢰할 수 있는 하드웨어는 (당연히!) 보안 커뮤니티, 특히 블록체인 커뮤니티에서 종종 좋지 않은 평가를 받습니다. 왜냐하면 그것이 항상 여러 번 해킹되기 때문입니다[20]. 실제로, 당신은 그것을 보안 보호의 대체로 사용하고 싶지 않을 것입니다. 그러나 강화 기술로서, 그것은 큰 발전입니다.

마지막으로, 암호화폐 지갑과 투표 시스템과 같은 단일 응용 프로그램은 전체 소비자 운영 체제보다 훨씬 간단하여 오류가 발생할 여지가 적습니다 -- 비록 당신이 이차 투표, 추첨, 이차 선택 등을 지원해야 하더라도 말입니다. 신뢰할 수 있는 하드웨어와 같은 도구의 이점은 그것들이 복잡하고 공격받을 가능성이 있는 것에서 단순한 것을 분리할 수 있다는 것이며, 이러한 도구는 어느 정도 성공을 거두고 있습니다.

그래서 시간이 지남에 따라 위험이 줄어들 수 있습니다

하지만 그 이점은 무엇인가요?

이러한 보안 기술의 개선은 소비자 하드웨어가 미래에 현재보다 더 신뢰받을 수 있음을 예고합니다. 지난 몇 년 동안 이 분야에 대한 투자는 앞으로 10년 동안 계속해서 수익을 얻을 가능성이 있으며, 우리는 더 눈에 띄는 개선을 기대할 수 있습니다. 그러나 블록체인을 기반으로 하든 다른 방식으로 하든, 투표를 전자화하는 것의 이점은 무엇일까요? 이 전체 분야를 탐색할 가치가 있을까요?

제 대답은 간단합니다: 투표는 더 효율적으로 이루어져, 우리가 더 자주 투표할 수 있게 될 것입니다. 현재 정부나 기업에 대한 공식적인 민주적 참여는 보통 1-6년에 한 번씩 투표로 제한됩니다. 아마도 이로 인해 우리 사회의 분산된 의사 결정은 두 가지 극단으로 심각하게 분화되었습니다: 순수한 민주주의와 순수한 시장. 민주주의는 매우 비효율적이거나(기업 및 정부 투표), 매우 안전하지 않습니다(소셜 미디어의 좋아요/리트윗). 시장은 기술적으로 소셜 미디어보다 훨씬 효율적이며, 안전성도 훨씬 높지만, 그 기본 경제 논리는 많은 유형의 의사 결정 문제, 특히 공공 제품과 관련된 의사 결정 문제에 적합하지 않습니다.

비탈릭 부테린이 블록체인 투표에 대한 두 가지 오해를 해명하다: 왜 저평가되었는가?네, 저는 이게 또 삼각형이라는 걸 압니다. 정말 죄송합니다. 하지만 이번만 용서해 주세요….(좋아요, 저는 확신합니다. 나중에 더 많은 삼각형을 만들 것입니다; 참아주세요)

우리가 민주주의와 시장 사이에 더 많은 시스템을 구축할 수 있다면, 우리는 전자의 평등주의, 후자의 기술적 효율성 및 두 가지 사이의 경제적 속성에서 이익을 얻을 수 있습니다. 이차 자금 조달(Quadratic funding)은 좋은 예입니다; 유동 민주주의(liquid democracy)도 좋은 예입니다. 심지어 우리가 새로운 위임 메커니즘이나 이차 수학을 도입하지 않더라도, 우리는 더 작은 범위에서 더 많은 투표를 통해 투표를 각 유권자가 얻을 수 있는 정보에 더 적합하게 만들 수 있습니다. 이러한 모든 아이디어의 도전은, 어떤 제안이 지속적으로 민주주의의 어떤 정도를 유지할 수 있도록 하려면, 어떤 형태의 강제 저항과 매수 방지 메커니즘이 필요하다는 것입니다: 이것이 바로 이러한 유망한 ZK-SNARK + MPC + 블록체인 투표 솔루션이 해결하려고 하는 문제입니다.

암호화 분야가 도움을 줄 수 있습니다

암호화폐 분야의 저평가된 이점 중 하나는, 그것이 적대적인 환경에서 경제 및 암호화 아이디어를 테스트할 수 있는 훌륭한 '가상 경제 특구'라는 것입니다. 당신이 무엇을 구축하고 발표하든, 그 경제적 힘이 특정 규모를 초과하면, 다양한 참여자(때로는 이타적인 참여자, 때로는 이익을 추구하는 참여자, 그리고 때로는 악의적인 참여자, 그들 중 많은 사람들이 완전히 익명입니다)가 갑자기 이 시스템에 몰려들어 그 경제적 힘을 그들의 다양한 목표로 왜곡하려고 시도합니다.

공격자의 동기는 매우 높습니다: 만약 공격자가 당신의 암호화 경제 도구에서 100달러를 훔친다면, 그들은 일반적으로 100달러의 보상을 완전히 얻을 수 있으며, 대개 처벌을 피할 수 있습니다. 그러나 방어자의 동기도 매우 높습니다: 만약 당신이 사용자가 자금을 잃지 않도록 도와주는 도구를 개발한다면, 당신은 (적어도 가끔은) 그것을 도구로 전환하여 수백만 달러를 벌 수 있습니다. 암호화폐는 궁극적인 훈련장입니다: 만약 당신이 이러한 환경에서 대규모로 생존할 수 있는 것을 구축할 수 있다면, 그것은 더 큰 세계에서도 생존할 수 있을 것입니다.

이것은 이차 자금 조달[21], 멀티시그(다중 서명)[22], 소셜 복구 지갑[23] 및 투표 시스템에 적용됩니다. 블록체인 분야는 중요한 보안 기술의 출현을 촉진하는 데 도움을 주었습니다:

  • 하드웨어 지갑;

  • 효율적인 범용 제로 지식 증명;

  • 형식적 검증 도구;

  • 신뢰할 수 있는 하드웨어 칩이 탑재된 '블록체인 전화기';

  • 강제 저항 메커니즘, 예를 들어 인류 증명[24]

이 모든 경우에서 기술의 어떤 버전은 블록체인이 등장하기 전에 이미 존재했습니다. 그러나 블록체인이 이러한 작업을 추진하는 데 중대한 영향을 미쳤다는 것은 부인할 수 없습니다. 블록체인 분야의 고유한 인센티브 메커니즘은 기술 발전의 실제 구현을 촉진하는 데 중요한 역할을 했습니다.

요약

단기적으로, 어떤 형태의 블록체인 투표도 소규모 실험으로 제한되어야 합니다. 더 주류 응용 프로그램을 대상으로 하든 블록체인 분야 자체의 소규모 실험을 대상으로 하든 간에 말입니다. 현재의 안전성은 분명히 충분히 좋지 않으며, 모든 것을 컴퓨터에 의존할 수 없습니다. 그러나 이는 개선되고 있으며, 만약 제가 틀렸다면, 안전성이 개선되지 않았다면, 블록체인 투표뿐만 아니라 전체 암호화폐도 성공하기 어려울 것입니다. 따라서 이 기술은 계속 개선될 큰 동기를 가지고 있습니다.

우리는 이 기술과 전 세계에서 안전성을 높이기 위한 노력에 계속 주목해야 하며, 매우 중요한 사회적 과정에서 기술을 더욱 자유롭게 사용할 수 있도록 점진적으로 나아가야 합니다. 기술은 이미 우리의 금융 시장의 핵심이며, 경제의 상당 부분을 암호화하는 것은 우리의 암호 알고리즘이 알고리즘을 실행하는 하드웨어에 더 큰 부분을 맡기는 것입니다. 우리는 이 과정을 면밀히 관찰하고 지원해야 하며, 시간이 지남에 따라 그 이점을 활용하여 우리의 거버넌스 기술을 21세기로 가져와야 합니다.

특별히 Karl Floersch, Albert Ni, Mr Silly 및 기타 사람들의 피드백과 논의에 감사드립니다.

체인캐처(ChainCatcher)는 독자들에게 블록체인을 이성적으로 바라보고, 리스크 인식을 실제로 향상시키며, 다양한 가상 토큰 발행 및 조작에 경계해야 함을 상기시킵니다. 사이트 내 모든 콘텐츠는 시장 정보나 관련 당사자의 의견일 뿐이며 어떠한 형태의 투자 조언도 제공하지 않습니다. 만약 사이트 내에서 민감한 정보를 발견하면 “신고하기”를 클릭하여 신속하게 처리할 것입니다.
체인캐처 혁신가들과 함께하는 Web3 세상 구축