PHP 편집자 Baicao는 Ordinal 비문 프로토콜의 원리와 기술적 세부 사항을 자세히 분석합니다. Ordinal 비문 프로토콜은 데이터 전송을 보호하는 데 사용되는 암호화 프로토콜로, 고급 암호화 알고리즘과 인증 메커니즘을 사용하여 전송 중 데이터의 보안과 무결성을 보장합니다. 이 기사에서는 키 교환, 암호화 알고리즘 및 메시지 인증 코드와 같은 핵심 기술을 포함하여 Ordinal 비문 프로토콜의 기본 원칙을 소개하고 네트워크 통신에서의 응용 프로그램을 심층적으로 탐색합니다. 초보자이든 전문가이든 이 글을 읽으면 Ordinal 프로토콜을 더 깊이 이해하는 데 도움이 될 것입니다.
블록체인은 다중 사용자 회계 기술로 분산 데이터베이스라고도 할 수 있습니다. 기록을 시간순으로 블록으로 정리하고 원장을 확장합니다.
블록체인이 어떻게 작동하는지 설명하기 위해 엑셀을 이용하여 표를 만들었습니다. Excel 파일은 각각의 개별 테이블이 블록을 나타내는 블록체인을 나타냅니다. 블록은 560331, 560332.에서 최신 560336까지 시간순으로 정렬됩니다. 560336은 블록의 최신 트랜잭션을 패키지합니다. 블록의 주요부분은 회계분야에서 가장 많이 사용되는 복식부기식 회계방식으로 한쪽의 주소는 입력되는 차변(debit)으로 기록되고, 반대쪽의 주소는 대변( Credit)으로 출력됩니다. 값은 해당 주소의 BTC 수에 해당합니다. 입력 코인의 수는 출력 코인의 수보다 많으며, 그 차이는 사용자 수준의 전송 수수료와 채굴자(장부 담당자)가 얻는 처리 수수료입니다. 블록 헤더는 이전 블록의 높이, 이전 블록의 해시 값, 이 블록의 생성 시간(타임스탬프) 및 난수를 가져옵니다. 그렇다면 탈중앙화된 회계 기술로서 다음 블록의 회계권은 누가 차지하게 될까요? 이 난수와 해당 해시 값에 의존합니다. 컴퓨팅 파워를 갖춘 채굴자는 현재 블록의 난수에 대해 해시 계산을 수행합니다. 조건에 맞는 해시 값을 먼저 얻은 채굴자는 다음 블록의 회계 권한을 가지며 블록 보상과 전송 수수료를 받습니다. 마지막으로 일부 확장된 응용 프로그램에 사용할 수 있는 스크립트 영역이 있습니다. 예를 들어 op_return 스크립트를 포스트스크립트 열로 사용할 수 있습니다. 실제 블록에서는 스크립트 영역이 실제로는 별도의 영역이 아니라 입력 및 출력 정보에 첨부된다는 점에 유의해야 합니다. 예를 들어, 입력에 첨부된 스크립트는 잠금 해제 스크립트(ScriptSig)로, 전송을 허용하기 위해 개인 키 서명 승인을 위한 지갑 주소가 필요하고, 출력에 첨부된 스크립트는 잠금 스크립트(ScriptPubKey)로, BTC를 받기 위한 잠금 해제 조건을 설정합니다. (일반적으로 조건은 "해당 개인 키를 가진 사람만 소비할 수 있습니다"입니다.)
원본 입력 및 출력 데이터 구조 테이블에는 거래 정보에 수반되는 매개변수가 표시됩니다. 그 중 잠금해제 스크립트(ScriptSig)는 개인키 인증의 일부로 '증인 데이터'라고도 불린다.
비트코인 네트워크가 10년 넘게 눈에 띄는 사건 없이 운영되는 동안 거래 비용은 더 이상 실현 불가능한 최고치까지 반복적으로 급등했습니다. 결과적으로 비트코인 개발자들은 향후 증가하는 거래량을 처리하기 위해 네트워크를 가장 잘 확장하는 방법을 논의해 왔습니다.
2017년 비트코인 개발 커뮤니티는 두 개의 파벌로 나뉘었습니다. 한 파벌은 소프트 포크의 SegWit 기능을 지원하고 다른 파벌은 "빅 블록" 파벌로 알려진 블록 크기를 직접 확장하는 것을 옹호했습니다. 분할은 열띤 논쟁을 촉발했습니다.
위에서 잠금 해제 스크립트가 "증인 데이터"를 생성하려면 개인 키 인증이 필요하다고 언급했는데, 이 증인 데이터를 블록에서 분리하여 각 블록이 위장하여 수용할 수 있는 트랜잭션 수를 늘릴 수 있습니까? 분리된 증인은 2017년 8월에 공식적으로 활성화되었습니다. 모든 거래 데이터를 두 부분으로 나누어 한 부분은 거래의 기본 정보(Transaction Data)이고, 다른 부분은 거래의 서명 정보(Witness Data)로 새로운 데이터에 서명 정보를 저장하는 방식으로 구현됩니다. 구조는 "분리된 증인(witness)"이라는 새로운 블록에 있으며 원래 트랜잭션과 별도로 전송됩니다.
기술적으로 SegWit의 구현은 거래에 더 이상 증인 데이터를 포함할 필요가 없음을 의미합니다(원래 비트코인이 블록을 위해 마련한 1MB 공간을 차지하지 않음). 대신, 블록 끝에 증인 데이터를 위한 별도의 추가 공간이 생성됩니다. 이는 임의의 데이터 전송을 지원하며 하드포크의 필요성을 피하기 위해 비트코인의 블록 크기 제한 내에서 많은 양의 데이터를 영리하게 유지하는 할인된 "블록 가중치"를 가지고 있습니다. 이러한 방식으로 비트코인 거래의 거래 데이터 크기 상한은 증가하고 서명 데이터의 거래 수수료는 감소됩니다. SegWit 업그레이드 이전에는 비트코인 용량의 상한이 1MB였습니다. SegWit 이후에도 순수 트랜잭션의 상한은 여전히 1M였지만 Segregated Witness 공간의 크기는 4MB에 이르렀습니다.
Taproot는 2021년 11월에 구현되었으며 Taproot, Tapscript 및 "Schnorr Signature"라는 새로운 디지털 서명 체계를 포함한 3가지 비트코인 개선 제안(BIP)으로 구성됩니다. Taproot는 거래 개인정보 보호 강화, 거래 수수료 절감 등 비트코인 사용자에게 많은 이점을 제공하도록 설계되었습니다. 또한 비트코인이 더 복잡한 트랜잭션을 수행할 수 있게 하여 애플리케이션 시나리오를 확장합니다(일부 새로운 opcode가 추가됨).
이러한 업데이트는 Taproot 스크립트 경로(증인 데이터 공간)의 지출 스크립트에 NFT 데이터를 저장하는 Ordinals NFT의 핵심 지원 요소입니다. 이번 업그레이드를 통해 임의의 증인 데이터를 더 쉽게 구성하고 저장할 수 있어 "ord" 표준의 기반이 마련됩니다. 데이터 요구 사항이 완화됨에 따라 트랜잭션이 트랜잭션 및 증인 데이터로 전체 블록을 채울 수 있다고 가정합니다. - 4MB 블록 크기(증인 데이터 공간) 제한에 도달하여 체인에 배치할 수 있는 미디어 유형이 크게 확장됩니다. .
어떤 분들은 스크립트에 어떤 문자열을 넣기 때문에 이런 문자열에는 제한이 없냐고 물으실 수도 있어요. 이 스크립트가 실제로 실행된다면 어떨까요? 내용을 아무렇게나 넣으면 블록 생성을 거부하는 오류 코드가 나올까요? 그러면 OP_FALSE 명령어가 나타납니다. OP_FALSE(비트코인 스크립트에서는 "0"으로도 표시됨)는 스크립팅 언어의 실행 경로가 절대 OP_IF 분기에 들어가지 않고 실행되지 않은 상태로 유지되도록 합니다. 이는 고급 언어의 "주석"과 유사하게 스크립트에서 자리 표시자 또는 작업 없음(No Operation) 역할을 하여 후속 코드가 실행되지 않도록 합니다.
위 내용은 서수 비문 프로토콜의 원리 및 기술적 세부 사항에 대한 논의의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!