0x财经| 深度剖析比特幣Ordinals、銘文和BRC20

作者:金色財經0xnaitive

比特幣Ordinals Theory由開發人員Casey Rodarmor 2022年開發,直到2023年2月提交BIP後開始在比特幣社區流行。

Ordinals主要利用了2個想法,1、給每個satoshi排序,分配一個介於0和 2,100,000,000,000,000之間的序數“ordinals”,。 2、segwit和Taproot。 2021年的segwit更新可以在比特幣交易本身中包含元數據(被稱為銘文Inscriptions),並使用taproot的script-path spend scripts 。銘文內容可以利用4MB的區塊空間。

序數ordinals讓satoshis擁有數字序列,從而擁有了非同質化屬性。 Inscriptions讓諸如圖片、文字、視頻甚至遊戲數據包含在比特幣交易中,可以和擁有序數的satoshis鏈接起來。

Ordinals Theory:Ordinals + Inscriptions = Digital Artefacts。

實際上如何工作?

在“鑄造”Digital Artefacts時,需要創建一個比特幣交易,在其中一個輸出地址中存儲一些額外的數據(銘文)。這些額外數據可以是文本、圖像、SCG 或 HTML,數據大小僅受區塊大小的限制。

在序數理論之前,添加到比特幣交易中的任何額外數據通常都是使用OP_RETURN完成,這是一種不可花費的輸出,可以在其中包含最多80字節的元數據。而且OP_RETURN可修剪,這意味著可以從全節點刪除數據。

Ordinal方法不使用OP_RETURN,而是利用2021年segwit更新在交易本身中包含元數據,segwit允許在協議級別的1MB區塊限制“外部”存儲多達 3MB 的見證數據,並使用taproot的script-path spend scripts 。這為銘文內容提供了4MB的區塊空間。

一句話理解:銘文數據存儲在比特幣原始交易數據中。

digital artefacts使用兩階段過程從Taproot 的輸出(“bc1p …”地址)鑄造。最初,taproot輸出必須提交給包含銘文內容的腳本。此內容在所謂的“envelope”中序列化,envelope包夾在“OP_FALSE OP_IF … OP_ENDIF”操作碼之間。

此外,Taproot和MAST升級的一個關鍵部分是這個腳本在它被花費之前不會在鏈上顯示,因此你需要創建另一個交易來顯示信息。在這個顯示交易中,提交交易創建的輸出被花費,從而顯示鏈上的銘文內容。

示例:創建文本“Hello, world!”的銘文

如何發送digital artefacts?

要了解如何發送digital artefacts,來看一個具有三個輸入和兩個輸出以及不同數額的示例:

VA1xlK8LeJGzwUCzDXYW2ZJ4tTSZ7Z9ehXZBiiMT.png

上面我們可以看到總共有 6 satoshis 來自 3 個不同地址,5 satoshis 被發送到 2 個不同地址,其中 1 satoshis 作為費用支付給礦工。

然後我們可以為輸入的每個 satoshi 分配序數,然後按照先進先出算法將它們分配給輸出,任何剩餘的序數然後轉到礦工。

AjIzThAXBEI0khClAFSCj1MHs0CNeeaUE6NfenxR.png

值得注意的是,並不是所有的序數都有分配給他們的銘文,所以這並不意味著在這次交易中有 6 個銘文被轉移,可能有 1 個,沒有或最多 6 個。

無聊猿銘文案例

我們直接以一個銘文為例,可以更多地了解銘文數據以及序數如何發揮作用:

clBAGJRW531VteBNGovZJfkBYF2qNrI4h4cuzFjG.png

https://ordinals.com/inscription/2911040743b16b71c4c00dc2561b91dac87650e0957d8acd016da0ffd8d3d511i0

這個重新創建的無聊猿是在這個交易哈希中創建:2911040743b16b71c4c00dc2561b91dac87650e0957d8acd016da0ffd8d3d511

BTIHb4remEVCIKGXaLBMEk7JGZ9l3OyVnXn3eIYk.png

並且與地址相關:bc1pc837xc4vfq66g2wm3hy6rd4nxjlkwcl46m4wn2n6u0afd45h472sx8924n(從“bc1p”前綴可以清楚地看出啟用 Taproot 的地址類型),但特別是具有序號的 satoshi:1598601235315166

可以在此處查看對圖像進行編碼的見證數據:https://blockstream.info/tx/2911040743b16b71c4c00dc2561b91dac87650e0957d8acd016da0ffd8d3d511 ?expand

你可能會注意到在銘文信息中還有一個值為“cnhzpcdknwl”的名稱字段。

6pAKR5RxJ2KF6VxCP2MtAxanmtbbFj2FijMknBYp.png

這是因為每個序數都映射到一個由字母 A 到 Z 組成的名稱,satoshi被開采的時間越長,名稱越短。

銘文與以太坊上的NFT有何差別?

在以太坊中,nft代幣標準(通常是ERC721、ERC1155)為每個 NFT 都被賦予一個 tokenID 以唯一表徵它,其元數據可能是中心化存儲的,可能會被刪除。

比特幣銘文完全存儲在比特幣鏈上,不可篡改且完全去中心化。

BRC20代幣

BRC -20 代幣標準是由 Twitter 用戶@domodata於2023年3月8日創建的借助銘文功能試驗比特幣上同質化代幣的標準。 “BRC-20”名字借鑒於以太坊ERC-20代幣標準。

BRC20代幣在比特幣上銘文存儲的是JSON數據,目前僅有部署、鑄造和轉移三種功能。

劃重點:BRC20代幣每一次部署、鑄造和轉移都產生一個新的銘文。

以第一個BRC20代幣Ordi發行者為例:ordiscan.com/address/bc1pxaneaf3w4d27hl2y93fuft2xk6m4u3wc4rafevc6slgd7f5tq2dqyfgy06/brc20

9pCaaSOo97TGCUURczRf2l68DEeuyNVKab6Nppqg.png

BRC20代幣JSON代碼

部署代幣:

G280NzOneIDV6qcKFboP9n47qT37u1Apisze4OuR.png

鑄造代幣:

qMC12DniJ39FmJ040qgYxdZvQFQZ9e6Q03El8sW3.png

轉移代幣:

Q0s28H0JG23KHjcQ6IWQrcKODHr8UGfgnYtjxj46.png

Total
0
Shares
Related Posts