月亮链 月亮链
Ctrl+D收藏月亮链
首页 > BNB价格 > 正文

BIP:一文详解比特币软分叉激活方法的变化_Mobipad

作者:

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

作者:?BitcoinOptech

原文链接:

https://bitcoinops.org/en/topics/soft-fork-activation/

软分叉激活指的是一个比特币全节点开始增设一个或多个共识规则的瞬间。这种转换会在节点之间产生协调风险。所以开发者多年来花了相当多的力气来创建和提升软分叉激活机制,以尽可能降低出问题的概率。

软分叉使得网络整体上可以切换到使用新的共识规则,即使不是每个节点都接受这些规则。不过,每当不同的节点使用不同的共识规则,就有某个区块被一些接受但被另一些节点拒绝的风险,导致共识错误,最终可能出现资金的多重支付以及比特币系统安全性信誉的损失。这是激活机制尝试缓解的主要问题。

历史

新的软分叉激活提议通常被设计成避免之前的软分叉已经遭遇的问题,所以本节尝试概述之前比较著名的软分叉激活尝试。

硬编码高度:共识层nLockTime启用

这个已知最早的软分叉在Bitcoin软件0.1.6版本中实现,硬编码在区块高度31000处激活,实际发生时间是2009年11月22日。在大部分开发工作都是由中本聪完成时,这种硬编码激活高度的方法至少还用在了另一个早期的软分叉中。

Lens周活跃用户数自3月份创新高以来已下降66%:6月30日消息,据Messari称,去中心化社交协议Lens Protocol的每周活跃用户数自3月份达到历史新高以来已下降66%。[2023/6/30 22:10:20]

硬编码时间和手动干预:BIP12OP_EVAL?失败

在中本聪离开比特币之后,合并到比特币的第一个软分叉代码是?BIP12OP_EVAL。本来计划是使用一个?硬编码时间?和在支持变更的算力占比少于50%时手动干预的方法。引自BIP12:

新的客户端和矿工将解释OP_EVAL为一个no-op,直至2012年2月1日。在此之前,支持的矿工可以将“OP_EVAL”字样写在自己生产的区块里面,方便我们计算支持的算力占比。如果在2012年1月15日之前没有超过50%的算力支持这一变更,激活将会推迟,直到有超过50%的算力支持OP_EVAL。

手动干预可能是有必要的,因为?OP_EVAL?在激活代码合并之后、推出之前,被发现有一个严重的漏洞。虽然这个bug被修复了,一些开发者担心这个强大的新操作码可能会有其它问题,所以人们就放弃了这次软分叉。

Brave发布其搜索引擎API,向开发人员开放测试:5月31日消息,隐私浏览器 Brave 发布其搜索 API,Brave Search API 支持开发人员通过 API 调用集成来自自数十亿页面的搜索结果,包含 Web 结果、丰富的元数据、实体搜索、新闻、视频结果等。目前开发人员可在创建账户后开始测试 Brave Search API。

Brave Search 是 Brave 浏览器的默认搜索引擎,该浏览器在全球拥有近 6000 万用户。Brave Search API 包含免费方案和付费方案,免费方案中用户每月最多查询 2000 次。付费方案中每 1000 次查询 3 美元起。[2023/5/31 11:49:56]

再次尝试硬编码时间以及手动干预:BIP16P2SH

人们提出了多个替代?OP_EVAL?的简化提案。而BIP13/16支付给脚本哈希值获得了大部分开发者的支持。P2SH使用了跟OP_EVAL一样的激活机制。最初计划的激活时间是2012年3月1日,但到了2月15开票日,在最后100个区块中,只有不到50%的矿工表示他们会在3月之前执行BIP16规则。这导致了一个“相当长的替代链”,因为一些仍然在3月1日实行BIP16的矿工拒绝了来自多数矿工的区块。第二次开票日是在几千个区块之后,3月15日;这一次它获得了足够多的支持。所以开发者在3月30放出了?Bitcoin0.6.0,将激活时间设在了4月1日。

Delphi Labs将转向研究和开发Cosmos生态系统:9月9日消息,昨日,Delphi Digital发布长文《Finding a home for labs》,表示Delphi Labs是Delphi的协议研发部门,拥有约50人的团队,此前,该团队专注于研究和开发Terra上的协议。在Terra崩溃之后,Delphi Labs面临着一个重大决定,即我们的建设者工作的重点在哪里。经过对众多协议的研究对比,其决定将研发工作集中在Cosmos生态系统上,DelphiLabs表示,“我们相信这个空间将越来越多地分裂成一个由通用智能合约链和通过信任最小化桥连接的专用应用链组成的网状网络。

