宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > DYDX > 正文

软分叉,硬分叉,默认性和强制性

作者:

时间:1900/1/1 0:00:00

作者:VitalikButerin

原标题:《HardForks,SoftForks,DefaultsandCoercion》

发表时间:2017年3月14日

在区块链的相关话题讨论中,有一个非常重要的讨论是关于:在协议升级机制中,是首选软分叉好还是硬分叉好。软分叉和硬分叉的一个基本区别在于,软分叉通过严格地减少有效的交易数目来改变协议的规则,所以遵循旧协议规则的节点们依然可以保留在新的链条上,而硬分叉则是说允许先前无效的交易和区块使他们变得有效,所以用户们必须升级他们的客户端,这样他们才可以留在硬分叉后的新的链条上。在硬分叉中,有两种子类型的硬分叉:1.完全扩展硬分叉,其完全地拓展有效的交易集,并且因此旧规则能够有效地兼容新规则,2.双向硬分叉,并且其中的两个规则集均不兼容。

这里用一张维恩图来说明分叉的类型:

通常引用的两个优点如下所示:

硬分叉会使得开发人员在进行协议升级时会更具有灵活性,因为他们不需要额外考虑这个新的规则是否适合旧的规则。

数据:某巨鲸在市场大幅下跌前将1300枚比特币转入币安:6月15日消息,据推特用户The Data Nerd监测,某巨鲸在今晨市场抛售之前将1300枚比特币(约3400万美元)转入币安。该巨鲸的比特币是于5月比特币29000美元附近提出,按此计算总损失约为400万美元。[2023/6/15 21:38:02]

软分叉对用户而言更加方便,因为用户们不需要额外的升级就可以继续保持在新的链条上。

软分叉不太可能会导致链条分裂。

软分叉在真正意义上来说,只需要得到矿工们/验证器们的同意。而硬分叉则需要用户选择同意。

除此之外,硬分叉的主要批评点在于,硬分叉都是“强制性”的。这里所指的强制性不是指得物理的力量,相反,她是网络效应的一种强制性。也就是说,如果网络将规则从A改到了B,那么即便你个人更偏向于A,如果大多数用户都喜欢B并且切换成了B,那么即便你个人不喜欢B,也不赞同切换成B,但是为了能够和其他人同步留在同一个网络上,你也必须切换成B。

硬分叉的支持者们通常被嘲笑为:试图对网络产生“恶意接管”的影响,并且“强迫”用户们与他们一起并行。此外,链条分裂的风险通常在于硬分叉是不安全的。

Vote to earn项目Love Hate Inu完成200万美元融资:金色财经报道,Vote to earn项目Love Hate Inu通过代币预售完成200万美元融资,该项目旨在通过奖励参与在线调查的用户来改变在线投票行业。在此平台上,用户必须持有LHINU代币至少30天才能参与投票。用户的投票权与他们质押的LHINU数量和选择的质押周期成正比。[2023/3/31 13:36:39]

我个人观点是,这些批评指正是错误的。并且在许多情境下,这些情况往往是背道而驰的。这个观点并不是特定针对以太坊,或者是比特币,或者是其他的区块链;它源于这些系统的一般特性,并且适用于它们中的任何一个。此外,下面的论点只适用于有争议的改变,其中至少有一个选区有大部分不赞成;如果改变这件事情不是非常有争议性的话,那么它可以非常安全地完成,不管这个分叉的形式是怎么样。

首先,让我们讨论强制性的问题。无论是软分叉还是硬分叉,都多多少少改变了协议的方式,使得部分用户不喜欢。尤其是当这个协议得不到100%支持的时候,改变这个协议会让一部分的用户不喜欢。此外,几乎不可避免的是,在任何情况下,异议者们更加重视与大部分人群保持同步的网络效应,这超过了他们对于协议上自己的偏好。因此,在网络效应这个意义上来说,两种分叉都是强制性的。

数据:50,000,000枚BUSD从未知钱包转移到Binance:金色财经报道,据Whale Alert数据显示,50,000,000枚BUSD从未知钱包转移到Binance。[2022/9/8 13:15:16]

然而,软分叉和硬分叉之间存在着本质性的区别:硬分叉是选择性加入,而软分叉则让用户无路可选。为了方便一个用户来加入一个硬分叉的链条,他们必须亲自安装软件包来实现分叉规则,并且不同意规则改变的用户群体们的反应,比他们重视的网络效应还要强烈,理论上他们可以停留在旧的链条上-而且,实际上,这样的事情已经发生了。

这在完全扩展硬分叉和双向硬分叉的情况下都是适用的。然而,在软分叉的情况下,如果分叉成功,那么没有分叉的链条就不存在了。因此,软分叉显然在体制上更偏向于强制而非分离,而硬分叉则有相反的倾向。我个人的道德观念使得我更支持分离而不是强制,虽然其他人可能不这么认为。

