BTC
ETH
HTX
SOL
BNB
시장 동향 보기
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

V God의 최신 장편 기사: CEX가 기술을 사용하여 결백을 증명하는 방법

Katie 辜
Odaily资深作者
2022-11-20 03:22
이 기사는 약 5130자로, 전체를 읽는 데 약 8분이 소요됩니다
준비금 증명을 늘리고, 소프트웨어 및 프로세스를 오픈 소스로 공개하고, 기술적으로 교환을 비수탁에 가깝게 만듭니다.
AI 요약
펼치기
준비금 증명을 늘리고, 소프트웨어 및 프로세스를 오픈 소스로 공개하고, 기술적으로 교환을 비수탁에 가깝게 만듭니다.

이 기사는 Vitalik Buterin이 기사는

, Odaily 번역가 Katie Koo가 편집했습니다.

이 게시물에서는 CEX를 무신뢰에 한 걸음 더 가까이 다가가려는 과정, 이러한 기술의 한계, ZK-SNARK와 같은 고급 기술에 의존하는 몇 가지 솔루션과 더 강력한 아이디어에 대해 논의합니다.

보조 제목

대차대조표 및 머클 트리: 전통적인 지급 능력 증명

사용자를 속이지 않는다는 것을 암호학적으로 증명하려는 거래소의 초기 시도는 과거로 거슬러 올라갑니다. 2011년 당시 최대 규모의 비트코인 ​​거래소인 마운트곡스(MtGox)는 미리 공지된 주소로 424,242 비트코인을 전송하는 트랜잭션을 보내 자금이 있음을 증명했습니다. 2013년에 문제의 다른 측면인 고객 예금의 총 규모를 증명하는 방법에 대한 논의가 시작되었습니다. 고객의 예치금이 X(책임 증명)와 같음을 증명하고 X 토큰에 대한 개인 키(자산 증명)가 있음을 증명하면 지급 능력 증명이 됩니다. 모든 예금자를 상환하십시오.

  • 예금을 증명하는 가장 쉬운 방법은 단순히 (사용자 이름, 잔액) 쌍 목록을 게시하는 것입니다. 모든 사용자는 자신의 잔액이 목록에 포함되어 있는지 확인할 수 있으며 누구나 전체 목록을 확인할 수 있습니다. 다음을 참조하세요.

  • 각 잔액은 음수가 아닙니다.

총액은 청구 금액입니다.

  • 물론 이렇게 하면 프라이버시가 침해되므로 체계를 약간 변경할 수 있습니다.

(해시 "사용자 이름, 소금", 잔액) 쌍 목록을 게시하고 각 사용자에게 소금 값을 개인적으로 보냅니다. 그러나 그것조차도 균형과 균형 변화의 패턴을 포기할 것입니다.

  • 머클 트리 기법.

이미지 설명

녹색: 찰리를 나타내는 노드입니다. 파란색: Charlie가 증명의 일부로 받게 될 생성 노드를 나타냅니다. 노란색: 모든 사람에게 공개적으로 표시되는 루트 노드를 나타냅니다.

거래소는 각 사용자에게 Merkel 예금 증빙을 보냅니다. 그러면 사용자는 잔액이 총액의 일부로 올바르게 포함된다는 보장을 받게 됩니다. 허용여기여기

간단한 샘플 코드 구현을 찾으십시오.

이 디자인에서 유출된 개인 정보는 전체 공개 목록보다 훨씬 낮고 "루트"가 해제될 때마다 분기를 이동하여 더 줄일 수 있지만 여전히 일부 개인 정보 유출이 있습니다. Charlie는 누군가가 164의 균형을 가지고 있음을 알게 됩니다 ETH , 잔액이 최대 70 ETH 등인 두 명의 사용자가 있습니다. 여러 계정을 제어하는 ​​공격자는 여전히 교환 사용자에 대해 많은 정보를 얻을 수 있습니다.

