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

如何购买比特币_2020年如何购买比特币_支付宝如何购买比特币

当前位置: 主页 > 比特币买卖 >

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

时间:2020-09-11 05:01来源:未知 作者:admin 点击:
广告位API接口通信错误,查看德得广告获取帮助

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

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

共识算法

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

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

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

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

极大的资源消耗。参与到网络中的矿工需要付出庞大的硬件费用和电费。

极低的性能。比特币的网络每秒钟大概能处理 7 个交易每个区块的平均生成时间是 10 分钟左右。

交易的不确定性。即使一个区块在

比特币

网络中被确认了由于区块链可能存在分叉 fork这个区块仍然有被重写的风险。只有等待一个区块被确认若干次(比如 6 次)之后才能使得这个区块被重写的风险降到足够低。这也进一步提高了交易被确认的延迟。

为了减少上述代价有不少研究者都做出了卓越努力。例如为了提高共识算法的性能来自 Cornell 大学的研究者在 2016 年的 NDSI 提出了 Bitcoin-NG [2]。来自 MIT 和 Stanford 的研究者在 2019 年的 CCS 提出了 Prism [3]进一步对比特币进行扩容。此外为了减少资源消耗来自 MIT 的研究者在 2017 年 SOSP 上提出了基于 Proof-of-Stake 的 Algorand移除了挖矿的消耗。

链式结构

区块链带来的另一项革新就是链式的结构。每个区块都通过哈希跟前面的区块链接在一起okex一直追溯到初始区块形成一条绵延不绝的链。这个结构带来的一个好处就是当一个节点确认一个区块的时候意味着同时确认了这个区块所在链上之前的所有区块。基于这种链式的结构区块链中很容易采用一种“最长链”原则发布新的区块。比如在比特币中由于网络问题和恶意攻击的存在一个矿工可能会看到多条链但矿工总是倾向于在最长的一条链上挖矿。

即使挖矿挖到一半发现了一条比所在的链更长的链出现也要切换到更长的链。“最长链”原则并不一定是非遵守不可它并不会对协议安全造成严重影响但当所有矿工都遵守这一原则的时候每个矿工所能期望获得的收益最大。当然也有例外当一个矿工占有比较多的资源的时候(少于 50%)可以采取一种“自私挖矿”(selfish mining)[4] 的策略违背“最长链”原则谋求更高的收益。

区块链的链式结构也给研究传统 BFT 的研究者带来很大启发很多为区块链量身定做的 BFT 协议开始涌现。这其中最著名的要数 Facebook 所采用的 LibraBFT [5] 共识协议。LibraBFT 基于 HotStuff [6]由来自 VMware 的研究者提出。HotSutff 通过采用区块链的链式结构改进了传统 BFT 的性能使得协议能够部署在具有上百个节点的网络中。下面我简单说明一下这种链式结构的神奇之处。

首先我们想象用传统的 BFT 协议实现区块链。由于在传统的 BFT 协议中共识是一次性(one-shot)的我们需要对每个区块单独进行共识。

例如在 PBFT 中每个区块链都要经历 ProposePreparePrecommitCommit 若干阶段。每个阶段都要经历一轮投票似乎都在做相同的事情存在很多消息冗余。如下图所示(来源[1])。

为了解决这一问题HotStuff 在 PBFT 的基础上引入了链式结构。由于之前所说的链式结构的特性一个节点对一个区块的投票实际上是对这个区块所在链上之前的所有区块的投票。因此链式 HotStuff 缩减了不同的投票阶段只保留了统一的 Propose-Vote 的形式。如下图所示(来源[6])。

HotStuff 进一步利用了链式结构的特点规定了投票规则(voting rule)以及区块被确认的规则(commit rule)从而保证协议的安全性。链式的结构使得 BFT 协议变得简洁而优美能够很好地进行流程化(Pipelined)作业提高了协议的性能极大降低了状态空间。

除了上述的好处之外链式的结构也给协议留足了设计空间比如激励机制信用管理公平机制等这些机制对一个多方参与的网络来说都会起到积极作用。

总结

在 10 多年前中本聪发明比特币区块链应运而生。现在我们对区块链的研究逐渐拨云见日我们也应用一种客观专业的眼光去看待这项技术。毫无疑问区块链的诞生给分布式系统的研究带来了新的生命力。但在研究区块链的时候不能粗暴的将共识算法和链式结构分开去研究因为这两者相辅相成共同构成区块链的基本要素。

本文来自:登链社区

buy litecoin (责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
广告位API接口通信错误,查看德得广告获取帮助