区块链上的容错
区块链是一个分布式、去中心化的系统,它始终维持一个共享的状态。共识算法的作用是使网络可以对这个状态达成共识,有时候这种共识可能实现不了。因此,容错是区块链技术的一个重要环节。
区块链在设计上是低效且冗余的,这赋予了系统的不变性,以及极高的容错能力。
区块链的核心运行着一个点对点网络架构,这个架构中的每个节点与其他节点都是对等的。
和传统的客户—服务商模型不同,区块链的每个节点同时充当客户和服务商的角色。
因此,我们在网络层面上保留了这种冗余设计,让所有节点执行相同的任务。
和任何点对点系统一样,区块链有着非常高的容错能力。事实上,如果一个区块链系统有两个或两个以上节点在线,它仍然可以正常工作。
当考虑到主要公链有那么大的规模时,你就会领会到内置容错的神奇之处。
以比特币为例:
这是一个包含3万以上节点的区块链,这些节点在每个天使数贷区块上都要达成共识。只要两个或两个以上节点在线并且能够相互沟通,系统就能正常工作。
这让系统在节点在线和离线、网络传输等问题上极高的容错能力, 同时使得区块链可以在网络和电力基础设施不理想的环境中作为一个很好的平台。网络上的节点可以一会儿离线一会儿在线比特币质押,当一个节点在离线一会儿后恢复在线,这时它就要进行同步工作,从其他节点获取其离线时错过的所有数据,然后就可以像其他节点那样在线工作了。
跟中心化系统非常不同。
在传统的客户—务商模型中,如果服务商处于离线状态,客户就无法获取他们所要求的数据,或者执行他们想要执行的操作。
这种情况在区块链上是不存在的。
回顾其他点对点解决方案的历史&#