계획의 중요한 미묘함은 마이너스 잔액의 가능성입니다. 교환에 1390 ETH의 고객 잔액이 있지만 예비 890 ETH만 있는 경우 트리 잔액 어딘가에 있는 가짜 계정에 -500 ETH를 추가하여 차이점, 어떻게 해야 합니까? 이 가능성은 계획을 깨뜨리지 않는 것으로 밝혀졌으며, 이것이 우리가 일반 Merkle 트리 대신 Merkle sum 트리가 특별히 필요한 이유입니다. Henry가 거래소에서 관리하는 가짜 계정이라고 가정하면 거래소에서 -500 ETH를 넣었습니다.

거래소가 500 ETH 상당의 사용자를 식별할 수 있고 그들이 증명을 확인하지 않을 것이라고 신뢰할 수 있거나 그들이 증명을 받지 못했다고 불평할 때 그들을 신뢰할 수 있다면 그들은 도용 혐의를 피할 수 있습니다. 그러나 교환은 이러한 사용자를 트리에서 제외할 수도 있으며 동일한 효과를 갖습니다. 따라서 Merkle 트리 기술은 기본적으로 책임 증명을 달성하는 것이 목표인 경우 책임 증명 체계만큼 좋습니다. 그러나 프라이버시 속성은 여전히 ​​이상적이지 않습니다. 각 사토시 또는 웨이를 별도의 리프로 만드는 것과 같이 더 스마트한 방법으로 Merkle 트리를 사용할 수 있지만 궁극적으로 더 현대적인 기술을 사용하면 이를 수행하는 더 좋은 방법이 있습니다.

보조 제목

ZK-SNARK를 사용하여 개인 정보 보호 및 견고성 개선

우리가 할 수 있는 가장 간단한 일은 모든 사용자의 예치금을 Merkle 트리(또는 더 간단하게는 KZG 약정)에 넣고 ZK-SNARK를 사용하여 트리의 모든 잔액이 음수가 아님을 증명하고 다음을 추가하는 것입니다. 일부 주장된 가치. 프라이버시를 위해 해싱 레이어를 추가하면 각 사용자에게 제공된 Merkle 분기(또는 KZG 증명)는 다른 사용자의 잔액을 공개하지 않습니다.

이미지 설명

KZG 약정을 사용하는 것은 "자매 노드"를 증거로 제공할 필요가 없고 간단한 ZK-SNARK를 사용하여 잔액 합계를 증명할 수 있고 각 잔액이 음수가 아니므로 개인 정보 유출을 방지하는 방법입니다.

전용 ZK-SNARK를 사용하여 위의 KZG에서 잔액의 합과 음이 아님을 증명할 수 있습니다. 다음은 간단한 예입니다. 각 잔고의 일부를 구성하는 보조 다항식 I(x)를 도입합니다(잔고가 215 미만이라고 가정). 실제 합계가 선언된 합계와 동일한 경우에만 16개 위치마다 오프셋이 있는 합계를 추적합니다. 일치하는 항목이 있으면 0으로 설정합니다. z가 -128번째 단위근이면 다음 방정식을 증명할 수 있습니다.

장기적으로 이러한 ZK 부채 증명은 거래소의 고객 예금뿐만 아니라 보다 일반적인 대출에도 사용될 수 있습니다. 대출을 받는 사람은 누구나 대출을 포함하는 다항식 또는 트리에 레코드를 넣고 해당 구조의 루트는 온체인에 게시됩니다. 이를 통해 대출을 원하는 사람은 대출 기관에 자신이 다른 대출을 너무 많이 받지 않았음을 증명할 수 있습니다. 궁극적으로 법적 혁신은 이러한 방식으로 약정된 대출에 그렇지 않은 대출보다 더 높은 우선 순위를 부여할 수도 있습니다. 이것은 우리와 함께"분권화된 사회: Web3의 영혼을 찾아서"보조 제목

자산 증명

자산 증명의 가장 간단한 버전은 위에서 본 프로토콜입니다. X 토큰을 보유하고 있음을 증명하려면 사전 합의된 시간에 X 토큰을 이동하거나 데이터 필드에 "이 자금은 바이낸스에 속합니다"를 포함하면 됩니다 X 토큰 이동 거래에서 . 거래 수수료 지불을 피하기 위해 오프 체인 메시지에 서명할 수 있습니다. 비트코인과 이더리움 모두 오프체인 메시지 서명에 대한 표준을 가지고 있습니다.

