Bitcoin Originals 프로토콜과 BRC20 표준 원칙의 혁신과 한계에 대한 해석

이 기사는 기계로 번역되었습니다
원문 표시

응용 프로그램은 여전히 매우 창백하지만 순환을 깨기 위한 흥미로운 시도로서 비트코인의 프로그래밍 가능성에 대한 상상력을 열었습니다.

작가 : 준시준

“The Times 2009년 1월 3일자 은행에 대한 2차 구제금융 위기에 처한 총리.”

——비트코인 제네시스 블록

최근 BTC의 수수료 블록 수익 비중은 최대 74%에 달해 약 4.85BTC 수수료로 불과 두 달 전만 해도 약 2%에 불과했다. BRC20 시장을 만든 대중의 FOMO 정서가 발병을 예고하면서 5월 7일 비트코인 네트워크에서 400,000건 이상의 거래가 확인될 예정입니다. BRC20과 잘 알려진 ERC20 모두 토큰 표준이라고 부르지만 메커니즘과 원리는 그들의 구현은 매우 다릅니다. 이 기사에서는 기술적인 관점에서 이를 시도하고 구현과 가치를 설명합니다.

1. Ordinals 프로토콜의 핵심 아이디어

1.1 개요

각 비트코인은 1억 개의 "사토시"(1 btc = 10^8 sat)로 구성됩니다. 각 비트는 고유하게 식별되며 분할될 수 없습니다.

1. 비트코인의 sat의 “서수”에 따르면,

2. 각 콩에게 "비문"이라는 구체적인 의미를 부여하세요.

이것이 Ordinals 프로토콜이다.

2. 사토시는 어떻게 번호가 매겨지나요?

그는 비트코인의 고유한 블록 생성 프로세스와 UTXO 모델을 사용하여 각 "sat"에 고유한 번호를 부여합니다.

비트코인은 "마이닝"으로 생성됩니다. 마이닝 프로세스는 채굴자가 복잡한 수학적 문제(POW)를 해결하여 블록을 생성할 수 있는 권한을 얻어 새로운 거래를 검증하고 이를 블록체인에 추가하는 것입니다. 비트코인 네트워크는 10분 정도마다 새로운 블록을 생성합니다. 생성되고, 각 블록에는 새로운 거래 세트와 이전 블록의 해시 값이 포함됩니다. 여기서 채굴자의 수입은 Coinbase 블록이라고도 합니다.

이더리움에서는 "계정 잔액 모델"이 채택됩니다. 즉, 각 주소는 별도의 저장 구조를 가지며 공간 잔액(잔고)은 필드 중 하나입니다.

이 모델의 장점은 다음과 같습니다.

  • 간단하고 이해하기 매우 쉽고 구현하기 쉬운 코드입니다.
  • 효율적입니다. 각 거래는 송금 계좌에 거래 비용을 지불할 만큼 충분한 잔고가 있는지 확인하기만 하면 됩니다.

단점: 이중 지출 공격이 발생할 수 있습니다.

확장 읽기: [Frontier Interpretation] 스탠포드 연구원의 논문 - 이더리움의 가역 거래 표준 ERC20/721R의 메커니즘, 혁신 및 한계

하지만 비트코인 네트워크는 다릅니다. 그의 계정 잔액은 숫자로 표시되지 않고 현재 블록체인 네트워크의 현재 계정과 관련된 모든 UTXO(미사용 거래 출력)로 구성됩니다.

2.1 비트코인의 UTXO 모델

UTXO(Unspent Transaction Output)는 원장 모델입니다. 비트코인 시스템에서 각 거래는 일부 출력을 생성합니다. 예를 들어 이체 거래의 출력은 수신자의 비트코인 주소와 이체 금액입니다. 이러한 출력은 사용되지 않은 트랜잭션 출력을 기록하는 데 사용되는 UTXO 컬렉션에 저장됩니다.

