区块链的规则就是共识协议,又称共识机制,共识算法是其中的一部分。共识机制一般是由一个人或一个团队设计制定,并开发出相应的程序,提供给社区使用。这一点似乎与传统的分布式系统一样,但区块链的共识机制的改变、升级是需要社区对此有一致的共识,如果不能达成共识,则任何人都可以实施硬分叉,另建一个社区、一条链。这就是共识机制的去中心化过程。
由于区块链节点之间不具有相互信任,因此区块链的业务计算是通过智能合约完成的,智能合约代码在网络上的所有(或部分)节点上同时运行,其执行结果通过共识算法在全网进行验证,通过这种计算上的冗余来保证计算结果的一致性。而传统分布式系统则无需考虑这些问题,同样的运算只需在一个或少数几个节点上进行,结果也无需其他节点验证,可以获得很高的效率。
所谓“多中心化”,意思是在链上存在多个中心节点,还有其他非中心的普通节点,所有的交易必须通过中心节点进行处理。其实,这种模型与区块链的“全节点/轻节点”模型是一样的
一是在所有的业务场景下,轻节点是否有权任意选择一个或多个全节点来参与交易。也就是说,全节点之间是否可以自由竞争,如果存在一个业务场景,全节点是垄断的、排他的,这样的模型就不是“多中心”而是“单一中心”;