江卓尔:一文说透算力战本质及BCH 算力大战可能结果

2022-7-18 21:43| 发布者: admin| 查看: 427| 评论: 0




免责声明:本文不构成任何投资建议。
小编:记得关注哦!

生存是最终的辩论方式,是决定对错的最高依据。




特币现金硬分叉带来市场风雨飘扬,各方站队,前景未卜,观点纷争。

链闻 ChainNews 推荐 The Block 制作的如下图片,以便读者了解 BCH 分叉前夕,各家如何站队?






此外,我们推荐江卓尔这篇文章。这篇文章清楚且直接地说明了这次算力战的本质,以及可能出现的结果。

作者:江卓尔,莱比特矿池 BTC.TOP 创始人兼 CEO,比特币早期布道者

为什么算力能成为比特币的最高仲裁机制?

答案很简单:因为算力能杀死一条链。

这是一条最底层的规则:生存是最终的辩论方式,是决定对错的最高依据。这条规则有很多种表述方法,例如「胜王败寇」, 「真理只在大炮的射程之内」,「暴力是决定所有规则的元规则」。

为什么无神论 科学论 是对的?是因为无神论能辩过有神论吗?当然不是,无神论和有神论两边的逻辑基础都不一致,辩起来就是鸡同鸭讲。无神论是对的,不是因为无神论更「有理」,而是因为无神论能造出枪。

我能造出枪消灭你,你都不存在了,你还有什么资格讨论对错吗?

所以,生存是最终的辩论方式,是决定对错的最高依据。为什么我支持「演化论」而不是「稳定论」?因为「演化论」以适应市场需求,增加用户数为唯一目的,而「稳定论」不以此为最高目的。

当然,「稳定论」会认为,我的链协议稳定,所以用户会选择我,但如果不是呢?如果两者矛盾呢?

如果根据市场需要,增加像 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 升级链。

CSW 方的算力:

支持 CSW 的矿池 Coingeek,svpool,BMG 等 目前展示出来的算力为 2000-3000P 左右,CSW 声称还有隐藏算力,因此可认为 CSW 至少有 3000P 自有算力。

CSW 还可以通过租赁方式,控制更多算力,例如和矿池、大矿场谈算力租赁,或者从 nicehash 等算力平台上租赁算力,只要愿意给出溢价 例如+20% 挖矿收益,CSW 自有+租赁算力到 1 万 P,难度不大。

比特大陆方的算力:

比特大陆旗下的矿池 BTC.com 和 Antpool 合计拥有约 15000P 的算力,再加上比特大陆参股的 ViaBTC 矿池,共计拥有约 20000P 的算力。

由于 BTC 和 BCH 均使用 sha256 算法挖矿,所以矿池在技术上,可以在 BTC 和 BCH 上来回秒切算力。只要正常给矿工按算力付挖矿产出的 BTC,矿工实际上并不关心实际挖的是什么币。矿工甚至不知道自己挖的是什么币,只是解答矿池下发的计算任务。因此比特大陆如果愿意,可以使用所有 20000 万 P 的 BTC 算力,来 BCH 上做防御,之前出现各种传闻,例如比特大陆在新疆部署 9 万台矿机用于算力战等,均为无意义的谣言。比特大陆使用 BTC 算力进行算力战,符合「生存是最终的辩论方式」的算力战原则。

由于比特大陆正处于上市中的关键阶段,CSW 威胁称,若比特大陆使用 BTC 算力来进行算力战,他将通过诉讼方式攻击比特大陆。但这一做法意义不大,因为比特大陆基本上不需要使用全部 20000P 算力应战,若使用部分算力,比特大陆可声明使用自有算力 或合作伙伴算力,其余 正常获得支付 BTC 的矿工既没有动机起诉,也难以确认自己挖的是什么币。

双方的资金:

虽然比特大陆方算力基本可以肯定比 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 投入的算力多少,将决定双方的烧钱比例。

如果 CSW 投入 7000P 算力,即两倍 BCH 正常算力

如第四章中所述,攻击方不管胜负,必然损失攻击成本,而防御方有防守优势,如果获胜还可以获得挖矿收入作为补偿。因此,若比特大陆也投入 7000P 算力进行防御,并最终获胜,那可以得到 BCH 期间挖出的 BCH 作为补偿 相当于 3500P 算力的成本。

也就是说,在算力战烧钱时,比特大陆投入 7000P 算力防御,但其中只有 3500P 需要烧钱,剩下 3500P 将获得正常挖矿产出 虽然暂时无法兑现,而 CSW 的 7000P 算力全部都需要烧钱。

因此,CSW 投入的算力越少,比特大陆的「防御抵扣优势」越大,例如各自投入 5000P 时,比特大陆 1500P 烧钱 vs CSW 5000P 烧钱,因此比特大陆坚持到底的决心也必然越大。

如果 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 按照之前声称,全力进行算力战,那算力战将以极快的速度烧钱,并不会持续很长时间。

总结:算力战的胜负,取决于算力和资金的综合影响。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 开发组打补丁、矿池、交易所配合,消除影响。

本文来源:链闻ChainNews
回复

使用道具 举报

上一篇:恐怖故事:女生寝室之难道是诅咒?

下一篇:BCH钱包研发基于BCH链的Dapp开发模型

sitemap.txt | sitemap.xml | sitemap.html |Archiver|手机版|小黑屋|创业那点事 ( 湘ICP备17022177号-2 )

GMT+8, 2024-11-25 09:10 , Processed in 0.168850 second(s), 26 queries .

快速回复 返回顶部 返回列表