作者:VitalikButerin
原标题:《HardForks,SoftForks,DefaultsandCoercion》
发表时间:2017年3月14日
在区块链的相关话题讨论中,有一个非常重要的讨论是关于:在协议升级机制中,是首选软分叉好还是硬分叉好。软分叉和硬分叉的一个基本区别在于,软分叉通过严格地减少有效的交易数目来改变协议的规则,所以遵循旧协议规则的节点们依然可以保留在新的链条上,而硬分叉则是说允许先前无效的交易和区块使他们变得有效,所以用户们必须升级他们的客户端,这样他们才可以留在硬分叉后的新的链条上。在硬分叉中,有两种子类型的硬分叉:1.完全扩展硬分叉,其完全地拓展有效的交易集,并且因此旧规则能够有效地兼容新规则,2.双向硬分叉,并且其中的两个规则集均不兼容。
这里用一张维恩图来说明分叉的类型:
通常引用的两个优点如下所示:
硬分叉会使得开发人员在进行协议升级时会更具有灵活性,因为他们不需要额外考虑这个新的规则是否适合旧的规则。
上海:全力布局新赛道 打造数字经济、元宇宙等创新策源高地:金色财经报道,上海市委副书记、市长龚正今天(3日)在徐汇区调研在线新经济企业。龚正指出,抢占产业新赛道,是城市掌握未来发展主动权的关键。要把握产业科技变革大趋势,紧盯生产生活方式新特点,全力布局数字经济新赛道,打造数字经济、元宇宙等创新策源高地,支持企业在新赛道上抓机遇、拓市场、赢未来,为上海构建现代化产业体系注入强劲动力。[2023/8/6 16:21:28]
软分叉对用户而言更加方便,因为用户们不需要额外的升级就可以继续保持在新的链条上。
软分叉不太可能会导致链条分裂。
软分叉在真正意义上来说,只需要得到矿工们/验证器们的同意。而硬分叉则需要用户选择同意。
除此之外,硬分叉的主要批评点在于,硬分叉都是“强制性”的。这里所指的强制性不是指得物理的力量,相反,她是网络效应的一种强制性。也就是说,如果网络将规则从A改到了B,那么即便你个人更偏向于A,如果大多数用户都喜欢B并且切换成了B,那么即便你个人不喜欢B,也不赞同切换成B,但是为了能够和其他人同步留在同一个网络上,你也必须切换成B。
Kraken CEO:BTC跌至2万美元将全力以赴买入:金色财经报道,加密货币交易所Kraken的联合创始人兼首席执行官Jesse Powell透露,在去年7月用一半的资金购买了比特币。他保证他的持股不会受到影响,并发誓如果主要加密货币跌至20,000美元,就会“全押”。虽然许多人认为他已经全部买入了,但他向表示事实并非如此。(cryptopotato)[2022/5/11 3:05:21]
硬分叉的支持者们通常被嘲笑为:试图对网络产生“恶意接管”的影响,并且“强迫”用户们与他们一起并行。此外,链条分裂的风险通常在于硬分叉是不安全的。
我个人观点是,这些批评指正是错误的。并且在许多情境下,这些情况往往是背道而驰的。这个观点并不是特定针对以太坊,或者是比特币,或者是其他的区块链;它源于这些系统的一般特性,并且适用于它们中的任何一个。此外,下面的论点只适用于有争议的改变,其中至少有一个选区有大部分不赞成;如果改变这件事情不是非常有争议性的话,那么它可以非常安全地完成,不管这个分叉的形式是怎么样。
首先,让我们讨论强制性的问题。无论是软分叉还是硬分叉,都多多少少改变了协议的方式,使得部分用户不喜欢。尤其是当这个协议得不到100%支持的时候,改变这个协议会让一部分的用户不喜欢。此外,几乎不可避免的是,在任何情况下,异议者们更加重视与大部分人群保持同步的网络效应,这超过了他们对于协议上自己的偏好。因此,在网络效应这个意义上来说,两种分叉都是强制性的。
Fluid Finance CMO:阿富汗以区块链形式来帮助女性,鼓励我全力以赴投身行业中:3月9日消息,2022年国际妇女节期间,第二届Women Who Crypto线上论坛中,CMC内容作者、Fluid Finance CMO Jessica Walker表示,“阿富汗有一个女性扫盲计划,鼓励女性开展在线内容创作业务并获得比特币作为报酬,以区块链的形式来切实帮助女性。这令我感到兴奋,并鼓励我全力以赴地投身到区块链行业当中来。”
据悉,第二届Women Who Crypto活动主要聚焦讨论女性领导力、技术赋能、多样性和包容性、数字藏品、创作者经济、以及加密游戏等话题。[2022/3/9 13:46:52]
然而,软分叉和硬分叉之间存在着本质性的区别:硬分叉是选择性加入,而软分叉则让用户无路可选。为了方便一个用户来加入一个硬分叉的链条,他们必须亲自安装软件包来实现分叉规则,并且不同意规则改变的用户群体们的反应,比他们重视的网络效应还要强烈,理论上他们可以停留在旧的链条上-而且,实际上,这样的事情已经发生了。
这在完全扩展硬分叉和双向硬分叉的情况下都是适用的。然而,在软分叉的情况下,如果分叉成功,那么没有分叉的链条就不存在了。因此,软分叉显然在体制上更偏向于强制而非分离,而硬分叉则有相反的倾向。我个人的道德观念使得我更支持分离而不是强制,虽然其他人可能不这么认为。
动态 | ZEC公司资金将支持其运营24个月 其CEO称将寻求新支撑并对ZEC全力以赴:据官方7月15日发布的博客文章,Zcash公司资金将支持其运营24个月,公司CEO Zooko Wilcox称将寻求新支撑并对ZEC全力以赴。据悉,ECC(The Electric Coin Co.)和Zcash基金会的资金主要来自社区。每一个ZEC区块奖励的一小部分用于ZEC研发、工程、全球采用、安全审计、商标保护、监管关系和其他倡议工作。这一收入来源将于2020年10月到期,即16个月后到期。假设ZEC价格保持稳定,该公司运营时间大约为24个月。但假若如果没有另一种融资机制,ECC将耗尽资金并停止运营。关于公司如何筹集资金和运营方案正在社区内进行讨论。
基于此,ECC首席执行官Zooko Wilcox于上月在Zcon1的主题演讲中提出了三个场景:1.该公司可放慢速度进行一些削减,并节省资金来延长跑道。2.可以把工作重心转向寻找和推动补充收入来源,比如企业咨询。3.将对ZEC全力以赴。[2019/7/20]
如果我不得不猜测原因的话,尽管我刚刚说了这些依据,软分叉与硬分叉相比,依旧被列为“更少强制性”的选择,我会认为说,可能硬分叉给用户的感觉是,硬分叉“强制”用户们安装软件更新,而在软分叉的情况下,用户们什么都可以不用干。然而,我不得不说,这种直觉是错误的。重要的并不是个体用户是否必须执行简单的官僚步骤点击“下载”按钮,而在于用户们是否被强制要求接受一个协议的变化,即使他们根本是不想接受的。并且通过这个指标,如上所示,这两种类型的分叉最终都是强制性的,并且硬分叉在给予用户自由的这一方便还是稍微比软分叉要好的。
Bitcoin Core 0.16.0 版本全力支持SegWit:今日,Bitcoin Core 0.16.0 版本正式发布,此版本全力支持SegWit。此前,Cointelegraph报道称,Bitcoin Core 0.16.0的发布标志着比特币历史上的一个关键里程碑。SegWit可以降低交易费用和处理时间,该技术进一步为比特币革命性升级提供了基础。目前,BTC全网未确认交易笔数达4219,每秒交易次数43.04。24日比特币平均交易手续费降至2.763美元。今日晚间,BTC价格迅速反弹,目前全球均价10241美元,24小时涨幅6.95%。[2018/2/27]
现在,让我们来看看极具争议的分叉,特别是那些矿工们/验证器喜好和用户喜好相冲突的分叉。这里有三种情况:(i)双向硬分叉(ii)完全扩展硬分叉,(iii)所谓的“用户激活软叉”,第四类是矿工在没有用户同意的情况下激活软分叉。晚一点我们会在后文提到它。
首先,我来讲讲双向硬分叉。在最为理想的情况下,这个情景就非常简单了。两个币在市场上进行交易,交易者决定两个币的相对价值。从ETH/ETC的案例中,我们有着绝大多数的证据表明,矿工们绝大多数都喜欢根据价格的比率来分配他们的算力给到币,以最大化他们的利润和收益,而不会考虑他们的历史形态观点来决定他们的算力分配问题。
即使一些矿工将意识形态偏好倾向于一方或另一方,那么极有可能会有足够的矿工愿意在价格比率和哈希算力之间的不匹配来套利,并且使价格比率和哈希算力形成一致。如果一系列矿工想要联合起来在这个链条上不进行挖矿,那么这个激励就会存在过度缺陷的问题。
这里有两个边缘位置的情况。第一个可能性是:由于低效的难度调整算法,挖矿的价值下降因为币的价值下降,但是挖矿的难度却并不会因此下降。这就会使得挖矿非常的不赚钱也不划算。没有一个矿工会在亏算不盈利的情况下继续推动链条往前走,直到它的困难恢复平衡。这不是以太坊的情况,但这及其可能是比特币的情况。因此,少数算力链很可能永远不会离开地面,因而它会死亡。请注意,这是不是一件好事,答案取决于你对强制和分裂的看法。从我上面写的个人观点来看,我认为这样的少数算力链敌对难度调整算法不是一件好事。
第二种边缘情况是,如果差异非常巨大,大算力的链条可以对小算力的链条发动51%的攻击。但即使是ETH/ETC分流比例在10:1,这种攻击情况也没有发生。所以这肯定不是一个确定的答案。然而,如果矿工在主导的链条上更喜欢强制性并且允许偏离分裂,那么这些矿工们总会有办法达到的。
接下来,我们来看看完全扩展硬分叉。在SEHF中,存在非分叉链条在分叉规则下有效的属性,因此如果分叉链具有比非分叉链更低的价格,那么分叉链的算力值会比非分叉链的算力值要更低,正因如此,非分叉链条最终会被原始客户端和分叉客户端所接受成为最长链。那么渐渐的,分叉链会被“淹没”。
有一个论点是这样认为的,这样的分叉成功是有强烈的故有偏见的,因为分叉链会被淹没被抛在价格中,使得币的价格更低,这使得分叉链被淹没的可能性更大。这个论点对我来说还是非常有道理的,所以这是一个很好的理由来进行双向硬分叉而不是一味地扩展。
比特币非常多的开发者们建议,在硬分叉发生后来手动进行双向硬分叉来解决这个问题。但是更好的选择是,使用内置的双向硬分叉。例如,在比特币的情况下来举例,你可以添加一些规则来禁止一些未使用的操作码,然后在没有分叉的链上进行包含了这个操作码的交易,所以在分叉的规则下,没有分叉的链在这个时候起,会永远的无效。在以太坊的案例中,关于计算状态如何工作的各种细节来看,几乎所有双向硬分叉都是自动的。根据不同基础架构,其他链条也会有不同的属性。
上面提到的最后一种类型的分叉是用户激活软分叉。在UASF中,用户可直接激活软分叉规则,而无需考虑是不是得到矿工们的共识;矿工们可能会被排挤在经济利益之外。如果有非常多的用户不跟随这个UASF,那么这个币就会被分割开,这将导致一个与完全扩展硬分叉情景相同的情况。即使UASF是选择性的,它也使用了经济的不对称性来使自己更偏向于成功。
然而,用户激活软分叉是一个危险的游戏。例如,我们来假设一个项目的开发人员想要创建一个UASF补丁,该补丁将以前接受所有交易的未使用操作码转换为只接受符合一些新功能的规则的交易操作码,这无论在上还是技术上都会有所争议,矿工都不太会会喜欢这个功能。矿工们有一个聪明又狡猾的方式来对抗这种情况:他们可以单方面地实施一个矿工激活软分叉,能够让使用了软分叉创建的功能总是会失败。
现在,我们有三种规则:
操作码X始终有效的原始规则。
操作码X只有在其他交易符合新规则时才有效。
操作码X始终无效的规则。
请注意,第2点是关于第1点的软分叉,第3点是关于第2点的软分叉。现在,第3点上有强烈的经济压力,因此软分叉并不能实现它的目标。
因此,我的结论是这样的:软分叉是一个危险的游戏,尤其是在它们是有争议的情况下,矿工们开始进行反击,这个游戏将会越来越危险。完全扩展硬分叉也是一个危险的游戏。矿工激活软分叉是强制性的,用户激活软分叉就没有那么的强制性了,但是由于经济上的压力的形成,用户自己选择激活软分叉多多少少还是有强制性在里面,这也具有一定的危险性。如果你真的想进行一个具有争议性的改变,并且坚持认为自己这样做付出的社会代价是值得的,那么你就做一个干净纯粹的双向硬分叉吧,花些时间添加一些重放攻击保护,然后让市场这个无形的手帮助你理清楚。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。