织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 比特币 > 比特币资讯

区块链 = 分布式数据库?技术解读区块链与分布式系统异同

时间:2020-08-27 18:02来源:未知 作者:admin 点击:
把区块链当作分布式账本的说法并不准确,两者的区别主要体现在共识算法和链式结构。 原文标题:《区块链与分布式系统》 撰文:盖盖,UBC 计算机博士在读,研究分布式系统、拜占
把区块链当作分布式账本的说法并不准确,两者的区别主要体现在共识算法和链式结构。

原文标题:《区块链与分布式系统》
撰文:盖盖,UBC 计算机博士在读,研究分布式系统、拜占庭容错、区块链

区块链技术的火热推动了传统分布式技术的进一步发展。从区块链技术的本质来看,基本脱离不开传统分布式系统跟密码学的核心技术。那么区块链技术真的值得去研究吗?是区块链选择了我们,还是我们选择了区块链?本文从一个分布式系统研究者的角度来理解区块链。

人们常常把区块链当作分布式数据库,或者是分布式账本,这种说法不准确,而且具有迷惑性。区块链与我们常见到的分布式数据库相比,我认为区别主要有两个:共识算法和链式结构。这两者相辅相成,共同构成了区块链的独特性。

共识算法

分布式数据库所采用的共识算法一般都是基于 Paxos 所衍生出来的一系列算法。这些算法的安全性仰赖于中心化的假设,即所有的节点由一个可信赖的中心管理。在这个假设下,所有节点都被认为是「诚实」的,也就是说,所有节点都竭尽全力去传递消息,并且消息不会被篡改。如果有少部分节点宕机,或者失联也不会影响协议的安全性。

然而区块链中的共识算法没有中心化的假设,每个节点都可以被认为是有独立行为的,这也是区块链「去中心化」的由来。协议允许一部分节点(一般少于 1/3)是拜占庭节点,它们可以按照自己的意愿选择遵从或者违背协议,发送任意消息或者假装宕机。拜占庭节点可以是被攻击者完全控制的节点,也可以是自身软件出现严重 bug 的节点。这类算法被称作拜占庭容错(Byzantine fault-tolerant)算法,简称 BFT。很明显可以看出,区块链的共识算法的容错性要远远高于传统的分布式数据库,因此往往也更低效。

针对 BFT 共识算法的研究从很早就开始了,其中影响力最大的就是图灵奖得主 Barbara 在 1999 OSDI 年提出的 PBFT (Practical BFT) [1]。然而由于算法的复杂性过高,很难进行大规模部署。除此之外,这类算法还要求每个节点的身份已知,也就是说,在协议初始或者新节点加入时,都需要有准入控制(Access Control)机制,保证节点之间可以互相验证身份。基于以上原因,针对传统的 BFT 协议的研究到了 2010 年也没有很大的进展。

比特币的出现打破了人们对这一领域的认知,它使得人人都可以轻易加入到网络中来,不需要任何准入控制机制。只要拥有至少 51% 算力的计算机是诚实的,整个网络就是安全的,并且通过比特币的奖励机制鼓励参与者规范自己的行为。比特币通过极其简单的设计就在某种程度上实现了「海纳百川,一视同仁」,不得不说是一个奇迹。然而奇迹的诞生是要付出代价的。比特币付出的代价在我看来主要有三个: (责任编辑:admin)

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容