Hi 游客

更多精彩,请登录!

比特池塘 区块链前沿 正文
关于含有权益的工作量证明(POSW)如何能够帮助ETC(以太经典)等项目避免51%攻击(前提是他们采用了这种共识机制)。! p) ?# v" W% N5 i* O2 k" q
为了回答这个问题,并试图帮助大家更好地理解POSW中的安全模型,本文将假设ETC已经使用了POSW共识,并以此为例讨论对ETC-POSW发起攻击的成本。5 ^/ h. I- O# M+ P/ ^* N

# s! Q' i- p% q( T# I! X% {参数说明; N! I; ~2 s2 t/ D/ g
首先,假设这个ETC-POSW网络具有2019年1月9日的ETC网络类似的系统参数:
9 B) {8 N: ~2 g5 g  M) x-全网算力:8Th/s3 a' j- n; |7 F
-代币价格:5美元
' f# X- G5 k! D6 I-当前发行量:107407745ETC(数据来自CoinMarketCap)
2 C. D' K2 D8 g& M* e1 l我们还假设攻击者拥有的算力为8 Th/s(有人怀疑近期对ETC网络攻击所使用的算力是从nicehash上租来的。我们手头没有确凿的数字,8Th/S是假设所有当前的矿工都是诚实的,因此攻击者需要收集8Th/s来执行双花的攻击)。5 L5 m+ i% Q) b" K* M, L  }4 m
其次,我们在POSW共识中采用以下参数(参数的意义以及详细说明请参考我们之前发布的文章):
& X8 C7 p0 F* F' s4 @; f7 A% p-获得最大挖矿额度需要的抵押量(期望发挥100%算力):所有流通代币的5%(请注意,作为对比EOS约有40%的代币正在进行抵押以获取投票权或其他权益。)
' W, y7 P0 d) {-当矿工的算力超过了其挖矿额度将承受难度惩罚:20倍高于正常难度
5 J% v' Y7 B- q/ W/ f, |! D-矿工有效算力(额度)的估计时间窗口:256块  }" M9 u- h4 x/ z# f3 t9 }
-确认一笔交易所需的块数:30块(ETC被攻击前交易所通常使用该参数)
* {* g" ^% ^; J% a' q7 Z-如果矿工停工(要求取出押金),押金将锁仓三天(也可理解为提取押金的过程为三天)。0 A: r0 H) s: A3 L( y7 T
为了帮助大家理解,这里对POSW中的部分术语做一个简要的解释:额度(allowance)是矿工在任意算力估计窗口期(也就任意的连续256块)中可以生成的块的数量。如果一名矿工生产的块数在窗口(256块)里面超过额度时,则该矿工将受到难度惩罚,这时其开采一个块的难度将提高20倍。本案例中,一个额度需要抵押107407745*0.05/256=20978个代币。
' ^, v' h. A0 l4 Z( V% c1 S% o
: N9 t  l0 r9 x7 m, V+ ~" l攻击成本& ~8 n; T( n# v! T1 H
接下来,让我们讨论一下进行双花攻击的成本问题:0 ?. U' l; |7 i
1.如果攻击者不持有任何代币而直接开始挖矿,这意味着恶意矿工将遭受难度惩罚,因此他必须租用(或自行部署)8 Th/s*20=160 Th/s的算力进行攻击。请注意,这个算力值已经接近以太坊当前的全网算力(169.74 Th/s)。& m4 S' @2 K( K, ?: l/ t4 h; E
2. 如果攻击者有足够的代币可以用于抵押,这意味着矿工需要租用8Th/s的算力并单独连续开采31个块(形成攻击分叉)。由于算力的评估窗口为256个块,因此矿工至少需要31/256*107407745*5%=650320 ETC代币,目前价值为320万美元。在执行攻击后(假设攻击完成后迅速开始提取抵押的代币),这些代币还将被锁定3天。+ z. G, w) f9 v; C
3.假设被双花的代币为219500个ETC(该数据来自网上报道https://blog.coinbase.com/ethereum-classic-etc-is-current-51-attack-33be13ce32de),如果攻击者想抵押的代币低于219500个ETC(也就是即使抵押的代币被没收了,还有收益),则窗口期中攻击者的额度为(219500/(107407745*5%))*256=10.4。这也意味者,在产生了这10个块之后,他还需要使用更多的算力来维持出块,算下来整个攻击需要(31–10)/31*8*20+10/31*8 Th/s,大约为110Th/s算力(不要忘记那用于抵押的219500个ETC)。
/ N5 A! F) e; A2 q# s' F, \; C3 T从上面的例子中我们可以发现,在POSW共识中,除非攻击者拥有非常高的算力,否则他必须抵押一些代币才能执行有效的双花攻击。如果我们在3天内(抵押锁定期)检测到双花攻击,我们就可以通过扣除其抵押的代币来惩罚攻击者。" `( M+ r$ K# G  \& a3 u" R
至于在何种条件下可以罚没的抵押代币,这属于“预言家问题”。一种可行的思路是依靠某种链上治理模式,由主要利益相关者(比如矿工和持币的人等)达成共识,一致决定扣除攻击者的抵押代币并统一执行。这一过程类似于在比特币网络中达成软分叉(soft-fork)升级协议。
, W# Q  y! b5 f0 U9 T0 [+ l
5 C( C5 n( X# e: C5 O' E 结论
, `3 o$ F% B/ d# r$ ^! X% ^8 {& B' f 考虑到最近一段时间ETC多次发生51%攻击,我们在本文中展示了如果ETC使用了包含权益的工作量证明共识将有助于提高其网络的安全性,显著的增加双花攻击的成本。分析表明,如果ETC使用了POSW共识,再次发生类似1月的双花攻击时,攻击者需要至少具有110Th/s算力或是650320个ETC(价值320万美元,同时还要8 TH/s算力),这些都远远大于当前对ETC网络发起攻击的成本(8Th/s算力)和收益(219500个ETC)。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

天然灵凡 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    33