銘文科普|公鏈銘文協議範例、資產安全的實現方式介紹


2月1日,幣安Web3皮夾正式推出銘文市場,支援BRC-20、EVM等多種銘文協議。日前,OKX也宣布支援ARC-20、Runes、Doginals等銘文協議,帶動了整個銘文市場在此背景下,由於銘文協議的複雜性和新穎性,各種安全問題頻頻出現。這不僅威脅到使用者的資產安全,也對整個銘文生態的健康發展產生了刑事影響。 Beosin安全團隊對主流銘文協議進行了梳理,幫助用戶了解銘文協議的用途、實現方式以及如何保護銘文資產。銘文度假村中出現了BRC-20等比特幣公銘文的出現和各種協議的不同方法。以及EVM區塊鏈上的銘文刻錄方法。

2月1日,幣安Web3皮夾正式推出銘文市場,支援BRC-20、EVM等多種銘文協議。日前,OKX也宣布支援ARC-20、Runes、Doginals等銘文協議,帶動了整個銘文市場在此背景下,由於銘文協議的複雜性和新穎性,各種安全問題頻頻出現。這不僅威脅到使用者的資產安全,也對整個銘文生態的健康發展產生了刑事影響。

針對此,Beosin安全團隊對主流銘文協議進行了梳理,幫助用戶了解銘文協議的用途、實現方式以及如何保護銘文資產。

銘文簡介

區塊鏈上所謂的銘文,就是透過區塊鏈的特性,在區塊鏈上記錄一些特定的且有意義的資訊。某些資訊一旦記錄到區塊鏈之上,便將永久保存在區塊鏈上鏈上,並且難以篡改。記錄到區塊鏈的資訊可以是多種類型,例如簡單的文字訊息,複雜的程式碼、圖像等都可以寫入區塊鏈,這樣一來,我們就可以使用一組標準來實現數位資產的功能。

銘文度假村

從最初BRC-20等比特幣公銘文的出現,現在銘文生態中幾乎每天都有層出不窮的銘文新協議以及新項目的出現,銘文的發展可以說是突飛猛進。各個常見的公鏈也都加入了銘文生態圈,例如ETH公鏈上的Ethscription協議、BTC公鏈上的ARC-20協議、BSC公鏈上的BSC-20等協議、Polygon公鏈上的PRC- 20等協議……這些協議都是為了在其公鏈上發布銘文所產生的,接下來的內容我們將介紹各種協議的實現方式以及示例。

銘文詳解

讓我們來介紹一下目前市場關注的幾個協議,來比較一下各個公鏈的銘文協議到底有何共同點和不同點。

1.BRC-20

想講清楚BRC-20,首先要介紹UTXO和Ordinals。

BTC 採用的是UTXO 模型,交易為UTXO 為單位進行轉帳的。 UTXO 是Unspent Transaction Output 的縮寫,意思是未花費的交易輸出。 UTXO 模型相當於以太坊等公鏈的帳戶模型,它記錄了交易事件,而不是記錄最終狀態。計算某個用戶擁有多少比特幣,就需要其地址的所有UTXO求和,得到的結果就是用戶該持幣數量。

Ordinals是一個為比特幣最小單位聰(sats)進行編號的一個系統協議,可以為每個UTXO裡(包含了幾個個聰)的每個聰分配一個唯一的編號。 Ordinals也支援文字、圖片、音訊、視訊等寫入聰的功能,從而使得每個聰都具有獨特性,就類似於大家熟悉的以太坊非同質化代幣NFT,而我們稱之為比特幣NFT。

而BRC-20創始者基於Ordinals協議,想衍生出另外一套理念。既然Ordinals協議可以透過給予每個聰不同的「屬性」來創造比特幣NFT,那麼也可以透過給定一個統一的「格式」 」以及「屬性」來創造比特幣FT,悟同質化代幣。

BRC-20透過Ordinals協議,將統一的JSON格式的文字資料寫入聰,該文字資料就是BRC-20代幣的記帳本,根據該文字可以解析出代幣持有以及轉移情況。包含以下內容:

以上是BRC-20的清晰標準,其中,op字段表示是需要執行的操作,包括deploy(部署)、mint(鑄造)以及transfer(轉移),勾選表示是需要執行操作的代幣名稱, max表示代幣發行總體,lim表示每份代幣最大鑄幣數量,amt表示需要操作的代幣數量,在轉讓標準中,還“to”等字段,但不是必須的,轉讓是通過將銘文發送給目標地址來實現餘額變化,如下圖所示:

銘文科普|了解偉大公鏈銘文協議範例、資產安全的實現方式

連結:https://twitter.com/blockpunk2077/status/1725513817982136617

2.ARC-20

ARC-20仍然是比特幣公鏈上的銘文協議,和BRC-20協議一樣,都是在UTXO裡面寫入標準的數據來實現,但不同的ARC是-20協議不用在數據中指定ARC-20代幣的數量,而是使用該UTXO中的sats(聰,比特幣最小單位)來表示ARC-20代幣的數量,規則是1 sat=1 ARC-20代幣。

