江卓尔:稳定论VS演化论 产品造成损害,任何产品都讲究规模效应——BCH社区分歧的两派,目标都是让BCH成为50亿人使用的世界货币——货币更是讲究规模效应。过于频繁的分叉,还会严重损害BCH上的应用,例如使用交易的留言字段(OP_RETUEN)写微博的memo,分裂后总不可能每一条链上都存一遍微博吧?但如果只存了A链,然后A链最后死掉了,怎么办?所以,没有有效仲裁机制,防止不必要分裂的BCH,只会导致应用的逃离——这也就意味着用户的减少,和“高频使用”的现金思想相抵触。但是,仲裁机制要解决分歧,首先就要保证自己没有分歧,例如委员会投票,这种仲裁机制并不好,因为委员会自己就可能分裂,那什么才是有效的仲裁机制?之前比特币并没有仲裁机制,在扩容之争中,开发团队Core的核心(有代码提交权)五人中,GavinAndresen和JeffGarzik支持扩容,并被踢出Core团队,比特币也分裂成了BitcoinCore和BitcoinCash。BitcoinCore依然没有仲裁机制,所以可以预期BitcoinCore未来还会发生进一步的分裂,ETH靠创始人VitalikButerin,暂时回避了这个问题,代价则是损失去中心化的PoV(ProofofVitalik)。而BitcoinCash走在了所有币的前面,正在形成一套有效的仲裁机制。一、BCH分歧的双方BCH社区分歧的两派,目标都是让BCH成为50亿人使用的世界货币——货币更是讲究规模效应。过于频繁的分叉,还会严重损害BCH上的应用,例如使用交易的留言字段(OP_RETUEN)写微博的memo,分裂后总不可能每一条链上都存一遍微博吧?但如果只存了A链,然后A链最后死掉了,怎么办?所以,没有有效仲裁机制,防止不必要分裂的BCH,只会导致应用的逃离——这也就意味着用户的减少,和“高频使用”的现金思想相抵触。但是,仲裁机制要解决分歧,首先就要保证自己没有分歧,例如委员会投票,这种仲裁机制并不好,因为委员会自己就可能分裂,那什么才是有效的仲裁机制?之前比特币并没有仲裁机制,在扩容之争中,开发团队Core的核心(有代码提交权)五人中,GavinAndresen和JeffGarzik支持扩容,并被踢出Core团队,比特币也分裂成了BitcoinCore和BitcoinCash。BitcoinCore依然没有仲裁机制,所以可以预期BitcoinCore未来还会发生进一步的分裂,ETH靠创始人VitalikButerin,暂时回避了这个问题,代价则是损失去中心化的PoV(ProofofVitalik)。而BitcoinCash走在了所有币的前面,正在形成一套有效的仲裁机制。一、BCH分歧的双方BCH本次争论中,一派以支持“ABC开发团队”的比特大陆为首,另一派以nChain的CSW(CraigSWright)为首,并发布了BSV客户端(BitcoinSatoshiVision,中本聪愿景)。两派都认为BCH应该成为50亿人的世界货币,但对于如何达到这一目标,两派所主张的手段不同。比特大陆派认为BCH应做快速迭代更新,满足市场和应用需求,吸引更多用户,并最终达到50亿人世界货币的目标。CSW派则认为BCH作为货币,应该保持底层的稳定,只有稳定的协议才能吸引应用和企业,甚至主张应该恢复到最初的0.1版比特币、并锁定协议,认为中本聪已经为比特币设计了足以承担世界货币功能的底层框架(包括图灵完备的脚本),只要在上层做开发即可实现目标。二、白皮书怎么设计比特币?要讨论“稳定论vs演化论”,首先我们应该先了解,白皮书是怎么设计比特币的?扩容派经常指出Core的路线违反了白皮书的目标,而Core派则反击说,BCH分叉时增加的EDA/DDA难度调整算法违反了白皮书,白皮书里根本没有DDA难度调整算法。实际上在白皮书里,不要说DDA难度调整算法了,甚至连大家习以为常的“区块10分钟一块”都没有,只是在第4章:工作量证明(Proof-of-Work)里设计了“区块平均n分钟一块”:Theproof-of-workdifficultyisdeterminedbyamovingaveragetargetinganaveragenumberofblocksperhour.Ifthey'regeneratedtoofast,thedifficultyincreases.工作量证明的难度将采用移动平均目标的方法来确定,即令难度指向令每小时生成区块的速度为某一预设的平均数。如果区块生成的速度过快,那么难度就会提高。然后在第7章:回收硬盘空间(ReclaimingDiskSpace)里举了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操作码(OP_CHECKDATASIGVERIFY)是本次硬分叉的争论焦点,也是典型的,稳定论vs演化论两派的分歧点。DSV的目的是将外部信息引入区块链中。现在的BCH区块链是一个孤立系统,它不知道巴西vs阿根廷的球赛结果,不知道今天的股票价格是多少,甚至不知道BCH自己的价格。但如果有了DSV,BCH用户就可以约定信息的发布方式,由某一个数据发布主体,通过签名的方式,生成可被BCH链上DSV操作码解析的数据。这样某两(多)个用户,就可以无需通过第三方机构(股票交易所、体彩中心等),在BCH链上建立可靠的智能博弈合约。例如两个人要赌巴西vs阿根廷的球赛结果,只要把币打入一个多重签名地址,然后球赛结果经签名发布后,币就会自动转到赢家的地址中。“演化论”认为,DSV增强了BCH的功能,这是一个相当有用的功能,能为BCH带来更多的应用和用户。而“稳定论”则认为,不应为了上层应用或需求,去修改操作码这种底层协议,底层协议应尽量保持稳定,能不改就不改。五、观点的逻辑自洽当我们面对两个对立观点时,首先要思考观点是否逻辑自洽。1、“演化论”的观点是逻辑自洽的,BCH要成为50亿人的世界货币,所以BCH应考虑如何获取更多用户,而增强链功能,是一个吸引更多应用和用户的有效手段。这也和“现金”“高频、高接触、高曝光使用”的逻辑一脉相承。有用则加,若错则改,小步迭代,快跑前进。在BCH用户数(和总市值)明显落后BCE(BitcoinCore)的情况下,增加BCH用户数,是最重要的任务。2、而“稳定论”的逻辑首先会面临一个问题:BCH的最高目标到底是稳定,还是获取50亿用户?两个目标并不一定能保持一致。有可能稳定可以获取更多用户,但也有可能适应市场需求,增加功能才能获取更多用户。如果竞争对手修改了底层协议,增加了功能,确实可以获取大量用户,那我们改不改?如果不改,那最后在竞争中落败,用户归零,都灭绝了,还有资格讨论对错吗?如果也改了,那不变成“演化论”了?3、实际上,Core拒绝扩容的观点,就是一种典型的“稳定论”:比特币应尽量保持去中心化,节点应尽量保持小,交易拥堵可通过第二层闪电网络解决。而BCH扩容分叉的观点,则是“演化论”:用户的体验非常重要,不反对第二层网络,但现在区块容量已满,需要立即扩容,否则会导致用户流失到其它币上。六、如何处理开发中的争议?“演化论”逻辑上很漂亮,但对区块链而言,却有一个致命问题:快速迭代需要频繁的修改,在一个去中心化的系统中,谁能做这样的决策?ETH可以做快速迭代、频繁修改,那是因为创始人VitalikButerin的存在,能裁决不同的修改意见,VitalikButerin是ETH系统中“天下大义,当混为一”的“一”,而比特币系统中的“一”,则是算力。但算力和VitalikButerin还是有巨大区别,算力无法直接参与开发,算力甚至不能介入开发。我曾设想过,所有的开发修改都形成BIP提案,然后由算力投票决定BIP提案是否通过,但经过推演,发现实际不可行。证明不可行只需要有一个反例就足够了:比特大陆曾经提议矿工统一捐出挖矿产出的一小部分给开发,但因有政府强制税收的影子,被社区大部分人反对,提案因此而流产。但如果算力能直接决定开发提案,那比特大陆就能直接以优势算力,通过实施矿工捐助提案。这并不是社区大部分人愿意看到的结果。我
江卓尔_莱比特矿池 2018-11-09 10:39  BCH社区  分叉
加载更多