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

比特币软分叉激活史(下)

作者:

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

干货 | 比特币软分叉激活史(上)

(续前)历史

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

没必要地惩罚矿工:ISM 激活会导致区块版本号递增,没有递增版本号的矿工所生产的区块就会被当成无效的,即使这个区块并没有违反软分叉的其它规则。举个例子,在 2015 年7 月 4 日的链分裂中,所有的交易都遵守软分叉规则 —— 这些矿工损失 50 万美元的唯一理由就是升级要求区块头里应该包含一个?3?而没升级的矿工使用了?2?。

很难并行化:使用 ISM,即使开发者认为有必要,也必须等待一个分叉结束,另一个分叉才能开始收集信号。

不允许失败:ISM 不设过期时间。等待激活信号的节点软件一旦放出,运行了新软件的节点就会一直监控信号,直到激活完成。没有办法确定人们是不是完全不需要这个软分叉。

不可预期的激活时间:无法提前知道确切的激活时间,意味着协议开发者、商户系统管理员以及矿池运营者,都很难在激活之后短时间内立即投入使用,即使出现了需要快速反应的问题。

BIP9 versionbits 尝试解决这些问题。它将区块头内的 vision 字段用作 bit 字段。这个字段里面的数据只用来表示信号 —— 不会被当成无效区块的依据 —— 并且可以并行地设置。测量每 2016 个区块运行一次,以压缩某一小部分算力足够幸运便能冒充 95% 支持的可能性。最后,当达到了 95% 的信号门槛,激活之前会有额外的 2016 个区块(约两周)的 “锁定期”,以便各方准备升级。如果过期时间之前未能达到激活的门槛,整个软分叉的尝试就结束,没有用上的代码可以在后来的软件版本中删除。

美国点对点比特币交易量维持在较高水平:金色财经报道,LocalBitcoins和Paxful的数据显示,包括印度(每周340万美元)、墨西哥(每周70万美元)、阿根廷(每周100万美元)在内的几个国家的P2P比特币交易量达到了历史最高点,发展中国家的人们正在大量购买比特币。此外,美国在Paxful和LocalBitcoins上进行的比特币交易的每周交易量也创下了纪录。6月中旬,美国交易者在这两个平台一周内交易了价值超过3000万美元的比特币。在过去7天里,交易量略低于3000万,这表明人们对比特币的兴趣并未减弱。[2020/7/24]

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

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

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

加拿大比特币贷款公司Ledn针对拉丁美洲用户推出USDC储蓄账户:加拿大比特币贷款公司Ledn与贷款交易公司Genesis合作,将主要针对拉丁美洲用户,提供USDC稳定币储蓄账户。(CoinDesk)[2020/5/14]

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

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

动态 | 比特币开发者:存储比特币的成本增加,目前约为每年2.1%:比特币开发者Tamas Blummer发文称,存储比特币的成本增加,目前估计为每年2.1%。他补充说,比特币存储最明显的成本是与将其进出钱包相关的费用。这些费用由移动代币的人支付,并且与交易的字节大小成正比,而不与移动的金额成正比。[2019/10/14]

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

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

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

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

使用 chainwork 来替换高度(2010 年 7 月):比特币一开始认定最多区块的链(“最长链”)为有效的链。如果每个区块都有同样的难度,那这样的最长链同时也会是积累了最多工作量证明的链。但是不同的区块有不一样的难度,所以?chainwork?软分叉在?Bitcoin 0.3.3?中放出,将累积最多工作量证明的链视为有效链。

行情 | 比特币全网实时算力65.5 EH/s:据Tokenview数据显示,截至今日十点,比特币全网实时算力为65.5 EH/s,较昨日下降16.2%;以太坊全网算力为172.63 TH/s,较昨日下降0.34%;莱特币全网算力为444.09 TH/s,较昨日上涨1.86%。当前比特币全网待确认交易笔数8554笔,交易费中位数0.7327美元。[2019/8/2]

消除绕过脚本的 bug(2010 年 7 月):比特币一开始将花费 UTXO 的脚本(scriptSig)和保护 UTXO 的脚本(scriptPubKey)结合起来、同时求值。这种设计使得人们可以在锁定机制计算之前就终止脚本,以成功状态退出,例如,在运行?OP_CHECKSIG?以检查签名之前就终止脚本。这个 bug 最初被报告为?使用?OP_TRUE OP_RETURN?的 scriptSig 可以花费任何人的比特币。这个漏洞在?Bitcoin 0.3.6?中第一次修复,办法是让?OP_RETURN?必定以失败收场,而且为脚本的其它显示安排了数字。虽然所有这些变更都是软分叉,但相同代码的修改(后来移除某些限制)也会造成硬分叉式的更改。即使是这么重大的变更,scriptSig 可以篡改 scriptPubKeys 运行的底层问题仍然存在,所以第二次软分叉在?Bitcoin 0.3.8?中实现,它让两者独立执行。

声音 | BitMEX:比特币若在下次金融危机时表现良好,将出现积极作用:据coingape报道,在BitMEX的最新报告中,BitMEX表示金融风险的中心已从银行转向资产管理行业。下一次全球金融危机时零售银行存款和支付系统受到威胁的可能性不大。对于加密货币,BitMEX表示,如果比特币在下一次危机(流动性受到限制)时表现良好,那对比特币和其作为价值存储的投资理论将是一个巨大的积极因素。[2019/2/13]

