首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

一文读懂区块链共识及其容错机制(5)

一文读懂区块链共识及其容错机制(5)

区块链上的容错


区块链是一个分布式、去中心化的系统,它始终维持一个共享的状态。共识算法的作用是使网络可以对这个状态达成共识,有时候这种共识可能实现不了。因此,容错是区块链技术的一个重要环节。


区块链在设计上是低效且冗余的,这赋予了系统的不变性,以及极高的容错能力。


区块链的核心运行着一个点对点网络架构,这个架构中的每个节点与其他节点都是对等的。


和传统的客户—服务商模型不同,区块链的每个节点同时充当客户和服务商的角色。


640?wx_fmt=png


因此,我们在网络层面上保留了这种冗余设计,让所有节点执行相同的任务。


和任何点对点系统一样,区块链有着非常高的容错能力。事实上,如果一个区块链系统有两个或两个以上节点在线,它仍然可以正常工作。


当考虑到主要公链有那么大的规模时,你就会领会到内置容错的神奇之处。


以比特币为例:


这是一个包含3万以上节点的区块链,这些节点在每个区块上都要达成共识。只要两个或两个以上节点在线并且能够相互沟通,系统就能正常工作。


这让系统在节点在线和离线、网络传输等问题上极高的容错能力, 同时使得区块链可以在网络和电力基础设施不理想的环境中作为一个很好的平台。网络上的节点可以一会儿离线一会儿在线,当一个节点在离线一会儿后恢复在线,这时它就要进行同步工作,从其他节点获取其离线时错过的所有数据,然后就可以像其他节点那样在线工作了。


这跟中心化系统非常不同。


在传统的客户—务商模型中,如果服务商处于离线状态,客户就无法获取他们所要求的数据,或者执行他们想要执行的操作。


640?wx_fmt=jpeg


这种情况在区块链上是不存在的。


回顾其他点对点解决方案的历史,例如:BitTorrent 或 Napster,我们看到官方在使这些网络离线时遇到了极大的困难。


这归咎于点对点架构的容错能力。


事实上,我们在最近发生的阿拉伯之春(Arab Spring)中也看到了这种情况,当时埃及政府决定关闭整个国家的网络一晚上。


在24小时之内,埃及就重新恢复了网络,通过一种名为“网状网络”的网络共享机制连接到了因特网上,核心上这种机制只是一种分享网络连接的点对点方法。


点对点解决方案可以提供极高的容错能力和可靠性,正因如此我们才选择在它的基础上构建区块链这样的平台。


如果你正在寻找一个可以提供极高容错能力的解决方案平台,如果你计划在基础设施不太理想的区域或者在节点频繁在线和离线的环境中部署一个解决方案,区块链可能是一个非常好的平台。
返回列表