江卓尔谈算力战_300:ASH

本文作者:江卓尔,原地址:https://www.weibo.com/ttarticle/p/show?id=2309404305777891366168#_0一、为什么算力能成为比特币的最高仲裁机制?

答案很简单:因为算力能杀死一条链。这是一条最底层的规则:生存是最终的辩论方式,是决定对错的最高依据。这条规则有很多种表述方法,例如“胜王败寇”,“真理只在大炮的射程之内”,“暴力是决定所有规则的元规则”。为什么无神论是对的?是因为无神论能辩过有神论吗?当然不是,无神论和有神论两边的逻辑基础都不一致,辩起来就是鸡同鸭讲。无神论是对的,不是因为无神论更“有理”,而是因为无神论能造出。我能造出消灭你,你都不存在了,你还有什么资格讨论对错吗?所以,生存是最终的辩论方式,是决定对错的最高依据。为什么我支持“演化论”而不是“稳定论”?因为“演化论”以适应市场需求,增加用户数为唯一目的,而“稳定论”不以此为最高目的。当然,“稳定论”会认为,我的链协议稳定,所以用户会选择我,但如果不是呢?如果两者矛盾呢?如果根据市场需要,增加像DSV这样的功能,就是能比稳定时,吸引更多用户,首先达到50亿的最终目标呢?那么谁是对的,谁是错的?所以,“演化论”是逻辑自洽的。极端锁死和过度修改都错,“演化论”更有可能在“稳定”和“修改”中找到最佳的位置,并获取最多的用户。而“稳定论”包含了一个假设:稳定是最好的增加用户的方式。这个假设从商业上来看几乎不可能成立:商业上没有躺赢,中本聪并没有给我们设计一条成为世界货币的躺赢之路。有人可能会认为:“产品才需要吸引更多用户,而货币不能这样设计”,“BCH应该好好在货币上发展,而不应该搞各种新功能和第二层网络”。这不对,货币也是产品的一种,美元一样要面临欧元、人民币、日元的竞争,为什么美国政府要搞“石油美元”?还不是为了增加美元的“应用”和“用户数”。而在加密数字货币领域,这种产品竞争就更剧烈了:任何一种币,都必须面临大量币的竞争。二、如何通过算力杀死一条链?

回到算力战上,算力战对大部分人来说,是从未用过的屠龙之技,所以各种文章和推测的错误很多。莱比特矿池是全网唯一一个有过大规模算力战经验的矿池,任何与本文不符的表述均为错误。大家都知道“51%算力攻击”:1、攻击者通过优势算力,挖掘一条比原链更长的攻击链。2、攻击链向全网广播后,节点按规则,将接受更长的链,丢弃原链。下图中的直线链,表示被中立节点接受的主链。PS:这里的“更长的链”准确地说是“累计难度更大的链”,例如节点会接受2个难度10的块,而抛弃掉3个难度5的块,因为10+10=20>15=5+5+5。为了叙述方便,后文均假设每个块的难度相同。通过51%攻击,可以完成各种目的,例如:1、在Tx1确认后,撤销掉Tx1,让另一个冲突的Tx2生效。例如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链,并声称将对ABC0.18.2链进行算力战攻击,杀死ABC升级链。5.1、CSW方的算力:支持CSW的矿池目前展示出来的算力为2000-3000P左右,CSW声称还有隐藏算力,因此可认为CSW至少有3000P自有算力。CSW还可以通过租赁方式,控制更多算力,例如和矿池、大矿场谈算力租赁,或者从nicehash等算力平台上租赁算力,只要愿意给出溢价,CSW自有+租赁算力到1万P,难度不大。5.2、比特大陆方的算力:比特大陆旗下的矿池合计拥有约15000P的算力,再加上比特大陆参股的ViaBTC矿池,共计拥有约20000P的算力。由于BTC和BCH均使用sha256算法挖矿,所以矿池在技术上,可以在BTC和BCH上来回秒切算力。只要正常给矿工按算力付挖矿产出的BTC,矿工实际上并不关心实际挖的是什么币。矿工甚至不知道自己挖的是什么币,只是解答矿池下发的计算任务。因此比特大陆如果愿意,可以使用所有20000万P的BTC算力,来BCH上做防御,之前出现各种传闻,例如比特大陆在新疆部署9万台矿机用于算力战等,均为无意义的谣言。比特大陆使用BTC算力进行算力战,符合“生存是最终的辩论方式”的算力战原则。由于比特大陆正处于上市中的关键阶段,CSW威胁称,若比特大陆使用BTC算力来进行算力战,他将通过诉讼方式攻击比特大陆。但这一做法意义不大,因为比特大陆基本上不需要使用全部20000P算力应战,若使用部分算力,比特大陆可声明使用自有算力,其余的矿工既没有动机起诉,也难以确认自己挖的是什么币。5.3、双方的资金:虽然比特大陆方算力基本可以肯定比CSW多,但算力战的胜负,不仅仅取决于算力。若CSW如之前所声称,全力开战,那每天将烧掉几千万,甚至上亿的成本,那算力战的瓶颈,将不是算力,而是双方愿意烧掉的资金。在资金方面,CSW声称自己是亿万富翁,有豪宅名车,并得到CalvinAyre的鼎力支持。比特大陆则是估值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算力如第四章中所述,攻击方不管胜负,必然损失攻击成本,而防御方有防守优势,如果获胜还可以获得挖矿收入作为补偿。因此,若比特大陆也投入7000P算力进行防御,并最终获胜,那可以得到BCH期间挖出的BCH作为补偿。也就是说,在算力战烧钱时,比特大陆投入7000P算力防御,但其中只有3500P需要烧钱,剩下3500P将获得正常挖矿产出,而CSW的7000P算力全部都需要烧钱。因此,CSW投入的算力越少,比特大陆的“防御抵扣优势”越大,例如各自投入5000P时,比特大陆1500P烧钱vsCSW5000P烧钱,因此比特大陆坚持到底的决心也必然越大。6.2、如果CSW投入7000~14000P算力此时,决定胜负的将主要不是双方的算力,而是双方的烧钱意志。例如CSW投入10000Pvs比特大陆10000P,则比特大陆“防御抵扣优势”将不明显,抵扣后将变成CSW10000P烧钱vs比特大陆6500P烧钱。并且在双方抽调BTC大量算力到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章,阐述了“以杀死一条链为目的的算力战”:从分叉点开始,攻防双方持续地在自己链上挖块,直到一方放弃自己的整条链为止。这种“算力正面战”类似国家之间进行的,以灭国为目的的正面战争,正面战争耗资巨大,持续时间短,对非军事目标破坏小。

