火星链 火星链
Ctrl+D收藏火星链

BIT:干货 | 比特币软分叉激活史(下)

作者:

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

作者:BitcoinOptech

上文我们讲了《干货|比特币软分叉激活史》,后续如下:

BIP9versionbits:BIP68/112/113相对锁定时间激活

BIP9?提出了一种新的激活机制来解决ISM的几个问题:

没必要地惩罚矿工:ISM激活会导致区块版本号递增,没有递增版本号的矿工所生产的区块就会被当成无效的,即使这个区块并没有违反软分叉的其它规则。举个例子,在2015年7月4日的链分裂中,所有的交易都遵守软分叉规则——这些矿工损失50万美元的唯一理由就是升级要求区块头里应该包含一个?3?而没升级的矿工使用了?2?。很难并行化:使用ISM,即使开发者认为有必要,也必须等待一个分叉结束,另一个分叉才能开始收集信号。不允许失败:ISM不设过期时间。等待激活信号的节点软件一旦放出,运行了新软件的节点就会一直监控信号,直到激活完成。没有办法确定人们是不是完全不需要这个软分叉。不可预期的激活时间:无法提前知道确切的激活时间,意味着协议开发者、商户系统管理员以及矿池运营者,都很难在激活之后短时间内立即投入使用,即使出现了需要快速反应的问题。BIP9versionbits尝试解决这些问题。它将区块头内的vision字段用作bit字段。这个字段里面的数据只用来表示信号——不会被当成无效区块的依据——并且可以并行地设置。测量每2016个区块运行一次,以压缩某一小部分算力足够幸运便能冒充95%支持的可能性。最后,当达到了95%的信号门槛,激活之前会有额外的2016个区块的“锁定期”,以便各方准备升级。如果过期时间之前未能达到激活的门槛,整个软分叉的尝试就结束,没有用上的代码可以在后来的软件版本中删除。

肯尼亚计划在下个预算年度对数字资产转移征收3%的税:金色财经报道,肯尼亚财政部已经提议在未来的预算年度对数字资产的转移征收3%的税,该报告引用了提交给立法者的提案。据悉,国家的预算将于6月8日提交。(Coindesk)[2023/5/5 14:43:38]

这个激活方法第一次使用是在?BIP68?共识强制的序列号、BIP112OP_CHECKSEQUENCEVERIFY?以及?BIP113?中位时间定义的nLockTime的软分叉中。这个分叉很快进入了锁定阶段,然后自动进入了激活阶段。

BIP9、BIP148以及BIP91:BIP141/143隔离见证激活

隔离见证软分叉是用?BIP9?激活参数发布的。少数矿工很快地表示了支持,但支持率远低于95%的门槛。一些比特币用户认为矿工是在不合理地拖延一个有用的新特性,所以开发出了自愿的激活措施,就是?BIP148。BIP148的最终形式指定,从某个日期开始,拒绝一切不支持segwit的区块,

实现BIP148的软件出现后,网络中就有了三类节点——不升级的节点,BIP9/141节点,以及BIP148/141节点——陷入共识错误的几率更大了。如果矿工没有支持隔离见证,而大部分用户都继续把这些区块当成有效的,BIP148的用户可能就会收到在其他用户看来无效的比特币。此外,如果大部分用户都支持BIP148,但矿工继续生产许多在BIP148看来无效的区块,那些不实行BIP148的用户就会接受BIP148用户认为无效的比特币。只有用户都遵守同样的规则,且大部分算力都支持BIP148规则,升级才是安全的。

欧洲央行如期加息25个基点:金色财经报道,欧洲央行将三大主要利率均上调25个基点至3.75%,符合市场预期,利率达2008年10月以来最高水平。[2023/5/4 14:42:46]

一种降低风险的办法是,给出足够的时间,让用户可以升级到强制激活隔离见证的节点,但BIP148无法做到这一点,因为它的目标是触发现有的BIP9流程,也就意味着,它要在BIP9到期日很久以前就强迫矿工发信号表示支持。作为BIP148可能不得人心的替代方案,BIP149?提议给用户多一年的时间来升级。BIP149从未获得足够多的公开支持,但它是第一个使用?BIP8?的提案,而BIP8在未来几年里引发了更多的讨论。

在BIP148开始获得重大的公开支持时,多个矿工、交易所和业界人士表示支持一个两步骤的提议,在激活隔离见证的同时会与支持BIP148的节点保持共识。第一个步骤写在?BIP91?中,它改进了BIP9的规则。矿工可以使用BIP9的位字段来表示他们是否会实行一个暂时的规则:拒绝一切不发信号支持BIP141/143隔离见证的区块。与BIP9不同,BIP91的阈值从95%降到了80%,而其监控和锁定期的长度从2016个区块降低到了336个区块。

