원저자: Fu Shaoqing, SatoshiLab, All Things Island BTC Studio
1. 비트코인 원천기술의 주요 탐구와 갈등
비트코인의 원천 기술은 대규모 애플리케이션과 비트코인이 갖춰야 할 역량 사이에서 늘 갈등을 빚어왔습니다. 대규모 애플리케이션과 거래 규모는 더 복잡한 거래 지시와 더 큰 거래 공간을 의미합니까? 모든 기능이 단일 비트코인 시스템에서 구현되어야 한다는 뜻인가요? 비트코인 생태학적 기술이 충분히 발달하지 못한 초기에는 이러한 현상이 비트코인 자체의 문제인 것처럼 보였습니다. 기술이 발전함에 따라 많은 질문에 대한 명확한 답이 나올 것입니다.
이 문서에는 몇 가지 관련 문제와 이러한 문제를 생성하고 해결하는 프로세스가 나열되어 있습니다. 본 글을 통해 이러한 이슈와 기술의 상관관계는 물론, 비트코인 메인체인 및 관련 테스트 체인의 변화 과정을 살펴볼 수 있습니다. 비트코인 기술은 다양한 프로젝트와 팀(비트코인의 불완전한 탐구인 이더리움을 포함)에서 탐구되고 있지만, 비트코인 메인넷의 변화는 등장을 촉진한 후 Taproot와 같은 기술이 등장하기 전까지는 충분히 명확하지 않았습니다. Ordinals 프로토콜과 같은 프로토콜의 새로운 개발 정점에 다시 들어갔습니다.
이러한 개발 프로세스와 관련 기술을 전체적으로 살펴보면 이들 간의 연관성을 볼 수 있으며, 더 많은 개발 방향과 전반적인 아키텍처를 추측할 수 있습니다.
1.1. 비트코인의 스크립팅 언어 및 여러 삭제 지침
비트코인의 프로그래밍 언어는 루프 문과 조건 제어 문이 없는 역폴란드 패러다임 스크립팅 언어입니다(이 기능을 확장하려면 나중에 TaprootTaproot 스크립트 참조). 따라서 사람들은 종종 비트코인 스크립트 언어가 튜링 완전하지 않아 비트코인 스크립트 언어에 특정 제한이 있다고 말합니다.
물론 이러한 제한으로 인해 해커는 이 스크립팅 언어를 사용하여 무한 루프(네트워크 마비를 일으킬 수 있음) 또는 DOS 공격을 유발할 수 있는 일부 악성 코드를 작성하여 비트코인 네트워크에 대한 DOS 공격을 피할 수 없습니다. 비트코인 개발자들은 또한 일부 공격과 네트워크 정체를 피하기 위해 핵심 블록체인이 튜링 완전성을 가져서는 안 된다고 믿습니다.
그러나 비트코인 네트워크가 다른 복잡한 프로그램을 실행하고 일부 유용한 기능을 완료할 수 없는 것은 바로 이러한 제한 때문입니다. 나중에 개발된 일부 블록체인 시스템은 특정 문제를 해결하고 사용자의 요구를 충족시키기 위해 이 점을 직접 변경했습니다. 예를 들어 이더리움에서 사용하는 언어는 Turing Complete입니다.
일반적인 유형의 Bitcoin 스크립트 지침:
키워드:
1. 상수. 예: OP_ 0, OP_FALSE
2. 프로세스 제어. 예: OP_IF, OP_NOTIF, OP_ELSE,…
3. 스택. 예: OP_TOALTSTACK(입력을 보조 스택의 항목으로 푸시하고 기본 스택에서 삭제)...
4. 문자열. 예: OP_CAT(두 개의 문자열 연결, 비활성화됨), OP_SIZE(스택의 최상위 요소의 문자열 길이를 스택에 푸시(요소를 팝할 필요 없음))
5. 비트 로직. 예: OP_AND, OP_OR, OP_XOR
6. 산술 논리. 예: OP_ 1 ADD(입력값 + 1), OP_ 1 SUB(입력값 - 1)
7. 암호화. 예: OP_SHA 1(입력은 SHA-1 알고리즘 HASH를 사용합니다.), OP_CHECKSIG()
8. 의사 키워드
9. 예약어
일반적인 유형의 Bitcoin 스크립트 지침:
스크립트:
1. 비트코인 주소로 지불하는 표준 거래(pay-to-pubkey-hash)
2. 표준 비트코인 거래(pay-to-pubkey)
3. 지출 불가능/삭제 가능 출력
4. 누구나 쓸 수 있는 결과물
5. 추측 거래
5가지 표준 유형의 거래 스크립트에는 공개 키 해시에 지불(P2P KH), 공개 키에 지불, 다중 서명(15개 키로 제한), P2SH(스크립트 해시에 지불) 및 데이터 출력(OP_RETURN)이 포함됩니다.
웹페이지(https://en.bitcoin.it/wiki/Script)에 자세한 지침이 있습니다.
비트코인 지원 지침 삭제
비트코인 역사상 지침은 여러 번 삭제되었습니다. 아래 차트에서 빨간색 부분이 삭제된 명령어입니다.
(1) 문자열 연산
(2)
(3) 산술연산
지침을 삭제하는 이유는 무엇입니까? 보안은 단지 하나의 고려 사항일 뿐입니다. 계층화된 설계 개념으로 삭제 지침을 살펴보면 그 합리성을 이해할 수 있으며 이는 기본 프로토콜을 더욱 기본적이고 안정적으로 만들 것입니다. 어쩌면 사토시 나카모토는 처음부터 이 문제를 알고 있었을 것입니다. 그렇지 않았다면 그는 주도적으로 지침을 삭제하지 않았을 것입니다. 우리의 일반적인 생각은 협업이 필요한 대규모 프로토콜보다는 사용자의 요구를 직접적으로 충족하고 완벽한 지침과 시스템 기능을 갖춘 작은 시스템을 구축하는 것입니다.
이는 또한 비트코인만이 레이어 네트워크로 적합하다는 사실을 만들어냅니다. “과도한 비트코인 가격이 새로운 대체 체인 생성을 촉진할 것”이라는 글에서 이 현상을 분석했습니다. 경제적 관점과 기술적 관점에서 보면 비트코인 대체 체인 생성 가능성이 있습니다. 하지만 비트코인의 기본 특성과 계층화된 설계 측면에서 볼 때 대체 체인이 있더라도 거의 비트코인만이 네트워크 인프라 계층 역할을 할 수 있습니다. 1차 네트워크 수준에서 실물은 비트코인뿐이고, 어느 정도 대체 기능을 가질 수 있는 체인은 기껏해야 A급 제품이다.
1.2. 비트코인 포크의 역사, 이유 및 중요성
비트코인의 개발 역사에는 삭제 지시 문제 외에도 블록 크기에 대한 논쟁도 있어 비트코인의 하드포크가 자주 발생한다.
BTC가 생성될 당시에는 블록 크기에 제한이 없었기 때문에 동시에 처리할 수 있는 거래 수가 제한되었습니다. 하지만 초창기 BTC 가격이 매우 낮았기 때문에 악의적인 거래에 따른 비용도 매우 낮았습니다. 이 문제를 해결하기 위해 나카모토 사토시는 2010년 9월 12일 소프트 포크를 주재하여 블록 제한을 추가했습니다. 크기는 1MB를 초과할 수 없습니다. Satoshi Nakamoto는 이러한 제한이 일시적이며 향후 확장 요구 사항을 충족하기 위해 블록 제한을 통제되고 점진적인 방식으로 늘릴 수 있다고 지적했습니다.
아래 그림은 비트코인의 포크 기록을 보여줍니다.
비트코인의 인기로 인해 네트워크 거래 정체 및 확인 시간 증가 문제가 점점 더 심각해지고 있습니다. 2015년에 Gavin Andresen과 Mike Hearn은 블록 제한을 8MB로 늘리기를 희망하면서 BitcoinXT의 새 버전에서 BIP-101 제안을 구현할 것이라고 발표했습니다. Greg Maxell, Luke Jr, Pieter Wuille과 같은 핵심 개발자들은 이 접근 방식이 전체 노드를 실행하기 위한 임계값을 높이고 통제할 수 없는 영향을 미칠 것이라고 믿고 반대했습니다. 결국 토론은 주제와 참여 범위 측면에서 확대되었습니다.
위 내용에서 Satoshi Nakamoto는 블록 크기 제한은 일시적이며 향후 확장 요구를 충족하기 위해 블록 크기 제한을 제어 가능하고 점진적으로 늘릴 수 있습니다라고 표현한 것을 알 수 있습니다. 더 큰 블록을 지원하고 더 큰 블록을 지원하기 위해 체인을 분리하면 문제가 해결됩니까? 끊임없는 논란 속에 많은 사건도 발생했다. 예를 들어 BCH 블록 크기는 8MB이고 나중에 32MB로 증가합니다. BSV 블록 크기는 128M입니다. BCH(및 이후 BSV) 외에도 이 기간 동안 다른 많은 BTC 포크 코인도 등장했습니다. BitMEX Research에 따르면 BCH 포크 이후 불과 1년 만에 최소 50개의 새로운 포크 코인이 등장했습니다.
나중에 비트코인 메인넷의 Segwit과 Taproot도 블록 공간을 1MB에서 4MB로 어느 정도 늘린 것을 볼 수 있습니다.
비트코인의 포크는 자체 변경을 통해 더 많은 요구 사항을 지원하려는 개발 탐색입니다. 그 중에는 사용자 요구, 채굴자 요구, 투자자 요구, 개발자 요구 등이 있습니다.
1.3. 비트코인 개발의 몇 가지 일반적인 탐구
Satoshi Nakamoto가 떠난 후 상속인 Gavin Andresen이 Bitcoin Core와 Bitcoin Foundation의 설립을 이끌었습니다. 이 기간 동안 특히 자산 발행 분야에서 BTC의 확장성 탐색이 계속되었습니다.
(1) 컬러코인(컬러코인)
eToro CEO Yoni Assia는 2012년 3월 27일에 발표된 기사에서 최초로 컬러 코인을 제안했습니다. 아이디어는 계속 성장했고, Bitcointalk와 같은 포럼에서 컬러 코인의 개념이 구체화되고 관심을 끌기 시작했습니다. 마침내 Meni Rosenfeld는 2012년 12월 4일에 컬러 통화를 자세히 설명하는 백서를 발표했습니다.
염색된 동전의 아이디어는 비트코인의 특정 부분에 특수 라벨(예: 염료)을 추가하여 더 넓은 범위의 자산과 가치를 나타내는 것입니다. 컬러 코인을 구현하는 일련의 엔터티가 있으며 이는 대략 두 가지 범주로 나뉩니다.
1) OP_RETURN 기준: 예를 들어 2013년 Flavien Charlon이 제안한 Open Assets는 OP_RETURN(Bitcoin v 0.9.0에서 제안)을 사용하여 비트코인에 소량의 데이터를 저장하는 데 사용할 수 있으며 초기 제한은 40바이트이며, 나중에 80바이트로 늘어났습니다.) opcode는 스크립트에 저장되고 외부 세계에서 읽혀 채색 및 트랜잭션을 완료합니다. (이 패턴은 자산 합법성을 결정하기 위해 외부 지수에 의존하는 서수와 유사합니다).
2) OP_RETURN 기반: 대표적인 것이 ChromaWay가 2014년에 제안한 EPOBC 프로토콜입니다. EPOBC 자산에 대한 추가 정보는 비트코인 거래의 nSequence 필드에 저장되며, 각 EPOBC 자산의 범주 및 적법성은 기원까지 추적되어야 합니다. 결정하는 거래.
(2) 마스터코인(OMNI)
JR Willett은 2012년 1월 6일 MasterCoin 아이디어를 발표하고 이를 비트코인의 두 번째 백서라고 명명했으며, 2013년 7월 ICO를 통해 공식적으로 프로젝트를 시작하여 최종적으로 5,120 BTC(당시 $500,000 상당)를 모금했습니다. MasterCoin은 블록체인 외부 노드에 상주하는 상태 모델 데이터베이스를 유지하기 위해 비트코인 블록을 스캔하는 완전한 노드 레이어를 구축한다는 점에서 Colored Coins와 다릅니다. 이 디자인은 새로운 자산 생성, 분산형 거래소, 자동화된 가격 피드백 등 컬러 코인보다 더 복잡한 기능을 제공할 수 있습니다. 2014년에 Tether는 Tether USD(OMNI)로 알려진 Mastercoin 프로토콜을 통해 Bitcoin에 스테이블 코인을 출시했습니다.
(3)상대방
Counterparty는 2014년에 공식적으로 출범했습니다. 상대방은 또한 OP_RETURN을 사용하여 BTC 네트워크에 데이터를 저장합니다. 하지만 컬러 코인과 달리 상대방의 자산은 UTXO 형태로 존재하지 않고 OP_RETURN을 통해 자산 이전을 나타내는 정보를 로드하여 자산 보유자가 보유 주소를 사용하여 특수 데이터로 거래를 체결하면 자산 이전이 완료됩니다. . 이러한 방식으로 Counterparty는 자산의 발행 및 거래와 Ethereum 스마트 계약과 호환되는 플랫폼을 실현할 수 있습니다.
또한 Ethereum, Ripple 및 BitShares도 더 넓은 Bitcoin 2.0에 속한다는 의견도 있습니다.
1.4. 비트코인의 불완전성과 계층화된 프로토콜
비트코인 시스템의 불완전성(또는 한계)은 주로 여러 측면에서 나타납니다(본 기사의 불완전성은 이더리움 백서의 요약을 기반으로 하며 실제 결함은 아닙니다.
1. 비트코인 계정 시스템 UTXO
현재 블록체인 프로젝트에는 두 가지 주요 기록 보관 방법이 있는데, 하나는 계정/잔액 모델이고 다른 하나는 UTXO 모델입니다. 비트코인은 UTXO 모델을 사용하고, 이더리움, EOS 등은 계정/잔액 모델을 사용합니다.
비트코인 지갑에서는 일반적으로 계정 잔액을 볼 수 있지만 사토시 나카모토가 설계한 비트코인 시스템에는 잔액이라는 개념이 없습니다. Bitcoin Balance는 Bitcoin Wallet 애플리케이션에서 파생된 상품입니다. UTXO(Unspent Transaction Outputs)는 사용되지 않은 트랜잭션 출력으로, 비트코인 트랜잭션 생성 및 검증의 핵심 개념입니다. 거래는 일련의 체인 구조를 형성하며 모든 합법적인 비트코인 거래는 하나 이상의 이전 거래의 출력으로 추적될 수 있습니다. 이러한 체인의 소스는 채굴 보상이며 끝은 현재 사용되지 않은 거래 출력입니다.
따라서 현실 세계에는 비트코인이 없고 UTXO만 존재합니다. 비트코인 트랜잭션은 트랜잭션 입력과 트랜잭션 출력으로 구성됩니다. 각 트랜잭션은 입력을 소비하고 출력을 생성하며, 생성되는 출력은 UTXO입니다.
스마트 계약을 구현하려면 UTXO 계정 모델에 매우 큰 문제가 있습니다. Ethereum Yellow Paper의 디자이너인 Gavin Wood는 UTXO에 대해 매우 깊은 이해를 갖고 있습니다. Ethereum의 가장 큰 새로운 기능은 스마트 계약 고려 사항으로 인해 Gavin Wood가 UTXO 기반 Turing-complete 스마트 계약을 구현하는 것은 어렵습니다. 계정 모델은 본질적으로 객체 지향적이며 각 거래는 해당 계정(nonce++)에 기록됩니다. 계정 관리를 더 쉽게 하기 위해 전역 상태가 도입되었으며, 각 트랜잭션은 이 전역 상태를 변경합니다. 이것은 현실 세계에 해당합니다. 작은 변화 하나하나가 세상을 바꿀 것입니다. 따라서 이더리움은 계정 시스템을 사용하며 이후의 퍼블릭 체인은 기본적으로 다양한 유형의 계정 시스템을 기반으로 구현됩니다.
UTXO의 또 다른 심각한 결점은 계좌의 인출 한도를 세밀하게 통제할 수 없다는 점이다. 이는 이더리움 백서에 설명되어 있습니다.
2. 비트코인의 스크립팅 언어는 Turing-complete가 아닙니다.
Bitcoin 스크립팅 언어는 다양한 계산을 지원할 수 있지만 모든 계산을 지원할 수는 없습니다. 가장 큰 단점은 루프 문과 조건 제어 문이 없는 비트코인의 스크립팅 언어입니다. 그러므로 우리는 비트코인 스크립팅 언어가 튜링 완전하지 않다고 말합니다. 이로 인해 비트코인 스크립팅 언어에는 특정 제한이 발생합니다. 물론 이러한 제한으로 인해 해커는 이 스크립팅 언어를 사용하여 무한 루프(네트워크 마비를 일으킬 수 있음) 또는 DOS 공격을 유발할 수 있는 일부 악성 코드를 작성하여 비트코인 네트워크에 대한 DOS 공격을 피할 수 없습니다. 비트코인 개발자들은 또한 일부 공격과 네트워크 정체를 피하기 위해 핵심 블록체인이 튜링 완전성을 가져서는 안 된다고 믿습니다. 그러나 비트코인 네트워크가 복잡한 프로그램을 실행할 수 없는 것은 바로 이러한 제한 때문입니다. 루프 문을 지원하지 않는 목적은 트랜잭션 확인 중 무한 루프를 방지하는 것입니다.
보안을 위해 Turing 완전성을 지원하지 않는 이유는 충분하지 않습니다. 그리고 튜링완전이 아닌 언어는 할 수 있는 일이 제한되어 있습니다.
3. 비트코인의 기타 불완전성, 보안 및 확장성
채굴의 중앙화 문제 비트코인 채굴 알고리즘은 기본적으로 특정 노드의 수정된 버전의 해시가 목표 값보다 작아질 때까지 채굴자가 블록 헤더를 수천만 번 약간 변경할 수 있도록 합니다. 그러나 이 마이닝 알고리즘은 두 가지 형태의 중앙 집중화 공격에 취약합니다. 첫 번째로, 채굴 생태계는 비트코인 채굴이라는 특정 작업에서 수천 배 더 효율적이도록 특별히 설계된 ASIC(응용프로그램별 집적 회로)과 컴퓨터 칩에 의해 제어됩니다. 이는 비트코인 채굴이 더 이상 고도로 분산화되고 평등주의적이지 않고 막대한 자본의 효과적인 참여가 필요하다는 것을 의미합니다. 둘째, 대부분의 비트코인 채굴자는 실제로 더 이상 로컬에서 블록 확인을 완료하지 않고 중앙 집중식 채굴 풀에 의존하여 블록 헤더를 제공합니다. 문제는 심각합니다. 현재 상위 3개 채굴 풀이 비트코인 네트워크 처리 능력의 약 50%를 간접적으로 통제하고 있습니다.
확장성 문제는 비트코인의 중요한 문제입니다. 비트코인의 경우 시간당 약 1MB씩 증가합니다. 비트코인 네트워크가 초당 2,000건의 Visa 거래를 처리한다면 3초마다 1MB씩 증가합니다(시간당 1GB, 연간 8TB). 거래 수가 적다는 점은 비트코인 커뮤니티에서도 논란을 불러일으켰습니다. 대규모 블록체인은 성능을 향상시킬 수 있지만 문제는 중앙화 위험입니다.
제품 수명주기의 관점에서 볼 때 비트코인의 일부 작은 결함은 자체 시스템에서 개선될 수 있지만 현재 시스템에서는 개선 방법이 제한됩니다. 그러나 이러한 문제가 새로운 시스템에서 해결될 수 있다면 기존 시스템의 한계를 고려할 필요가 없습니다. 새로운 블록체인 시스템이 구축되기 때문에 새로운 시스템을 설계할 때 이러한 작은 기능적 개선도 함께 설계되고 업그레이드되어야 합니다.
레이어드 디자인
계층화된 설계는 인간이 복잡한 시스템을 처리할 수 있는 수단이자 방법론으로, 시스템을 여러 계층 구조로 나누고 각 계층 간의 관계와 기능을 정의함으로써 시스템의 모듈성, 유지 관리성 및 확장성을 달성합니다. 시스템의 신뢰성.
광범위하고 대규모 프로토콜 시스템의 경우 계층화를 사용하면 분명한 이점이 있습니다. 이를 통해 사람들이 이해하기 쉽고, 분업으로 구현하기 쉽고, 모듈별로 개선하기 쉽습니다. 예를 들어 컴퓨터 네트워크의 ISO/OSI 7계층 모델 설계는 있지만 특정 구현에서는 일부 계층을 결합할 수 있습니다. 예를 들어 특정 네트워크 프로토콜인 TCP/IP는 4계층 프로토콜입니다. 구체적으로 프로토콜 계층화의 장점은 다음과 같습니다. 각 계층은 독립적이고 유연하며 구조적으로 분리 가능하고 구현 및 유지 관리가 쉽고 표준화 작업을 촉진할 수 있습니다.
계층화된 프로토콜의 관점에서 볼 때 비트코인은 가장 기본적인 수준에 있기 때문에 UTXO, 비튜링 완전성, 긴 블록 생성 시간, 작은 블록 용량, 창립자의 실종 등은 단점이 아닙니다. 레이어 네트워크가 가져야 할 특성입니다.
참고: 저자는 비트코인 레이어 2 구성 V1.5의 기본 지식 시스템을 요약한 기사에서 프로토콜 레이어링에 대해 더 자세히 설명했습니다.
2. 비트코인 개발의 중요한 신기술(블록 확장 및 용량 확장)
이전 섹션에서 우리는 비트코인의 원천 기술에 대한 주요 갈등과 일부 탐색 사례에 대해 논의했지만, 많은 경우 하드 포크가 발생하거나 완전히 새로운 이종 체인이 생성되었습니다. 비트코인 블록체인 자체에서 이러한 탐구는 본질적으로 블록과 기능의 확장이라는 많은 결과를 가져왔습니다. 이는 주로 다음과 같은 측면에서 나타납니다.
2.1.OP_RETURN
비트코인 개발자는 항상 비트코인의 기능을 확장하기를 원해 왔으며 이는 여러 측면에서 반영됩니다.
(1) OP_RETURN 사용
OP_RETURN은 스크립트를 종료하고 스택 상단의 값을 반환하는 스크립트 opcode입니다. 이 opcode는 프로그래밍 언어의 반환 함수와 유사합니다. OP_RETURN opcode의 기능은 비트코인의 역사 동안 여러 번 수정되었으며 현재는 주로 원장에 데이터를 저장하는 방법으로 사용됩니다. OP_RETURN opcode의 기능은 과거에 크게 변경되었으며 이제는 임의의 데이터를 온체인에 저장할 수 있는 중요한 메커니즘입니다.
OP_RETURN은 원래 스크립트 실행을 조기에 종료하기 위해 사용되는 반환 연산이며, 실행 결과가 스택의 최상위 항목으로 표시됩니다. 이 opcode에는 원래 쉽게 악용할 수 있는 취약점이 있었지만 Satoshi Nakamoto가 신속하게 패치했습니다.
OP_RETURN 기능에 대한 추가 변경 사항
Bitcoin Core v 0.9.0 업그레이드에서는 OP_RETURN 출력 스크립트가 표준 출력 유형으로 만들어져 사용자가 사용할 수 없는 트랜잭션 출력에 데이터를 추가할 수 있습니다. 이러한 스크립트에서 사용할 수 있는 데이터 양의 상한은 처음에는 40바이트로 제한되었다가 이후 80바이트로 늘어났습니다.
블록체인에 데이터 저장:
항상 false를 반환하도록 OP_RETURN을 변경하면 흥미로운 결과가 발생합니다. OP_RETURN 이후에는 opcode나 데이터가 평가되지 않으므로 네트워크 사용자는 이 opcode를 사용하여 임의 형식의 데이터를 저장하기 시작했습니다.
비트코인 캐시(BCH) 기간, 즉 2017년 8월 1일부터 2018년 11월 15일까지 OP_RETURN 출력에 추가할 수 있는 데이터 길이가 220바이트로 확장되었으며, 더 큰 데이터로 인해 데이터 사용이 용이해질 수 있습니다. 블록체인 소셜 미디어에 콘텐츠 게시 등 혁신적인 애플리케이션을 제공합니다.
BSV에서는 220바이트 제한이 잠시 유지되었습니다. 그런 다음 2019년 1월에 OP_RETURN opcode는 노드가 후속 opcode의 유효성을 검사하지 않는 방식으로 스크립트를 종료하기 때문에 노드는 스크립트가 최대 스크립트 크기 제한인 520바이트 내에 있는지도 확인하지 않습니다. 결과적으로 네트워크의 노드 운영자는 최대 트랜잭션 크기를 100KB로 늘리기로 결정하여 개발자에게 애플리케이션을 혁신할 수 있는 더 많은 자유를 제공하고 새로운 애플리케이션이 더 크고 복잡한 데이터를 Bitcoin Ledger에 넣을 수 있도록 했습니다. 당시 누군가가 전체 웹사이트를 BSV 원장에 넣는 애플리케이션의 예가 있었습니다.
OP_RETURN에는 특정 기능 확장이 있지만 전체 기능은 여전히 제한되어 있습니다. 그래서 분리된 증인(Segregated Witness) 기술이 탄생했습니다.
(2) Segwit 격리 증인
Segregated Witness(줄여서 SegWit)는 2015년 12월 Pieter Wuile(비트코인 핵심 개발자이자 Blockstream 공동 창립자)에 의해 처음 제안되었으며 나중에 Bitcoin BIP 141을 형성했습니다. Segregated Witness는 비트코인 블록의 트랜잭션 데이터 구조를 약간 수정하여 다음 문제를 해결합니다.
1) 거래 가단성 문제.
2) SPV 증명에서 전송된 거래의 서명은 선택 사항이 되어 Merkle 증명으로 전송되는 데이터의 양을 줄일 수 있습니다.
3) 위장된 형태로 블록 용량을 늘린다.
처음 두 항목은 주로 보안과 성능을 높이는 것인데, 그 중 세 번째 항목의 구현은 블록의 용량을 증가시켜(아래 블록 가중치 개념 참조), 이를 위한 기반을 마련합니다. 결과적으로 후속 Taproot(Segregated Witness의 두 번째 버전)는 더욱 강화되었습니다.
수익화는 블록 용량을 확장하지만 SegWit은 블록 크기에 의해서도 제한됩니다. 비트코인의 블록 크기는 1M 바이트로 제한됩니다. 증인 데이터는 이 제한에 포함되지 않으므로 증인 데이터의 남용을 방지하기 위해 전체 블록 크기는 여전히 제한됩니다. 블록 가중치라는 새로운 개념 도입
블록 무게 = 기본 크기 * 3 + 전체 크기
기본 크기는 감시 데이터를 포함하지 않는 블록 크기입니다.
총 크기는 기본 데이터 및 증인 데이터를 포함하여 BIP 144에 설명된 직렬화된 트랜잭션의 블록 크기(바이트)입니다.
분리된 증인 제한 블록 무게 <= 4M.
Segregated Witness는 기술적으로 비트코인의 확장을 통해 라이트닝 네트워크를 사용할 수도 있습니다. 이 부분은 여기서 자세히 소개하지 않습니다.
(3) Taproot Segregated Witness V2 버전
Taproot라는 단어를 직접 사용하면 새로운 개념이라고 생각하는 사람이 많지만, 이것이 Segregated Witness의 두 번째 버전이라고 하면 대부분의 사람들이 그 연관성을 이해할 것입니다. Taproot와 관련된 BIP는 340, 341 및 342입니다. 해당 이름은 BIP 340(Secp 256 k 1에 대한 Schnorr 서명), BIP 341(Taproot: SegWit 버전 1 지출 규칙), BIP 342(Taproot 스크립트 유효성 검사)입니다.
2021년 11월, Taproot는 공식적으로 소프트포크 형태로 발효되었습니다. 이 업그레이드는 BIP 340, BIP 341 및 BIP 342로 구성됩니다. 이 중 BIP 340은 여러 거래를 동시에 검증할 수 있는 슈노르(Schnorr) 서명을 도입해 타원곡선 디지털 서명 알고리즘(ECDSA)을 대체해 다시 한 번 네트워크 용량을 확장하고 일괄 거래 처리 속도를 높여 복잡한 스마트 구축이 가능해졌다. BIP 341은 블록체인의 거래 데이터 저장을 최적화하기 위해 MAST(Merkelized Abstract Syntax Tree)를 구현합니다. BIP 342(Tapscript)는 비트코인의 스크립트 언어를 사용하여 비트코인의 기본 스크립트 기능의 부족함을 확장합니다.
Segwit과 Taproot의 공간 확장으로 인해 Schnorr, MAST 트리 및 Taproot 스크립트가 탄생했습니다. 이들의 임무는 비트코인 메인넷의 기능을 확장하는 것입니다.
2.2. 슈노르, MAT, 탭루트 스크립트
섹션 2.1을 통해 우리는 Bitcoin의 확장과 확장에 대한 지속적인 탐구를 보았습니다. Taproot 기술과 Schnorr, MAST 및 Taproot Script와 같은 여러 관련 중요한 기술이 출현하고 나서야 Bitcoin의 기능이 실제로 열렸습니다.
(1)슈노르 사인
Taproot의 개발은 기능을 확장하는 동시에 서명 알고리즘에 대한 특정 요구 사항을 갖기 때문에 Schnorr 서명이 나타나기 시작했고 ECDSA(Elliptic Curve Digital Signature Algorithm)를 대체하는 데 사용되었습니다. Schnorr 서명은 거래와 메시지에 효율적이고 안전하게 서명하는 디지털 서명 체계입니다. 이는 1991년 논문에서 Claus Schnorr에 의해 처음 설명되었습니다. Schnorr는 단순성, 입증 가능한 보안 및 선형성으로 인해 높은 평가를 받고 있습니다.
Schnorr 서명의 장점:
1) Schnorr 서명은 ECDSA의 모든 기능과 보안 가정을 유지하면서 효율성과 향상된 개인 정보 보호를 포함한 여러 이점을 가지고 있습니다. Schnorr 서명은 더 작은 서명 크기, 더 빠른 확인 시간 및 특정 유형의 공격에 대한 향상된 저항을 가능하게 합니다.
2) Schnorr 서명의 가장 중요한 장점은 여러 서명을 키 합계에 유효한 하나의 서명으로 집계하는 키 집계입니다. 즉, Schnorr를 사용하면 여러 파트너가 공개 키 합계에 유효한 서명을 생성할 수 있습니다. 서명 집계를 사용하면 여러 서명자의 서명을 단일 서명으로 결합할 수 있습니다.
다중 서명 설정의 전자 서명은 단일 당사자 거래의 서명과 동일한 블록 공간을 차지하므로 키 집계는 거래 수수료를 줄이고 기본 확장성을 향상시킵니다. Schnorr의 이 기능은 다중 서명 결제 및 기타 다중 서명 관련 거래(예: 라이트닝 네트워크 채널 거래)의 규모를 줄이는 데 사용할 수 있습니다.
3) Schnorr 시그니처의 또 다른 중요한 특징은 변조 불가능성입니다.
4) Schnorr는 또한 많은 개인 정보 보호 혜택을 제공합니다. Schnorr는 다중 서명 방식을 전통적인 단일 공개 키와 외부적으로 구별할 수 없게 만들어 관찰자가 온체인 활동에서 다중 서명 지출과 단일 서명 지출을 구별하기 어렵게 만듭니다. 또한, n-of-m 다중 서명 설정에서 Schnorr는 외부 관찰자가 온체인 정보를 보고 거래에 서명한 참가자와 서명하지 않은 참가자를 판단하는 것을 더 어렵게 만듭니다.
Schnorr 서명은 Taproot 소프트 포크 업그레이드의 일부로 BIP-340에서 구현되었으며 2021년 11월 14일 블록 높이 709,632에서 활성화되었습니다. Schnorr는 BTC의 디지털 서명을 더 빠르고, 더 안전하고, 더 쉽게 처리할 수 있도록 해줍니다. 특히 Schnorr 서명은 BTC의 암호화 알고리즘과 역호환되므로 소프트 포크 업그레이드를 통해 도입할 수 있습니다.
(2) MAST 추상 구문 트리
중국어와 영어로 된 MAST의 약어에는 약간의 모호함이 있습니다. BIP 공식(BIP 114) 및 일부 기사에서는 MAST의 약어를 Merklized Abstract Syntax Tree로 사용합니다. 일부 다른 자료는 MAST(Merklized Alternative Script Trees)를 사용하여 중국어로 번역됩니다. 비트코인 마스터하기 책과 기사에서 이 약어에 대해 설명합니다: https://cointelegraph.com/learn/a-beginners-guide-to-the-bitcoin-taproot-upgrade.
Merkle 추상 구문 트리와 Merklized Alternative Script Trees(MAST)는 기능적으로 동일한 것으로 보입니다. 번역의 관점에서 저는 개인적으로 공식 비트코인 BIP 프로토콜의 사용이 유지되어야 한다고 생각합니다.
MAST의 기본 개념은 추상 의미 트리와 머클 트리라는 두 가지 개념에서 비롯됩니다.
추상 의미 트리(AST)는 컴퓨터 과학의 편집 원리 및 형식 언어학 지식 분야에 속합니다. 추상 의미 트리는 소스 코드의 의미 구조를 표현하는 데 사용되는 컴파일 프로세스의 중간 표현입니다. 소스 코드를 트리 구조로 변환합니다. 여기서 각 노드는 의미 단위를 나타내고 가장자리는 이들 간의 관계를 나타냅니다. 추상 의미 트리는 컴파일러의 어휘 분석 및 구문 분석 단계에서 중요한 역할을 하며, 컴파일러가 소스 코드의 의미를 이해하고 후속 최적화 및 대상 코드 생성을 수행하는 데 도움을 줍니다. 일반인의 관점에서 AST(추상 의미 트리)는 프로그램을 독립적인 작은 조각으로 나누어 프로그램을 설명하고 분석하고 최적화하기 쉽게 만드는 방법입니다. AST를 생성하려면 모든 방정식과 전제를 모든 전제를 찾을 때까지 화살표로 연결해야 합니다. 아래 그림은 스크립트의 AST입니다.
반면에 머클 트리는 전체 집합을 알지 못해도 요소가 집합에 속하는지 여부를 확인하는 데 사용할 수 있습니다. 예를 들어, 비트코인의 SPV 지갑(Simple Payment Verification Wallet)은 머클 트리를 사용하여 특정 블록에 거래가 존재하는지 확인합니다. 이렇게 하면 전체 블록을 다운로드할 필요가 없어져 대역폭이 절약됩니다.
머클 트리를 생성하려면 각 요소를 한 번 해시하여 고유한 식별자를 생성해야 합니다. 그런 다음 이러한 식별자는 쌍을 이룬 후 다시 해시되어 식별자가 하나만 남을 때까지 반복됩니다. 전체 컬렉션에 레이블을 지정하는 짧고 간결한 식별자인 머클 루트라고 합니다.
요소가 세트에 속하는지 확인할 때 전체 세트를 소유한 사람은 해당 요소에서 Merkle 루트까지의 경로에 있는 모든 식별자를 제공할 수 있습니다. 이는 이 요소가 실제로 이 세트에 있음을 증명할 수 있습니다.
간단히 말해서, AST 기반 기술을 사용하면 프로그램을 작은 조각으로 나눌 수 있으며, 머클 트리를 사용하면 전체 프로그램을 노출하지 않고도 이러한 작은 조각이 실제로 완전한 프로그램의 일부인지 확인할 수 있습니다. 이는 소비자가 Merkle 증명을 사용하여 단일 거래에서 사용되지 않는 조건을 대체할 수 있도록 하는 MAST의 기본 원칙입니다. 장점은 거래량 감소, 개인정보 보호 향상, 대규모 계약 지원입니다 .
인터넷에는 특정 MAST 트리의 예가 많이 있습니다. 프로그램 개발 방법을 아는 사람들은 MAST 프로세스를 정리하여 관련 논리를 명확하게 할 수 있습니다.
이제 MAST 추상 구문 트리가 있으므로 비트코인의 기본 구문 기능을 확장해야 하므로 Taproot Scripts가 탄생했습니다.
(3) 탭루트 스크립트
Tapscript 스크립트는 BIP 342 프로토콜에 포함되어 있습니다. Taprootscript는 원래 Bitcoin 스크립트의 업그레이드 버전이지만 실제로는 명령이 포함된 opcode 모음입니다. 구현 지원. Taprootscript는 또한 10,000바이트 스크립트 크기 제한을 제거하여 비트코인 네트워크에서 스마트 계약을 생성하기 위한 더 나은 환경을 제공합니다. (Ordinals 프로토콜은 추가 데이터를 구현하기 위해 Taproot의 스크립트 경로 지출 스크립트 스크립트를 사용하기 때문에 이 업그레이드는 나중에 Ordinal 탄생을 위한 토대를 마련했습니다.) 자세한 정보는 공식 웹사이트에서 확인할 수 있습니다:
https://github.com/bitcoin/bips/blob/master/bip-0342.mediawiki
현재 TaprootScript의 기능은 완전히 활용되지 않았으며 향후 더 많은 구축이 그 힘을 반영할 것입니다. 예를 들어, 비트코인 레이어 1 네트워크와 레이어 2 네트워크 간의 연결 기술은 Taproot, MAST 및 TaprootScripts를 더 자주 사용해야 합니다.
2.3. 서수, 비문, BRC 20 및 기타 계약
비트코인 생태계에서는 이러한 기본 도구인 Segwit, Taproot, Schnorr, MAST, Taproot Scripts를 통해 새로운 애플리케이션이 등장하기 시작했습니다. 처음에 사용되는 응용 프로그램은 가볍고 단순한 응용 프로그램입니다.
(1) 서수 서수 프로토콜, 비문, BRC 20
서수 프로토콜의 탄생은 sat의 개념과 밀접한 관련이 있습니다. 이 프로토콜은 서수 및 비문의 개념을 제안합니다. 서수란 비트코인 네트워크의 각 사토시에게 채굴 순서에 따라 번호를 할당하는 번호 지정 체계를 말합니다. 프로토콜에서는 sat이 서로 다른 지갑 간에 어떻게 전송되더라도 해당 서수 식별자는 변경되지 않습니다. Rodarmor 오픈 소스 소프트웨어 ORD를 실행하는 비트코인 전체 노드는 번호가 매겨진 사토시를 추적할 수 있습니다. 이는 사람들이 각 사토시를 정확하게 추적하고 독립적으로 확인할 수 있는 메커니즘을 제공합니다.
비문은 사토시의 정보를 태워서 작성됩니다. SegWit과 Taproot를 결합함으로써 Ordinals 프로토콜은 비트코인 블록의 사토시당 4MB보다 작은 파일 또는 비문을 구울 수 있습니다. 비문에는 텍스트, 사진, 비디오 등과 같은 다양한 형태의 정보가 포함될 수 있습니다. 아래 사진은 샘플 비문의 스크린샷입니다.
간단히 말해서, 서수 번호 매기기 체계는 각 Satoshi에게 고유한 추적 가능한 번호를 제공하여 Satoshi를 비동질적으로 만듭니다. 비문은 빈 종이에 예술 작품을 만드는 것과 유사하게 분할할 수 없는 데이터 정보를 서수에 추가할 수 있습니다. 이 둘의 조합은 비트코인에 새로운 NFT 표준을 제공합니다. Ordinals의 본질은 실제로 매우 간단합니다. 이는 NFT 프로토콜에 더 가깝습니다. 그러나 대부분 IPFS 또는 중앙 집중식 서버에 저장되는 ETH 또는 기타 퍼블릭 체인의 NFT 메타데이터(MetaData)와 달리 Ordinals의 메타데이터는 다음과 같습니다. 증인필드(Witness Data)는 특정인에게 새겨지는 것과 같다. 이것이 비문이라는 단어의 유래이기도 하다.
BRC-20: Ordinals 프로토콜에서 영감을 받아 트위터 사용자 @domodata는 2023년 3월 8일 비트코인의 실험적 대체 가능 토큰 표준 BRC-20을 만들었습니다. Ordinals 프로토콜은 각 사토시에게 서로 다른 속성을 제공하여 BTC 네트워크 NFT를 생성하는 반면, BRC-20은 동종 토큰인 통일된 형식과 속성을 제공하여 BTC에 FT를 생성합니다.
BRC-20은 Ordinals 프로토콜을 통해 BTC 비문에 JSON 텍스트를 작성하여 토큰 계약, 발행 및 전송 토큰(Depoly, Mint, Transfer)을 배포합니다. 배포의 핵심은 토큰 이름, 총 공급량 및 단일 최대값에 있습니다. 채굴량을 기다려주세요. 전송 또는 구매/판매 거래의 경우 오프체인 잔액을 추적하기 위해 추가 NFT가 새겨집니다. 선착순 채굴 메커니즘은 공정한 발행 및 참여 기회를 동시에 제공합니다. BTC의 상대적으로 불완전한 생태학적 인프라로 인해 특정 학습 임계값과 낮은 유동성이 있어 BRC-20 토큰이 가능합니다. 쉽게 승격되는 , ordi, sats,rats 및 기타 BRC 20 토큰은 부 창출 신화의 물결을 시작했습니다.
(2) 기타 프로토콜 - Atomics, ARC 20
Atomics 프로토콜의 탄생은 상당히 드라마틱했습니다. Ordinals 프로토콜이 처음 출시되었을 때 설립자 Arthur는 이를 기반으로 DID 프로젝트를 개발하고 싶었지만 개발 과정에서 Ordinals 프로토콜에는 그렇지 않은 많은 한계가 있음을 발견했습니다. 그가 달성하고자 하는 일부 기능을 지원하는 데 도움이 됩니다. 그래서 2023년 5월 29일 Arthur는 Twitter에 Atomicals 프로토콜 아이디어에 대한 첫 번째 트윗을 게시했습니다. 몇 달 간의 개발 끝에 Atomicals 프로토콜은 2023년 9월 17일에 출시되었습니다. 이후 Atomics 프로토콜은 Dmint, Bitwork, ARC-20, RNS 등 4가지 주요 개념을 도출했으며, 향후 AVM 및 분할 솔루션이 출시될 예정이다.
Ordinals 및 BRC 20과 유사하게 Atomics에 대체 가능한 토큰을 배포하면 ARC 20이 형성됩니다. ARC 20에 관심이 있는 독자는 더 많은 내용을 읽을 수 있습니다.
https://docs.atomicals.xyz/arc20-tokens
(3) 기타 프로토콜 - 룬
개발과 함께 Ordinals 창립자 Casey Rodarmor는 BRC-20 토큰이 UTXO 확산의 바람직하지 않은 결과를 초래한다는 기사를 발표하고 Runes를 UTXO 기반 대안으로 제안했습니다. 다양한 기존 프로토콜은 일반적으로 복잡한 프로토콜 구현, 열악한 사용자 경험, 사용되지 않은 가비지 트랜잭션 출력(UTXO) 및 작업을 위한 기본 토큰의 필요성과 같은 문제로 어려움을 겪고 있습니다.
룬은 OP_RETURN을 사용하여 전송되며 프로토콜 메시지의 첫 번째 데이터 출력은 (ID, OUTPUT, AMOUNT) 튜플의 시퀀스로 해석되는 정수 시퀀스로 디코딩됩니다. 디코딩된 정수가 3의 배수가 아닌 경우 프로토콜 메시지는 유효하지 않습니다. ID는 전송할 토큰 ID이고, OUTPUT은 할당할 출력 인덱스(즉, 출력이 할당되는 항목), AMOUNT는 할당할 실행량입니다. 모든 튜플 할당이 처리된 후 할당되지 않은 룬 토큰은 첫 번째 비OP_RETURN 출력에 할당되고 나머지 룬 토큰은 프로토콜 메시지가 포함된 OP_RETURN 출력에 룬 프로토콜을 할당하여 태울 수 있습니다.
룬 발행: UTXO 기반 동종 토큰 추적. 프로토콜 메시지에 두 번째 데이터 푸시가 있는 경우 이는 이슈 트랜잭션입니다. 두 번째 데이터 푸시는 두 개의 정수인 SYMBOL, DECIMALS로 디코딩됩니다. 다른 정수가 남아 있으면 프로토콜 메시지가 유효하지 않습니다. SYMBOL은 서수 이름에 사용되는 것과 유사한 사람이 읽을 수 있는 기본적인 26비트 기호이며, 현재 유효한 유일한 문자는 A부터 Z까지입니다. DECIMALS는 룬을 표시할 때 사용해야 하는 소수점 이하 자릿수입니다. SYMBOL이 할당되지 않은 경우 Runes Token에는 ID 값(1부터 시작)이 할당됩니다. SYMBOL이 이미 할당되었거나 BITCOIN, BTC 또는 XBT인 경우 새 룬이 생성되지 않습니다. 이는 룬 프로토콜의 특별한 기능입니다. 잔액 기록을 지갑 주소에 연결하는 대신 UTXO 자체에 기록을 배치합니다.
새로운 Runes 토큰은 발행 거래로 시작하여 공급, 서명 및 규모를 지정하고 해당 공급을 특정 UTXO에 할당합니다. UTXO에는 크기에 관계없이 원하는 만큼의 룬 토큰이 포함될 수 있습니다. UTXO는 잔액을 추적하는 데에만 사용됩니다. 그런 다음 전송 기능은 해당 UTXO를 사용하고 이를 다양한 수의 룬을 포함하는 임의 크기의 여러 개의 새로운 UTXO로 분할하여 레코드를 다른 사람에게 보냅니다. BRC-20과 비교하여 Runes는 서버 합의 계층을 줄이고 동시에 오프체인 데이터에 의존하지 않으며 기본 토큰이 없습니다. 비트코인의 기본 UTXO 모델에 매우 적합합니다.
(4) 기타 프로토콜 - BTC 스탬프, SRC 20, SRC 721
Bitcoin Stamps 시스템은 2023년 3월 Mike In Space에 의해 출시되었으며 Counterparty(2014년부터 존재한 Bitcoin L2)의 개념 증명 프로젝트로 시작되었습니다. Stamps는 현재 SRC-20으로 알려진 기본 프로토콜의 업데이트로 인해 지난 여름 비트코인으로 완전히 이전되었습니다. 설립자 Mike는 원래 영구적인 비트코인 NFT를 발행하는 방법으로 스탬프를 구상했습니다. 그러나 프로토콜은 Casey Rodarmor가 2023년 1월 Ordinals를 출시한 이후 비문 열풍 덕분에 비트코인에서 번창한 배치 대체 가능 토큰인 BRC-20을 복제하도록 확장되었습니다.
Stamps와 Ordinals의 주요 차이점은 아키텍처입니다. 이는 스탬프가 다중 서명 미사용 거래 출력(UTXO)에 메타데이터를 저장하는 반면 서수는 비트코인 거래의 증인 부분에 메타데이터를 저장하기 때문입니다. 이러한 디자인의 차이는 개발자의 선택을 보여줍니다. 즉, Stamps의 UTXO 방법을 사용하면 다듬을 수 없으므로 Ordinals 캐스팅보다 제작 비용이 더 많이 들지만 영구적인 것처럼 보입니다. 대신, Ordinals가 증인 데이터를 사용하는 방식은 궁극적으로 이를 정리할 수 있게 만들고 Stamps보다 제작 비용이 저렴합니다.
따라서 Ordinals는 오늘날 암호화폐 NFT에 대해 최고의 지속성 대 비용 비율을 제공할 수 있지만(온체인 NFT는 Ethereum에서도 사용할 수 있지만 Ordinals보다 구축 비용이 상대적으로 더 비쌉니다) Stamps는 현재 최고의 Best Direct를 제공하는 것으로 보입니다. 영원히 보증.
BTC 스탬프가 생성된 후 SRC 20과 SRC 721이 생성되기 시작했습니다. 원리는 BRC 20과 유사합니다. BRC-20은 Ordinals 프로토콜을 기반으로 구축되었으며 SRC-20은 BTC STAMPS를 기반으로 구축되었습니다. 관심 있는 독자는 SRC 20 및 SRC 721과 관련된 문서를 더 자세히 읽어볼 수 있습니다.
https://docs.openstamp.io/introduction/src20-protocol
https://docs.openstamp.io/introduction/src721-protocol
이 시점에서 첫 번째 계층 네트워크에 비트코인의 중요한 신기술이 도입되었습니다. 후속 확장 및 용량 확장 측면에서 우리는 비트코인의 레이어 2와 같은 비트코인의 상위 레이어 시설이나 라이트닝 네트워크의 도움으로 구현된 RGB와 같은 상위 레벨 레이어에 의존하기 시작했습니다. 이 분야의 기사는 비트코인의 두 번째 레이어(Layer 2) V1.5 구축을 위한 기본 지식 체계를 정리한 글과 상태 머신의 관점에서 비트코인의 두 번째 레이어를 관찰, 미래의 Web3.0 애플리케이션 아키텍처 및 구성 경로 또는 비트코인의 2층 구성 또는 아키텍처 설계에 대한 기타 기사를 볼 수 있습니다.
3. 향후 필요한 신기술 활용 및 개발 방안
섹션 2의 내용을 통해 우리는 비트코인 생태계의 기술 발전이 대규모 응용을 위한 기반을 마련했음을 알 수 있습니다. 하지만 개발에는 프로세스가 필요하고 일부 관련 기술이 미성숙하기 때문에 현재 인기 있는 애플리케이션과 최종 상용 애플리케이션 간에는 여전히 큰 차이가 있습니다.
3.1. 신기술을 활용하는 방법
이전 두 섹션에서 우리는 비트코인 기술의 발전이 본질적으로 블록과 기능의 확장임을 알 수 있습니다.
블록 확장 측면에서 Segregated Witness는 사실상의 블록 확장으로 이어졌습니다. Witness 부분을 잘라내자는 다양한 제안이 있지만 특히 Witness 부분에 더 많은 의미가 부여된 후에는 이러한 일이 발생할 가능성이 거의 없습니다.
확장 기능 측면에서 Taproot, Schnorr, MAST 및 Taproot Script와 같은 기술은 비트코인에 더 많은 기능을 제공했습니다. 특히, MAST+Taproot 스크립트는 비트코인의 기본 스크립팅 언어 기능을 확장할 것이며, 다른 여러 기술은 복잡한 시나리오를 처리하는 비트코인 언어의 기능을 확장할 것입니다. 그러나 이러한 기능의 확장은 비트코인을 개발하고 이해하는 것을 더욱 어렵게 만들 것입니다. 결국 이러한 스크립트 개발은 고급 언어가 아닙니다. 그리고 이 부분의 기능 확장은 사용자의 블록 용량 확장에 대한 이해와 학습 속도에 뒤떨어지게 됩니다.
블록을 사용하여 확장하는 것은 간단하지만 기능을 사용하여 확장하는 것은 복잡하기 때문에 사용자가 먼저 비트코인 메인 네트워크에 작은 그림 NFT를 썼고 BRC 20과 같은 애플리케이션이 만들어진 이유입니다. 현재 비트코인 메인넷에 있는 다양한 애플리케이션은 블록 확장 이후 거의 모두 탐색 중인 애플리케이션입니다. 소수의 애플리케이션이 용량 확장을 모색하기 시작했습니다. 예를 들어 BEVM의 1층 및 2층 연결이 어느 정도 대표적이며 대부분 위의 기본 요소로 구축된 기능을 사용합니다. Shnorr 서명 + MAST 계약 + 비트코인 라이트 노드 네트워크의 BTC L2 솔루션은 첫 번째 레이어와 두 번째 레이어를 연결하는 방법을 학습하는 데 좋은 사례입니다. 앞으로는 용량 확장 사례가 더 많아질 것입니다.
용량 확장의 경계는 어디에 있어야 합니까? 계층적 설계의 관점에서 판단할 수 있습니다. 이러한 기능 확장이 비트코인의 첫 번째 레이어와 두 번째 레이어 간의 연결 기술에 가깝다면 기능 확장이 너무 복잡해져서는 안 됩니다. 그러나 우리의 풍부한 창의성과 자산 발행 및 관리에 대한 강력한 매력을 바탕으로 일부 팀이나 개인은 더 많은 용량 확장 시나리오 사례를 탐색할 것입니다.
3.2. 향후 개발 요구 사항
블록체인 기술 출현의 가장 직접적인 이유는 디지털 화폐이기 때문에 자산 발행, 자산 관리 등의 애플리케이션은 비트코인이나 블록체인 분야에서 가장 직접적인 요구사항이다. 컬러 코인 탐색에서부터 BRC 20 및 ARC 20과 같은 애플리케이션, ICO, IDO 및 Ethereum의 기타 애플리케이션에 이르기까지 모두 자산 발행을 탐색하고 있습니다. Uniswap, Lending 및 AMM은 모두 Ethereum과 같은 네트워크에서 성숙하게 개발된 자산 관리 응용 프로그램입니다. 비트코인의 두 번째 레이어.
자산 발행 및 자산 관리에 대한 요구가 충족되어야 Web3.0 시대(가치 시대라고도 함)에 속하는 대규모 애플리케이션을 개발할 수 있는 에너지와 시간이 있을 것입니다. 상태 머신의 관점에서 비트코인 레이어 2를 관찰하면 미래 Web3.0 애플리케이션의 아키텍처 및 구축 경로를 볼 수 있습니다.에서 미래 Web3.0 시대의 대규모 애플리케이션을 위한 시스템 아키텍처에 대한 관련 설명을 가지고 있습니다.
건설의 길은 지속적으로 요구를 충족시키는 과정으로, 단기, 중기, 장기의 세 단계로 나눌 수 있습니다. 단기적으로는 비트코인 메인넷의 신기술로 생성된 애플리케이션과 체인 기반의 2층 구축을 통해 간단한 단계로 생성된 애플리케이션은 다양한 금융 애플리케이션을 충족할 수 있는 주요 용량 확장을 완성한다. 중기적으로는 체인 기반의 2층 구축과 분산 시스템 기반의 2층 구축을 통해 다양한 금융 애플리케이션과 신뢰 애플리케이션을 충족할 수 있다. 장기적으로는 비트코인 생태계의 대규모 구축을 기반으로 진정한 웹 3.0 시대 구축을 완성한다.
참조 설명
(1) ABCDE 연구 보고서 [ABCDELabs]: 비트코인의 과거, 현재, 미래
(2) https://en.bitcoin.it/wiki/Script
(3) https://en.bitcoin.it/wiki/Segregated_Witness
(4) https://en.bitcoin.it/wiki/Taproot_activation_proposals
(5) 분리 증인(segregation Witness)에 대한 매우 상세한 설명, https://blog.csdn.net/t46414704152abc/article/details/105638788
(6) 의심에 대한 설명: 비트코인의 Merkelized 추상 구문 트리는 무엇입니까? 》, https://baijiahao.baidu.com/s?id=1709873918363821702
(7) https://github.com/bitcoin/bips
(8) https://bitcoinops.org/en/topics/tapscript/