정통
James Austgen, Kushal Babel, Vitalik Buterin, Phil Daian, Ari Juels 및 Mahimna Kelkar 작성
'이생에서 우리는 사실만을 원합니다. 사실만!'
— 찰스 디킨스, 힘든 시간
오늘 발표한 논문 에서 완전한 지식 증명 (CK) 이라고 하는 새로운 암호화 개념을 소개합니다 . 우리는 또한 CK를 스마트폰과 함께 사용할 수 있도록 하는 방법을 제공하는 프로토타입에 대해 보고합니다.
이름에서 알 수 있듯이 지식 증명은 한 당사자(예: Alice)가 다른 당사자(예: Bob)에게 개인 키 SK와 같은 특정 비밀을 알고 있다고 확신시킬 수 있습니다 . 디지털 서명이 그 예입니다. 그녀의 주소 A 에서 자금을 지출하는 앨리스가 생성한 암호화폐 트랜잭션 T를 고려하십시오 . 유효하려면 T는 A 에 대한 유효한 개인 키 SK 로 디지털 서명되어야 합니다 . 여기서 디지털 서명은 T 의 작성자인 Alice가 키 SK를 알고 있음을 증명합니다 . 트랜잭션을 유효하게 만드는 것은 SK 지식 증명입니다 . 암호화폐 시스템에서 주소 A 의 소유자는정의상 SK를 아는 사람 입니다 .
지식 증명은 암호화 시스템 설계의 핵심입니다. 그러나 기존의 지식 증명 시스템에는 심각한 한계가 있음이 밝혀졌습니다. Alice는 SK를 알고 있다는 설득력 있는 증거를 만들 수 있지만 여전히 실제로 는 알지 못할 수 있습니다.
여기에 비유가 있습니다. Mallory가 Jeopardy 에 참가자로 출연하기를 원한다고 가정해 봅시다 . 그녀는 쇼 진행자(Mayim Bialik)와 인터뷰를 합니다. Mallory는 학교에서 배운 적이 없는 미국 주도에 대한 인터뷰 중에 질문을 받게 될 것임을 알고 있습니다. (그녀는 지리 수업 중에 NFT를 뒤집느라 바빴습니다.) 그래서 그녀는 속임수를 쓰기로 결정합니다. Mallory의 친구 Alice는 미국 동부 절반에 있는 주도를 모두 알고 있는 반면 그녀의 친구 Bob은 서부에 있는 주도를 알고 있습니다. 따라서 Mallory는 각 귀에 무선 통신 장치를 숨깁니다. 그녀의 왼쪽 귀에 있는 것은 앨리스와 소통합니다. 그녀의 오른쪽 귀에 있는 귀는 밥과 의사소통을 합니다. Mallory의 속임수 덕분에 인터뷰 중에 미국 여러 주의 수도를 물으면 항상 올바르게 대답합니다.
그러나 Mallory는 미국 주도를 모두 알고 있습니까? 분명히 아닙니다. 앨리스 나 밥이요? 대답은 여전히 '아니오'입니다. Alice와 Bob이 함께 미국의 모든 주도를 알고 있다고 말할 수 있습니다 . 그러나 Alice가 이상하게도 미신을 믿고 금요일에는 국가 자본의 질문에 대답하기를 거부한다고 가정해 보십시오. 여전히 Alice와 Bob이 함께 미국의 모든 주도에 대한 지식을 가지고 있다고 말할 수 있습니까? 예, 아니오. 지식은 앨리스와 밥의 머릿속에 존재하지만, 반드시 원하는 대로 추출할 수 있는 것은 아니다 . Mallory가 금요일에 Jeopardy 인터뷰를 하면 곤경에 처하게 됩니다.
완전한 지식은 지식을 갖는다는 것의 의미에서 이러한 종류의 간극을 해결합니다. 우리의 비유에서 Alice가 금요일에 질문에 대답하기를 거부하는 것은 우리가 부담이라고 부르는 지식에 대한 액세스 제한입니다. 암호화의 기존 지식 증명이 부족한 부분을 설명하기 위해 특히 비밀 키의 부담에 대한 잠재적으로 문제가 있는 몇 가지 예부터 시작하는 것이 도움이 됩니다.
부담 문제
비밀을 암호화할 수 있는 두 가지 다른 기술이 있습니다. TEE( 신뢰할 수 있는 실행 환경 ) 및 MPC( 보안 다자간 계산 )입니다.
TEE는 블랙 박스와 유사한 컴퓨팅 환경입니다. TEE의 내부 상태는 불투명하고 조작할 수 없습니다. 하드웨어나 소프트웨어를 사용하여 응용 프로그램 실행의 무결성 과 개인 정보 보호를 모두 시행하여 코드가 실행되는 바로 그 기계의 소유자에 의한 변조 및 관찰에 대한 보호를 제공합니다. TEE의 예로는 모바일 장치의 엔클레이브(예: ARM Trustzone)와 일부 클라우드 서버에서 사용할 수 있는 Intel SGX(Software Guard eXtensions)가 있습니다.
반면에 MPC는 거의 동일한 보안 목표를 달성하기 위한 알고리즘 방식입니다. 종종 위원회라고 하는 서버 모음 간에 비밀과 계산을 분할합니다. MPC의 보안은 올바르게 작동하는 위원회(예: 다수)의 서버 정족수에 의존합니다.
TEE는 오늘날 MPC보다 훨씬 더 실용적이고 널리 퍼져 있기 때문에 블록체인 투표 시스템에 대한 TEE 기반 공격부터 시작하여 다음 예에서 TEE에 중점을 둘 것입니다. 다음은 투표 체계에 대한 공격과 관련된 예입니다.
이 예에서 강력하고 은밀한 뇌물 수수 문제는 순진하게 설계된 블록체인 투표 제도뿐만 아니라 MACI(Minimal Anti-Collusion Infrastructure) 와 같이 뇌물 수수에 저항하도록 특별히 설계된 것에도 영향을 미칩니다 .
설상가상으로 TEE는 프로토콜에 대해 통합 공격을 가하는 사용자 커뮤니티를 은밀하게 장려하고 성장시킬 수 있습니다. 이전에는 Dark DAO 라고 불렀던 개념입니다 . 이러한 공격에는 투표 조작뿐만 아니라 자산 가격 조작 및 오프체인 시스템 공격이 포함될 수 있습니다 .
특히 위험한 것은 Alice가 암호화된 키 SK를 사용하여 서명된 트랜잭션을 스마트 계약으로 보내는 경우 계약에서 알 수 있는 방법이 없다는 것입니다. 앨리스의 거래는 방해받지 않는 키로 생성된 거래와 동일하게 보일 것입니다. 따라서 우리의 예에서 설명한 종류의 뇌물 수수 공격을 방지하는 것은 단순히 불가능해 보입니다.
하지만 정말인가요?
완전한 지식 보장
특히 누군가가 SK 에 직접 액세스할 수 있도록 키 SK가 방해받지 않도록 하는 방법이 있음 이 밝혀졌습니다 . 비공식적으로 이것이 우리가 완전한 지식을 의미하는 것입니다. CK의 효과는 Mallory와 같은 악의적인 사용자가 사용자가 자신의 키를 사용하는 것을 막을 방법이 없기 때문에 우리 예에서와 같은 뇌물 수수 계획이 작동하지 않는다는 것입니다.
CK 시행에는 두 가지 기본 접근 방식이 있습니다. 둘 다 우리가 완전 지식 증명 (PoCK) 이라고 부르는 것 , 특히 영지식인 것 , 즉 SK를 공개하지 않는 것의 생성을 가능하게 합니다.
- 전투 -불-불-불 접근법
대부분의 사용자는 모바일 핸드셋에 TEE를 가지고 있습니다. 우리는 그들이 투표 또는 기타 응용 프로그램을 위해 CK 체계에서 어떻게 사용할 수 있는지 우리 논문에서 보여줍니다.
그러나 백서에서 논의한 바와 같이 TEE, 특히 모바일 핸드셋의 TEE에는 몇 가지 기술적 한계가 있습니다. 그래서 우리는 또한 두 번째 접근법을 고려합니다.
2. 작업 증명 기반 접근법
이 접근 방식은 약간 직관적이지 않습니다. 여기에는 채굴 ASIC, 즉 비트코인에 사용되는 것과 같은 작업 증명 채굴 하드웨어 장비를 사용하는 것이 포함됩니다. ASIC에는 CK의 목적을 위한 두 가지 좋은 속성이 있습니다. 그들은 특정 계산, 즉 해싱을 일반 CPU 또는 GPU보다 훨씬 빠르게 수행할 수 있습니다. 최첨단 CPU보다 백만 배 정도 빠릅니다! TEE는 포함되지 않습니다.²
지식 증명 이론에 대한 문헌의 기술을 사용하고 수정하여 SK와 관련된 방식으로 채굴에 ASIC을 사용하는 프로토콜을 설계했습니다 (아직 교묘하게 숨김). 이 프로토콜은 SK가 ASIC, 즉 PoCK로 전송되었다는 증거를 생성합니다 . ASIC에는 TEE가 없기 때문에 이는 SK 가 ASIC 사용자에게 효과적으로 노출된다는 것을 의미합니다. 이 속성은 기본적으로 RBU의 특수 TEE 응용 프로그램에서 수행하는 작업( SK를 사용자에게 직접 뱉어내는 작업)과 동일합니다 . ASIC은 TEE를 지원하는 플랫폼보다 훨씬 빠르기 때문에 TEE를 사용하여 동등한 PoCK를 생성할 방법이 없습니다.
우리의 논문은 값이 싸고(약 200달러) 구식(2017년경) ASIC을 사용해도 보안 수준이 높은 PoCK를 구현할 수 있음을 실험적으로 보여줍니다.
CK Beyond Bribery-Resistance의 적용
초기에 CK는 투표 체계에서 뇌물 수수 위협을 해결하기 위해 설계되었지만 다른 많은 응용 프로그램이 있습니다. CK는 예를 들어 사용자가 돈세탁 방지 의무를 수행했다는 증명과 같이 분산된 ID 자격 증명의 부담을 방지하는 데 도움이 될 수 있습니다. 이는 사용자가 자신의 자격 증명을 대여할 수 있는 경우(예: 제재를 우회하기 위한 자격 증명 시장) 발생할 수 있는 많은 종류의 장난을 방지하는 데 필수적입니다.
CK는 또한 NFT 시장에서 흥미로운 애플리케이션을 보유하고 있습니다. 예를 들어 아티스트에 대한 로열티 지불을 집행하는 데 도움이 될 수 있습니다. 오늘날 로열티는 NFT 마켓플레이스에 의해 자발적으로 오프체인에서만 시행됩니다 . 대신 원칙적으로 스마트 계약에서 온체인 으로 집행될 수 있으며 , 이 경우 집행이 의무화됩니다. 필수 로열티 지불이 좋은 관행으로 간주되지 않는 한 가지 이유는 자신의 주소 간에 NFT를 전송하는 사용자가 로열티를 지불해야 하는 것이 불공평하기 때문입니다. 문제는 단일 사용자에 속한 발신자 주소 S 와 수신자 주소 R 과 주소 S 와 R 을 구분할 방법이 없다는 것입니다.개별 사용자에 속합니다. 따라서 단일 사용자 전송과 NFT 소유권 변경을 구분할 방법이 없습니다.
하지만 CK를 사용하면 구별이 가능합니다 . NFT 시장 계약은 PoCK가 R 과 S 에 동시에 적용되는 로열티 없는 전송을 요구할 수 있으며 , 이는 단일 개체가 둘 다 알고 있음을 증명합니다 . 이 속성은 단일 소유권에 대한 꽤 좋은 근사치입니다. 적어도 우리는 이 CK 기반 접근 방식이 로열티 회피를 강력하게 저해할 수 있다고 믿습니다.³
NFT에 대한 CK의 또 다른 흥미로운 적용은 우리가 Atomic NFT 라고 부르는 개념입니다 . 예를 들어 Doge NFT 에서 발생한 것처럼 값비싼 NFT를 분할하는 것, 즉 소유권을 작은 조각으로 나누는 것이 일반적입니다 .
그러나 우리가 이야기한 많은 예술가들은 자신의 작품을 한 개인이 소유하고 감상하는 것을 선호합니다. Atomic NFT는 이러한 욕구를 존중하고 단독 소유권을 보장하는 NFT를 생성하는 방법을 제공합니다. 이 기능을 시연하기 위해 여기에 표시된 Atomic NFT의 작은 컬렉션을 만들었습니다.
결론
지식 증명은 잘 연구된 암호학의 수십 년 된 개념입니다. 그러나 TEE 및 MPC와 같은 강력한 신(ish) 기술은 비밀의 방해를 통해 고전적인 지식 증명 환경을 뒤엎을 위협이 있습니다 . CK는 이러한 부담을 방지하고 단일 개체 또는 개인에 귀속되는 지식에 대한 직관적인 아이디어를 복원하는 방법을 제공합니다. 투표 계획의 뇌물 수수와 같은 부담 기반 공격에 대한 해결책을 제공하는 것 외에도 다양한 새로운 애플리케이션을 제공합니다.
우리는 CK가 실용적일 수 있다고 믿습니다. 우리는 PoCK 증명을 검증하는 스마트 계약 으로 종단 간 ASIC 기반 시스템을 구현했습니다 . 우리의 프로토타입 시스템에는 CK를 준수하는 것으로 입증된 스마트 계약 기반 주소 레지스트리가 포함되어 있습니다. 또한 모바일 핸드셋 기반 TEE를 사용하여 프로토타입 시스템을 구현했습니다. 우리의 프로토타입은 아직 황금 시간대에 준비되지 않았지만 실용적인 프로덕션 배포를 위한 경로가 있다고 믿습니다. 여기에서 당사 도구의 오픈 소스 버전을 찾을 수 있습니다 . 이를 실현하고자 하는 프로젝트의 협업을 환영합니다.
¹ 다행스럽게도 TEE는 중첩될 수 없으므로 Mallory가 RBU의 TEE 애플리케이션을 래핑하여 여전히 사용자 키를 방해할 영리한 방법이 없습니다.
² 대부분의 ASIC에는 온보드 보안이 거의 없습니다. 실험 과정에서 ASIC이 원격 해커에 의해 여러 번 손상되었을 때 발견한 것처럼 암호화된 네트워킹도 지원하지 않습니다.
³ 여기에 주의 사항이 있습니다. 본 논문에서 논의한 바와 같이 사회적 복구 메커니즘이 보편화되면 키에 대한 동시 지식에 대한 CK 증명이 더 이상 작동하지 않을 것입니다.

![연결된 목록이란 무엇입니까? [1 부]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