数据:比特币巨鲸数量已降至2027个,创2019年以来最低水平:金色财经报道,比特币巨鲸数量已降至2019年以来最低水平,根据Glassnode 2月19日数据显示,持有超过1000枚比特币(或以上)的钱包地址数量为2027个,而上次低点发生在2019年8月5日,当时相关地址数量为2,023个。

此外,数据还显示比特币巨鲸数量在2021年2月达到顶峰,约2500个,之后一直在稳步下降,仅在在2022年2月至3月期间出现过反弹。当前持有1万枚以上的“超巨鲸”比特币地址数量为117个,变化幅度不大。[2023/2/21 12:19:19]

BIP91锁定并且激活了。随后,BIP141/143锁定并激活。在它们锁定时,BIP148的强制支持措施过期。

这个来自矿工、交易所和业界人士的提议的第二个阶段需要一个硬分叉,在遭到大量个人用户和企业的激烈反对之后,提案的签名人撤回了这个提议。

至今,人们仍然在争论,这些事件以及同期发生的其他事件,到底为隔离见证激活造成了多大的影响。

紧急激活

不止一次,人们在共识代码中发现了严重的漏洞,开发者没有经过激活的流程就放出了补丁。这样做可能导致共识失败,但也为升级的节点立即消除了漏洞。重大的事件包括:

一款获得Ape授权的限量版腕表在新加坡钟表展上亮相:9月15日消息,一款带有BAYC #5637的限量版腕表将在10月26日至30日举行的新加坡钟表展上亮相,该腕表将由俄罗斯独立制表品牌Konstantin Chaykin与制表商Culture Watches合作生产。(美通社)[2022/9/15 6:58:50]

使用chainwork来替换高度:比特币一开始认定最多区块的链为有效的链。如果每个区块都有同样的难度,那这样的最长链同时也会是积累了最多工作量证明的链。但是不同的区块有不一样的难度,所以?chainwork?软分叉在?Bitcoin0.3.3?中放出,将累积最多工作量证明的链视为有效链。消除绕过脚本的bug:比特币一开始将花费UTXO的脚本和保护UTXO的脚本结合起来、同时求值。这种设计使得人们可以在锁定机制计算之前就终止脚本,以成功状态退出,例如,在运行?OP_CHECKSIG?以检查签名之前就终止脚本。这个bug最初被报告为?使用?OP_TRUEOP_RETURN?的scriptSig可以花费任何人的比特币。这个漏洞在?Bitcoin0.3.6?中第一次修复,办法是让?OP_RETURN?必定以失败收场,而且为脚本的其它显示安排了数字。虽然所有这些变更都是软分叉,但相同代码的修改也会造成硬分叉式的更改。即使是这么重大的变更,scriptSig可以篡改scriptPubKeys运行的底层问题仍然存在,所以第二次软分叉在?Bitcoin0.3.8?中实现,它让两者独立执行。修复溢出漏洞:某人创建了一笔交易来花费0.5btc并创建了两个价值92,233,720,368.54277039BTC的输出。比特币的确要求输出的数值不能大于输入的数值,但检测方法是把输出的数值加入到一个最多能表示9,223,372,036,854,776聪的64位整数中,这个整数溢出后就会从-9,223,372,036,854,776聪开始。这就意味着,这个交易似乎只花费了总计-0.1btc。这还绕过了另一条规则,就是禁止单个为负的输出,但是不禁止总计为负的数值——因为它假设了任何正值的总和都仍会是正的。这使得某人创造出了1840亿btc,而且这样的把戏可以不断重复,没有任何代价,产生无数的比特币。几个小时内,Bitcoin0.3.10?放出了一个软分叉补丁,限制输出为2100万btc。它还要求放弃带有溢出交易的链——这是有意制造的共识失败,但为了比特币仍然有意义就必须这么做。临时修复BDB锁定问题:2012年初,比特币开发者意识到,如果同时对UTXO数据库做太多更改,可能会超出链状态数据的默认容量限制之一。因为当时的比特币区块比较小,只有在区块链重组、需要同时处理来自多个区块的交易时才会观察到这个情形。当时人们实现了一个简单的解决方案:在重组期间,一次只处理来自一个区块的交易。后来,一些人开始请求矿工把可选的默认区块大小从250KB提高。在2013年3月12日,某个矿工生产了一个约1MB的区块,包含了超过1700笔交易——也是截至当时最大的比特币区块——在许多节点上都超过了数据库的容量,导致它们认为这个区块时无效的,即使它完全符合比特币的明示的共识规则。把水搅得更浑的是,一个新版BitcoinCore已经发布,它用上了不一样的数据库引擎,没有这种限制,因此也能安然地接收这个更大的区块——所以不同版本的节点之间出现了共识错误。在快速分析了情况之后,开发者鼓励用户暂时降级到旧版本,然后更新到一个紧急版本,以软分叉暂时将区块大小的上限降到500KB,好留出时间让每个用户都能升级新的数据库引擎,而这种暂时的下调会在几个月之后自动过期。

