欧美日韩免费一区二区三区视频_在线精品视频在线观看高清_一区在线影院_国产一区二区区别

首頁 > 金融理財 > 正文

Ordinal銘文協(xié)議的原理與技術細節(jié)討論

來源:淺藍攻略網     時間:2025-01-08 11:45    作者:小藍整合

最近兩周我在研究BTC生態(tài)和各種銘文項目的時候,發(fā)現(xiàn)很少有文章能夠清晰地把原理和技術細節(jié)介紹的清楚:比如銘文在鑄造的時候,交易是如何發(fā)起的,UTXO里面的sats到底是怎么被追蹤的,銘刻的內容到底是放在腳本什么地方,以及BRC20在轉賬的時候為何需要兩次操作?我發(fā)現(xiàn)不了解這些技術細節(jié),就很難搞明白 BRC20,BRC420,atomicals, stamps, 符文Runes這些各種協(xié)議的區(qū)別,本文將深入到BTC區(qū)塊鏈的基礎知識,試著回答上述問題。

BTC的區(qū)塊結構

區(qū)塊鏈本質是一種多用戶記賬技術,用計算機科學術語來說,是一種分布式數(shù)據(jù)庫,每一段時間內的記錄(賬目)組成一個區(qū)塊,然后根據(jù)時間先后順序進行賬本擴展。

我們用excel做了表格來說明區(qū)塊鏈的工作原理。一份excel文件代表了一個區(qū)塊鏈,其中每一個單獨表格表示一個個區(qū)塊,區(qū)塊按照時間順序從560331,560332.一直到最新的560336. 560336會在區(qū)塊內打包最近的交易。區(qū)塊內部主體部分就是我們在會計領域最常見的復式記賬法,一邊地址記做借出(debit)就是inputs from,另一邊地址記做貸入(credit)就是outputs to。Value對應相應地址的BTC數(shù)量。Inputs的幣的數(shù)量會大于Outputs幣的數(shù)量,差額就是用戶層面的轉賬費,也是礦工(記賬人)的取得的手續(xù)費。區(qū)塊頭部會獲取上一個區(qū)塊高度,上一個區(qū)塊的哈希值,本區(qū)塊的建立時間(時間戳),和隨機數(shù)。那么做為去中心化的記賬技術,到底是誰來搶到下一個區(qū)塊的記賬權呢?靠的就是這個隨機數(shù)和與之對應的哈希值。擁有算力的礦工通過對當前區(qū)塊的隨機數(shù)進行哈希計算,最先得到符合條件哈希值的礦工擁有下一個區(qū)塊的記賬權并且贏得區(qū)塊獎勵和轉賬費。最后是腳本區(qū)域,可以用來做一些擴展應用,比如腳本op_return可以當做附言欄。需要注意的是,在實際的區(qū)塊中,腳本區(qū)是附著在input和output信息中的,而不是真的另外單獨一個區(qū)域。比如附著在input的腳本是解鎖腳本(ScriptSig),需要錢包地址進行私鑰簽名授權允許轉出,而附著在output的腳本是鎖定腳本(ScriptPubKey),用來設置收到該BTC的解鎖條件(一般情況條件就是“有相應私鑰的人才能消費”)。

上面兩張圖是原始的input和output的數(shù)據(jù)結構表,在執(zhí)行層面,腳本表現(xiàn)為交易信息的附帶參數(shù),其中解鎖腳本(ScriptSig)因為需要私鑰授權,也被稱為“見證數(shù)據(jù)”(witness data)。

UTXO轉賬模型

隔離見證和Taproot

盡管比特幣網絡已經運行了超過10年,沒有發(fā)生過什么顯著的事件,但曾多次出現(xiàn)交易成本飆升到不再可行的高點。因此,比特幣的開發(fā)人員一直在討論如何最好地擴展網絡,以處理未來不斷增長的交易量。

2017年,這場辯論達到高潮,比特幣開發(fā)社區(qū)分裂成兩派,一派是支持使用軟分叉實施名為SegWit的功能,另一派是支持直接區(qū)塊擴容的“大區(qū)塊”派。