在这样的世界中,将会出现多个DeFi中心,每个中心都有自己的生态系统和社区。部署在多个平台上且架构设计良好的DeFi dApp将受益于流动性和其他网络效应,我们认为Cosmos最适合从越来越多的应用链中受益,并支持最先进的跨链架构。”[2022/9/9 13:18:37]

硬编码时间:BIP30拒绝复制txid

P2SH的激活完成后,人们发现可能出现多个交易共用同一个txid的情况。就其自身而言,这个bug只会导致尝试利用这个bug的用户的资金被销毁,但它也可以结合比特币的默克尔树构建中的一些奇怪的行为打破节点间的共识。第一个修复这个漏洞的软分叉是BIP30,它简单将使用同一个txid的后发交易标记为无效交易,如果前发交易还有没花费的输出的话。这个修复在开发团队中没有争议,因此在包含P2SH激活参数的?Bitcoin0.6.0?中以硬编码时间的方式激活。

Lido更新后的财库多元化提案获得通过:8月5日消息,Lido Finance更新后的财库多元化提案投票于北京时间8月5日0:00结束,该提案已超过99%的支持率通过,Lido将向Dragonfly Capital出售1000万枚LDO。

此前报道,Lido Finance于7月中旬发布提案,计划出售2000万枚LDO,售价为1.452153美元,Dragonfly Capital计划购买1000万枚,但该提案最终未通过投票。之后Lido Finance修改了该提案,将出售给DragonflyCapital的代币增加了一年的锁定期。此外,投票完成时,Dragonfly Capital将在先前的加权价格平均值加上50%溢价(约1.45美元)、7日加权价格平均值加上5%溢价这二者中选取价格高的方案,且如果LDO价格在投票时间表内超过2.25美元,DragonFly将可放弃购买。[2022/8/5 12:03:32]

IsSuperMajority(ISM):BIP34coinbase前缀

虽然BIP30修复了txid重合导致的短期问题,比特币开发者知道这只是权宜之计,软件没理由每次收到一笔新交易都要搜索带有未花费输出的所有交易的索引。所以第二个解决方案开始提上日程,旨在消除让txid复制变成实用攻击向量的弱点。这就是?BIP34。对这一次更新,开发者使用了类似于BIP16P2SH的矿工投票方法,但这一次,准备好支持EIP34的矿工需要增加他们的区块的?nVersion?的数值。更重要的是,开发者自动化了比特币代码中新规则的实行,因此他们可以在等待矿工升级期间发布支持软分叉的软件。这个来自BIP34的规则用一个叫做?IsSUperMajority()?的函数实现了。最开始它包含了一个单项的激活阈值,达到了便开始实行BIP34的新共识规则:

以太坊开发平台Infura与NEAR达成合作,将扩展标记为多链连接器:5月24日消息,ConsenSys宣布,其区块链开发平台Infura与NEAR协议建立合作伙伴关系,该集成已经进行了两个月的内测,现已广泛使用。这标志着Infura的扩展超出了与以太坊虚拟机 (EVM) 兼容的链,向成为多链生态系统中的连接器转变,同时改善了整体开发人员体验。[2022/5/24 3:38:50]

75%规则:如果最新的1000个区块中有75%是vision2或者更大的,就开始拒绝无效的vision2区块

在这个功能的开发期间,人们决定加入第二项激活阈值,决定性地修复使用BIP34所要解决的问题:

95%规则:如果最新的1000个区块中有950个都是vision2乃至更大的,就拒绝所有vision1区块

拒绝旧版本区块这个规则的一个已知问题是,除非所有矿工都已经升级,每天都可能有几个无效区块产生。已经升级并执行ISM规则的节点会拒绝这些区块,但更老的节点和轻客户端不知道这个规则,所以会接受这些区块。这会让网络比普通情形更加依赖于不在无效块后面继续挖矿的矿工。

ISM以及无验证挖矿:BIP66严格DER激活

在2014年9月,PieterWuille?发现?OpenSSL在处理不同平台的DER编码签名时存在分歧。这个可以被利用来,比如说,创建一个在Linux操作系统上可以通过验证但在windows操作系统上会失败的区块——攻击者定点创造链分裂。Wuille和其他几位开发者秘密开发了补丁,并致力于以软分叉激活,保证所有签名都使用同样的格式。BIP66就是为这件事创建的,在公开宣传中,是作为移除比特币对OpenSSL依赖的一步。在BIP66获得用户和开发者充分多的支持之后,它使用与BIP34相同的ISM激活机制,将区块版本号递增为v3,并要求达到95%的阈值后就拒绝v2和更低版本号的区块。

