Wormhole协议弥补了UTXO模型智能合约的缺失

By | 2018年8月15日
Wormhole协议弥补了UTXO模型智能合约的缺失
 
我们都知道比特币和以太坊最大的区别就是智能合约。正是由于比特币没有智能合约才给了以太坊一个霸占市场的机会,以太坊的市值也曾因此险些超过比特币。比特币之所以不能像以太坊那样使用智能合约,其最大的原因就是比特币采用的是UTXO记账方式,而以太坊采用的账户余额记账方式。
 
智能合约的缺失一直是基于UTXO模型的公链的一大弱点,这主要因为智能合约在UTXO模型下是有一定的缺陷的。首先是数据存储问题。由于没有账户模型,我们很难找到智能合约的数据是存在什么地方的。其次是在UXTO模型下整个智能合约发出的转账行为会打断整个UTXO的链条,从而无法实行智能合约。因此比特币和比特币现金目前的脚本系统都是无法编写出有状态的智能合约的,但是以太坊就可以轻松的编写。
 
虽然比特币现金自身也是采用的UTXO模型,受此限制很难直接实现智能合约的功能,但是虫洞Wormhole方案的出现却打破了这一现状。基于BCH的智能合约方案Wormhole协议另辟蹊径,利用了BCH今年5月份升级容量被扩大的OP_RETURN,依附于BCH区块链将智能合约交易的元数据信息存储在比特币现金的OP_RETURN上。通过识别OP_RETURN里的数据完成智能合约以及Token的发行,转移和燃烧等。而且Wormhole不同于BCH,它采用的是账户模型的记账方式,从根本上弥补了BCH的UTXO模型难以实现智能合约的不足。
 
由于Wormhole协议复用了整个比特币现金中UTXO的安全模型,使用了BCH的去中心化时间戳服务器模型,因此Wormhole协议上的智能合约也能享受UTXO的一些优势,如更高的安全性能,高TPS,更好的去中心化等。
 
由于UTXO模型不用关心事务,只需要关心解锁脚本和锁定脚本。在输出时,如果对输出加上了锁定脚本,只要拿到对应的解锁脚本就能动用币,这样的设计更容易实现去中心化。除此之外,UTXO无需维护余额,使得整个系统的效率也会加快。这对于Wormhole协议智能合约的实施是有好处的,不用在费心思解决这些问题。
 
关于高TPS,我们知道以太坊因为只有20个TPS,影响了它进一步的发展,所以一直想要把共识机制更改为POS+POW。基于POS+POW则更容易实现分片,从而提高它的TPS。而BCH通过简单的改变区块的大小和缩短区块的时间就可以支持500-1000TPS。如果未来BCH能够实现SPV验证、UTXO证明和UTXO分片的话,BCH可以扩展到无限的TPS。这对于Wormhole协议智能合约的长远发展是非常有好处的,不用担心扩展问题。而且与以太坊不同,用来发代币的合约账户和给用户记账用的外部账户是处于同一层的,所有的节点要同时执行合约账户和外部账户。而基于Wormhole协议的智能合约则是根据你的需要去运行Wormhole节点,不需要或者不关心的就可以不用运行Wormhole节点了,为用户提供了更多的选择。
 
虫洞WHC的意义不仅仅在于为BCH带来了智能合约解决方案,还在于弥补了UTXO智能合约的缺失,为基于UTXO模型的公链提供了智能合约新思路。目前我们已经可以使用Wormhole协议在BCH区块链上发行Token,但是这只是Wormhole协议所要实现的最基础的功能,智能合约才是Wormhole协议未来开发的重点。而且去中心化交易所、ERC721、Plasma协议、无需许可的智能合约、智能合约虚拟机等都会随着Wormhole协议的发展而实现。