저자: 지안
기사의 제목은 Bitcoiner Xiong Yue에서 가져왔습니다.
Bitcoin의 Taproot 소프트 포크 업그레이드는 Bitcoin 블록 높이 709632에서 활성화됩니다(2021년 11월 15일 예정). 이 업그레이드에는 중요하고 멋진 콘텐츠가 많이 포함되어 있지만 중국 세계에서 충분한 관심이 부족합니다. 이 글은 탭루트의 업그레이드 내용을 기술적인 관점에서 간략하게 소개하고, 비트코인의 발전 방향을 반영하고자 합니다.
일반적인 이야기는 Taproot가 Bitcoin의 개인 정보 보호, 스마트 계약 기능, 동질성 등을 개선한다는 것입니다. 그러나 탭루트 업그레이드의 내용과 상상을 이해하기 위해서는 먼저 비트코인에 대한 이해가 필요합니다.
Bitcoin의 스마트 계약
많은 사람들이 이해하지 못하는 것은 비트코인이 스마트 계약 프로그래밍도 지원하지만 스마트 계약의 유형이 다른 블록체인(예: 이더리움)과 다르다는 것입니다. 이 구분에 대한 자세한 설명은 별도의 문서가 필요하며 여기서는 중요하지 않습니다. 다음은 모든 사람이 애플리케이션 시나리오를 이해할 수 있도록 비트코인 스마트 계약 프로그래밍의 몇 가지 공통 모듈3 입니다.
- 다중 서명 계약. 비트코인은 자금 사용을 위한 다중 서명 인증을 지원합니다. 기록된 N개의 공개 키 중 M개의 공개 키(동일한 작업을 위한) 서명에 해당하는 개인 키가 있어야 자금을 사용할 수 있습니다. 비트코인은 최대 15개의 공개 키로 다중 서명 계약을 지원합니다.
- 시간 잠금. 사용자는 두 가지 유형의 시간 잠금을 사용하여 펀드의 사용 가능 기간을 지정할 수 있습니다: (1) 특정 시간 또는 특정 블록 높이로 정의되는 절대 시간 잠금인 CLTV는 이 시간 이후에만 사용할 수 있습니다. ) CSV, 예를 들어 시간 잠금과 관련하여 자금은 자금을 생성한 거래 체인에서 1000 블록 이후에만 사용할 수 있습니다.
- 다중 조건부 프로그래밍. 즉, 스크립트에서 "IF ... ELSE ..."문을 사용하여 동일한 펀드에 대해 여러 잠금 해제 조건을 설정하고 조건이 충족되면 펀드를 사용할 수 있습니다. 예: "A의 공개 키에 해당하는 개인 키를 잠금 해제할 수 있거나 블록 높이 XXXX 이후에 B의 공개 키에 해당하는 개인 키를 잠금 해제할 수 있습니다. 트랜잭션 A, 3개의 공개 키 B와 C 중 2개에 해당하는 개인 키를 잠금 해제할 수 있습니다.”
독자가 상상할 수 있듯이 이러한 모듈은 매우 단순해 보이지만 결합할 수 있는 많은 가능성이 있습니다. 다른 시간에 다른 주제의 권한을 지정합니다. 여러 조건은 이러한 권한 제어의 결합된 효과를 크게 확대합니다.
"나(A 공개키)가 이 자금을 관리할 수 있다. 3개월 동안 아무도 사용하지 않으면 나(B 공개키) )라는 몇 가지 조건만으로 사회적 회복을 지원하고 상속 분배 효과가 있는 계약을 맺을 수도 있다. 친구 4명, 5명 중 3명이 이 펀드를 관리할 수 있고, 1년 동안 아무도 사용하지 않으면 아내가 이 펀드를 관리할 수 있습니다.”
그러나 이러한 계약이 실제로 유용하려면 효율성과 프라이버시라는 두 가지 요소를 무시할 수 없습니다.
효율성이란 비트코인의 거래 수수료가 거래량에 따라 계산되며 조건이 더 많은 스크립트가 더 많은 공간(바이트)을 차지하며 거래 수수료가 더 높다는 것을 의미합니다.
개인 정보 보호에 대한 고려는 스크립트의 노출로 인해 일부 공개 키가 서로 연결되어 있음을 다른 사람들이 알 수 있으므로 공개 키 소유자의 실제 신원을 쉽게 분석할 수 있습니다.
현재 Bitcoin의 계약은 P2SH "주소"(실제로는 해시 값)로 구현됩니다. 컨트랙트 생성 시 스크립트를 공개할 수 없고, 필요시 스크립트의 해시값을 직접 지급하지만, 이 자금이 소진되면 해당 해시값에 해당하는 스크립트를 전부 공개하고 트랜잭션에 넣습니다(그렇지 않으면 이 스크립트의 해시가 정확히 이 해시인지 확인할 방법이 없습니다). 다중 서명 계약을 예로 들면 타인이 직접 다중 서명 계약 스크립트의 해시 값을 지불할 수 있지만 다중 서명 계약 참여자가 이 자금을 사용하려면 스크립트 전체를 공개해야 합니다3 .
또한 SegWit 업그레이드 이전에는 싱글서명 개인지갑과 컨트랙트지갑의 구분이 명확했는데 전자는 P2PKH 주소, 후자는 P2SH 주소로 주소만 봐도 알 수 있는데 이는 또 다른 프라이버시에 불리한 요소. SegWit 업그레이드 후, 분리된 증인을 지원하는 개인 지갑도 P2SH의 형태를 취할 수 있지만 원래의 분리된 증인 주소(P2WPKH)와 계약 주소(P2WSH)는 여전히 구별됩니다 4 .
이를 염두에 두고 Taproot 업그레이드의 세 부분(MAST, Schnorr 서명, Taproot)이 어떻게 더 잘할 수 있는지 살펴보겠습니다.
머클 추상 구문 트리(MAST)
Merklized Abstract Syntax Trees(MAST) 5 의 의미는 Bitcoin 스크립트 검증에서 Merkle 증거의 검증을 지원하는 것입니다.
머클 트리는 여러 데이터 요소를 단일 해시 값으로 해싱하는 암호화 방법입니다. 해시 함수의 구조와 특성에 따라 특정 데이터 요소가 해시 값 생성에 참여했음을 증명하기 위해 일부 증거(해시 값)를 제공할 수 있습니다. 아래 그림과 같이 (인접한) 데이터 요소를 쌍으로 지속적으로 해시하고 마지막으로 Merkle 루트를 생성합니다.
마찬가지로 아래 그림과 같이 자주색 해시 값(Merkel 루트) 생성에 빨간색 데이터 "Banana"가 참여했음을 증명하려면 빨간색 데이터와 3개의 녹색 해시 값만 제공하면 됩니다. -머클 루트의 나머지 7개 요소를 생성합니다. 이것이 Merkle 트리와 Merkle 증명이 하는 일입니다.
바나나, 복숭아, 금귤에 대한 개별 Merkle 증명
똑똑한 독자들은 이 기능을 사용하여 계약 작성자가 여러 조건을 다른 데이터 요소로 나누고 Merkle 루트 값을 해시할 수 있다고 생각했을 것입니다. 조건은 이 Merkle 트리에 있으며 다른 모든 조건을 공개할 필요는 없습니다.
네, 그게 바로 MAST가 하는 일입니다. 아래 그림과 같이 이 펀드의 잠금해제 조건은 2가지로 작가는 이를 분리하여 Merkle 트리로 해쉬값으로 추상화하였으며, 조건 중 하나를 잠금 해제하여 사용할 때 no 다른 공개를 합니다.
MAST는 P2SH를 기반으로 한 큰 걸음을 내디뎠으며 그 개선 효과는 먼저 개인 정보 보호에 반영됩니다. 이제 MAST를 사용하면 사용자는 사용해야 하는 잠금 해제 조건만 공개하면 되고 모든 내용을 공개할 필요가 없으며 동시에 다른 사람들은 귀하가 아직 몇 개의 조건을 가지고 있는지 알지 못합니다.
둘째, 효율성도 향상됩니다: 사용자는 사용해야 하는 일부 스크립트와 Merkle 증거만 제공하면 됩니다.전체 스크립트가 상대적으로 클 때 이 볼륨 절약 효과는 매우 분명합니다.
결과적으로 미래의 비트코인 사용자는 더 나은 제어 효과를 얻기 위해 많은 조건의 계약을 작성할 수 있으며 적은 수수료만 지불하면 됩니다.
이것은 또한 이 기사 "Hash is the bank"의 부제의 출처이기도 합니다: 비트코인의 스크립트는 실제로 자금 통제를 중심으로 돌아갑니다. 이 통제를 달성하는 열쇠는 여러 조건입니다. MAST를 사용하면 조건이 여러 개 있어도 자산 관리가 가능합니다. 의 스크립트도 해시 값으로 압축할 수 있으며 사용 시 일부만 노출하면 됩니다. 비용 절감은 많은 가능성을 열어 지갑 개발자가 알아낼 때까지 기다립니다.
슈노르 서명
Taproot 업그레이드 후 Bitcoin은 타원 곡선 기반 암호화 서명을 지원할 뿐만 아니라 Schnorr 디지털 서명 체계 도 지원합니다6 .
Schnorr 서명의 구성 방법은 여기에서 언급하지 않으며 중요한 속성만 소개합니다. 서명/키 집계 - 여러 개인 키의 서명을 하나의 서명으로 집계할 수 있으며 단일 개인 키로 로그아웃된 것처럼 보입니다. 서명할 때 여전히 각 개인 키 소유자가 서명하며 서명을 확인할 때 이러한 서명은 알려진 공개 키(물론 이러한 참가자의 공개 키에 의해 집계된 공개 키)에 해당하는 개인 키인 것으로 보입니다. 키가 로그아웃되었습니다.
즉, Schnorr 서명을 사용하면 서명이 한 사람이 서명했는지 또는 여러 사람이 서명했는지 다른 사람이 알 수 없으며 다중 서명의 잠금 해제 조건은 집계된 공개 키로 대체될 수 있습니다. 모든 nn 다중 서명 계약은 Schnorr 서명이 제공하는 개인 정보 보호를 누릴 수 있습니다. 라이트닝 네트워크 채널은 2-2 다중 서명 계약이므로 다른 사람들은 서명 수에 따라 결제 채널과 개별 사용자를 구분할 수 없기 때문에 가장 확실한 응용 프로그램은 라이트닝 네트워크 채널입니다.
mn의 다중 서명 계약에 대해 걱정하지 마십시오. MAST가 있다는 것을 잊지 마십시오. 가능한 모든 잠금 해제 상황을 분기로 전환할 수 있으며 분기를 사용할 때 제공되는 서명은 집계 서명만 있으면 됩니다. 예를 들어 2-3 다중 서명 계약을 만들고 싶고 공개 키 A, B 및 C 중 두 개를 선택한다고 가정합니다. 이 다중 서명 계약의 효과는 "(A, B)가 잠금 해제되는 것과 같습니다. , 또는 (B, C ) 잠금 해제 또는 (A, C) 잠금 해제"는 다중 조건 스크립트로 이해할 수 있으며 각 조건은 2-2 다중 서명이므로 해당 집계 공개 키도 사용할 수 있습니다. 잠금 해제 조건을 정의합니다(다중 서명 측면에서 정의할 필요 없음). 따라서 특정 조합으로 자금을 잠금 해제해야 할 때 MAST를 사용하여 지점을 노출하고 서명을 제공하기만 하면 되며 다른 사람들은 여전히 1인인지, 2인인지 또는 여러 사람인지 알 수 없습니다.
아직 끝나지 않았습니다.
직근
우리가 이해하는 경로에 따르면 Taproot 업그레이드의 마지막 부분은 Taproot이며 이름의 유래입니다. 이 개념을 제안하면서 Gregory Maxwell은 다음과 같이 썼습니다 .
Merkleized 스크립트를 논의할 때 자주 나오는 질문은 가장 일반적이고 지루한 지불과 구별할 수 없는 스마트 계약을 구현할 수 있는지 여부입니다. 그렇지 않으면 또 다른 틈새 세트인 이러한 최신 기술을 사용하는 익명화된 출력 세트는 실제로 의미가 없습니다.
여기에서 Maxwell은 비트코인의 개인 정보 보호는 "시장에 숨겨진 큰 것"에서 비롯되며 가장 파악하기 어려운 문제의 요점을 날카롭게 파악했습니다. 그러나 새로운 기능이 도입되면 새로운 형태의 "주소"를 제안하는 것이 불가피하며, 이 기능을 사용하는 사용자가 적으면 각 사용자의 실제 신원 가능성이 크게 높아져 이러한 문제가 발생할 수 있습니다. 새로운 기능은 전혀 사용되지 않으므로 그 의미를 잃게 됩니다.
더군다나 MAST는 컨트랙트의 프라이버시에 중요한 역할을 하지만, 여전히 예전과 같다면 개인지갑은 개인지갑, 컨트랙트지갑은 컨트랙트지갑으로 한눈에 알 수 있다면 , 그러한 프라이버시는 여전히 결함이 있다고 말해야 합니다. .
사람들은 이 개인 지갑/계약 지갑 구별을 끝내고 비트코인의 프라이버시에 마무리 터치를 추가할 방법이 시급합니다. 이러한 이유로 컨트랙트가 있는 이런 종류의 지갑의 비용이 사용자의 일상적인 사용에 있어서 일반 개인 지갑(경제적)과 다르지 않다는 것을 최소한으로 깨달아야 합니다.
Taproot는 그러한 방법으로 키 집계의 특성을 활용하여 하나는 nn 다중 서명 계약이고 다른 하나는 사용자 정의 계약 스크립트의 두 가지 사용 경로가 있는 스크립트 모드를 제안합니다.
Maxwell의 원본 텍스트에 있는 예에 따라: 두 명의 사용자가 공개 키 A와 B를 가지고 있고 두 개의 집계 공개 키 A + B = C를 가지고 있다고 가정하고 최종 공개 키 P = C + H(C||S)*G를 생성합니다. , 여기서 S는 사용자 지정 스크립트입니다. 최종 공개 키 P는 자금의 잠금 해제 조건을 정의하는 데 사용됩니다. 두 사용자 모두 온라인 상태라고 가정하면 둘 중 한 사람이 서명할 때 자신의 개인 키에 H(C||S)를 추가하는 한 쉽게 자금을 함께 사용할 수 있습니다. B가 자금을 사용할 수 있는 조건에서 Taproot의 규칙은 공개 키 B의 사용자가 집계된 공개 키 P와 H(C||S)를 공개하고 S가 만족할 수 있는 조건을 제공하여 자금을 사용할 수 있도록 합니다.
여기서는 2-2 다중 서명 계약이 사용되지만 사용자는 키 집계 기술이 사용 가능한 한 1-1, 즉 단일 서명도 이 스크립트 작성 방법을 사용할 수 있다고 상상할 수 있습니다. 중요한 점은 (1) 커스텀 컨트랙트가 있는 펀드이지만 컨트랙트를 사용하지 않고 nn 다중서명만 사용하는 경우 수수료 비용은 싱글서명으로 언락된 펀드와 다를 바가 없습니다. ! (2) nn 다중 서명을 사용할 때 다른 사람들은 이 자금이 잠금 해제되어 다른 방식으로 사용될 수 있다는 것을 전혀 모릅니다!
이러한 방식으로 개인 사용자와 계약 사용자 모두 하나의 스크립트 모드(P2TR "주소")로 통합될 수 있으며, 개인 사용자는 매일 더 높은 취급 수수료를 지불할 걱정 없이 자신의 자금에 계약을 안전하게 추가할 수 있습니다. 사용자는 동일한 "주소"를 사용하고 대부분의 경우 자신을 노출하지 않고 계약을 사용하기 때문에 더 큰 익명성을 즐깁니다. 모든 사람이 행복하다.
대체로, Taproot 이후 다른 사람들은 P2TR 주소가 개인 사용자인지 계약 사용자인지 주소 형식에서 알 수 없습니다. Schnorr 서명의 영향으로 이 주소의 자금이 단일 서명, 다른 사람은 개인 사용자인지 약정 사용자인지 알 수 없습니다. 한 사람이 사용하든 n명이 함께 사용하든 이 주소에 사용자 정의 스크립트가 있는지 알 수 없습니다. MAST의 효과는 사용자가 사용자 지정 스크립트를 사용하여 자금을 지출할 때 스크립트를 사용해야 하는 부분만 노출하면 되며 다른 사람들은 이 주소에 사용자 지정 스크립트가 있다는 것을 알고 있지만 전체 스크립트에 어떤 조건이 포함되어 있는지는 아직 알 수 없습니다.
따라서 일부 사람들은 Taproot가 비트코인의 개인 정보를 해칠 수 있다는 점에 의문을 제기하지만7 저는 그렇게 걱정하지 않습니다. Taproot "주소"는 비트코인 역사상 편의성, 프라이버시, 경제성 측면에서 의심할 여지 없이 최고이기 때문에 비트코인의 "주소" 유형을 통합하여 비트코인 역사상 가장 큰 익명성을 형성할 수 있을 것으로 기대됩니다.
발문
일부 암호화 기술을 알고 있는 사람들에게 비트코인의 개발 및 업그레이드를 배우는 것은 매우 즐겁고 눈을 뜨게 합니다. 업그레이드를 통해 사람들이 끊임없이 암호화를 사용하여 이 시스템을 지속적으로 최적화하고 있음을 알 수 있습니다. 시스템 자체의 모듈식 특성 덕분에 이러한 최적화는 현실입니다. 탭루트도 그 중 하나입니다.
비트코인(그리고 특히 탭루트)에 대해 배우는 과정이 독자들에게 진정한 "암호화폐"가 무엇인지 가르쳐 줄 것이라고 믿습니다.
Taproot는 비트코인 역사상 가장 중요한 업그레이드일 수 있으며, 역사상 가장 순수한 암호 화폐를 만들 것입니다. 암호화를 극한까지 사용하고, 가장 가볍고, 가장 끈질긴 생명력을 가진 통화입니다.
각주:
- 비트코인 업그레이드 제안 Taproot 기술 설명, https://www.btcstudy.org/2021/09/29/bitcoin-taproot-a-technical-explanation/
- 비트코인 위키 스마트 계약, https://en.wikipedia.org/wiki/Smart_contract
- 마스터 비트코인 중국어 버전 7장: 고급 트랜잭션 및 스크립트, https://github.com/tianmingyun/MasterBitcoin2CN/blob/master/ch07.md
- 비트코인 거래 유형 - 파트 II Segwit, https://blog.susanka.eu/types-of-bitcoin-transactions-part-ii-segwit/
- Bitcoin Merklized 추상 구문 트리는 무엇입니까, https://www.btcstudy.org/2021/09/07/what-is-a-bitcoin-merklized-abstract-syntax-tree-mast/
- 슈노르 서명이 비트코인을 개선할 수 있는 방법, https://www.btcstudy.org/2021/09/09/how-schnorr-signatures-may-improve-bitcoin/
- Taproot: 개인 정보 보호 전환 가능한 스크립팅, https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-January/015614.html
- https://www.btcstudy.org/2021/09/23/explain-like-im-not-a-developer-taproot-privacy/에서 Taproot가 프라이버시에 미치는 영향을 일반 언어로 설명하세요.
출처: 오렌지북
고지 사항: Cointelegraph Chinese는 블록체인 뉴스 정보 플랫폼이며 제공된 정보는 작성자의 개인 의견만을 나타내며 Cointelegraph Chinese 플랫폼의 입장과 관련이 없으며 어떠한 투자 및 재정 조언도 구성하지 않습니다. 독자 여러분은 올바른 화폐 개념과 투자 개념을 정립하고, 진지한 위험 인식 제고를 부탁드립니다.