本文作者:江卓尔,原地址:https://www.weibo.com/ttarticle/p/show?id=2309404304309541068773&mod=zwenzhang一、BCH分歧的双方
BCH本次争论中,一派以支持“ABC开发团队”的比特大陆为首,另一派以nChain的CSW为首,并发布了BSV客户端。两派都认为BCH应该成为50亿人的世界货币,但对于如何达到这一目标,两派所主张的手段不同。比特大陆派认为BCH应做快速迭代更新,满足市场和应用需求,吸引更多用户,并最终达到50亿人世界货币的目标。CSW派则认为BCH作为货币,应该保持底层的稳定,只有稳定的协议才能吸引应用和企业,甚至主张应该恢复到最初的0.1版比特币、并锁定协议,认为中本聪已经为比特币设计了足以承担世界货币功能的底层框架,只要在上层做开发即可实现目标。二、白皮书怎么设计比特币?
要讨论“稳定论vs演化论”,首先我们应该先了解,白皮书是怎么设计比特币的?扩容派经常指出Core的路线违反了白皮书的目标,而Core派则反击说,BCH分叉时增加的EDA/DDA难度调整算法违反了白皮书,白皮书里根本没有DDA难度调整算法。实际上在白皮书里,不要说DDA难度调整算法了,甚至连大家习以为常的“区块10分钟一块”都没有,只是在第4章:工作量证明里设计了“区块平均n分钟一块”:Theproof-of-workdifficultyisdeterminedbyamovingaveragetargetinganaveragenumberofblocksperhour.Ifthey'regeneratedtoofast,thedifficultyincreases.工作量证明的难度将采用移动平均目标的方法来确定,即令难度指向令每小时生成区块的速度为某一预设的平均数。如果区块生成的速度过快,那么难度就会提高。然后在第7章:回收硬盘空间里举了10分钟一块的例子:……Ifwesupposeblocksaregeneratedevery10minutes…………如果我们设定区块生成的速率为每10分钟一个……白皮书其实非常克制,仅做了目的性描述,哪种设计更好地满足白皮书的目标,就更符合白皮书。BCH的DDA难度调整算法,能在算力大幅变化时,让区块时间更满足“平均n分钟一块”,所以更符合白皮书。在11月15日的算力战中,我们将能直观地看到什么叫“BCH的DDA难度调整算法更符合白皮书”,如果双方都从BitcoinCore上大量调算力到BitcoinCash上进行算力战,那BitcoinCore的区块时间将明显延长,长时间不能恢复,并发生严重拥堵,而BitcoinCash不管算力怎么变化,都能稳定“平均10分钟一块”。三、如何满足白皮书的目标?
我们坚持白皮书中比特币作为“电子现金系统”和“世界货币”的目标不变,那在外界环境改变时,我们也就必然要改变手段,才能保证目标不变。就像上文所举例的,当分叉发生时,BitcoinCash将原来比特币“2016个块调整一次”的难度调整算法,修改为“每个区块调整一次”的DDA难度调整算法。那么,这种协议层的修改,是否让比特币的底层变得不稳定?如果主张“稳定底层协议”时,应如何看待这样的修改?目前我们可以看到,有不少人都支持“稳定协议论”,这和“稳定协议论”的简单、清晰、易理解有很大关系。CSW甚至在一开始提出的是更极端的“锁死协议论”:把比特币恢复到0.1版并锁死,这个主张实际上无法实行,比特币在0.1版后做了大量功能性和安全性的协议层修改,这些修改——例如多重签名——已经不可能删除。为什么CSW会提出这样无法实施的主张?这和这样的主张简单清晰,更容易理解、宣传、获得支持认同有关,但获得这样的认同,并不意味着这种主张的正确。最典型的例子就是中国1958年的大炼钢铁运动,“我们要超英赶美”,“今年钢产量要翻倍到1070万吨”这样的口号简洁有力,在宣传和发动群众上有着巨大的优势,但最后却造成了巨大的经济灾难。而一个合理的钢铁发展计划,必然复杂琐碎,充满调整反馈,在大部分情况下,都要根据经济和市场的情况进行修正,甚至无法落到纸面上,更不用说“简洁有力的宣传口号”了。四、一个稳定论vs演化论的实例:DSV操作码
DSV操作码是本次硬分叉的争论焦点,也是典型的,稳定论vs演化论两派的分歧点。DSV的目的是将外部信息引入区块链中。现在的BCH区块链是一个孤立系统,它不知道巴西vs阿根廷的球赛结果,不知道今天的股票价格是多少,甚至不知道BCH自己的价格。但如果有了DSV,BCH用户就可以约定信息的发布方式,由某一个数据发布主体,通过签名的方式,生成可被BCH链上DSV操作码解析的数据。这样某两个用户,就可以无需通过第三方机构,在BCH链上建立可靠的智能博弈合约。例如两个人要巴西vs阿根廷的球赛结果,只要把币打入一个多重签名地址,然后球赛结果经签名发布后,币就会自动转到赢家的地址中。进一步了解,可参见闪电的这篇文章:《Oracle真实世界数据链——将现实世界和区块链世界相互打通》。“演化论”认为,DSV增强了BCH的功能,这是一个相当有用的功能,能为BCH带来更多的应用和用户。而“稳定论”则认为,不应为了上层应用或需求,去修改操作码这种底层协议,底层协议应尽量保持稳定,能不改就不改。五、观点的逻辑自洽
当我们面对两个对立观点时,首先要思考观点是否逻辑自洽。1、“演化论”的观点是逻辑自洽的,BCH要成为50亿人的世界货币,所以BCH应考虑如何获取更多用户,而增强链功能,是一个吸引更多应用和用户的有效手段。这也和“现金”“高频、高接触、高曝光使用”的逻辑一脉相承。有用则加,若错则改,小步迭代,快跑前进。在BCH用户数明显落后BCE的情况下,增加BCH用户数,是最重要的任务。2、而“稳定论”的逻辑首先会面临一个问题:BCH的最高目标到底是稳定,还是获取50亿用户?两个目标并不一定能保持一致。有可能稳定可以获取更多用户,但也有可能适应市场需求,增加功能才能获取更多用户。如果竞争对手修改了底层协议,增加了功能,确实可以获取大量用户,那我们改不改?如果不改,那最后在竞争中落败,用户归零,都灭绝了,还有资格讨论对错吗?如果也改了,那不变成“演化论”了?3、实际上,Core拒绝扩容的观点,就是一种典型的“稳定论”:比特币应尽量保持去中心化,节点应尽量保持小,交易拥堵可通过第二层闪电网络解决。而BCH扩容分叉的观点,则是“演化论”:用户的体验非常重要,不反对第二层网络,但现在区块容量已满,需要立即扩容,否则会导致用户流失到其它币上。六、如何处理开发中的争议?
“演化论”逻辑上很漂亮,但对区块链而言,却有一个致命问题:快速迭代需要频繁的修改,在一个去中心化的系统中,谁能做这样的决策?ETH可以做快速迭代、频繁修改,那是因为创始人VitalikButerin的存在,能裁决不同的修改意见,VitalikButerin是ETH系统中“天下大义,当混为一”的“一”,而比特币系统中的“一”,则是算力。但算力和VitalikButerin还是有巨大区别,算力无法直接参与开发,算力甚至不能介入开发。我曾设想过,所有的开发修改都形成BIP提案,然后由算力投票决定BIP提案是否通过,但经过推演,发现实际不可行。证明不可行只需要有一个反例就足够了:比特大陆曾经提议矿工统一捐出挖矿产出的一小部分给开发,但因有政府强制税收的影子,被社区大部分人反对,提案因此而流产。但如果算力能直接决定开发提案,那比特大陆就能直接以优势算力,通过实施矿工捐助提案。这并不是社区大部分人愿意看到的结果。我们知道暴力决定元规则,元规则决定一切规则,但这不等于“暴力直接决定一切规则”,大部分规则是在元规则下,各方力量博弈的结果。算力是比特币系统的“一”,是最终裁决力量,但“最终裁决力量”并不等于“直接裁决一切”。比特币具体的开发提案,应该由开发组和各方博弈决定,只有在各方无法谈拢,比特币面临分叉时,才是算力这个“最终裁决力量”上场的时间。总结:
1、比特币在目标一致,只是手段不同时,应通过算力仲裁机制,减少削弱力量的、无必要的分叉。2、白皮书对比特币多为目的性描述,实践中重点是满足白皮书的目标。3、如果坚持白皮书目标不变,为了满足不变的目标,在变化的市场环境中,必然采用变化的“演化论”。4、“稳定论”主张简单清晰,更容易理解、宣传、获得支持,但并不意味着主张正确。“稳定目标”和“用户数目标”在逻辑上相冲突。5、“演化论”必然产生冲突分叉,此时应通过算力做分叉裁决,避免无必要的分叉。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。