用户激活的软叉:BIP 148替代品

用户激活的软叉:BIP 148替代品

什么是UASF?

UASF代表用户激活的软叉。这是一种机制,其中软叉的激活时间发生在由完整节点强制执行的指定日期,这个概念有时被称为经济多数。UASF需要大量的行业支持和协调,这对于最终需要更多行业协调的硬叉来说是一种很好的做法。

过去,成功实施了UASF以激活P2SH软叉(BIP16)。UASF概念与BIP148提案中的SegWit激活相结合,可在此处找到:github.com/bitcoin/bips/blob/master/bip-0148.mediawiki

什么是MASF?

MASF代表Miner Activated Soft Fork。这是一种机制,当大多数人表示准备好升级时,矿工会触发软叉的激活。这样可以加快软叉的激活时间,使整个节点在闲暇时升级。

这种方法是一种权衡,因为它将信任放在实际执行新规则的散列函数中。如果他们不这样做,则可能导致网络上出现各种无效链。例如,BIP66就是这种情况,当hashpower表示他们升级了,而事实上超过50%没有升级。另一个权衡是该方法允许少量散列功率否决网络上每个人的软分叉激活。

什么是BIP148?

BIP148是一种UASF,旨在使现有的SegWit MASF部署在所有现有的支持SegWit的节点软件(目前是80%的网络节点)中激活。BIP148如何工作?从2017年8月1日起,矿工需要通过创建版本位为1的块来表示SegWit准备就绪。这将导致所有占网络80%以上的SegWit就绪节点激活并开始执行。链接供参考:luke.dashjr.org/programs/bitcoin/files/charts/software.html

矿工还必须在他们自己之前检查块,并确保他们也发出SegWit信号,并且只建立在这些块上。

需要明确的是,BIP148是一个软分叉,需要矿工激活现有的SegWit部署。这不是UASF的标准,因为通常节点只会在给定的“标志日”开始执行。但是,几乎80%的网络已经升级到支持SegWit的节点软件,因为预计会有矿工触发激活。新的“SegWit UASF”部署需要所有节点再次升级,这将花费大量时间。

因此,缩短到SegWit激活的路径是要求块发出SegWit激活信号。通常,块信令机制仅被认为是使加速激活成为可能的协调方法。2012年,P2SH由UASF激活,标志日简单。

创建BIP148是为了避免强迫大多数用户升级他们的软件。目前部署的绝大多数节点都知道SegWit的BIP9信令。BIP148旨在激励矿工发出SegWit信号,以便即使未运行BIP148的用户也可以获得激活SegWit的优势。

用户需要做些什么来强制执行BIP148?

用户应使用强制执行BIP148的客户端。运行完整节点的用户将升级为强制执行BIP148的用户,或在升级的边界节点后运行其节点。轻客户端(如移动钱包)的用户应与每个供应商核实,以了解他们对BIP148的支持。我们计划记录钱包中有关BIP148支持的任何公开回应。适用于UASF的Satoshi Portal电子服务器:158.69.102.114端口50002。

矿工需要做些什么来强制执行BIP148?

矿工应更新其采矿软件,以生成在2017年8月1日之前启用版本位1的块。矿工无需创建SegWit块或进行任何其他更改。在激活SegWit之后,矿工们至少应该确保他们有一个过滤掉无效区块的边界节点。

BIP148会发生什么样的各种情况?

BIP148需要经济多数人的支持,特别是交易所和钱包。如果没有发生这种情况,支持BIP148的节点软件不应该在8月1日之后运行,因为它会导致链分裂导致放弃BIP148。比特币系统中存在强大的经济激励,使节点能够合作并保持共识以防止链条分裂。

 

如果经济多数人在8月1日发出信号,那么矿工就有很多动力可以跟进。不遵循将导致难以出售8月1日之后开采的硬币,因为经济多数人不会接受这些区块。从本质上讲,矿工将生产一种未被用户和交易所认可的山寨币,这使得它们的用处越来越少,需求也越来越低。

一些矿工可以选择忽略BIP148规则,并试图拆分链条,但这需要大多数矿工与其他经济多数人达成共识。

如果大多数散列功率遵循BIP148,则无论它们是否正在运行BIP148,所有节点都将遵循链。不合规的块将成为孤立的。所有SegWit节点最终都会激活。

如果少数哈希能力(低于51%)遵循BIP148,运行BIP148的节点将没有问题,但那些未运行BIP148的节点将与其他经济体达不到共识。在这种情况下,运行BIP148的经济越多越好。矿工们会发现难以出售他们的硬币,导致经济动机的矿工开始执行BIP148。

为什么选择2017年8月1日的日期?