修复溢出漏洞(2010 年 8 月):某人创建了一笔交易来花费 0.5 btc 并创建了两个价值 92,233,720,368.54277039 BTC 的输出。比特币的确要求输出的数值不能大于输入的数值,但检测方法是把输出的数值加入到一个最多能表示 9,223,372,036,854,776 聪(约 9200 万 btc)的 64 位整数中,这个整数溢出后就会从 -9,223,372,036,854,776 聪开始。这就意味着,这个交易似乎只花费了总计 -0.1 btc。这还绕过了另一条规则,就是禁止单个为负的输出,但是不禁止总计为负的数值 —— 因为它假设了任何正值的总和都仍会是正的。这使得某人创造出了 1840 亿 btc,而且这样的把戏可以不断重复,没有任何代价,产生无数的比特币。几个小时内,Bitcoin 0.3.10?放出了一个软分叉补丁,限制输出为 2100 万 btc。它还要求放弃带有溢出交易的链 —— 这是有意制造的共识失败,但为了比特币仍然有意义就必须这么做。

临时修复 BDB 锁定问题(2013 年 3 月):2012 年初,比特币开发者意识到,如果同时对 UTXO 数据库(链状态)做太多更改,可能会超出链状态数据的默认容量限制之一。因为当时的比特币区块比较小,只有在区块链重组、需要同时处理来自多个区块的交易时才会观察到这个情形。当时人们实现了一个简单的解决方案:在重组期间,一次只处理来自一个区块的交易。后来,一些人开始请求矿工把可选的默认区块大小从 250 KB 提高。在 2013 年3 月 12 日,某个矿工生产了一个约 1 MB 的区块,包含了超过 1700 笔交易 —— 也是截至当时最大的比特币区块 —— 在许多节点上都超过了数据库的容量,导致它们认为这个区块时无效的,即使它完全符合比特币的明示的共识规则。把水搅得更浑的是,一个新版 Bitcoin Core 已经发布,它用上了不一样的数据库引擎,没有这种限制,因此也能安然地接收这个更大的区块 —— 所以不同版本的节点之间出现了共识错误。在快速分析了情况之后,开发者鼓励用户暂时降级到旧版本(会拒绝掉这个大区块的版本),然后更新到一个紧急版本,以软分叉暂时将区块大小的上限降到 500 KB,好留出时间让每个用户都能升级新的数据库引擎,而这种暂时的下调会在几个月之后自动过期。

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

允许强制激活:BIP8 是 BIP148 的一般化,矿工可以在等待激活的时间段里自愿发信号表示支持,但它还设了一个最后通牒时间段,矿工在这段时间里必须发信号表示支持,否则所生产的区块就有可能变作无效的。后来,人们设计了一个参数?LockinOnTimeout?(LOT)来触发这种动作:使用?LOT=true?的节点,会要求矿工在激活即将超时的最后一段时间里发出信号;使用?LOT=false?的节点,不会这么要求,但如果有足够多的区块带有信号,仍然会实行新规则。

使用高度而非时间:BIP9 开始和停止监控激活信号的时间都基于矿工写入区块的时间的平均值。所以矿工是有可能操控这个时间的,这会阻碍?LOT=true?的功能,所以 BIP8 提议使用区块高度而非时间。

BIP8 的灵活性使其成为了?taproot?软分叉的多种候选激活提案之一,虽然批评者也批评了它的某些方面,比如某些设置允许矿工拒绝激活得到广泛社区支持的提议、鼓励一个团体?“俘虏” 另一个团体所用的信号机制、要求矿工对所生产的区块作没有实质意义的更改、看起来给了开发者凌驾于共识规则的权威以及提高了共识失败的风险。截至本文撰写之时,taproot 激活方法的讨论仍在进行。

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

(很多,略)

BIP 激活高度、时间和阈值

Taproot

原文链接:

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

作者:?Bitcoin Optech

标签:BIP比特币BITCOINBIP币比特币行情软件下载bitmart最新消息Space Pig Coin

XMR热门资讯
穆长春:数字人民币助力金融普惠

24日,在第10届中国支付清算论坛上,中国人民银行数字货币研究所所长穆长春针对数字人民币助力金融普惠问题进行了分享.

1900/1/1 0:00:00
Arbitrum锁仓值一周飙升3200% 以太坊Layer 2季节来了?

北京时间9月13日消息,据Dune Analytics统计数据显示,以太坊Layer 2网络Arbitrum的资产桥TVL已突破21亿美元,其7天的TVL增长率超过了3200%,而在同期.

1900/1/1 0:00:00
金色观察|XCM:波卡中继链运行的消息格式

Kusama已经开启了第8次卡槽拍卖了,这也代表着Kusama的中继链上共享安全的平行链将有第8个。Kusama的中继链结构和波卡的中继链是一样的。因为共享安全的设计,不同异构链可以完成消息通讯.

1900/1/1 0:00:00
金色观察 | 不仅twitter 他们也接受了加密货币支付

如今越来越多的企业或公司已开始接受加密货币。美东时间23日周四,Twitter公布,与基于比特币闪电网络的加密货币钱包公司Strike合作,利用Srike的API平台,推出名为Tips的新功能,让Twitter用户能用比特币给喜爱的内.

1900/1/1 0:00:00
发挥区块链优势 推动数字经济发展

数字金融的发展离不开技术的驱动。区块链具备提升协同效率、促进数据共享、优化业务流程、降低运营成本和建设可信体系的优势,在数字金融的发展中不可或缺。中国人民银行副行长范一飞曾指出,数字经济是肌体,数字金融是血脉,两者共生共荣.

1900/1/1 0:00:00
金色早报 | 以太坊BTC锚定币发行量创历史新高

头条 ▌以太坊BTC锚定币总发行量首次突破28万枚 创历史新高金色财经报道,据最新数据显示,以太坊区块链上的比特币锚定币总发行量首次击穿28万枚,创下历史最高记录,本文撰写时为28.114万枚.

1900/1/1 0:00:00