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

我的网站

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

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

时间:2020-08-27 18:02来源:未知 作者:admin 点击:
极大的资源消耗。参与到网络中的矿工需要付出庞大的硬件费用和电费。 极低的性能。比特币的网络每秒钟大概能处理 7 个交易,每个区块的平均生成时

  1. 极大的资源消耗。参与到网络中的矿工需要付出庞大的硬件费用和电费。
  2. 极低的性能。比特币的网络每秒钟大概能处理 7 个交易,每个区块的平均生成时间是 10 分钟左右。
  3. 交易的不确定性。即使一个区块在比特币网络中被确认了,由于区块链可能存在分叉 fork,这个区块仍然有被重写的风险。只有等待一个区块被确认若干次(比如 6 次)之后,才能使得这个区块被重写的风险降到足够低。这也进一步提高了交易被确认的延迟。

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

链式结构

区块链带来的另一项革新就是链式的结构。每个区块都通过哈希跟前面的区块链接在一起,一直追溯到初始区块,形成一条绵延不绝的链。这个结构带来的一个好处就是当一个节点确认一个区块的时候,意味着同时确认了这个区块所在链上之前的所有区块。基于这种链式的结构,区块链中很容易采用一种「最长链」原则发布新的区块。比如在比特币中,由于网络问题和恶意攻击的存在,一个矿工可能会看到多条链,但矿工总是倾向于在最长的一条链上挖矿。即使挖矿挖到一半发现了一条比所在的链更长的链出现,也要切换到更长的链。「最长链」原则并不一定是非遵守不可,它并不会对协议安全造成严重影响,但当所有矿工都遵守这一原则的时候,每个矿工所能期望获得的收益最大。当然,也有例外,当一个矿工占有比较多的资源的时候(少于 50%),可以采取一种「自私挖矿」(selfish mining)[4] 的策略,违背「最长链」原则,谋求更高的收益。

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

首先,我们想象用传统的 BFT 协议实现区块链。由于在传统的 BFT 协议中共识是一次性(one-shot)的,我们需要对每个区块单独进行共识。例如在 PBFT 中,每个区块链都要经历 Propose,Prepare,Precommit,Commit 若干阶段。每个阶段都要经历一轮投票,似乎都在做相同的事情,存在很多消息冗余。如下图所示(来源 [1])。 (责任编辑:admin)

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