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

我的网站

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

如何保证区块链安全性且提升 TPS?技术解读 GHOST 共识算法

时间:2020-06-08 10:14来源:未知 作者:admin 点击:
GHOST 对比特币的最长链规则进行更改,每次分叉时选取拥有最重子树的分叉节点,在提升吞吐量的情况下比最长链规则更具安全性。 原文标题:《共识算法解读-PoW 算法之 GHOST》 撰文:
GHOST 对比特币的最长链规则进行更改,每次分叉时选取拥有最重子树的分叉节点,在提升吞吐量的情况下比最长链规则更具安全性。

原文标题:《共识算法解读-PoW 算法之 GHOST》
撰文:Johnathan

问题引入:高吞吐量下比特币的安全性如何?

比特币为了保障其安全性,采用最长链规则,并固定了区块大小和出块时间间隔,从而导致其低吞吐量 (<10Tps) 和长时间区块确认间隔 (6 个区块,每个区块平均需要 10 分钟),这一直以来饱受诟病,影响了比特币网络的大规模使用。

一开始人们思考的是在比特币最长链的规则上,通过增加区块大小(1M->4M) 和减小出块间隔来增大吞吐量,但是这却带来了三个很大的问题:

  • 不断的分叉!分叉也就意味着安全性降低,容易引起双花攻击。
  • 区块奖励受网络延迟影响:整个网络的区块奖励不单单与算力有关,网络延迟较低的节点更有可能获得出块奖励。
  • 容易受到自私挖矿攻击:恶意节点出块后先不公布,直到发现比主链长时再公布

下图阐释了在一种区块生成间隔较小(区块生成率大于区块传播延迟)的网络中,区块链网络高度分叉,此时攻击者可以秘密创造 6 个区块(由红色虚线标记),从而超过主链的场景。

如何保证区块链安全性且提升 TPS?技术解读 GHOST 共识算法

于是,研究人员开始思考,如何在保证高吞吐量的同时,还能保证安全性?

2015 年,以色列的学者 Yonatan Sompolinsky 和 Aviv Zohar 就提出了一种 The Greedy Heaviest-Observed Sub-Tree (GHOST) 贪婪最重可观测子树算法,以解决这个问题。

论文链接:共识算法相关 paper:Secure High-Rate Transaction Processing in Bitcoin[1]

那么 GHOST 又是如何做的?

GHOST 的思路很简单,它对比特币的最长链规则进行更改,在每次分叉的时候选取拥有最重子树的分叉节点。举例来说(参考上图),就是在 0 处分叉为 1B 和 1A 时,1A 的子树(它进行自私挖矿)共有 6 个块(包括 1A 块),1B 的子树有 12 个块,12>6, 所以选 1B 为主链的块。这样就减轻了了分叉带来的问题,使得主链不断向后增长。

也就是说,主链之外的区块也被计入了算力。具体的算法如下,输入整个树结构的区块链,输出最终主链的最后一个区块 B:

如何保证区块链安全性且提升 TPS?技术解读 GHOST 共识算法

该算法,从创世区块 (Genesis) 开始,每次分叉就选取最重子树,直到确定完主链的序。还是拿图中的例子,最终选取的主链是 (责任编辑:admin)

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