> 웹3.0 > 본문

비트코인 소프트 포크: 화폐에 정말 새로운 OP_Code가 필요한가요?

PHPz
풀어 주다: 2024-07-12 16:14:40
원래의
381명이 탐색했습니다.

일부 개발자들은 이전보다 합의 수준이 훨씬 낮은 소프트포크를 다시 추진하고 있습니다. 비트코인 코드를 변경하는 것은 쉽지 않습니다.

Bitcoin Soft Fork: Does the Currency Really Need These New OP_Codes?

일부 개발자들은 이전보다 합의 수준이 훨씬 낮은 소프트포크를 다시 추진하고 있습니다.

Bitcoin Soft Fork비트코인 코드를 변경하는 것은 쉽지 않습니다. 우리는 2,100만 개 한도에 해당하는 코드 부분을 절대 수정하지 않도록 장려됩니다.

그럼에도 불구하고 일부 진화는 필요하지만 다른 진화는 훨씬 덜 필요합니다. 불행하게도 자신의 나쁜 점을 가져오려는 개발자가 항상 있을 것입니다.

코드 발전은 "풀 요청"을 통해 제안됩니다. 대부분은 마이너이지만 일부는 메이저입니다. 그런 다음 때때로 "소프트 포크"인 BIP(비트코인 개선 제안)가 됩니다.

다시 한번 말씀드리지만, 하드 포크는 이전 코드와 호환되지 않는 코드의 진화입니다. 대표적인 것이 BCH(비트코인캐시)이다. BTC 네트워크 노드는 블록당 1MB 제한을 초과할 수 있으므로 BCH 블록을 검증하지 않습니다. 이러한 변화는 하드포크를 촉발시킵니다.

소프트포크의 경우 두 코드가 동일한 블록체인에 공존합니다. 이를 이전 버전과의 호환성이라고 합니다. 예를 들어 블록 크기를 0.3MB로 변경할 수 있습니다. 이는 1MB 제한 미만이므로 원래 프로토콜과 역호환됩니다.

최신 소프트 포크는 SegWit(2016) 및 Taproot(2021)였습니다. 일부 개발자는 현재 새로운 OP_코드를 추가하여 "계약" 생성을 허용하는 새로운 포크를 추진하고 있습니다.

Blockstream Research는 최근 주제에 대해 상당히 자세한 요약을 발표했습니다.

이해하려면 비트코인 ​​거래의 메커니즘을 이해하는 것이 필수적입니다. 어떤 성약이냐? 마법은 '스크립트'라는 컴퓨터 실행 언어 덕분에 일어납니다. 제한된 수의 명령어가 포함된 매우 간단한 언어입니다.

이러한 명령어를 OP_code라고 합니다. 거래가 검증될 때 작동하는 작은 디지털 장치로 간주하십시오.

구체적으로 비트코인 ​​거래를 한다는 것은 프로세스에서 파괴되는 하나 이상의 다른 "utxo"에서 "utxo"를 생성하는 것을 의미합니다. utxo는 비트코인 ​​수량을 비트코인 ​​주소(공개 키)에 수학적으로 연결하는 코드 조각(스크립트)입니다.

본질적으로 거래를 한다는 것은 금액이 들어갈 공개 키(비트코인 주소)를 변경하는 것을 의미합니다. 의 비트코인이 연결되어 있습니다.

거래 중 별 OP_code는 OP_CHECKSIG입니다. 이는 서명이 소비된 utxo의 공개 키와 일치하는지 확인합니다. 모든 것이 정상이면 수신자의 공개 키를 포함하는 새로운 utxo가 생성됩니다.

전반적으로 Bitcoin 스크립트는 가능성의 영역을 제한하는 다소 단순한 "스택 기반" 프로그래밍 언어입니다.

Blockstream은 이에 대해 다음과 같이 썼습니다.

“ 현재 상황으로는 utxo에서 비트코인을 사용하는 방법이나 사용 속도를 사전 구성하는 것이 불가능합니다. 유일한 해결책은 거래 수수료를 제대로 포함할 수 없는 PSBT(부분적으로 서명된 비트코인 ​​거래)를 사용하여 문제를 해결하는 것입니다.”

“비트코인 보안 모델의 핵심이지만 스크립트 프로그래밍 언어의 단순성은 상당한 이점을 제공합니다. 가장 기본적인 스마트 계약을 지원하는 능력에는 한계가 있습니다.”

스택의 추가 산술"스택 기반"은 트랜잭션 메커니즘에 필요한 데이터가 논리적 작업이 수행되는 "스택"에 배치된다는 의미입니다.

트랜잭션 확인 메커니즘의 예:

OP_code OP_DUP는 공개를 복제합니다. utxo의 키를 스택에 저장합니다.

OP_코드 OP_HASH는 이 키를 해시합니다(이 키는 비트코인이 utxo에서 수학적으로 연결된 주소로 변환됩니다)

OP_EQUALVERIFY는 결과 해시가 실제로 해당 키에 속하는지 확인합니다. 문제의 utxo.

OP_CHECKSIG는 제공된 서명이 utxo의 공개 키와 일치하는지 확인합니다.

Bitcoin 스크립트에는 100개 미만의 중요한 OP_코드가 있습니다. 그러나 스택의 데이터를 곱하거나 나누거나 연결(결합)하는 것은 불가능합니다.

Satoshi는 2010년에 여러 OP_코드(OP_OR, OP_MUL [곱하기], OP_DIV [나누기] 및 OP_CAT [연결])를 비활성화했습니다. 이러한 OP_코드는 원래 구현에 네트워크 보안을 손상시킬 수 있는 악용 가능한 취약점이 있었기 때문에 제거되었습니다.

그러나 이러한 OP_코드가 없으면 특정 이국적인 지출 조건(스마트 계약)을 생성하기가 어렵습니다. 특히, 거래 데이터를 기반으로 utxo에서 지출 조건을 정의할 수 없다는 점입니다.

Blockstream은 다음과 같이 설명합니다.

“스크립트에 거래 데이터 내부의 더 많은 세부 정보를 해석할 수 있는 기능이 있다면 특정 지출을 허용하는 훨씬 더 강력한 계약을 구축할 수 있습니다. 정황."

약정현재 비트코인으로 가능한 유일한 "스마트 계약"은 공개 키에 연결된 비트코인을 잠그고 잠금 해제하는 고전적인 행위입니다. 본질적으로 거래를 하는 것입니다.

Covenants는 거래 발신자가 수신자가 이후에 비트코인을 어떻게 사용할 수 있는지에 대해 특정 조건을 부과할 수 있도록 하는 새로운 유형의 utxo를 만드는 것을 목표로 합니다.

다음은 "covenants"라는 용어 아래에 그룹화된 두 개의 OP_code입니다. ” 제한된 기능으로

위 내용은 비트코인 소프트 포크: 화폐에 정말 새로운 OP_Code가 필요한가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:kdj.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!