复制成功

分享至

主页 > 数字货币 >

如何使用Taproot Assets发行资产?

2023.11.20

来源: 闪电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计算出新的树根。

这样,就实现了在比特币链上发行本地资产,这些资产是接受比特币矿工节点的安全验证的。

更详细的技术细节,太难了,我还没办法通俗地讲明白。以后再讲。

免责声明:数字资产交易涉及重大风险,本资料不应作为投资决策依据,亦不应被解释为从事投资交易的建议。请确保充分了解所涉及的风险并谨慎投资。OKEx学院仅提供信息参考,不构成任何投资建议,用户一切投资行为与本站无关。

加⼊OKEx全球社群

和全球数字资产投资者交流讨论

扫码加入OKEx社群

相关推荐

industry-frontier