比特币核心能否将lockinontimeout参数的选择完全留给比特币核心用户,而不设置默认值?提问

0
对于直根bip8激活机制的lockinontimeout(LOT)参数,似乎没有压倒性的共识。我知道有些人会强烈反对这样做,但比特币核心版能否发布一个版本,让用户在运行该软件之前,在将LOT设置为true或false之间进行选择?这在技术上可行吗?
软叉
主根
活化机理
带锁定的bip8版本位
bip8版本位
分享
改进这个问题
跟随
两小时前编辑的
2月20日12:54问
迈克尔·福克森
525666银牌2222铜牌
添加评论
1个答案
0
马特·科拉洛和ZmnSCPxj在比特币开发者邮件列表上回答了这个问题。
马特·科拉洛说:
比特币核心不具备处理具有相同datadir的交换共识规则的基础设施-在使用uasf=true运行一段时间后,有效的块将被标记为无效,并且需要进行额外的开发以允许切换回uasf=false。这是一个复杂的、关键的代码,而且所需的评审和测试周期似乎不值得。
相反,发布这样一个选项的唯一实用方法是将它作为一个单独的链来处理(与处理regtest、testnet和signet的方式相同),包括它自己的单独datadir等等。
ZmnSCPxj补充道:
在没有任何其他含义的情况下,这可以由一个用户维护两个datadir并运行两个客户机来解决。这将有一个运行LOT=X的“外部”客户机(其中X是用户喜欢的值)和一个最大值为0.21.0的“内部”客户机,这将不会强加任何LOT规则。然后,内部客户机使用connect=指令在本地连接到外部客户机,并仅连接到该客户机,将其用作防火墙。可以修剪外部客户端以减少磁盘空间资源的使用(如果用户需要,内部客户端可以保持未运行状态,例如对于需要查找任意短通道ID的LN实现)。带宽使用应该是相同的,因为内部客户端只连接到外部客户端,操作系统应该优化这种情况。不过,CPU使用率增加了一倍。(一般的想法来自gmax,只是想说清楚,不过下面的用法是我写的)
然后用户可以选择LOT=C或LOT=!C(其中C是最终随附的比特币核心)基于用户偏好在外部客户机上。
如果主根未激活MASF并且LOT=!U是以后的主导因素(其中U是用户决定的内容),用户可以决定只销毁外部节点并将内部节点直接连接到网络(可以选择将内部节点升级到LOT=!U) 作为一种“改变他们对经济的看法”的方式。内部节点随后将跟随主导链。
分享
改进这个答案
跟随
编辑时间:2月20日14:19
2月20日12:54回答
迈克尔·福克森
525666银牌2222铜牌
添加评论

037080blockchainBTC区块链

发表评论

邮箱地址不会被公开。 必填项已用*标注