第四节 区块链系统的兼容性
兼容是计算机术语,相对于软件,一种是指某个软件能稳定地工作在某操作系统之中,就说这个软件对这个操作系统是兼容的。再就是在多任务操作系统中,几个同时运行的软件之间,如果能稳定地工作,不出经常性的错误,就说它们之间的兼容性好,否则就是兼容性不好。
目前,着手研究区块链的机构、企业很多,相对应出现的链的种类也各不相同,采用的技术、共识机制等也存在差异,如需桥接不同链,则会遇到各种的问题,即存在系统的兼容性问题。在关于联盟如何帮助桥接私有与公有区块链领域众说纷纭的情况下,以太坊中将私有以太坊实施工具与更大的公有区块链相兼容作为技术目标之一已反复出现。
私有链完全不同于公有链,公有或私有链的每次实施,均使用了不同的“共识算法”,或者通过网络在交易历史这一问题上达成一致的方式。因此,解决区块链兼容性问题在于用户可以在不同的网络相互操作,以便从一种算法切换到另一种算法,比如当从一个网络向另一个网络汇钱时。
为解决上述问题,研究者提出了可插拔共识,所谓可插拔共识是一个可以根据用户运行环境得出共识算法的理念,一切都有关于权衡。可插拔共识类似于一个接口,用户可以在这个接口插入任何东西。
研究可插拔共识的机构和社区除了以太坊外,还包括竞争性联盟、R3CEV和超级账本等。
虽然研究者已提出各种类型的算法和技术来解决区块链并发性和安全性等问题,然而这些条件并不能完全满足,以太坊创始人Vitalik Buterin提出去中心化、并发性和安全性这三者只能选择其中两项。例如多链结构,是选取去中心化和并发性,但舍弃了安全性,因为算力分散了,增加区块大小或者联合挖矿是选取并发性和安全性而舍弃了去中心化,因为对节点的运算能力有更高的要求。
以太坊的分片方案其实相当于同构的半独立的多链,世界状态是共享的,但是交易历史是分开的。以太坊之所以选择这个方案,是因为通过复杂的规则设置,可以尽量保证在三个指标上都达到最优。针对不同的场景,应该会有不同的选择,比如联盟链,对去中心化的要求会低很多。
本书评论