Mimble-Wimble: 블록체인의 흑마술
哈希未来
2018-08-30 03:06
本文约3196字,阅读全文需要约13分钟
밈블윔블의 가장 큰 장점은 강력한 프라이버시를 제공하면서도 필요한 저장 공간이 적고 확장성이 높다는 것입니다.

보조 제목

보고서 요약:

보조 제목

텍스트 내용

비트코인에서 전체 노드는 약 160GB의 전체 기록 원장 데이터를 다운로드하여 사용되지 않은 트랜잭션 출력 UTXO 세트를 보장하여 트랜잭션 조건을 충족하기 위해 각 트랜잭션의 출력 주소에 충분한 UTXO가 있는지 확인해야 합니다. 그들은 거의 400만 개의 미사용 거래 출력을 얻기 위해 블록체인에 제출된 약 1억 5천만 건의 거래를 확인해야 합니다. 비트코인 풀 노드가 되기 위한 임계값이 크게 증가한 것은 모든 과거 거래 데이터를 확인해야 할 필요성 때문이며 풀 노드의 임계값을 낮추는 것은 블록체인의 분산화를 보장하는 데 중요합니다. 단기적으로는 일반 개인용 컴퓨터가 비트코인 ​​풀 노드 운영을 지원하기 어려울 것입니다. 전체 노드가 모든 과거 원장 데이터를 다운로드할 필요는 없지만 여전히 UTXO 세트의 정당성과 블록체인의 보안을 보장할 수 있는 방법이 있습니까?

또한 기존 비트코인의 프라이버시와 익명성은 생각만큼 좋지 못하며 UTXO 기반의 모델을 채택하여 미사용 트랜잭션 출력의 이체 기록 주소와 이체 금액이 공개되기 때문에 복잡한 데이터 분석 기술이 가능 이러한 이체내역을 기반으로 주소에 해당하는 거래 당사자의 신원을 분석하여 이용자의 프라이버시와 거래의 익명성을 위협할 수 있습니다.

실제로 이러한 비트코인의 단점은 다운로드해야 하는 기록 원장을 160GB에서 50GB로 줄일 수 있을 뿐만 아니라 저장 공간과 대역폭 사용량을 크게 줄일 수 있을 뿐만 아니라 더 강력한 개인 정보 보호를 제공할 수 있는 최적화 방법이 있습니다. -송곳.

그것의 원래 백서는 2016년에 발표되었습니다. 기술명과 저자는 마법의 색으로 가득합니다. Mimble-Wimble은 "Harry Potter"의 주문입니다. 저자는 Satoshi Nakamoto와 마찬가지로 Tom Elvis Jedusor(프랑스어 제목으로 Voldemort)라는 가명을 채택했습니다. Harry Potter), 백서를 떨어뜨리고 사라졌다. 백서 발표 직후 Ignotus Peverell(해리 포터의 캐릭터이기도 함)이라는 개발자가 Github의 코드에서 Mimble-Wimble을 구현하려고 시도하기 시작했으며 Blockstream의 수학자들도 이 기술을 국제 회의에서 논의했습니다. 지금까지 여러 테스트넷을 출시했습니다.

밈블-윔블에서 프라이버시와 확장성이 보장되는 이유는 다음 세 가지에서 나옵니다.

1. 블록체인에는 주소가 없으며 수신자는 각 전송에 대해 새로운 트랜잭션 증인을 구축해야 합니다.

2. 거래 금액도 숨겨집니다.

3. 중간 상태의 트랜잭션을 병합할 수 있으며 정보가 적으면 추적이 더 어려워집니다., 병합이란 블록에 패키징할 모든 트랜잭션 중 먼저 A가 B에게 돈을 이체하고 B가 C에게 일정 금액을 이체하면 이 두 트랜잭션을 모두 기록할 필요가 없고 기록 A 이체 C에게 얼마의 돈을주고 거래의 중간 상태를 병합하고 B의 서명을 동시에 첨부하면 거래의 보안을 보장할 수 있을 뿐만 아니라 이중 지출이 없는지 확인하고 크기를 줄일 수 있습니다. 블록 스토리지에 필요한 공간을 크게 줄입니다.