75%的阈值在2015年7月4日达到,而95%阈值在区块高度363725处达成,所有的节点都运行?BitcoinCorev0.10.0?乃至更高版本的软件,开始实行新规则。不过,在区块高度363731处,一个没升级的矿工生产了一个没包含当前版本号的区块,在新的ISM激活规则下不是有效区块。但其他矿工都在这个无效区块后面继续生产,最终产生了一条带有6个无效区块的链。这意味着未升级的节点和许多轻客户端都会将第一个无效区块中的96笔交易当成积累了6个区块确认的交易,即使它们在当时还没获得过哪怕一个有效区块的确认。最终,开发者只能联系矿池运营者,让他们手动重启软件并回到有效的链上。这样的事件在第二天又重演了一次,使一些交易获得了三次无效的确认。幸运的是,这六个和三个区块中的所有常规交易,后来都打包到了有效区块内,意味着普通用户没有损失。

最初位于363731高度的无效区块就是仅仅因为使用旧的版本号而变成无效的、预计每天都有可能出现的约5%区块之一。而下一个区块是未升级矿工挖出的概率也是5%,所以连续两个区块都是版本号取消区块的概率是0.25%。给定95%的矿工都已升级,连续6个区块都是版本号无效区块的概率是0.000002%——但罪魁祸首还不是极端坏运气。没有考虑到的是矿工可能会做“无验证挖矿”,也就是矿工在收到一个新区块之后,不加验证,直接在后面继续生产,这样可以提高一点效率。虽然无验证挖矿软件理论上很容易就能处理无效区块版本号,这个功能在当时挖掘那五个区块的矿工所用的软件中还没有实现。最终,足够多的矿工升级了他们的无验证挖矿软件,或者升级了他们的节点,而BIP66激活相关的意外链分裂就此绝迹。

为了应对这些导致?2015年7月出现分叉的问题,开发者加倍努力减少对无验证验证挖矿的需求,成果如?BIP152?压缩区块的中继以及?FIBRE?软件。开发者也开始思考一种更好的激活机制,也就是后面会提到的BIP9协议。

最后一次ISM:BIP65OP_CHECKLOCKTIMEVERIFY?激活

BIP66严格DER软分叉之前,就有人提出要用软分叉为比特币增加一个新的操作码?OP_CHECKLOCKTIMEVERIFY?,但因为修复OpenSSL漏洞而推迟了。这就体现了ISM机制使用递增版本号的另一个弱点——一个矿工如果发出信号支持最新的提议也就隐含地表示了支持之前所有的提议。这就限制了使用ISM同时协调多个升级的能力。

不过,尽管BIP66激活时出了一些问题,ISM被再一次用到了推迟的?BIP65?的激活中。这一次就没有再出问题了。

标签:BIPIP3API比特币MobipadIP3币DreamPad Capital比特币市值占比预测

BNB价格热门资讯
KEX:BKEX系统将于9月25日上午10点正式发布_okex币

尊敬的用户:BKEX系统升级将按照原定时间进行,系统将于2021年9月25日10:00(UTC8)正式启动,注意事项如下:1、系统升级后,打开APP会提示强制更新.

1900/1/1 0:00:00
binance:币安流动性挖矿支持ICP,并开放2个新流动性池_NCE

亲爱的用户:币安流动性挖矿现已支持ICP资产,并开放2个新流动性池:ICP/BNBICP/USDT注意:币安流动性挖矿是一种非保本收益产品.

1900/1/1 0:00:00
区块链:博鳌亚洲论坛国际科技与创新论坛第二届大会深圳推介会成功举办_kpad币团队

9月26日下午,博鳌亚洲论坛国际科技与创新论坛第二届大会深圳推介会在深圳软件产业园基地5B栋4楼鸿达厅举办.

1900/1/1 0:00:00
TPS:XT关于停止对用户提供服务的公告_HTT

尊敬的XT用户:为响应各个国家及当地政府的监管政策要求,即日起,XT将逐步停止对用户提供服务,对IP地址为地区的将禁止其访问及注册.

1900/1/1 0:00:00
EXT:XT 关于恢复PLAY交易及充提的公告_Connectome

尊敬的XT用户:XT.COM现已恢复PLAY充提业务。暂停期间给您带来的不便,敬请谅解。感谢您对XT.COM的支持与信任!XT.COM团队2021年10月2日https://www.xt.pub.

1900/1/1 0:00:00
比特币:捷克贵族Lobkowicz家族将举办NFT拍卖,以筹集修复包含贝多芬手稿等文物的资金_加密货币

据彭博社9月30日报道,捷克共和国一个有600年历史的波西米亚贵族家族Lobkowicz将于下月在布拉格的Lobkowicz宫拍卖一系列NFT,以筹集其艺术品收藏和祖传城堡的修复费用.

1900/1/1 0:00:00