我們在上文提到了解鎖腳本需要用到私鑰授權生成“見證數(shù)據(jù)”,那么是不是可以把這個見證數(shù)據(jù)從區(qū)塊中分離,從而變相增加每個區(qū)塊可容納的交易數(shù)呢?隔離見證(Segregated Witness)在2017年8月激活正式激活。它的實現(xiàn)方式正是將所有的交易數(shù)據(jù)分為兩部分,一部分是交易的基本信息(Transaction Data),另一部分是交易的簽名信息(Witness Data),并把簽名信息保存在一個新的數(shù)據(jù)結構中,是被稱為“隔離見證(witness)”的新區(qū)塊中,并與原始交易分開傳輸。

在技術上,SegWit的實施意味著交易不再需要包括見證數(shù)據(jù)(不會占用比特幣原本為區(qū)塊安排的 1MB 空間)。取而代之的是,在一個區(qū)塊的末尾,為見證數(shù)據(jù)創(chuàng)建了一個額外獨立的空間。它支持任意的數(shù)據(jù)轉賬,并有一個折扣的 "區(qū)塊重量(block weight)",巧妙地將大量的數(shù)據(jù)保持在比特幣的區(qū)塊大小限制內,以避免硬分叉的需要。這樣,比特幣交易的交易數(shù)據(jù)大小提高了上限,同時降低了簽名數(shù)據(jù)的交易費用。在SegWit升級之前,比特幣的容量上限是1MB,而SegWit之后,雖然單純交易的容量上限仍舊是1M,但隔離見證空間的大小達到了4MB。

Taproot 于2021年11月實施,由 3 項不同的比特幣改進提案 (BIP) 組成,其中包括:Taproot、Tapscript 及其名為「Schnorr 簽名」的全新數(shù)字簽名方案。Taproot 旨在為比特幣用戶帶來諸多好處,例如提升交易私密性和降低交易費用。還將讓比特幣執(zhí)行更多復雜的交易,從而拓寬應用場景(新增加了一些操作碼opcodes)。

這些更新是 Ordinals NFT的關鍵推動因素,它將NFT數(shù)據(jù)存儲在 Taproot 腳本路徑的花費腳本(spent script)中(見證數(shù)據(jù)空間)。這次升級使得結構化和存儲任意的見證數(shù)據(jù)變得更加容易,為 "ord" 標準奠定了基礎。隨著數(shù)據(jù)要求的放寬,假設一個交易可以用其交易和見證數(shù)據(jù)填滿整個區(qū)塊 -- 達到4MB的區(qū)塊大小(見證數(shù)據(jù)空間)限制 -- 極大地擴展了可以放在鏈上的媒體類型。

也許有人會問,既然在腳本中放入一些字符串,那對這些字符串沒有限制條件嗎?萬一真的執(zhí)行這些腳本呢?如果隨便放內容,那會不會出現(xiàn)錯誤代碼拒絕出塊呢?這就要提到 OP_FALSE指令。OP_FALSE(在比特幣腳本中也表示為“0”)確保腳本語言中的執(zhí)行路徑永遠不會進入OP_IF分支,并保持未執(zhí)行狀態(tài)。它充當腳本中的占位符或空操作(No Operation),類似于高級語言中的“注釋”,來保證后續(xù)的代碼不被執(zhí)行。


溫馨提醒:投資有風險,入市須謹慎,本文部分內容來自幣圈網,本內容不可作為投資理財建議。
以上就是Ordinal銘文協(xié)議的原理與技術細節(jié)討論的全部內容了,文章的版權歸原作者所有,本站僅作網絡經驗公益分享,如有侵犯您的權利,請聯(lián)系刪除,想了解更多索引器相關信息,請關注收藏淺藍網。

相關閱讀推薦

主站蜘蛛池模板: 菏泽市| 平顺县| 乐至县| 平定县| 高安市| 甘谷县| 永年县| 新巴尔虎右旗| 安康市| 台中市| 义马市| 康马县| 蚌埠市| 拜城县| 班戈县| 门头沟区| 横山县| 甘肃省| 沙河市| 长治县| 桦甸市| 福州市| 谷城县| 万山特区| 柞水县| 鹤岗市| 益阳市| 石嘴山市| 望都县| 仪陇县| 尖扎县| 哈巴河县| 定结县| 林芝县| 平和县| 抚松县| 额敏县| 大田县| 封开县| 福清市| 潢川县|