이 간단한 자산 증명 기술에는 두 가지 실질적인 문제가 있습니다.

  • 이 간단한 자산 증명 기술에는 두 가지 실질적인 문제가 있습니다.

  • 콜드 월렛 취급;

보안상의 이유로 대부분의 거래소는 대부분의 고객 자금을 콜드 월렛에 보관합니다. 오프라인 컴퓨터에서는 트랜잭션을 수동으로 서명하고 인터넷으로 전송해야 합니다. 과거에 개인 자금을 저장하는 데 사용했던 콜드 월렛 설정은 서명된 거래가 포함된 QR 코드를 생성하기 위해 영구적으로 오프라인인 컴퓨터가 필요했고, 그런 다음 휴대폰으로 스캔했습니다. 현재 교환 프로토콜은 더 이상하며 종종 여러 장치 간의 다자간 계산을 포함합니다. 이 설정에서 주소 제어를 증명하기 위해 추가 메시지를 만드는 것은 비용이 많이 드는 작업입니다.

교환은 다음 방법을 사용할 수 있습니다.

  • 교환은 다음 방법을 사용할 수 있습니다.

  • 공용 장기 사용 주소를 예약하십시오. 거래소는 몇 개의 주소를 생성하고 소유권을 증명하기 위해 각 주소의 증명을 한 번 발행한 다음 해당 주소를 재사용합니다. 보안 및 개인 정보를 보호할 수 있는 방법에 몇 가지 제한 사항이 추가되지만 가장 쉬운 옵션입니다.

  • 많은 주소가 있습니다. 몇 개만 증명하십시오. 거래소에는 많은 주소가 있으며 각 주소를 한 번만 사용하고 단일 트랜잭션 후에 종료할 수도 있습니다. 이 경우 교환에는 때때로 일부 주소가 무작위로 선택되고 소유권을 증명하기 위해 "공개"되어야 하는 프로토콜이 있을 수 있습니다. 일부 거래소는 이미 감사자와 유사한 작업을 실행하고 있지만 원칙적으로 이 기술은 완전히 자동화된 절차로 전환될 수 있습니다.

  • 더 복잡한 ZKP 옵션. 예를 들어, 거래소는 모든 주소를 1/2 멀티시그로 설정할 수 있습니다. 여기서 각 주소는 서로 다른 개인 키를 가지고 있고 다른 주소는 일부 "중요한" 비상 백업 키의 블라인드 버전입니다. 12/16 다중 서명으로. 프라이버시를 보호하고 전체 주소 공개를 피하기 위해 거래소는 이 형식으로 체인에 있는 모든 주소의 총 잔액을 증명하는 영지식 증명을 블록체인에서 실행할 수도 있습니다.

또 다른 주요 관심사는 담보의 이중 사용을 방지하는 것입니다. 교환하기 쉬운 준비금을 증명하기 위해 서로간에 담보를 이리저리 옮기면 실제로는 그렇지 않은데 지급 능력이 있는 척할 수 있습니다. 이상적으로 지급 능력 증명은 실시간으로 수행되어야 하며 각 블록 후에 업데이트된 증명이 필요합니다. 이것이 비현실적이라면 다음으로 가장 좋은 방법은 매주 화요일 오후 2시(UTC)에 준비금을 증명하는 것과 같이 고정된 일정에 따라 거래소 간에 조정하는 것입니다.

또 다른 접근법은 암호화폐와 전통적인 은행 시스템(USDC 자체) 사이에서 현금을 입출금하는 프로세스를 처리하는 다른 주체로부터 자산 기반 스테이블 코인(예: USDC)을 처리하는 교환을 운영하는 하나의 주체를 완전히 분리하는 것입니다. USDC의 "책임"은 체인의 ERC20 토큰뿐이므로 책임 증명은 "무료"이며 자산 증명만 필요합니다.

보조 제목

플라즈마 및 발리디움 스케일링 솔루션: 비수탁 CEX를 달성할 수 있습니까?