각 트랜잭션은 여러 입력(Input)과 여러 출력(Output)으로 구성됩니다. 각 거래는 입력 비용을 지불하고 출력을 생성하며 생성되는 출력은 "사용되지 않은 거래 출력"입니다. 입력은 이전 블록의 출력을 가리키며 Coinbase 거래만 입력을 하지 않고 허공에서 출력만 합니다.

UTXO 모델의 장점은 기존 계정 모델에서 유출될 수 있는 계정 기록과 계정 잔액 정보를 중앙 집중화하지 않기 때문에 더욱 안전하고 개인정보가 보호된다는 점입니다.

UTXO 모델의 단점은 거래의 검증 비용과 저장 비용이 증가한다는 것입니다. 모든 거래는 해당 거래의 지불 및 수령이 합법적인지 여부를 확인해야 하며, 많은 양의 UTXO 정보도 저장되어야 합니다.

따라서 모든 거래는 입력부터 Coinbase 거래까지 항상 추적될 수 있으며, 채굴 당시 각 Satoshi의 일련 번호도 추적할 수 있습니다 .

그림

따라서 우리가 보유하고 있는 비트코인 수를 말할 때 실제로는 우리가 소유권을 갖고 있는 UTXO에 지정된 비트코인 수를 참조합니다.따라서 주소에 있는 BTC 수를 계산하려면 다음과 같이 하십시오.

  1. 제네시스 블록부터 스캔을 시작합니다.
  2. 특정 거래의 특정 출력이 지정된 주소이면 잔액이 증가합니다.
  3. 거래 입력이 지정된 주소이면 잔액이 감소합니다.

2.2 sat과 UTXO의 관계

각 sat는 UTXO가 아니라는 점에 유의하세요! UTXO는 분할할 수 없는 가장 작은 거래 단위이므로 sat는 UTXO에만 존재할 수 있고 UTXO에는 특정 범위의 sat이 포함되어 있으며 특정 UTXO Split을 소비한 후에만 새로운 출력이 생성될 수 있습니다. SAT 번호는

예를 들어 제네시스 블록이나 CoinBase 블록에서 50 BTC의 보상을 받았는데 해당 입력과 출력은 ### 입력 //빈 ### 출력입니다: addr_a:[0 -> 4,999,999,999] sats

20 BTC를 주소 B로 전송하면 UTXO가 중앙에 표시되며 여기에 입력된 것은 이전 거래의 출력입니다.

 ### inputs"addrA: [0 -> 4,999,999,999] sats### outputs# 30 btc to addrA, index=0addrA: [0 -> 2,999,999,999] sats# 20 btc to addrB, index=1addrB: [3,000,000,000 -> 4,999,999,999] sats

여기서 sats 소비 순서는 FIFO "선입선출" 원칙을 기반으로 하며, 거래 수수료가 동일할 경우 이전 UTXO가 이후 UTXO보다 우선적으로 거래에 사용됩니다.

이것이 Ordinal NFT의 핵심 기술 지원으로 매우 간단하지만 많은 재미를 이끌어 낼 수 있습니다!이 Ordinal Number는 도메인 이름 등을 나타내는 데에도 사용될 수 있습니다.

2.3 서수의 표현방법

서수에는 학위 표기(Degree Notation) 등 다양한 표현 방법이 있습니다.

 A°B′C″D‴│ │ │ ╰─ Index of sat in the block(每10 分钟一个块)│ │ ╰─── Index of block in difficulty adjustment period(每2016 个块调整一次,~2 周)│ ╰───── Index of block in halving epoch(每210,000 个块减半,~4 年一次)╰─────── Cycle, numbered starting from 0(减半和难度调整时间重合,~24 年一次)

