>웹3.0 >OP_CAT을 사용하여 머클 트리 구성 및 검증

OP_CAT을 사용하여 머클 트리 구성 및 검증

WBOY
WBOY원래의
2024-06-25 18:06:47454검색

시리즈 #1에 이어 OP_CAT을 사용하여 머클 트리를 구성하고 검증하는 방법을 보여줍니다. 비트코인에서 머클트리는 데이터 검증, 동기화, 블록체인의 트랜잭션과 블록을 효과적으로 연결하기 위한 데이터 구조로 활용됩니다.

Constructing and Verifying Merkle Trees using OP_CAT

이 게시물은 Medium에 처음 게시되었습니다. 시리즈 #1에 이어 OP_CAT를 사용하여 Merkle 트리를 구성하고 검증하는 방법을 보여줍니다. 비트코인에서는 데이터 검증, 블록체인 동기화, 트랜잭션과 블록을 효율적으로 연결하기 위한 데이터 구조로 머클 트리가 사용됩니다. 두 스택 변수의 연결을 허용하는 OP_CAT opcode는 공개 키의 SHA256 해시와 함께 사용되어 비트코인 ​​스크립트 내에서 머클 트리 확인 프로세스를 간소화할 수 있습니다. OP_CAT는 머클 트리에서 항목을 생성하고 열 수 있도록 고유하게 허용합니다. 머클 트리를 구축하고 검증하기 위한 기본 작업에는 두 값을 연결한 다음 해싱하는 작업이 포함되기 때문입니다.

머클 트리에는 다양한 응용 프로그램이 있습니다. 다음은 몇 가지 대표적인 예입니다:

머클 증명
머클 증명은 전체 블록체인을 다운로드하지 않고도 특정 거래가 머클 트리에 포함되어 있는지 확인하는 데 사용되는 암호화 방법입니다. 이는 경량 클라이언트에 특히 유용하며 데이터 확인 효율성을 향상시킵니다.

트리 서명
트리 서명은 트리 구조, 특히 머클 트리를 사용하여 디지털 서명의 보안과 효율성을 향상시키는 암호화 방법입니다. 이 접근 방식은 일반 Multisig에 비해 메시지 또는 메시지 세트가 특정 키로 서명되었다는 보다 간결하고 개인적인 증명을 생성하는 데 사용됩니다.

Zero-Knowledge Proofs
STARK(Succinct Transparent Arguments of Knowledge)는 일종의 영지식증명 시스템. STARKS는 증명자가 계산 자체에 대한 민감한 정보를 공개하지 않고 검증자에게 계산의 유효성을 증명할 수 있도록 설계되었습니다.

OP_CAT가 비트코인에 추가되면 잠재적으로 비트코인에서 STARK 검증기를 구현할 수 있습니다. 스크립트에 대한 작업이 이미 진행 중입니다. 이를 통해 비트코인 ​​네트워크에서 안전하고 개인적인 거래가 가능해집니다. SNARK와 같은 페어링 기반 증명 시스템과 비교할 때 STARK는 비트코인 ​​친화적인 것으로 간주됩니다.

구현
Cryptis를 사용하여 Merkle 트리를 간단하게 구현합니다. 다음 코드는 일반적으로 머클 증명을 확인하는 데 사용되는 리프와 머클 경로가 주어지면 머클 트리의 루트 해시를 계산합니다. 전체 코드는 https://github.com/sCrypt-Inc/scrypt-btc-merkle에 있습니다.

한 번 실행하면 다음과 같은 트랜잭션이 발생합니다.
Mempool에서 트랜잭션을 확인하세요
Mempool
Script 버전에서 트랜잭션을 확인하세요
여기 아래와 같은 베어 스크립트의 대체 구현입니다. 머클트리 구현에 Cryptis를 사용하면 얻을 수 있는 주요 이점 중 하나는 가독성과 유지 관리 용이성입니다. 스크립트는 읽고 작업하기가 매우 어려운 경우가 많습니다.

OP_EXISTS
이를 생성할 수 있는 컴파일러가 있는지 알려주세요. Jerry–BitcoinBay(@Lightswarm) 2024년 3월 1일
더 많은 OP_CAT 사용 사례를 계속 지켜봐 주시기 바랍니다.
보기: sCrypt 해커톤 학생들은 블록체인에 더 많은 것이 있다는 것을 깨닫습니다
블록체인을 처음 접하시나요? 블록체인 기술에 대해 자세히 알아보려면 최고의 리소스 가이드인 CoinGeek의 초보자를 위한 블록체인 섹션을 방문하세요.

위 내용은 OP_CAT을 사용하여 머클 트리 구성 및 검증의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.