巴西加密货币交易所Mercado Bitcoin的母公司2TM指责巴西缺乏监管,这使当地的加密公司处于不利地位:金色财经报道,近几个月来拉丁美洲加密公司的最新一轮裁员。墨西哥的加密货币交易所Bitso宣布将在 5 月份裁员 80 人,阿根廷交易所 Buenbit表示,它已将员工人数从 215 人减少到 115 人。?

此前,巴西加密货币交易所 Mercado Bitcoin 的母公司 2TM在 6 月份裁员后,将裁员约 15%,即近 100 名员工。2TM 还指责巴西缺乏监管,这使当地的加密公司处于不利地位。

2TM 在与 The Block 分享的一份声明中表示,在 2TM,我们统一了我们的品牌,并完成了 2021 年收购的公司的整合,寻求效率和协同效应,即便如此,如果没有加密资产法律框架的批准,经济中的逆境仍在继续,竞争环境继续恶化和不公平,遵守法律的参与者会受到无视当地规则的公司的惩罚。[2022/9/5 13:08:46]

未来的激活

Segwit激活几个月出现问题之后,一些人开始考虑?BIP8。BIP8的支持者们认为它能解决BIP9的一些问题:

允许强制激活:BIP8是BIP148的一般化,矿工可以在等待激活的时间段里自愿发信号表示支持,但它还设了一个最后通牒时间段,矿工在这段时间里必须发信号表示支持,否则所生产的区块就有可能变作无效的。后来,人们设计了一个参数?LockinOnTimeout?来触发这种动作:使用?LOT=true?的节点,会要求矿工在激活即将超时的最后一段时间里发出信号;使用?LOT=false?的节点,不会这么要求,但如果有足够多的区块带有信号,仍然会实行新规则。使用高度而非时间:BIP9开始和停止监控激活信号的时间都基于矿工写入区块的时间的平均值。所以矿工是有可能操控这个时间的,这会阻碍?LOT=true?的功能,所以BIP8提议使用区块高度而非时间。BIP8的灵活性使其成为了?taproot?软分叉的多种候选激活提案之一,虽然批评者也批评了它的某些方面,比如某些设置允许矿工拒绝激活得到广泛社区支持的提议、鼓励一个团体?“俘虏”另一个团体所用的信号机制、要求矿工对所生产的区块作没有实质意义的更改、看起来给了开发者凌驾于共识规则的权威以及提高了共识失败的风险。截至本文撰写之时,taproot激活方法的讨论仍在进行。

其它想法也一直在讨论,包括“概率性的软分叉激活”、“多阶段软分叉激活”、“阈值递减型激活”、“返回硬编码高度或时间的激活”,以及“激活推迟后使用更短信号期的方法”。

标签:BIP比特币BITCOINBIP价格小比特币是吗Moon RabbitSkyHub Coin

欧易交易所热门资讯
ROL:干货 | 区块链的热门主力方案Rollup是什么?

?最近,以太坊创始人VitalikButerin在一篇题为“混合式二层协议的曙光”的文章里对Rollup方案大加赞赏,认为它为智能合约的可扩展性打开了大门.

1900/1/1 0:00:00
比特币:彭博社调查:690 亿美元的Tether加密之谜的5个要点

10月7日消息,彭博商业周刊发布封面故事《Tether’s$69BillionMystery》,其中指出Tether在今年夏天出现指数级增长,目前有690亿Tether在流通.

1900/1/1 0:00:00
DAO:社交代币的悖论及心智模型

互联网现在是一个每个人都有库存的地方。NFT意味着我们第一次在互联网上拥有类似数字对象的东西。这种变化的重要性远远超出了目前在加密领域流行的东西。它不包含在艺术市场、收藏品甚至游戏中.

1900/1/1 0:00:00
OIN:数据:长期持有者积累BTC或将引发新一轮价格上涨

Cointelegraph今日发文称,本周的数据显示,比特币长期持有者将通过积累比特币引发新一轮价格上涨。Glassnode数据显示,比特币供应将进入一个新的老化过程.

1900/1/1 0:00:00
MBL:科普 | 加密货币中的熵是什么?使用24字短语比12字短语更安全吗?

原标题:《24个比12个更安全吗?熵来决定》熵本身就是一个重要的热力学定律,是一个涉及……热力学的深刻主题。熵让我们感兴趣的是,熵对密码学和加密货币至关重要。没有熵,加密货币就不安全.

1900/1/1 0:00:00
DOT:波卡的Staking机制是怎样的?

“波卡知识图谱”是我们针对波卡从零到一的入门级文章,我们尝试从波卡最基础的部分讲起,为大家提供全方位了解波卡的内容,当然这是一项巨大的工程,也充满了挑战.

1900/1/1 0:00:00