GHOST协议分析

基础区块链协议(Bitcoin)现状

截至2014年12月,比特币的网络处理量约为每天9万笔交易[2],这个数字一直在缓慢增长,但仍然相当于平均每秒约1条交易(TPS)。而报道称2010年Visa的全球支付系统每天处理1.5亿笔交易(不到2000 TPS),并且还在稳步增长。

我们研究了提高吞吐量(TPS)后BTC协议在抵抗双花攻击(double-spend attacks)方面的安全性变化;我们假设区块在网络传播比出块的速度要快得多,因此如果吞吐量(TPS)要提高,意味着TX数据的增加,从而必然导致区块的增大(不修改协议的情况下),而频繁创建较大区块会显著地使传输时间拉长。我们的研究表明随着区块的增大和出块速率的提高(修改协议),会使Bitcoin协议的安全性显著地降低,然而这两点却是提高TPS的必要条件。

前人提过的一些改进建议

  • 压缩block空间,只存TX的hash
  • 可逆Bloom查找表
  • 离线状态通道

分叉(Fork)发生的原因

  • 网络存在延迟 (随着时间推进自然解决)
  • 恶意攻击者存在的可能性(解决只能靠网络算力保障)

提高吞吐率(TPS)与Bitcoin网络安全性之间的关系

我们使用有向图(Directed Graph) G = (V, E)来为Bitcoin网络建模。每个节点v占整体网络算力的比例用pv表示,网络中每个节点的出块服从泊松分布,出块速率为pv·λ,其中λ为整个网络的出块速率,即为泊松分布的均值(由于Bitcoin协议规定平均每10分钟出一个块,所以λ=1/600);我们使用β来表示在主链(最长链)上的出块速率,而λ代表的是整个网络区块树的出块速率;β受网络传播延迟时间的影响,而区块大小b会直接影响到网络传播延迟时间,即区块大小b越大,β会越小。我们使用q 来代表网络中恶意攻击者的算力占比,即 0 < q < 1,所以q·λ代表攻击者的出块速率,当q·λ > β时,即攻击者的出块速率大于正常主链上的出块速率时,攻击者对整个网络有控制权;而当q·λ < β时,攻击都落后于正常主链,网络是安全的;所以我们指出网络的安全阈值为β/λ。

关键指标:

  • 攻击者算力 q·λ
  • q > β/λ 与 q < β/λ(攻击者出块速率与主链出块速率对比)
  • 网络安全阈值(指标): β/λ
GHOST协议分析_第1张图片

影响区块链吞吐量(TPS)的两个最主要因素:

  • 出块速率 λ
  • 区块大小 b

由上图2中我们可以看出为了提高吞吐量(TPS)而调高协议的 λ 值和区块大小b,会直接降低Bitcoin网络的安全性——β/λ

GHOST

目前区块链协议面对的主要挑战:主要为如何提高基础区块链(Bitcoin)的吞吐量(TPS)和缩短用户交易的确认时间。这篇文章主要说明GHOST如何解决这两个问题以及这些问题与比特币的安全性之间的关系。

GHOST相对于原来的以最长链为主链的区块链协议,将主链的选择标准改为在每个分支处选择权重最高子树(heaviest subtree)为标准主链。这个对最长链协议的修改缓解了上述安全问题,并将帮助基础区块链协议进一步发展。

GHOST的改进

GHOST对基础区块链(最长链为主链)的主要贡献是提供了一套新的选择主链的策略,并且维持了主链在对抗50%攻击时的安全阈值 β/λ 恒定保持为1,而不随协议 λ 值和区块大小b的提高(b影响网络延迟)而降低(见下图)。基础区块链协议增加GHOST后,可以提高出块速率 λ(出块时间缩短),有效提高区块链协议吞吐量(TPS);目前Ethereum已经采用了一个基础版的GHOST。

GHOST协议分析_第2张图片

GHOST策略s(T)

GHOST协议分析_第3张图片

GHOST策略折叠率

GHOST与基础区块链(最长链)的对比

GHOST协议分析_第4张图片

最后这张图可看出在提高协议出块速率λ后安全阈值β/λ 的变化情况。

GHOST未解决的问题

  1. 网络延迟较小的miner会略占优势
  2. 算力较弱的miner会使用Selfish Mining strategy

你可能感兴趣的:(GHOST协议分析)