因为BIP9是基于时间的,所以BIP148需要考虑一些散列功率退出的可能性(例如,挖掘另一个分支),这将使块间隔更长。8月1日的日期允许经济多数成功激活SegWit。从理论上讲,如果散列函数下降高达85%,则可能需要长达13周的时间才能完成激活期。在这种情况下,SegWit仍将为所有符合BIP148标准的节点激活。

对BIP148的支持

显示支持的最佳方式是通过社交媒体(Twitter,Facebook等)以及请愿业务和钱包来支持它。许多用户也在改变其节点的用户代理字符串以包含BIP148。

如果经济多数不支持BIP148,用户应删除强制执行BIP148的软件。SegWit的标志日激活将是下一个合乎逻辑的步骤,需要协调社区,最有可能在2018年底。

节点计数是否确定激活?

否。决定执行新规则的用户将只遵循符合现有规则的块,这反过来会导致矿工激活SegWit。UASF可以由任何数量的经济节点强制执行,尽管哈希力量可能只选择遵循这些规则,如果它背后有显着的经济权重。

UASF会导致连锁分裂吗?

软叉依靠大多数矿工和经济参与者的经济激励来拒绝基于新规则集的无效区块。由于新的BIP148规则比旧规则更严格,任何链分裂意味着具有旧规则的链将有被消灭的危险。如果大多数矿工执行新规则集,则在新规则集中生成的所有无效块将变为孤立。这种经济激励促使矿工执行新规则。UASF使用类似的经济激励措施。如果大多数权力强制执行新规则,则链式拆分仍然是临时的,就像单独的矿工强制执行软分叉一样。

如果大多数hashpower没有强制执行规则,则会发生链分割。如果对BIP148矿工生产的区块有更大的需求,那么利润驱动的矿工最终会涌向这条链,导致预软叉链的孤儿。如果软叉链的需求较少,那么两个链可能无限期地共存。

BIP148是硬叉吗?

不,BIP148不是硬叉。硬分叉经常与链分裂相混淆。硬分叉是一种链式分割,其中规则被松散以允许先前不允许的块或事务。软叉是收紧规则的。如果大多数hashpower强制执行其规则,则软分叉将导致聚合链。

矿工激活软叉是激活软叉的便捷捷径,因为它允许在经济升级的重要部分之前激活变更。信令过程只是为了协调当哈希值的绝对多数已经升级时,节点可以激活并开始执行新规则。它从来没有打算成为一个投票,虽然它有一个无意的否决权,其中少量的哈希能力可以阻止这个过程。

最终,共识由生态系统中的经济节点决定,因为它们验证了链条并参与了经济活动。最终,甚至矿工激活的软叉(MASF)也由节点强制执行。矿工只需在节点中触发激活。

UASF放弃了对矿工信号的需求,因为经济节点有更多时间升级到新规则并在未来开始实施。UASF绝不会妨碍未升级的矿工的运作,也不会以任何方式剥夺他们的权利。矿工总是可以按照他们希望的规则自由生产区块,但如果它们与经济节点达成共识,它们的区块将被网络拒绝。

如果分裂,矿工能否攻击链条?

矿工可以随时攻击任何一个链条,但必须通过施加真正的机会成本来实现 - 他们必须停止采矿以获取利润。有两种主要类型的攻击。第一次攻击是挖空块。在链分裂的情况下,这种攻击实际上是有益的 - 它将允许链更快地达到难以重新定位期。第二种攻击是对链条的51%的主动攻击。

这种类型的攻击需要大部分散列功率与孤立的已经挖掘的有效块相连。这种攻击在比特币中总是可行的,但可以通过改变工作证明来打败。由于经济激励,不鼓励这些类型的攻击 - 合作通常比攻击更多。

如果存在分裂,块变得非常慢吗?

在难度期重置之前,链分裂的两侧将产生比正常块慢的速度。这个时间将取决于散列功率的分配。例如,如果25%的散列能量留在链上,则需要四倍的时间(8周)才能达到重定目标期。在此期间之后,区块将返回10分钟。拥堵也可能导致更高的费用,这将鼓励更多的采矿和更快的阻止,直到达到均衡。

如何在链条拆分的情况下确保受到保护?

这取决于您使用的钱包类型。对于使用集中服务节点的钱包,请确保其服务使用的节点已升级。对于像Electrum这样的东西,请确保升级您正在使用的Electrum服务器。最终,任何非完全验证的钱包都将从完全验证的节点中获取有关余额的信息。您必须采取您所需的任何步骤,以确保您的钱包连接到升级的BIP148节点。

本文由来源 segwit社区,由 sylvia 整理编辑,其版权均为 segwit社区 所有,文章内容系作者个人观点,不代表 链码笔记 对观点赞同或支持。如需转载,请注明文章来源。