이 표현에서 흥미로운 점은 비트코인 자체의 주기적 특성을 기반으로 sat의 희소성을 인위적으로 생성한다는 것입니다.

  • common: 블록민트 중 첫 번째 sat이 아닌 모든 sats
  • uncommon: 이 sat은 특정 블록에서 최초로 채굴된 sat입니다. (D==0)
  • rare: 난이도 조정 중 첫 번째 토가 파헤쳐졌습니다. (C==0&&D==0)
  • epic: 절반으로 줄어들었을 때 첫 번째 sat 채굴 (B==0&&D==0)
  • 전설적: Cycle 회전이 발생할 때 첫 번째 sat이 파헤쳐집니다. (B==C==D==0)
  • 신화: 제네시스 블록에서 처음으로 채굴된 토트(A==B==C==D==0)

예를 들어 https://ordinals.com/sat/1°0′0″0‴이므로 현재 Fomo 추적의 핵심은 민트의 내용에 포함된 내용이 아니라 Ordinal과 같은 해당 일련번호 값입니다. 숫자.

비트코인의 여러 기본 기술 기능을 결합하여 일련 번호가 생성된 경우 비문은 sat의 특정 콘텐츠를 주입하는 방법이므로 sat에 바인딩된 콘텐츠를 고유 식별자로 정의하는 방법에 대한 의문이 생깁니다. ?

3. 내용을 기재하는 방법

비문에 대해 논의하기 전에 먼저 비트코인 확장의 두 가지 주요 업그레이드인 SegWit과 Taproot를 이해해 보겠습니다.

3.1 SegWit(격리된 증인)

이는 2017년 8월에 활성화된 비트코인의 주요 업그레이드입니다. 주요 목적은 비트코인의 거래 처리 기능을 최적화하고 거래 수수료를 줄이며 보다 안전한 조건에서 비트코인 확장을 달성하는 것입니다. SegWit은 여러 BIP(141, 142, 143, 144 및 145)를 포괄하는 소프트 포크(Soft Fork) 업그레이드입니다. 소위 소프트 포크는 이전 버전의 비트코인 클라이언트와 호환되며 비트코인 네트워크를 손상시키지 않는다는 것을 의미합니다. .호환성.

핵심 변화는 거래 데이터에서 서명(증인 데이터)을 분리하여 거래 데이터를 더 작게 만들어 거래 수수료를 줄이고 비트코인 네트워크의 용량을 늘리는 것입니다 .

SegWit의 구현은 모든 거래 데이터를 두 부분으로 나누어 한 부분은 거래의 기본 정보(Transaction Data)이고 다른 부분은 거래의 서명 정보(Witness Data)이며 서명 정보를 새로운 데이터 구조는 "분리된 증인(witness)"이라는 새로운 블록에 존재하며 원래 트랜잭션과 별도로 전송됩니다.

이러한 방식으로 비트코인 거래의 거래 데이터 크기 상한은 증가하고 서명 데이터의 거래 수수료는 감소됩니다. SegWit 업그레이드 이전에는 비트코인 거래 용량의 상한이 1MB였지만, SegWit 이후에는 비트코인 거래 용량의 상한이 4MB에 이르렀습니다.

따라서 Oridnals Inscription의 본질은 증인 데이터에 새겨진 데이터를 숨기는 것입니다.

3.2 탭루트 업그레이드

SegWit 업그레이드와 마찬가지로 Taproot 업그레이드 역시 소프트 포크 업그레이드로, 비트코인 코어 기여자 Gregory Maxwell이 2018년에 제안한 비트코인 업그레이드 제안입니다. 비트코인 프로토콜 자체를 변경하는 것이 아니라 기존 비트코인 프로토콜을 수정하게 됩니다. 통화 거래 메커니즘이 개선되었습니다.

업그레이드에는 주로 P2SH, MAST 및 Schnorr의 3가지 기술 개념이 포함됩니다. 그 결과 다중 서명 거래, 타임록 거래 등 복잡한 거래가 일반 비트코인 거래처럼 보이도록 하여 비트코인의 개인정보 보호를 강화합니다. 스마트 계약 배포 및 사용 사례 등 다양한 시나리오에서 비트코인의 업그레이드를 촉진하는 것이 목적입니다. 확장. .

