비트코인 사용자는 곧
큰 사업이지만, 이것은 단지 이론이 아닙니다. 피터 위일, 앤서니 타운스, 존슨 라우, 조나스 닉, 앤드류 폴스트라, 팀 러핑, 러시 러셀, 그리고 실제로 그레고리 맥스웰 등 가장 생산적인 비트코인 코어 기여자
여기 Taproot가 무엇이고 어떻게 작동하는지 설명합니다.
P2SH
모든 비트코인은 기본적으로 스크립트 (scripts) 로
다양한 조건이 혼합되고 일치하여 복잡한 유형의 스마트 계약을 만들 수 있습니다. 그러한 계약의 예로는 앨리스와 밥이 모두 서명하거나 일주일 후에 앨리스만 서명하거나 비밀 번호를 제공하면서 밥만 서명하면 동전을 지출 할 수 있습니다. 이 세 가지 조건 중 어느 것이 먼저 충족되면 동전이 어떻게 지출되는지입니다.
2012년 이후 스크립트 (조건) 는 처음에는 공개적으로 보이지 않는 경우가 많으며, 코인의 새로운 소유자만이 그것을 어떻게 쓸 수 있는지 알고 있다. 이것은 P2SH (pay to script hash) 라는 트릭을 통해 이루어진다. 처음에는 스크립트의 해시만 블록체인에 포함된다. 이 겉으로 보기에는 무작위로
그러나, 동전이 소비될 때, 현재는 충족되지 않은 조건을 포함하여 충족될 수 있는 모든 가능한 조건을 공개할 필요가 있다. 이것은 두 가지 주요 단점이 있다. 첫째, 많은 조건이 있을 경우 특히 데이터가 많이 사용된다. 둘째, 개인 정보 보호에 해롭다. 모든 사람들은 자금이 사용될 수 있는 다양한 방법을 알게 된다. 예를 들어, 어떤 지갑이 사용되었는지, 어쩌면 더 많은 것을 공개할 수 있다.
MAST
MAST (Merkelized Abstract Syntax Tree) 는 이 두 가지 단점을 극복하기 위해 머클레 트리 (암호학자 랄프 머클에 의해 발명된 수십 년 된 컴팩트 데이터 구조) 를 사용하는 제안 솔루션이다. 간단히 말해서, 자금을 지출할 수 있는 모든 다른 조건은 개별적으로 해시 (하나의 해시로 결합하는 것과 달리) 되어 머클레 트리에 포함되며, 궁극적으로 하나의 해시: 머클레 루트를 생성한다. 이 머클레 루트 (
독특한 장점은 Merkle 트리 내의 데이터가 드러나면 Merkle 루트와 일부 추가 데이터 (Merkle 경로라고 불리는) 를 사용하여 특정 데이터가 Merkle 트리에 포함되었는지 확인할 수 있다는 것입니다. Merkle 트리의 나머지 부분은 해시되어 숨겨져 있습니다.
MAST의 경우, 이는 충족된 조건만 공개되어야 함을 의미합니다. 위의 초기 예제에서, 앨리스가 혼자 한 주 후에 자금을 지출하면, 그녀는 그 조건 (그리고 Merkle 경로) 을 공개합니다. 아무도 돈이 앨리스와 밥이 함께 사용했을 수도 있다는 것을 배우지 않습니다. 또는 비밀 번호를 추가하면 밥 혼자. 이것은 MAST를 복잡한 P2SH 스마트 계약보다 데이터 효율성을 높이고 개인 정보를 추가합니다.
그러나
슈노어 서명 시스템은 오랫동안 많은 비트코인 개발자들의 희망 목록에 있으며 현재 소프트 포크 프로토콜 업그레이드로 배포될 개발 중입니다. 많은 암호학자들은 스노어 서명 시스템을 수학적 특성이 높은 수준의 정확성을 제공하므로 비교적 빠르게 검증 할 수 있습니다.
비트코인의 맥락에서 가장 잘 알려진 이점으로,
그리고 서명 스키마는 더욱 흥미로운 방법으로 사용될 수 있다. 예를 들어, 개인 키와 공개 키를 모두
이것이 태프루트를 가능하게 합니다.
타프로트
태프루트는 흥미로운 깨달음에 기반을 두고 있다. 아무리 복잡하더라도 거의 모든 MAST-건설에는 모든 참가자가 결과에 동의하고 단순히 합의 거래를 함께 서명할 수 있는 조건이 포함될 수 있다. 이전 예제에서, 밥이 앨리스가 다음 주에 모든 자금을 스스로 청구할 수 있다는 것을 알고 있다면, 그는 지금 그녀와 협력하여 함께 서명할 수도 있다. (많은 전형적인 스마트 계약 설정에서는 그렇지 않으면 처벌을 받을 수도 있다. 복잡성은 실제로 모든 사람을 정직하게 유지하는 데만 도움이 된다.)
타프루트 (taproot) 는 MAST와 비슷하며 항상 모든 참가자가 자금을 지출하기 위해 협력할 수 있는 조건을 포함합니다.
슈노어 서명을 이용하면 흥미로운 부분입니다.
첫째, 협동조합 폐쇄는 Schnorr의 문턱 트릭을 사용하여 한 사람에서 다른 사람에게 일반 거래처럼 보이게합니다. 따라서 모든 참가자의 공개 키가 함께 추가되어
지금까지는 잘됐지만 보통 거래처럼 자금을 지출하는 것만이 그들이 할 수 있는 유일한 방법입니다. 아직 MAST 같은 구조가 없습니다.
자금을 지출할 수 있는 모든 대안적인 방법들 (비협력적 결과) 은 이번에는 다른 스크립트로 결합된다. 이 스크립트는 그 다음 해시되어 문턱 공개 키를 조정하는 데 사용됩니다. 이전 예제에서 사용된 것처럼
자금이 협력적으로 사용된다면, 모든 참가자는 그들의 서명들을
협동 폐쇄가 불가능한 경우에만, 문턱 공개 키가 실제로 있는 것처럼 표시될 수 있습니다.
이 경우, 원래의 문턱 공개 키와 스크립트가 모두 공개됩니다. 이것은
대안적으로, 스크립트로 문턱 공개 키를 조정하는 대신, MAST 구조로 자금을 지출할 수 있는 모든 다른 조건을 포함하는 Merkle 트리의 Merkle 루트로 문턱 공개 키를 조정할 수 있다. 자금을 지출하려면 충족된 지출 조건만 공개해야 한다.
따라서, Taproot는 MAST의 모든 이점을 제공하지만, 정상적인 상황에서는 아무도 정상적인 거래가 재발로 이렇게 복잡한 스마트 계약을 숨기고 있다는 것을 알지 못할 것입니다.
이것은 Taproot 개념의 일반적인 개요입니다. 구현 특성은 다를 수 있습니다. 자세한 내용은 Gregory Maxwell의 원래 Taproot 제안서를 읽거나 Pieter Wuille의 이 발표를 참조하십시오.