区块链大学CryptocurrencyTech虫洞

Wormhole黄皮书

2018-08-16  本文已影响8人  姜家志

简介

Bitcoin Cash(BCH)在区块高度478,558上产生,一直致力于为世界带来一种可靠的电子现金,履行最初的比特币作为「点对点数字现金」的承诺。其具有全球无缝流通、无许可(Permissionless)创新等特点。在Bitcoin Cash如何实现发行通证(Token),众多的开发者已经有过不少的研究,比如染色币的方案Colored-Coins,之后Andrew Stone 提出了Enable representative tokens via OP_GROUP on Bitcoin Cash,提议增加OP_GROUP的操作码来实现发Token的方案。OP_GROUP方案需要修改Bitcoin Cash的共识规则才可以实现。更具体地说,类似于在Ethereum网络上广受欢迎的ERC20协议所具备的那些功能。

凡是需要更改共识才能实现的通证发行技术提议,都不可避免地会遇到问题。首先是技术上的风险,其次是对这种风险的顾虑常常引发技术开发社区甚至整个经济生态都陷入巨大的争议。争议中的反对方,其顾虑很可能也确实是真实的。不论这样的争议中谁对谁错,结果常常是有争议的提议无法被实现。这样的困难可以被视为一种保险机制,让具有的风险更改很难被添加到协议之中,保证协议的稳健与安全;但是,协议的创新就面临了着巨大的困难。导致了Bitcoin Cash社区独立的区块扩容大争论,旷日持久而没有共识的产生,就是一个更加令人不能回避的社会心理学证据。

快速活跃的创新,需要一种无需许可的环境。我们也一直在探索无许可创新的方法,在不需要改变共识的情况下,在Bitcoin Cash的区块链上实现智能合约。经过研究,我们关注到了OmniLayer协议,它是一种利用OP_RETURN操作码实现通证发行的方案。这个方案是广受欢迎的泰达币(USDT)日常发行和流通的技术基础。Omni Layer是运行在Bitcoin的区块链之上的。Omni Layer协议采用了MIT开源许可证。我们Fork了Omni Layer的协议,在Bitcoin Cash的区块链上实现了发行通证的技术方案。我们将这种技术方案命名为Wormhole协议,协议中的原生代币命名为Wormhole Cash。

安全模型和执行流程

Wormhole 节点

节点认知

Wormhole节点是Bitcoin Cash 节点的超集,是在Bitcoin Cash客户端上增加了Wormhole协议的实现。

Wormhole客户端既可以作为一个Wormhole全节点使用,同时也可以作为Bitcoin Cash全节点使用,它实现了Bitcoin Cash协议与Wormhole协议。

Wormhole节点接收的交易

节点运行

[图片上传失败...(image-320119-1534417741420)]

Wormhole节点启动后,会与网络中其它节点(包含:Bitcoin Cash节点)通信,接收区块及交易消息;当从网络中收到一个新区块时:进行如下操作

Wormhole交易

Wormhole交易本质上来说一种特殊的Bitcoin Cash交易,利用了Bitcoin Cash脚本中一个特殊的操作码OP_RETURN,将Wormhole协议附加在该操作码后面。

Wormhole交易与Bitcoin Cash交易具有如下关系

Wormhole交易在块链中具有两种状态,并且处于这两种状态的交易都是正确的Bitcoin Cash交易。

基于上述前提:只要是正确的Bitcoin Cash交易,Wormhole节点就会接收,并打包验证,因此区块链上会存在状态失败的Wormhole交易。

示例:当创建了一笔Wormhole交易,处理流程如下:

[图片上传失败...(image-635b7a-1534417741420)]

Wormhole账户与Bitcoin Cash地址

Wormhole协议采用的是账户模型,每个Bitcoin Cash地址是一个账户,每个账户可以含有多种类型的Token。

WHC基础货币

Wormhole系统创建了一种基础货币WHC,为未来智能合约Gas收费,链上去中心化交易所,以及创建各种Token提供交易媒介。

系统中WHC的来源是通过燃烧BCH生成;通过构建一笔燃烧交易,获取相应金额的WHC

燃烧交易的要求如下:

兑换比例如下:

燃烧地址:

WHC的成熟度:在创建燃烧交易后,相应的WHC不会立即达到发送者的账户,需要经过一定的确认时间(成熟度),WHC才会到达发送者的账户。

燃烧成熟度:

Wormhole节点处理区块的流程

在Wormhole的节点中,每个接收的新区块需要被链接到主链,此时会有两种情况出现;

Wormhole的安全模型

Wormhole的安全有两层保护。

第一层是Bitcoin Cash的交易安全,Bitcoin Cash采用POW的挖矿算法作为去中心化的时间戳服务器,该算法已经稳定运行将近10年,UTXO模型有以下的一些好处:

Wormhole协议复用了整个Bitcoin Cash中UTXO的安全模型,使用了Bitcoin Cash的去中心化时间戳服务器模型。

第二层保护是运行Wormhole协议的节点,不符合Wormhole协议的数据不会被Wormhole协议的节点解析,每个节点都有能力通过重新解析交易数据,计算出Wormhole的最近的合法最终状态。

未来方向

Wormhole 路线图 : https://github.com/copernet/spec/blob/master/whcwhitepaper.md#wormhole路线图

结论

智能合约的缺失一直是基于UTXO模型的公链的一大弱点,Wormhole协议可以在完全复用UTXO的安全可靠等特性的情况下,增加了账户模型,来实现智能合约,将会给Bitcoin Cash带来更多的可能性。

本文由 Wormhole团队 姚永芯 写作,转载无需授权。

上一篇下一篇

猜你喜欢

热点阅读