SegWit 업그레이드에서 비트코인 프로토콜은 새로운 거래 형식을 나타내는 새로운 버전 번호를 추가합니다. Taproot 업그레이드에서 Bitcoin 프로토콜의 가장 중요한 변경 사항은 Tapscript를 지원하기 위해 ScriptVerify 플래그에서 ScriptVerifyv2 플래그로 스크립트 검증자를 업데이트하는 것입니다.

Tapscript를 업로드하려면 커밋과 공개라는 두 단계가 필요합니다. Inscription의 내용은 공개 트랜잭션의 첫 번째 입력에 포함되므로 이 트랜잭션의 첫 번째 출력의 첫 번째 Sat에 새겨집니다. 예를 들어 OP_FALSEOP_IF OP_PUSH "ord" OP_1 OP_PUSH "text/plain;charset=utf-8" OP_0 OP_PUSH "Hello, world!" OP_ENDIF

여기에는 여러 작업 명령이 있지만 시작은 OP_FALSE여야 합니다. 이 명령이 실행 스택에 푸시된 후 스크립트는 실행을 중지하지만 여전히 체인에 저장됩니다.

따라서 Ordinal Inscription의 핵심 은 비트코인 네트워크에서 절대 실행되지 않는 탭스크립트 스크립트를 사용하여 자산과 데이터를 계산하고 기록하기 위한 간단한 회계 계층을 구축한다는 것 입니다.

회계만 있기 때문에 스마트 계약과 유사한 스크립트 실행 및 검증 프로세스가 없으며 오프체인 중앙 집중식 관리 및 결과 보고에 대한 의존도가 높아야 함을 의미합니다.

4. BRC20이란 무엇인가요?

BRC-20이라는 명칭은 얼핏 보면 이더리움의 ERC20과 매우 유사해 보이지만 실제로는 두 기술이 매우 다릅니다.ERC-20 토큰의 보유 상태는 체인에 저장되며, 체인에서 네트워크 합의를 얻을 수 있습니다. . BRC20은 Ordinals 프로토콜이 새겨진 JSON 형식 비문입니다. 이 사양은 brc-20 토큰의 배포, 발행 및 전송 동작만 정의하며 BRC-20 토큰의 보유 상태는 오프체인 서비스에 의해 유지됩니다.