ARC-20協議與BRC-20協議一樣,也分為部署、鑄造、轉移三個步驟,其中部署階段,需要向UTXO中填入標準代幣名稱、代幣通用、鑄造限制、區塊信息、信息等等;鑄造階段,需要用戶將代幣的名稱填入UTXO,而該UTXO的sats數量則為ARC-20代幣的鑄造數量,而不是和代幣名稱一起填入UTXO;當用戶鑄造了ARC- 20代幣,則可以將代幣發送給其他地址,在發送代幣時,用戶無需再向UTXO裡面填入任何數據,而是直接將持有該代幣的UTXO轉移給其他地址。

銘文科普|了解偉大公鏈銘文協議範例、資產安全的實現方式

連結:https://twitter.com/blockpunk2077/status/1725513817982136617

ARC-20代幣時,只需要一個索引,連下索引伺服器便可以讀取取代幣註冊資訊以及鑄造和轉移交易,不需要伺服器去計算資金轉移關係,查詢地址所擁有的ARC-20代幣數量,直接讀取持有該代幣的UTXO的sats數量則可以得到。

了解了BRC-20和ARC-20之後,大家應該知道為什麼有些會誤將銘文資產轉到其他地址或「銷毀」掉了。

由於BRC-20和ARC-20這類BTC銘文協議是基於UTXO交易的,因此銘文交易實際上是附加在BTC交易中的,用戶可能會在不完全理解銘文的情況下進行普通的BTC轉賬操作,將其現在的UTXO和其他UTXO進行融合拆分後發送給非預想的地址,從而導致銘文資產被誤轉或被“銷毀”,造成不可逆轉的損失。

3. 倫理

Ethscription是以太坊上創建和共享數據的協議,某些銘文就是使用該協議從而替代智能合約實現代幣發行的方案,使用銘文可以將用戶的成本降至極低。

以太坊在發送交易時,提供了一個調用資料的資料塊,一般情況下普通的ETH該轉帳資料塊會留白,如果是調用智能合約,則該資料塊將指定為調用函數的簽章以及各個參數數據。 Ethscription協定就是利用了calldata這個資料塊,在發送普通ETH互動的情況下,加入一些標準的數據,從而賦予相關的意義。

Ethscription是如何規定這些標準的資料呢?

首先如果要創建一個Ethscription,其內容為圖像數據,需要將圖像(圖像大小限制在96KB)轉換為Base64編碼數據的URI,格式為(data:image/png;base64,…);將URI轉換為16字串;透過以太坊向目標地址發送普通轉帳交易,並將上述的16字串填入通話數據,如下圖:

銘文科普|了解偉大公鏈銘文協議範例、資產安全的實現方式

這樣一來,0xf1bf地址便擁有了該Ethscription,並且在創建之後的相同calldata的Ethscription將被視為無效。

如果轉移該Ethscription,就需要Ethscription擁有者向接收地址發送所需的普通鏈路如下,並且在calldata中填入創建該Ethscription的交易哈希,則接收地址便擁有了該Ethscription,圖:

銘文科普|了解偉大公鏈銘文協議範例、資產安全的實現方式

4.EVM區塊鏈的銘文

對於BSCChain、以太坊、polygon等EVM區塊鏈,有一套共有的銘文刻錄方法,就是利用calldata數據塊存儲固定的格式數據,與上述圖像保存數據不同,該方式是向calldata中寫入標準格式的文字資料。

在BSC Chain上刻錄銘文中,其銘刻格式與BRC20銘刻格式類似,例如銘刻格式為:data:,{“p”:”_”,”op”:”_”,”tick”:”_”, ” amt”:”_”},則其中p字段所代表的是協議名稱,如bsc-20、bnbs-20、ltc-20、bep-20、drc-20、nrc-20、src-20等等; op 欄位所代表的是操作,一般為「mint」;勾選欄位所代表的是代幣名稱;amt 欄位所代表的是代幣數量。

這裡以bnbs代幣為例,我們可以看到,只需向目標地址發送普通轉賬,在calldata中填入data:,{“p”:”bsc-20″,”op”:”mint” ,” tick”:”bnbs”,”amt”:”1000″}便完成了bnbs代幣鑄造操作,如下圖。此時,0x22ef地址便擁有了1000枚bnbs代幣。

銘文科普|了解偉大公鏈銘文協議範例、資產安全的實現方式

接下來需要轉移代幣,與上述相同,需要向接收地址發送請求普通轉賬,則創建該bnbs代幣的交易哈希填入calldata,則接收地址便擁有了bnbs代幣,如下圖:

銘文科普|了解偉大公鏈銘文協議範例、資產安全的實現方式

以太坊、Polygon等鏈上也基本相同,但需要注意一點,上述BSC鏈上的內容不是evm鏈上創建銘文的唯一情況,不同evm鍊或不同協議之間填入的文本數據字段可能存在區別,轉移代幣的方式也可能存在區別。但對於這類方式來說,都是利用了EVM鏈中的calldata屬性來實現的,視覺大同小異。

總結

本文文章我們討論了多條鏈上的銘文實現原理。總結來說,介紹的銘文都是利用了一些公鏈系統特性,將線下資訊規定的標準保存在區塊鏈中,並透過線下伺服器介紹的這些銘文都未使用智能合約,用戶在參與的時候可以減少大量的交易額外費用,但用戶需要充分理解銘文協議的實現方式,避免誤操作或誤燒銘文,造成資產損失。

資訊來源:0x資訊編譯自網際網路。版權歸作者Beosin所有,未經許可,不得轉載

Total
0
Shares
Related Posts