Mimble-Wimble은 ECC(Elliptic Curve Cryptography)를 사용합니다. ECC에서는 일반적으로 매우 큰 숫자 k를 개인 키로 선택합니다. H가 타원 곡선의 한 점인 경우 k*H가 해당 공개 키로 사용됩니다. 타원 곡선의 속성은 곡선 점의 분할이 매우 어렵기 때문에 공개 키에서 개인 키 k를 추론하기 어렵다는 것을 보장합니다. 이 속성을 기반으로 실제 거래 금액은 다음과 같이 거래에서 숨길 수 있습니다.

트랜잭션의 금액을 v라고 가정하고 노드가 트랜잭션의 출력과 입력이 같은지 확인하면 v1+v2=v3임을 확인하는 것과 같습니다. 타원 곡선의 점 H에 의한 방정식, 즉 검증이 필요합니다.

v1*H+v2*H=v3*H,

이러한 방식으로 실제 거래 금액을 유추하기는 어렵지만 시도할 수 있는 집합이 제한되어 있기 때문에 공격자가 v1의 값을 유추하는 것은 여전히 ​​가능합니다. 따라서 두 번째 타원곡선 점 G와 개인키 r을 도입하고 트랜잭션의 모든 입력 및 출력 값을 r*G+v*H로 나타내면 타원곡선의 특성상 r도 v도 도출할 수 없습니다. 그러면 검증할 방정식은 다음과 같이 됩니다.

r1G+v1H+r2G+v2H=r3G+v3H,

그리고 r1+r2=r3 이어야 실제 거래 금액이 잘 가려집니다. 실제 거래에서는 양 당사자만이 거래 금액을 알고, 블록체인의 노드가 보는 정보는 암호화된 숫자이며, 개인 키 r만이 자신에게 알려져 있습니다. 트랜잭션의 출력이 출력과 동일한지 확인하고 발신인의 개인 키가 수신인에 의해 크랙되는 것을 방지하기 위해 발신인은 초과 값을 선택하여 자신의 개인 키에 추가해야 합니다. 받는 사람의 입장에서 볼 수 있고 진짜 개인키 값은 본인만 알고, 트랜잭션 출력의 합이 입력과 같은지 검증할 때만 확인하면 되고, 거래자는 초과값을 안다(증명하는 방법). ECDSA 서명을 구성하는 데 사용하는 것임을 알고 있음). 따라서 초과된 값은 트랜잭션의 개인 키와 동일하며 UTXO 검증을 통해 이중 지출을 방지할 수 있습니다.

요약하다:

요약하다:

정리하면 밈블윔블의 가장 큰 장점은 강력한 프라이버시를 제공하면서도 필요한 저장 공간이 적고 확장성이 높다는 점이다. 전체 거래 내역을 블록체인에 저장할 필요가 없기 때문에 중간 상태에서 거래를 병합하여 특정 통화의 출처와 현재 상태만 저장하면 되며, 각 거래 내역은 약 100바이트 정도만 저장하면 됩니다. 다른 블록체인에 비해 많은 공간을 절약하고 새로운 노드가 네트워크에 가입해야 할 때 동기화 및 전송해야 하는 정보의 양이 매우 적습니다. 하지만 비트코인의 스크립트를 삭제하고, 암호화 과정에서 계산하는 데 일정 시간이 걸리므로 블록 생성 시간은 약 1분이다. 동시에 거래 확인 과정에서 두 당사자 간의 일부 정보 상호 작용이 필요하므로 특정 거래 기능이 제한될 수 있습니다.

참조:

 

참조:

[1] 블록체인에 대해 "UTXO Commitment는 대용량 블록 스토리지의 문제를 완전히 해결할 것으로 기대된다" http://t.cj.sina.com.cn/articles/view/2696852533/a0beb43500100agcv

[2] 안토니오 마데이라, Mimble-Wimble이란 무엇입니까, https://www.cryptocompare.com/coins/guides/what-is-mimblewimble/

[3] 밈블-윔블 백서, https://download.wpsoftware.net/bitcoin/wizardry/mimblewimble.txt

[4]Gary Yu,Mimble-Wimble 및 Grin 소개,https://github.com/mimblewimble/grin/blob/master/doc/intro.zh-cn.md#transaction-conclusion


哈希未来
作者文库