如何使用Taproot Assets發行資產?

來源: 閃電HSL

讓我們來思考更高級一點的東西,如何使用Taproot交易發行資產?這就是Taproot assets協定。

這個協議還是挺複雜的,今天先簡單理解下,先有個印象就夠了。

資產,或者叫代幣,如果有人發行了100個記有某個符號的數字,並且可以保證無論這100個玩意怎麼轉發,大家都能確信這些玩意就是來自最初那100個數位,這就是成功的資產發行技術。

Taproot 交易(P2TR)本來是用來鎖定和花費比特幣的,P2TR可以使用n(1)腳本(即總共有n個腳本,任一都可以花費)來花費比特幣,在P2TR交易里所有這些n個腳本是使用二叉樹來保存。

二叉樹是一個非常牛逼的演算法,將二叉樹的葉子節點寫一些數據來填充代幣資訊。 整個演算法是可以保證追蹤這些代幣是不可偽造的。

乙太坊的世界狀態就是使用二叉樹來保存和更新。

Taproot assets發行代幣的創世交易,是構造一個Taproot交易,解鎖條件如下:

1.私鑰簽名解鎖,這對代幣發行來說是次要的,甚至應該是直接刪除掉,否則可能會意外將幣花掉。

2.腳本路徑解鎖,這個腳本是一個2^256個葉子節點的二叉樹,創世交易里在第一個葉子節點裡寫好了以下資訊:

1)代幣的符號、總量,小數點等資訊

2)創世幣的收款位址,然後其他葉子節點全為空(如果創世交易即發給多個位址也可以),然後葉子節點兩兩哈希,中間節點再兩兩哈希...... 一路哈希到根節點。

這個哈希根會被保存到交易數據結構里,最終上鏈。 但整棵二叉樹是不會被上鏈的。

3.而腳本路徑解鎖的條件,代幣收款位址的簽名,以及提交自己葉子節點在整棵二叉樹的路徑。

而礦工節點驗證腳本路徑解鎖時,驗證簽名,以及驗證提交的路徑計算出來的樹根是否和原來保存的二叉樹的根一致。

代幣轉帳時,持有代幣的位址使用腳本路徑解鎖,構造交易時,input包含了代幣資訊,自己葉子節點的路徑;output包括了代幣收款位址和找零位址,這由此形成兩個新的葉子節點,

轉帳交易就是刪除掉一個(或多個)葉子節點,並新建兩個(或多個)葉子節點,

然後拿自己的私鑰簽名整個交易。

礦工拿到代幣轉帳交易時,會核實input資訊計算出來的樹根是否和原來的一樣,並且根據output計算出新的樹根。

這樣,就實現了在比特幣鏈上發行本地資產,這些資產是接受比特幣礦工節點的安全驗證的。

更詳細的技術細節,太難了,我還沒辦法通俗地講明白。 以後再講。

查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 留言
  • 轉發
  • 分享
留言
0/400
暫無留言
交易,隨時隨地
qrCode
掃碼下載 Gate App
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)