如本文的“上”和“中”所述,算力投票的目的是作为最终仲裁方式,在双方目标一致,只是手段不一致的情况下,避免不必要的分叉。只有“正面战”才有“消灭一条链避免分叉”的作用,而“游击战”没有这种作用,因此“游击战”除了延长算力战时间,给生态造成破坏外,没有任何意义。八、算力战的结果

算力战的可能演化路径,如下图:情况A:比特大陆防御成功,CSW攻击失败CSW在宣传中一直声称要“打算力战”,“没有分裂”。在CSW算力战失败后,若CSW履行承诺,放弃BSV链,则算力战结束,ABC链成为BCH,BSV链死亡但后来CSW又声称“要打两年”,“要让BCH没有任何交易”如果CSW在正面战失败后,继续打不能杀死一条链,不能防止分裂的“游击战”,同时BSV链继续挖块,形成事实上长时间并存的,ABC和BSV两条分裂链,那CSW将违背自己“不分裂”的承诺,被社区大部分人所抛弃。CSW长期进行游击战,将导致BCH链长时间处于不稳定状态,交易所可能长时间不恢复BCH的充提,商家可能长时间不愿接受BCH,也就是CSW信中所称的“2yearsofnotrade”,“welcometobankruptcy”。这不符合BCH社区所有人的利益。如果BCH社区无法阻止CSW一意孤行,长期进行游击战,那么:a、BCH上的矿池需要建立互相合作的自动防御系统,在CSW的算力正常挖矿时,接受其挖出的块;在检查到孤立原链区块的攻击链时,不接受攻击链,而是在原链区块之后,自动调集算力挖矿,直到覆盖掉CSW的攻击链为止。b、但在防御算力覆盖掉攻击链的这段时间内,BCH链将暂时不能确认交易,用户也将看到最近确认的交易,重新变成未确认,还是给链造成了不稳定。因此,最好的方法是ABC开发组发布临时战时补丁,最多只接受高度=1的重组链,不接受任何高度>=2的重组链,这样攻击方最多只能孤立最近1个区块,恢复时间也很短,不会对交易所和商家造成威胁。但此补丁造成的后果是,在使用补丁的时间内矿池必须提高警惕,避免因为某些网络原因,产生高度>=2的连续孤立块,因为这样会导致不同矿池的永久性分叉。若意外发生了这样的分叉,矿池必须立即互相协调,放弃较短的分叉链,统一到最长的链上。情况B:CSW攻击成功,比特大陆放弃防御如6.2中分析,若CSW烧钱超过比特大陆的承受能力,则比特大陆将被迫放弃防御。ABC开发组若放弃ABC链接受BSV链,或者不接受BSV链但退出BCH开发,则算力战结束,ABC链死亡,BSV链成为BCH。ABC开发组也可能不放弃,声称被攻击,原挖矿算法不安全,将挖矿算法从POW修改为POW+POS。虽然修改挖矿算法将导致巨大的争议,但从交易所的实际表态来看,由于BitcoinCash.org域名和ABC开发组均支持ABC链,故交易所将大概率给ABC链保留BCH的交易对,给BSV链新增BSV的交易对。这是最差的一种情况,BCH社区将发生巨大的分裂,BCH将受到巨大削弱,BSV将继承BCH放弃的目标——挑战BTC,成为真正的比特币。不管最后的结果如何,本次算力战,都将展示算力的作用和威力,显著提高算力在整个生态中的地位,并为算力作为比特币分歧的最终裁决手段,做好铺垫。BTC,BCH,BSV等诸多同算法分裂币种,最后可能都将被统一。九、算力战期间用户建议

