BCH社区发布了虫洞(Wormhole)项目,可以在BCH上实现token和智能合约,这让BCH社区非常兴奋。如果我们深入思考虫洞背后的设计原则,我们将会发现一些让人更加兴奋的东西。
一、虫洞是什么
我们都知道,BCH值得信任的基础是PoW共识,于是我们有了一条不可更改可被信任的区块链,我们可以在这条链上进行点对点地转账,不再需要第三方。
虫洞是在BCH区块链上,在不改变现有共识的前提下,定义了一套新的规则,可以实现智能合约。基于虫洞平台,会有很多DApp被开发和运行。我们可以这样比喻:虫洞是BCH上的以太坊。
要理解虫洞,我们先理解几个概念:
虫洞协议:描述虫洞的智能合约可以做什么,如何运行,合约代码按照什么规则来写。
合约代码:按照虫洞协议描述的一些列操作,写在BCH区块链上。比如:token的发行、转账等。
虫洞节点:按照虫洞协议校验、执行合约代码,并记录运行结果。比如:识别一笔虫洞代币的转账,记录转账后的账户余额。任何人都可以运行虫洞节点。但通常,提供虫洞服务的公司才有动力运行虫洞节点。比如:一家钱包服务商,为了支持虫洞协议上的各种token,就需要运行一个虫洞节点。
二、设计原则:虫洞的信任和交互模型
信任
虫洞节点信任并遵从虫洞协议,因为协议是明确的,用代码写死在虫洞节点中的。就像比特币节点,都会遵从比特币协议一样。
虫洞节点信任BCH区块链,因为BCH区块链不可更改。
虫洞节点之间不互相信任,它们甚至不用知道彼此的存在。
交互
虫洞节点只与BCH区块链交互,虫洞节点之间不进行交互。如:A是钱包服务商WA的用户,B是钱包服务商WB的用户,WA和WB各自运行自己的虫洞节点。A给B转一笔代币,WA的虫洞节点将转账数据写入区块链并给A、B记账,WB从区块链中读取到转账数据并给A、B记账。两个客户端各自根据区块链中的数据记账,得到的账户余额是一致的。
一个虫洞节点无法欺骗另一个虫洞节点。还是上面的例子,A用户的代币余额已为0,但WA想欺骗WB,WA违反虫洞协议给B用户发起了一笔代币转账。WB会校验出这是一笔非法转账,会拒绝,B用户的余额并不会增加。
有了上述信任和交互模型,虫洞就是一个安全可靠的去中心化智能合约平台。
三、BCH的潜力
如果我们把虫洞比喻成BCH上的以太坊,那么按照上述设计原则,是不是只需更改协议设计思路,就可以设计出一套全新的智能合约平台呢?是的,完全可以!我们可以把这个新的平台比喻为BCH上的EOS。
BCH给出了最基本的“物理定律”,可以演化出纷繁复杂的各种“星体”。可以是“虫洞”,可以是“潘多拉星”,也可以是“半人马座的三体世界”。每个“星体”都有一套独特并充满魅力的生态。而BCH,就是整个“宇宙”。
领取专属 10元无门槛券
私享最新 技术干货