如果我不得不猜测原因的话,尽管我刚刚说了这些依据,软分叉与硬分叉相比,依旧被列为“更少强制性”的选择,我会认为说,可能硬分叉给用户的感觉是,硬分叉“强制”用户们安装软件更新,而在软分叉的情况下,用户们什么都可以不用干。然而,我不得不说,这种直觉是错误的。重要的并不是个体用户是否必须执行简单的官僚步骤点击“下载”按钮,而在于用户们是否被强制要求接受一个协议的变化,即使他们根本是不想接受的。并且通过这个指标,如上所示,这两种类型的分叉最终都是强制性的,并且硬分叉在给予用户自由的这一方便还是稍微比软分叉要好的。

慢雾:Moonbirds的Nesting Contract相关漏洞在特定场景下才能产生危害:据慢雾区情报反馈,Moonbirds 发布安全公告,Nesting Contract 存在安全问题。当用户在 OpenSea 或者 LooksRare等NFT交易市场进行挂单售卖时。卖家不能仅通过执行 nesting(筑巢) 来禁止NFT售卖,而是要在交易市场中下架相关的 NFT 售卖订单。否则在某个特定场景下买家将会绕过 Moonbirds 在nesting(筑巢)时不能交易的限制。慢雾安全团队经过研究发现该漏洞需要在特定场景才能产生危害属于低风险。建议 Moonbirds 用户自行排查已 nesting(筑巢)的 NFT 是否还在 NTF 市场中上架,如果已上架要及时进行下架。更多的漏洞细节请等待 Moonbirds 官方的披露。[2022/5/30 3:50:23]

现在,让我们来看看极具争议的分叉,特别是那些矿工们/验证器喜好和用户喜好相冲突的分叉。这里有三种情况:(i)双向硬分叉(ii)完全扩展硬分叉,(iii)所谓的“用户激活软叉”,第四类是矿工在没有用户同意的情况下激活软分叉。晚一点我们会在后文提到它。

POD和KNN3联合发起DCP,推动Web3数据协作基础设施:4月27日消息,DCP(Data Collaboration Proposal)是由POD和KNN3 Network共同发起的类似“EIP”的提案,描述了Web3数据协作的标准,包括数据模式规范、用于跟踪和收集的数据源/结构,以及用于解码结构化结果的数据架构等,其主要目的是让广大的Web3社区能够协同理解和集成Web3数据架构。

任何区块链项目、开发者或社区都可以加入到DCP的创建中,共同打造一个Web3数据新世界。(Cointelegraph)[2022/4/27 2:33:57]

首先,我来讲讲双向硬分叉。在最为理想的情况下,这个情景就非常简单了。两个币在市场上进行交易,交易者决定两个币的相对价值。从ETH/ETC的案例中,我们有着绝大多数的证据表明,矿工们绝大多数都喜欢根据价格的比率来分配他们的算力给到币,以最大化他们的利润和收益,而不会考虑他们的历史形态观点来决定他们的算力分配问题。

即使一些矿工将意识形态偏好倾向于一方或另一方,那么极有可能会有足够的矿工愿意在价格比率和哈希算力之间的不匹配来套利,并且使价格比率和哈希算力形成一致。如果一系列矿工想要联合起来在这个链条上不进行挖矿,那么这个激励就会存在过度缺陷的问题。

这里有两个边缘位置的情况。第一个可能性是:由于低效的难度调整算法,挖矿的价值下降因为币的价值下降,但是挖矿的难度却并不会因此下降。这就会使得挖矿非常的不赚钱也不划算。没有一个矿工会在亏算不盈利的情况下继续推动链条往前走,直到它的困难恢复平衡。这不是以太坊的情况,但这及其可能是比特币的情况。因此,少数算力链很可能永远不会离开地面,因而它会死亡。请注意,这是不是一件好事,答案取决于你对强制和分裂的看法。从我上面写的个人观点来看,我认为这样的少数算力链敌对难度调整算法不是一件好事。

第二种边缘情况是,如果差异非常巨大,大算力的链条可以对小算力的链条发动51%的攻击。但即使是ETH/ETC分流比例在10:1,这种攻击情况也没有发生。所以这肯定不是一个确定的答案。然而,如果矿工在主导的链条上更喜欢强制性并且允许偏离分裂,那么这些矿工们总会有办法达到的。

接下来,我们来看看完全扩展硬分叉。在SEHF中,存在非分叉链条在分叉规则下有效的属性,因此如果分叉链具有比非分叉链更低的价格,那么分叉链的算力值会比非分叉链的算力值要更低,正因如此,非分叉链条最终会被原始客户端和分叉客户端所接受成为最长链。那么渐渐的,分叉链会被“淹没”。