1、若你不打算在算力战期间买卖BCH,那简单保管好你的私钥即可。2、若你准备在算力战期间买卖BCH,请仔细阅读本文关于算力战攻防的原理和流程说明,并忽略任何与本文相抵触的表述。算力战期间ABC和BSV的价格变化,请咨询上帝。3、CSW一直在混淆“一个交易在两条链上都能打包”和“只存在一条链,没有分裂”这两件没有关系的事情。算力战一开始,ABC和BSV链只要有最轻微的一点不一致,那ABC和BSV链在物理上,就分叉成了两条链,不存在什么“只存在一条链”,CSW最多只可能做到杀死ABC链,让两条链只有一条活下来。在ABC和BSV链分裂后,由于CSW不在BSV链上加重放保护,故将发生之前ETH和ETC分叉时类似的情况。你在发送ABC币时,由于你发ABC的这个交易在BSV链上也能打包,所以很可能将BSV币也一起发了出去。若你不懂得做分离,需将币发到BCH和BSV充值地址一样的交易所,以免丢币。4、在算力战前将币充到交易所,好处是算力战期间还可以交易,并且如果分叉,交易所会帮你做好两种币分离。坏处是什么时候可以充提,得完全听交易所。如果算力战持续很长时间,交易所可能会很久都不开放充提。另外,任何交易所都有倒闭的风险。5、把币留在链上自己控制私钥,坏处是算力战期间不能交易,好处是控制自己的币,可以在算力战后,选最先恢复充提的交易所交易。两种做法各有利弊,根据自己的情况和需要,自行选择。我和莱比特矿池的态度我支持算力投票,认为BCH应该以获取用户为最高目的,快速演化,并通过算力投票的方式,消除演化中的分歧,防止不必要的分叉。莱比特矿池的算力将支持愿意投入更多算力和资金的一方,并帮助这一方,尽快结束算力战混乱的局面,恢复BCH区块链的秩序。十、总结

1、生存是最终的辩论方式,是决定对错的最高依据。算力能杀死一条链,所以算力能成为比特币的最高仲裁机制。2、通过“51%空块攻击”可以阻止一条链上打包确认任何交易,并且矿工无法挖到任何块后,也会逐渐停止挖矿,最后这条链就死了。3、防御“51%空块攻击”需要坚守原链,调动更多的算力,挖一条比攻击者更长的链,反过来把攻击链覆盖回去。4、防御者有挖矿产出作为“防御抵扣优势”,攻击者的算力越大,则防御者的抵扣优势越小,攻击者需要的资金优势越小。反过来,攻击者的资金优势越大,则需要的算力越小。5、比特大陆可调用BTC的算力用于BCH算力战,因此算力多于CSW。CSW必须有资金优势和更坚强的烧钱意志,才能胜利。6、“算力游击战”不能达到算力战的最终目的:杀死一条链。“算力游击战”除了延长算力战时间,给生态造成破坏外,没有任何意义。7、算力战后,若失败的一方认输,则算力战结束,存活链成为BCH。若失败的一方不认输,则BCH分裂为BCH和BSV两个币。8、如果CSW坚持进行“算力游击战”,则需要ABC开发组打补丁、矿池、交易所配合,消除影响。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

[0:0ms0-3:198ms