우리가 한 단계 더 나아가고 싶다고 가정해 보겠습니다. 우리는 거래소가 사용자에게 갚을 자금이 있다는 것을 증명하고 싶지 않습니다. 대신, 우리는 노골적인 교환이 사용자의 자금을 훔치는 것을 방지하고자 합니다.

첫 번째 주요 시도는 2017년과 2018년 이더리움 연구계에서 인기를 끌었던 스케일링 솔루션인 Plasma였습니다. Plasma는 균형을 독립적인 "토큰" 집합으로 분할하여 작동하며 각 토큰에는 인덱스가 할당되고 Plasma 블록의 Merkle 트리에서 특정 위치에 상주합니다. 유효한 토큰 전송을 위해서는 루트가 온체인에 게시된 트리의 올바른 위치에 트랜잭션을 배치해야 합니다.

Plasma 버전의 지나치게 단순화된 다이어그램. 토큰은 철회 시 플라즈마 프로토콜의 규칙을 시행하는 스마트 계약에 보관됩니다.

2018년 플라즈마 논의가 급증한 이후 ZK-SNARK는 스케일링과 관련된 사용 사례에 더 적합해졌습니다. 위에서 말했듯이 ZK-SNARK는 모든 것을 변경했습니다.

Plasma에 대한 보다 현대적인 아이디어는 Starkware가 validium이라고 부르는 것입니다. 데이터가 오프체인에 보관된다는 점을 제외하면 기본적으로 ZK-롤업과 동일합니다. 이 구조는 많은 사용 사례에서 사용할 수 있습니다. 중앙 집중식 서버가 일부 코드를 실행하고 코드를 올바르게 실행하고 있음을 증명해야 하는 상황을 상상해 보세요. 유효 기간 동안 운영자가 자금을 훔칠 수 있는 방법은 없지만 구현 세부 사항에 따라 운영자가 사라지면 일부 사용자 자금이 정체될 수 있습니다.

CEX와 DEX는 바이너리가 아니며 효율성과 같은 이점을 얻을 수 있는 다양한 형태의 하이브리드 중앙화를 포함하여 다양한 옵션이 있지만 중앙 집중식 운영자 남용에 대한 많은 암호화 장벽이 여전히 있습니다.

사용자 오류 처리도 큰 문제입니다. 지금까지 가장 중요한 유형의 오류는 사용자가 비밀번호를 잊어버리거나 기기를 분실하거나 해킹당하거나 계정에 대한 액세스 권한을 잃으면 어떻게 됩니까?

이상적인 장기 솔루션은 다중 서명 및 소셜 복구 지갑과 같은 기술의 도움을 받아 사용자가 긴급 상황에 대처할 수 있도록 지원하는 자체 보관에 의존하는 것입니다. 그러나 단기적으로는 비용과 이점이 크게 다른 두 가지 확실한 대안이 있습니다.

보조 제목

요약: 보다 발전된 교환을 위한 미래 내다보기

단기적으로 교환에는 보관 교환과 비 보관 교환의 두 가지 명확한 범주가 있습니다. 오늘날 후자의 범주는 Uniswap과 같은 DEX일 뿐이며, 미래에는 사용자 자금이 validium 스마트 계약과 유사한 형태로 보유되는 제한된 암호화 기술을 갖춘 CEX도 볼 수 있습니다. 우리는 또한 암호 화폐가 아닌 명목 화폐로 작동하도록 신뢰하는 세미 수탁 교환을 볼 수 있습니다.

두 가지 유형의 교환이 여기에 있으며 보관 교환의 보안을 향상시키는 가장 쉬운 역호환 방법은 보유 증명을 추가하는 것입니다. 여기에는 자산 증명과 부채 증명의 조합이 포함됩니다. 두 가지 모두에 대해 좋은 프로토콜을 만드는 데는 기술적인 문제가 있지만, 우리는 모든 교환이 이익을 얻을 수 있도록 가능한 한 많은 오픈 소스 소프트웨어와 프로세스를 진행해야 합니다.

안전
Odaily 공식 커뮤니티에 가입하세요