有一个论点是这样认为的,这样的分叉成功是有强烈的故有偏见的,因为分叉链会被淹没被抛在价格中,使得币的价格更低,这使得分叉链被淹没的可能性更大。这个论点对我来说还是非常有道理的,所以这是一个很好的理由来进行双向硬分叉而不是一味地扩展。

比特币非常多的开发者们建议,在硬分叉发生后来手动进行双向硬分叉来解决这个问题。但是更好的选择是,使用内置的双向硬分叉。例如,在比特币的情况下来举例,你可以添加一些规则来禁止一些未使用的操作码,然后在没有分叉的链上进行包含了这个操作码的交易,所以在分叉的规则下,没有分叉的链在这个时候起,会永远的无效。在以太坊的案例中,关于计算状态如何工作的各种细节来看,几乎所有双向硬分叉都是自动的。根据不同基础架构,其他链条也会有不同的属性。

上面提到的最后一种类型的分叉是用户激活软分叉。在UASF中,用户可直接激活软分叉规则,而无需考虑是不是得到矿工们的共识;矿工们可能会被排挤在经济利益之外。如果有非常多的用户不跟随这个UASF,那么这个币就会被分割开,这将导致一个与完全扩展硬分叉情景相同的情况。即使UASF是选择性的,它也使用了经济的不对称性来使自己更偏向于成功。

然而,用户激活软分叉是一个危险的游戏。例如,我们来假设一个项目的开发人员想要创建一个UASF补丁,该补丁将以前接受所有交易的未使用操作码转换为只接受符合一些新功能的规则的交易操作码,这无论在上还是技术上都会有所争议,矿工都不太会会喜欢这个功能。矿工们有一个聪明又狡猾的方式来对抗这种情况:他们可以单方面地实施一个矿工激活软分叉,能够让使用了软分叉创建的功能总是会失败。

现在,我们有三种规则:

操作码X始终有效的原始规则。

操作码X只有在其他交易符合新规则时才有效。

操作码X始终无效的规则。

请注意,第2点是关于第1点的软分叉,第3点是关于第2点的软分叉。现在,第3点上有强烈的经济压力,因此软分叉并不能实现它的目标。

因此,我的结论是这样的:软分叉是一个危险的游戏,尤其是在它们是有争议的情况下,矿工们开始进行反击,这个游戏将会越来越危险。完全扩展硬分叉也是一个危险的游戏。矿工激活软分叉是强制性的,用户激活软分叉就没有那么的强制性了,但是由于经济上的压力的形成,用户自己选择激活软分叉多多少少还是有强制性在里面,这也具有一定的危险性。如果你真的想进行一个具有争议性的改变,并且坚持认为自己这样做付出的社会代价是值得的,那么你就做一个干净纯粹的双向硬分叉吧,花些时间添加一些重放攻击保护,然后让市场这个无形的手帮助你理清楚。

标签:比特币STIMOONTIN比特币钻石未来价值stik币怎么样UNSAFEMOONSTINKV2

DYDX热门资讯
无抵押借贷协议 TrueFi 宣布上线 Optimism 并向社区成员空投 NFT

链捕手消息,无抵押借贷协议TrueFi宣布上线Optimism并将在7月27日到9月10日开启TrueFixOptimismNFT空投活动,该活动由ProjectGalaxy提供支持.

1900/1/1 0:00:00
Oasis Labs 与 Meta 建立合作,构建隐私保护平台助力 AI 模型公平性发展

链捕手消息,隐私计算网络OasisNetwork开发商OasisLabs宣布与著名科技公司Meta建立合作伙伴关系,作为Meta的重要技术合作伙伴,OasisLabs构建了使用安全多方计算(SMPC)的平台.

1900/1/1 0:00:00
时代杂志特稿 | 元宇宙将重塑我们的生活,我们要确保它变得更好

原标题:《TheMetaverseWillReshapeOurLives.Let'sMakeSureIt'sfortheBetter》作者:MatthewBall,Epyllion管理合伙人.

1900/1/1 0:00:00
跨链流动性协议 Synapse 将推出 Optimistic Rollup「Synapse Chain」和发布 Synapse V2

链捕手消息,跨链流动性协议Synapse宣布将推出基于以太坊的OptimisticRollup「SynapseChain」,通过利用Synapse的通用跨链消息传递系统和代币桥.

1900/1/1 0:00:00
Aptos 公布加入其生态系统的多个早期项目

链捕手消息,新公链Aptos在推特上公布了一系列加入其生态系统的早期项目:1.Econia:一种超并行的CLOB协议,用于提供对市场的平等全球访问;Blast现已添加对APTOS网络支持:11月3日,据官方公告.

1900/1/1 0:00:00
以太坊启动之前的故事

作者:VitalikButerin原标题:《APrehistoryoftheEthereumProtocol》发表时间:2017年9月14日尽管当前以太坊协议背后的想法已经基本稳定了两年,但以太坊并没有一下子出现.

1900/1/1 0:00:00