区块链与传统分布式系统有什么区别?

作为一种全新种类的分布式系统,区块链往往被错误地当作是一个分布式的数据库或日志系统,实际上区块链与传统的分布式系统之间有着本质的区别——去中心化。现在我们来审视一下区块链与传统分布式系统的主要区别。

五大区别

1

一致性算法

区块链需要解决的是拜占庭将军问题,即网络中存在一个或多个欺诈节点,可能会故意违反协议或传输错误的数据,因此区块链往往采用拜占庭容错的一致性算法(通常称为共识算法),如BFT、PoW、PoS等;而传统分布式系统只需考虑节点失效和通讯错误的情况,往往采用paxos、raft之类的一致性算法,这类算法不能对抗欺诈节点。

2

中央控制方

在区块链网络中是不存在中央控制方的,没有一个节点可以控制或协调账本数据的生成,各节点通过共识算法进行协调,生成一致的账本。而传统发布式系统则往往是由一个机构进行控制,统一调度各节点参与运算。

3

规则制定

区块链的规则就是共识协议,又称共识机制,共识算法是其中的一部分。共识机制一般是由一个人或一个团队设计制定,并开发出相应的程序,提供给社区使用。这一点似乎与传统的分布式系统一样,但区块链的共识机制的改变、升级是需要社区对此有一致的共识,如果不能达成共识,则任何人都可以实施硬分叉,另建一个社区、一条链。这就是共识机制的去中心化过程。

4

计算模式

由于区块链节点之间不具有相互信任,因此区块链的业务计算是通过智能合约完成的,智能合约代码在网络上的所有(或部分)节点上同时运行,其执行结果通过共识算法在全网进行验证,通过这种计算上的冗余来保证计算结果的一致性。而传统分布式系统则无需考虑这些问题,同样的运算只需在一个或少数几个节点上进行,结果也无需其他节点验证,可以获得很高的效率。

5

性能

区块链是以相对的低效率来换取公正,目前主流的公有链每秒只能处理几笔到几十笔交易,更高效的区块链软件正在研发之中;而分布式系统的性能理论上可以无限提升,目前已达到每秒数十万笔交易。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180412B1A60Z00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券