江卓尔:算力战的瓶颈不是算力,而是双方愿意烧掉的资金
一、为什么算力能成为比特币的最高仲裁机制?
答案很简单: 因为算力能杀死一条链 。
这是一条最底层的规则: 生存是最终的辩论方式,是决定对错的最高依据。 这条规则有很多种表述方法,例如“胜王败寇”, “真理只在大炮的射程之内”,“暴力是决定所有规则的元规则”。
为什么无神论(科学论)是对的?是因为无神论能辩过有神论吗?当然不是,无神论和有神论两边的逻辑基础都不一致,辩起来就是鸡同鸭讲。 无神论是对的,不是因为无神论更 “有理”,而是因为无神论能造出枪 。
我能造出枪消灭你, 你都不存在了,你还有什么资格讨论对错吗 ?
所以, 生存是最终的辩论方式,是决定对错的最高依据 。为什么我支持 “演化论” 而不是 “稳定论” ?因为 “演化论” 以适应市场需求,增加用户数为唯一目的,而 “稳定论” 不以此为最高目的。
当然,“稳定论” 会认为,我的链协议稳定,所以用户会选择我,
但如果不是呢?如果两者矛盾呢?
如果根据市场需要,增加像DSV这样的功能,就是能比稳定时,吸引更多用户,首先达到50亿的最终目标呢?那么谁是对的,谁是错的?
所以, “演化论” 是逻辑自洽的 。极端锁死和过度修改都错,“演化论” 更有可能在 “稳定” 和 “修改” 中找到最佳的位置,并获取最多的用户。
而 “稳定论” 包含了一个假设:稳定是最好的增加用户的方式 。这个假设从商业上来看几乎不可能成立:商业上没有躺赢, 中本聪并没有给我们设计一条成为世界货币的躺赢之路 。
有人可能会认为:“产品才需要吸引更多用户,而货币不能这样设计”,“BCH应该好好在货币上发展,而不应该搞各种新功能和第二层网络”。这不对,货币也是产品的一种,美元一样要面临欧元、人民币、日元的竞争, 为什么美国政府要搞 “石油美元” (国际石油贸易以美元结算)?还不是为了增加美元的 “ 应用 ” 和 “用户数” 。
而在加密数字货币领域,这种产品竞争就更剧烈了:任何一种币,都必须面临大量币(产品)的竞争。
二、如何通过算力杀死一条链?
回到算力战上,算力战对大部分人来说,是从未用过的屠龙之技,所以各种文章和推测的错误很多。 莱比特矿池(BTC.TOP)是全网唯一一个有过大规模算力战经验的矿池,任何与本文不符的表述(包括CSW的表述)均为错误 。
大家都知道 “51%算力攻击”:
1、攻击者通过优势算力,挖掘一条比原链更长的攻击链。
2、攻击链向全网广播后,节点按规则,将接受更长的链,丢弃原链。
下图中的直线链(上面的蓝色链和下面的红色链),表示被中立节点接受的主链。
PS:这里的 “更长的链” 准确地说是 “累计难度更大的链”,例如节点会接受2个难度10的块,而抛弃掉3个难度5的块,因为10+10=20>15=5+5+5。为了叙述方便,后文均假设每个块的难度相同 。
通过51%攻击,可以完成各种目的,例如:
1、在Tx1(交易1)确认后,撤销掉Tx1,让另一个冲突的Tx2(交易2)生效。
例如Alice用Tx1发了1个BTC给Bob,向Bob交换100个LTC,在收到Bob的100个LTC后,再用一个发这1BTC给自己的Tx2,替换掉Tx1,把付给Bob的1BTC拿回来。
2、用自己挖的块(红色的块),孤立掉其它矿工挖的块(蓝色的块),让其它矿工损失挖矿产出。
在51%算力攻击的基础上,可以进行 “51%空块攻击”: 攻击者只挖空块(不包括任何交易的块),并不接受(孤立掉)任何其它矿工挖的,正常打包交易的块,让这条链瘫痪掉,任何人都无法正常交易 。
并且,由于矿工在这条链上挖到的块都被孤立掉,没有挖矿收入,因此也会逐渐停止挖矿,最后这条链就死了。
三、如何防御 “51%空块攻击” ?
防御者需要不承认攻击链,在原来被覆盖的原链之后,调动更多的算力,挖一条比攻击者更长的链
在实际的攻防中, 双方将会不断延长自己的链,并有可能来回重组覆盖 。也就是说,一个只按默认规则,接受最长链的中立节点,可能在攻击链较长时,接受攻击链,然后在防御链较长时,放弃攻击链,接受防御链。
四、攻防双方成本分析
胜利的一方,只要比失败的一方多挖一个块就可以。
1、如果防御者放弃了, 那攻击者也不用再继续花成本挖块,只要简单停止挖矿即可 ,这条链就死了。之后攻击者如果发现防御者又开始挖块,那攻击者也只要继续比防御者多挖一个块就可以。
由于这条链已经死了,所以攻防双方挖的所有块就都作废了,双方都将损失所有挖矿成本。
2、如果攻击者放弃了,那情况有些不同,攻击者还是将损失所有挖出的块(和成本), 但由于链还存活,所以防御者可以获得之前所挖的块,作为收入 。
也就是说,
攻击方不管胜负,必然损失攻击成本,而防御方有防守优势,如果获胜还可以获得挖矿收入作为补偿
。
五、攻防双方算力分析
11月15日,BCH的ABC客户端,将硬分叉升级至0.18.2版,比特大陆支持ABC的此次升级。
而CSW所支持的BSV客户端,将同时分叉出链BSV链,并声称将对ABC 0.18.2链(升级链)进行算力战攻击,杀死ABC升级链。
5.1、CSW方的算力:
支持CSW的矿池(Coingeek,svpool,BMG等)目前展示出来的算力为2000-3000P左右,CSW声称还有隐藏算力,因此可认为 CSW至少有3000P 自有 算力 。
CSW还可以通过租赁方式,控制更多算力,例如和矿池、大矿场谈算力租赁,或者从nicehash等算力平台上租赁算力,只要愿意给出溢价(例如+20%挖矿收益), CSW自有+租赁算力到1万P,难度不大 。
5.2、比特大陆方的算力:
比特大陆旗下的矿池(BTC.com和Antpool)合计拥有约15000P的算力,再加上比特大陆参股的ViaBTC矿池,共计拥有约20000P的算力。
由于BTC和BCH均使用sha256算法挖矿,所以矿池在技术上,可以在BTC和BCH上来回秒切算力。只要正常给矿工按算力付挖矿产出的BTC,矿工实际上并不关心实际挖的是什么币。矿工甚至不知道自己挖的是什么币,只是解答矿池下发的计算任务。因此
比特大陆如果愿意,可以使用所有20000万P的BTC算力,来BCH上做防御
,之前出现各种传闻,例如比特大陆在新疆部署9万台矿机用于算力战等,均为无意义的谣言。
比特大陆使用BTC算力进行算力战,符合 “生存是最终的辩论方式” 的算力战原则
。
由于比特大陆正处于上市中的关键阶段, CSW威胁称,若比特大陆使用BTC算力来进行算力战,他将通过诉讼方式攻击比特大陆 。但这一做法意义不大,因为比特大陆基本上不需要使用全部20000P算力应战,若使用部分算力,比特大陆可声明使用自有算力(或合作伙伴算力),其余(正常获得支付BTC)的矿工既没有动机起诉,也难以确认自己挖的是什么币。
5.3、双方的资金:
虽然比特大陆方算力基本可以肯定比CSW多,但算力战的胜负,不仅仅取决于算力。若CSW如之前所声称,全力开战,那每天将烧掉几千万,甚至上亿的成本, 那算力战的瓶颈,将不是算力,而是双方愿意烧掉的资金 。
在资金方面,CSW声称自己是亿万富翁,有豪宅名车,并得到Calvin Ayre(博彩业大佬)的鼎力支持。比特大陆则是估值150亿美元,正在上市中的庞然大物,并且持有100多万个BCH,在BCH上有足够的利益。双方都是重量级选手,至于 双方愿意烧掉多少资金,取决于双方的意志,我们无法猜测 。
六、攻防双方烧钱比例分析
BCH的正常算力取决于:BTC的总算力 & BCH/BTC的汇率 。例如11月2日BTC的总算力51370P,BCH/BTC汇率=0.067,则BCH正常算力应为51370*0.067=3441P。若BCH实际算力高于3441P,则每台矿机挖矿BCH产出将低于BTC,矿工将从BCH迁移到BTC,直到两边挖矿收益相同,反之亦然。
CSW投入的算力多少,将决定双方的烧钱比例。
6.1、如果CSW投入7000P 算力 (两倍BCH正常算力)
如第四章中所述, 攻击方不管胜负,必然损失攻击成本,而防御方有防守优势,如果获胜还可以获得挖矿收入作为补偿 。因此,若比特大陆也投入7000P算力进行防御,并最终获胜,那可以得到BCH期间挖出的BCH作为补偿(相当于3500P算力的成本)。
也就是说,在算力战烧钱时,比特大陆投入7000P算力防御,但其中只有3500P需要烧钱,剩下3500P将获得正常挖矿产出(虽然暂时无法兑现),而CSW的7000P算力全部都需要烧钱。
因此, CSW投入的算力越少,比特大陆的 “防御抵扣优势” 越大 ,例如各自投入5000P时,比特大陆1500P烧钱 vs CSW 5000P烧钱,因此比特大陆坚持到底的决心也必然越大。
6.2、如果CSW投入7000~14000P
算力
此时, 决定胜负的将主要不是双方的算力,而是双方的烧钱意志 。例如CSW投入10000P vs 比特大陆10000P,则比特大陆 “防御抵扣优势” 将不明显,抵扣后将变成 CSW 10000P烧钱 vs比特大陆 6500P烧钱。
并且在双方抽调BTC大量算力(假设共20000P)到BCH上打算力战后,将大幅提高每P算力的租赁成本:
a、BTC交易打包手续费将大幅提高
由于BTC的区块大小被Core锁死为1M,因此:算力减少40% → 出块速度减少40% → 每10分钟1个1M区块变成每10分钟0.6个区块=0.6M区块 → BTC和2017年底一样,发生超级大拥堵 → BTC交易打包手续费将提高到20-30% → 每P算力使用成本提高20-30%
b、BTC每P算力产出将大幅提高
若算力战短时间无法结束,那BTC经过难度调整后,每P算力产出将提高40%,进一步提高每P算力使用成本,降低防御方的抵扣优势。
目前20000P算力日产出3000万元,算力战后期成本可能上升到5000万元/日 或更多, 若CSW按照之前声称,全力进行算力战,那算力战将以极快的速度烧钱,并不会持续很长时间 。
6.3、总结: 算力战的胜负,取决于算力和资金的综合影响。 CSW的算力越少,需要的资金优势越大;算力越大,需要的资金优势越小。如果CSW的资金优势极大,则哪怕4000P的算力,也可以打赢算力战,迫使比特大陆放弃防御。
七、算力战的正面战 & 游击战
从第2到6章,阐述了 “以杀死一条链为目的的算力战” : 从分叉点开始,攻防双方持续地在自己链上挖块,直到一方放弃自己的整条链为止 。
这种 “算力正面战” 类似国家之间进行的,以灭国为目的的正面战争,正面战争耗资巨大,持续时间短,对非军事目标破坏小。
以之相对应的,是 “算力游击战”: 攻击方由于力量或意志不够,并不进行正面对抗,不是持续地挖攻击链,而是分散、偶尔地攻击 ,因此攻击成本低,但持续时间长。 每一次攻击链在短暂地覆盖掉原链后,都必然再被防御方覆盖回去 ,只能对链的稳定性造成影响,但不能杀死一条链。
防御方面对 “算力游击战” 的防御成本为0,由于攻击方不会持续挖矿, 因此防御方只要再继续正常挖几个块,就可以把攻击链覆盖掉,不需要付出额外的防御成本。唯一的损失只是区块链不稳定 :这段时间内,链上无法打包交易,被攻击链覆盖区块的交易,也会暂时变成未确认交易。
“正面战” 和 “游击战” 的差别总结如下:
如本文的 “上” 和 “中” 所述, 算力投票(算力战)的目的是作为最终仲裁方式,在双方目标一致,只是手段不一致的情况下,避免不必要的分叉 。 只有 “正面战” 才有 “消灭一条链避免分叉” 的作用,而 “游击战” 没有这种作用 ,因此 “游击战” 除了延长算力战时间,给生态造成破坏外,没有任何意义。
八、算力战的结果
算力战的可能演化路径,如下图:
情况A:比特大陆防御成功, CSW攻击失败
CSW在宣传中一直声称要 “打算力战”,“没有分裂” 。在CSW算力战失败后,若CSW履行承诺,放弃BSV链,则算力战结束,ABC链成为BCH,BSV链死亡【流程图,结果2】
但后来CSW又声称 “要打两年”,“要让BCH没有任何交易”(见Roger Ver宣布旗下Bitcoin.com支持ABC后,CSW给Roger Ver的信)
如果CSW在正面战失败后(甚至不愿烧钱打正面战),继续打不能杀死一条链,不能防止分裂的 “游击战”,同时BSV链继续挖块,形成事实上长时间并存的,ABC和BSV两条分裂链【流程图,结果1】,那CSW将违背自己 “不分裂” 的承诺,被社区大部分人所抛弃
。
CSW长期进行游击战,将导致BCH链长时间处于不稳定状态,交易所可能长时间不恢复BCH的充提,商家可能长时间不愿接受BCH,也就是CSW信中所称的 “2 years of no trade(两年没有任何交易)”, “welcome to bankruptcy(欢迎面对破产)”。 这不符合BCH社区所有人的利益 。
如果BCH社区无法阻止CSW一意孤行,长期进行游击战,那么:
a、 BCH上的矿池需要建立互相合作的自动防御系统 ,在CSW的算力正常挖矿时,接受其挖出的块;在检查到孤立原链区块的攻击链时,不接受攻击链,而是在原链区块之后,自动调集算力挖矿,直到覆盖掉CSW的攻击链为止。
b、但在防御算力覆盖掉攻击链的这段时间内(可能几分钟到几个小时,视攻击链的长度,攻击链越长,需要的恢复时间越久),BCH链将暂时不能确认交易,用户也将看到最近确认的交易,重新变成未确认,还是给链造成了不稳定。
因此, 最好的方法是ABC开发组发布临时战时补丁,最多只接受高度=1的重组链 (常见的孤立块),不接受任何高度>=2的重组链,这样攻击方最多只能孤立最近1个区块(回滚1确认的交易),恢复时间也很短,不会对交易所和商家造成威胁。
但此补丁造成的后果是,在使用补丁的时间内矿池必须提高警惕,避免因为某些网络原因,产生高度>=2的连续孤立块,因为这样会导致不同矿池的永久性分叉。若意外发生了这样的分叉,矿池必须立即互相协调,放弃较短的分叉链,统一到最长的链上。
情况B:CSW攻击成功,比特大陆放弃防御
如6.2中分析,若CSW烧钱超过比特大陆的承受能力,则比特大陆将被迫放弃防御。ABC开发组若放弃ABC链接受BSV链,或者不接受BSV链但退出BCH开发,则算力战结束,ABC链死亡(无人继续挖矿),BSV链成为BCH【流程图,结果3】。
ABC开发组也可能不放弃,声称被攻击,原挖矿算法不安全,将挖矿算法从POW修改为POW+POS。虽然修改挖矿算法将导致巨大的争议,但从交易所的实际表态来看, 由于BitcoinCash.org域名和ABC开发组均支持ABC链,故交易所将大概率给ABC链保留BCH的交易对,给BSV链新增BSV的交易对 (和之前诸多BTC分叉币一样的流程)【流程图,结果4】。
这是最差的一种情况,BCH社区将发生巨大的分裂,BCH将受到巨大削弱,BSV将继承BCH放弃的目标——挑战BTC,成为真正的比特币。
不管最后的结果如何,本次算力战,都将展示算力的作用 和 威力 ,显著提高算力在整个生态中的地位,并为算力作为比特币分歧的最终裁决手段,做好铺垫。 BTC,BCH,BSV等诸多同算法分裂币种,最后 可能 都将被统一。
九、算力战期间用户建议
1、若你不打算在算力战期间买卖BCH,那简单保管好你的私钥即可。
2、若你准备在算力战期间买卖BCH,请仔细阅读本文关于算力战攻防的原理和流程说明,并忽略任何与本文相抵触的表述。算力战期间ABC和BSV的价格变化,请咨询上帝(我的一贯观点:币价长期问用户数,短期问上帝)。
3、 CSW一直在混淆 “一个交易在两条链上都能打包” 和 “只存在一条链,没有分裂” 这两件没有关系的事情 (可能是为了CSW的支持者反对BCH分裂成两个币?) 。算力战一开始,ABC和BSV链只要有最轻微的一点不一致(例如ABC链打包了一个带DSV操作码的交易),那ABC和BSV链在物理上,就分叉成了两条链, 不存在什么 “只存在一条链”,CSW最多只可能做到杀死ABC链,让两条链只有一条活下来 。
在ABC和BSV链分裂后, 由于CSW不在BSV链上加重放保护 ,故将发生之前ETH和ETC分叉时类似的情况(发送ETH时,一起把同地址的ETC发了出去)。 你在发送ABC币时,由于你发ABC的这个交易在BSV链上也能打包,所以很可能将BSV币也一起发了出去 。若你不懂得做分离,需将币发到BCH和BSV充值地址一样的交易所,以免丢币。
4、在算力战前将币充到(承诺给两种币的)交易所,好处是算力战期间还可以交易,并且如果分叉,交易所会帮你做好两种币分离。坏处是什么时候可以充提,得完全听交易所。如果算力战持续很长时间(尤其如果CSW长时间打游击战),交易所可能会很久都不开放充提。另外,任何交易所都有倒闭的风险。
5、把币留在链上自己控制私钥,坏处是算力战期间不能交易,好处是控制自己的币,可以在算力战后,选最先恢复充提的交易所交易。两种做法各有利弊,根据自己的情况和需要,自行选择。
九、我和莱比特矿池(BTC.TOP)的态度
我支持算力投票(算力战),认为BCH应该以获取用户为最高目的,快速演化,并通过算力投票(算力战)的方式,消除演化中的分歧,防止不必要的分叉。
莱比特矿池(BTC.TOP)的算力将支持愿意投入更多算力和资金的一方,并帮助这一方,尽快结束算力战混乱的局面,恢复BCH区块链的秩序。
十、总结
1、生存是最终的辩论方式,是决定对错的最高依据。算力能杀死一条链,所以算力能成为比特币的最高仲裁机制。
2、通过 “51%空块攻击” 可以阻止一条链上打包确认任何交易,并且矿工无法挖到任何块后,也会逐渐停止挖矿,最后这条链就死了。
3、防御 “51%空块攻击” 需要坚守原链,调动更多的算力,挖一条比攻击者更长的链,反过来把攻击链覆盖回去。
4、防御者有挖矿产出作为 “防御抵扣优势”,攻击者的算力越大,则防御者的抵扣优势越小,攻击者需要的资金优势越小。反过来,攻击者的资金优势越大,则需要的算力越小。
5、比特大陆可调用BTC的算力用于BCH算力战,因此算力多于CSW。CSW必须有资金优势和更坚强的烧钱意志,才能胜利。
6、“算力游击战” 不能达到算力战的最终目的:杀死一条链。“算力游击战” 除了延长算力战时间,给生态造成破坏外,没有任何意义。
7、算力战后,若失败的一方认输,则算力战结束,存活链成为BCH。若失败的一方不认输(CSW继续打游击战,或者ABC改POW+POS算法),则BCH分裂为BCH和BSV两个币。
8、如果CSW坚持进行 “算力游击战”,则需要ABC开发组打补丁、矿池、交易所配合,消除影响。
위믹스3.0 최초의 DAO ‘원더다오’, 노드 카운슬 파트너 합류
위믹스3.0 최초의 DAO ‘원더다오’, 노드 카운슬 파트너 합류 l 탈중앙화 자율조직 형태로 결성…구성원 모두가 위믹스3.0 운영에 참여 가능l 스마트 컨트랙트 기반 모듈화 ...
[주간톡톡] 양의 탈을 쓴 늑대는 양일까? 늑대일까?
주간톡톡은 한주간의 블록체인 소식을 재구성해 독자들과 재미있게 이야기해보는 코너입니다. 이번주는 페이스북의 스테이블 코인 프로젝트 '디엠(Diem)'에 대해 알아보겠습니다. 그럼 ...
IBM, 블록체인 와인 추적 서비스 '빈어슈어(Assure)' 공개
IBM이 재배지부터 매장까지 와인 공급망을 추적할 수 있는 블록체인 기반 플랫폼을 공개했다.10일(현지시간) 발표에 따르면 IBM은 와인 모니터링 업체 e프로브넌스(eProven...