배포된 json은 어떤 모습인가요?

 {   "p": "brc-20",//Protocol: 帮助线下的记账系统识别和处理brc-20 事件 "op": "deploy",//op 操作: 事件类型(Deploy, Mint, Transfer)  "tick": "ordi", //Ticker: brc-20 代币的标识符,长度为4 个字母(可以是emoji) "max": "21000000",//Max supply: brc-20 代币的最大供应量 "lim": "1000"//Mint limit: 每次brc-20 代币铸造量的限制}

해당 op에는 Mint와 Transfer가 있는데 두 형식은 거의 동일합니다. 물론 이더리움 거래에 익숙하신 분들이라면 이상하게 느끼실 겁니다. 여기서 전송받는 사람은 to를 어떻게 표현하나요?

왜냐하면 이체 거래가 성립되면 비문 내용에 해당하는 SAT가 거래되는 시점이므로 해당 비문에 해당하는 SAT를 받는 자가 이체 대상이 되기 때문이며 따라서 brc-20의 이체도 반드시 동반되어야 한다 비트코인 소유권 이전으로 인해 (단지 처리수수료로만 소모되는 것은 아닙니다)

중앙화된 조직은 체인에 등록된 각 작업을 기반으로 사용자가 보유해야 하는 현재 잔액을 추론합니다.

unisat.io와 같은 클라이언트 소프트웨어(인덱서)는 민트 및 전송 이벤트를 기반으로 통계를 얻습니다. 예를 들어, UTXO에 민트 문구가 포함된 경우 첫 번째 소유자에 대해 추가되며, 이체의 경우 개시자 주소에서 잔액이 차감되고 수취인 주소에 잔액이 추가됩니다.

심화 읽기: [소스코드 해석] 당신이 구매한 NFT는 무엇인가요?

이 과정에서 비문은 거래(사토시)에 '부착'됩니다. 비트코인 채굴자는 이러한 비문을 처리하지 않습니다. 체인의 관점에서 보면 여전히 다른 사토시와 다르지 않으며 모두 일반 사토시로 전송됩니다. .

5. 서수와 BRC20을 평가하는 방법

BRC-20과 Ordinals NFT는 비트코인에 많은 논란을 불러일으켰으며 기본적으로 두 가지 진영으로 나뉩니다.

지지자들은 처리 수수료를 지불하는 한 거래 내용에 관계없이 어떤 방식으로든 블록 공간을 사용할 수 있는 모든 권리가 있다고 믿습니다. 그들은 BRC-20과 NFT가 비트코인에 새로운 문화와 서사를 가져왔다고 믿습니다. 이는 비트코인의 실제 응용 가치를 향상시키는 데 도움이 됩니다.

반대자들은 이러한 BRC-20 및 NFT가 가치가 없으며 정크 거래라고 생각합니다.정크 거래가 너무 많으면 거래 대역폭을 점유하여 거래 차단 시간이 길어지고 처리 수수료가 높아집니다.

저자의 의견에 따르면, 위의 기술 구현 경로를 통해 새로운 제품의 가격이 급등하고 있지만 기술적인 결함도 매우 심각하다는 것을 분명히 느낄 수 있습니다.

1. 너무 중앙집권적이다

Ordinals 프로토콜은 상태 유지를 위해 비트코인 네트워크 외부의 오프라인 서비스를 기반으로 해야 합니다. 기본 상태 서비스를 사용할 수 없거나 결함이 있는 경우 비트코인 네트워크가 유효하지 않은 비문이 체인에 업로드되는 것을 방지할 수 없기 때문에 자산 손실로 이어질 수 있습니다. 중앙 집중식 플랫폼은 누구의 비문이 유효한지 결정해야 하며 플랫폼에서 유효할 것입니다. .

2. 신뢰할 수 있는 검증 메커니즘 부족

스마트 계약의 공개적이고 투명한 코드 규칙을 채택하지 않으므로 이 프로토콜은 합의 및 이중 지출 방지와 같은 자금 보안 요구를 충족할 수 없습니다.

확장된 읽기: 최신 최종 ERC-6147 해석: 최소한의 준필수 NFT 재산권 분리 표준

3. 비트코인 네트워크 성능 제한

현재 비트코인 블록 사이의 간격은 10분에 달하고 거래 확인 속도도 너무 느려 거래 경험이 좋지 않을 수 있습니다. 게다가 비트코인의 거래 비용은 너무 높으며 성공적인 온체인 비문 거래는 제3자로부터의 수수료, 플랫폼 네트워크 데이터 지연, 다양한 지연으로 인한 예상 오류 비용을 공제하므로 채굴 수수료는 최소한 2~3번 복용

4. 인프라 부족

예를 들어, 토큰의 핵심 거래 및 가격 책정 서비스로서 현재 주로 거래 플랫폼의 주문 시스템 보장에 의존하고 있으며 완전한 중앙 집중화의 결과로 권위 있는 거래 방법과 가격 책정 방법이 부족합니다. 예를 들어, 거래 시나리오에 규칙을 적용할 중앙 집중식 플랫폼이 없으면 이중 지출이 발생하기 매우 쉽습니다. 선착순 비문의 fomo 메커니즘과 채굴자가 채굴 수수료에 따라 포장을 우선시하는 메커니즘 사이에는 민트가 반드시 공정하지 않다고 판단하는 논리적 역설이 있습니다.

5. 보안 부족

BRC20은 BRC20이 비트코인의 보안성을 이용해 만들어진 토큰이라는 환상을 사용자에게 쉽게 줄 수 있습니다 .비트코인만큼 안전하고 안정적일 것입니다.그러나 실제로는 BTC와 동일하지 않습니다.BTC의 보안은 지원됨을 기반으로 합니다. 암호화 및 합의 알고리즘을 통해 비교적 안정적으로 오랫동안 실행되어 왔으며 시간의 테스트를 견뎌냈습니다.BRC20은 Ordinals 프로토콜을 사용하여 BTC에 바인딩합니다.Ordinals 프로토콜은 현재 실행 시간이 짧고 아직 초기 단계에 있습니다. 개발 중, 아직 발견되지 않은 일부 보안 위험이 있을 수 있습니다.

Slow Mist는 또한 BRC 20의 보안 위험에 대해 알림을 발행했습니다.

BRC-20은 최근 꽤 인기를 끌었습니다.우리는 BRC-20이 Mint 토큰부터 거래까지 보안 위험을 가질 수 있다는 것을 알아냈습니다. Mint 토큰의 경우 관련 BRC20 토큰 발행 플랫폼의 보안이 의심스럽고 방어 조치가 상대적으로 약하고 악의적인 공격에 취약하며, 코드를 변조하면 사용자 Mint의 자산이 도난당하는 결과가 발생합니다. 거래 방법에는 두 가지 방법이 있는데, 하나는 거래를 비공개로 보장하는 제3자를 찾는 것이고, 사기꾼, 위조 화폐 등을 만나기 쉬운 것이고, 다른 하나는 전문 거래 플랫폼에 가서 거래를 하는 것입니다. 주문 및 이러한 거래 플랫폼의 보안은 보장될 수 없습니다.

저자는 내 앞에 있는 서수에 대해 낙관적이지는 않지만 결국 블록 공간의 적용은 여전히 너무 단조롭고 단순히 그림과 NFT를 넣는 것만으로는 더 많은 가치를 창출하지 못합니다. 그러나 흥미로운 시도로서 이러한 획기적인 혁신은 모든 사람의 생각에 다시 불을 붙일 수도 있습니다.

비트코인 프로그래밍 가능성을 활용하는 방법은 무엇입니까? 결국, 오늘날의 퍼블릭 체인에는 비트코인보다 더 강력한 합의와 보안이 없습니다.

모두 저장 공간의 활용입니다. 실제로 OP-Ruturn의 Ordinals 프로토콜에서 출력되는 금융 거래는 본질적으로 풀 노드에 저장된 다른 것과 다르지 않습니다. 그러나 비트코인은 고액 순자산 거래만 제공할 수 있습니까? 일부 저비용 데이터를 저장하고 실행하는 데 블록 공간을 자유롭게 사용할 수 있습니까?

이는 또한 Vitalik이 대표로서 한때 제안한 "기술을 합리적으로 사용하고 그에 상응하는 비용을 지불하면 귀하의 행동은 합법적입니다"라고 제안한 내용도 생각나게 합니다.

부록

https://docs.ordinals.com/introduction.html

https://github.com/casey/ord/blob/master/bip.mediawiki#사양

https://docs.lightning.engineering/the-lightning-network/taproot-assets/taproot-assets-protocol

https://learnblockchain.cn/article/3050

https://www.wu-talk.com/index.php?m=content&c=index&a=show&catid=6&id=13659

https://learnblockchain.cn/article/5376

면책조항: 블록체인 정보 플랫폼으로서 이 사이트에 게시된 기사는 작성자와 게스트의 개인적인 의견만을 나타낼 뿐이며 Web3Caff의 입장과는 아무런 관련이 없습니다. 이 글의 내용은 정보 공유만을 위한 것이며 투자 조언이나 제안을 구성하지 않습니다.귀하가 위치한 국가 또는 지역의 관련 법률 및 규정을 준수하시기 바랍니다.

출처
면책조항: 상기 내용은 작자의 개인적인 의견입니다. 따라서 이는 Followin의 입장과 무관하며 Followin과 관련된 어떠한 투자 제안도 구성하지 않습니다.
라이크
즐겨찾기에 추가
코멘트