科普小知识:区块链与分布式系统

本文探讨了区块链技术是否值得深入研究,从分布式系统视角解析其与传统分布式数据库的区别,重点在于共识算法和链式结构。区块链的共识算法如PBFT、Bitcoin-NG、Prism和Algorand等在提高性能和减少资源消耗方面有所突破;链式结构则为BFT协议如LibraBFT和HotStuff带来效率提升。区块链技术的发展为分布式系统研究带来了新的机遇和挑战。

区块链技术真的值得去研究吗?

在这里插入图片描述

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

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

共识算法

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

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

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值