CoinGeek科技比特币规则VS共识规则

在最近的YouTube访谈中,瑞安·查尔斯(Ryan X. Charles)和nChain首席技术官史蒂夫·施德斯(Steve Shadders)讨论了即将在2月份推出的比特币SV(BSV)网络创世(Genesis)协议升级的具体细节。访谈的主题围绕比特币规则和共识规则之间的差异。本文旨在阐明这些问题,并就如何保持比特币SV网络向前发展提供一些观点。

什么是比特币规则?

比特币规则定义为所有节点都必须遵守的规则集。一个例子是通货膨胀时间表(50 -> 25 -> 12.5 -> 6.25…),以及代币可以铸造的时间(只有当找到一个区块,coinbase交易)。

什么是共识规则?

共识规则定义为在给定时间点,哪些节点必须同意有效的内容。例如,在类星体(Quasar) 升级中,默认区块大小为2GB。节点可以随时更改此设置,而且矿工似乎大多已设置了512MB的上限,因为我们还没有看到超过此上限的区块。

[caption id="attachment_241564" align="aligncenter" width="625"] 图片来源:Blockchair[/caption]

有何区别?

施德斯在

&t=259" target="_blank" rel="noopener noreferrer">@4:19解释了这一点,因为比特币规则是不可变的 (无法更改) ,而共识规则是可变的。我要补充的是,未来共识规则将受市场力量的引导,而不是一成不变。

创世升级的真正目的是消除协议开发人员的中央规划,使矿工能够控制网络,根据市场力量管理自己的设置,并允许他们无限扩容。

通过取消比特币核心施加的所有限制并优化软件,比特币SV节点团队为矿工们提供了一个良好的起点,开始拥有这个网络。

矿工与协议开发人员之间的关系

过去,默认设置决定了矿工如何管理节点。默认值不会更改,因为没有动机这么做。区块奖励大部分是固定的;费用相对较低,而矿工的利润率大多与其相对的哈希值有关。随着块状奖励的减少,交易费用必须弥补损失的矿工收入,以稳定采矿动机。因此,矿工必须能够处理大量交易,才能获得前进的费用,这意味着节点软件必须能够扩容。

目前为止,在BTC、BCH和大多数BSV中,矿工们已经采取了经济计划,并允许未雇用的协议开发人员指导他们如何开展业务。这是荒谬的。

直到去年,我们才看到BSV矿工对网络拥有更多的控制权,这主要是因为协议开发人员对规则集的定义变得更加宽松。

在类星体升级中,该软件不太可能能够处理2GB的区块。即使矿工试图开采这么大的区块,它也会被其它节点拒绝,因为他们可能已经设置了较低的上限。矿工不想冒着跳出来可能导致亏损的风险,因此他们与其他矿工达成了共识。

这里的区别是关键的;矿工们共同建立了这个512MB的上限,而不是被告知要设置该上限。这是交易的供求关系和所谓的竞争机制。

OP_Codes必须是不可变的

[caption id="attachment_241567" align="aligncenter" width="568"] 资料来源:Twetch[/caption]

通过使op_codes可变并禁用某些代码,因为它们“太难”修复,限制了许多潜在的用例。围绕op_codes的分歧产生的戏剧性后果甚至是将比特币现金从比特币SV分裂的因素之一。

锁定比特币的编程语言非常重要,因为它与

&t=660" target="_blank" rel="noopener noreferrer">可消费和不可消费的代币保持一致。如果代码被任意禁用,旧的代币可能变得毫无用处。此外,通过增加评估方式的复杂性,代币可能会被盗——这正是核心通过添加P2SH和Segwit所做的。

建立协议规范

沙德尔在

&t=792" target="_blank" rel="noopener noreferrer">@13:12指出,过去,比特币规范是比特币核心参考客户端的运作方式。作为一个有经验的软件开发人员,这个概念是荒谬的,因为它意味着文档就是代码,所以只有那些能够阅读代码的人才能理解它的作用!

这将核心开发人员置于权力的恒定位置,因为他们是唯一真正理解他们添加的复杂修改的人。比特币规范从未发布,这是很自然的,因为它会从这些开发人员手中剥夺一些权力,并将这种权力重新分配给用户和矿工。

通过使创世规范中的共识规则更加透明(并通过MineID,稍后将提到),建立比特币规范是更为可行的。锁定的协议很容易记录,因为它不会更改。

实现细节与协议的融合

众所周知,Mempool是存储在内存中的节点的未确认交易。这不是必需的,因为节点可以将它们存储在任何地方(磁盘上,甚至纸张上!)施德斯在

&t=1220" target="_blank" rel="noopener noreferrer">@20:20讨论了为什么此命名应更改为“未确认的交易集”之类的命名。由于它不是比特币协议的一部分,因此可以用矿工选择的任何方式实现。矿工不会分叉区块链,因为他们找到了优化节点软件的更好方法。

这种思维方式的负面影响在于它造成了一种错误的限制。对必须如何进行自定义操作的理解。通过消除这些概念的混淆,为矿工们提供了更多的控制权。

新的共识规则

由于不受限制的脚本语言,已经实现了名为“最大脚本内存使用量”的新共识规则。这种配置允许矿工管理单个脚本消耗的最大内存量。此设置最初将取消上限,迫使矿工拥有自己的节点。如果矿工没有设置,那么不可避免地当有人编写一个极其复杂的脚本时,他们的节点将崩溃。

矿工可以使用新的Miner ID API(目前正在测试中)来就此值进行合作,使他们能够查询其它节点的设置,以便协作管理网络,这样他们不会分叉,但仍在同时进行竞争。

此规则应有助于将此值提高,因为处理更复杂的脚本的能力会导致产生更高的潜在收入(作为费用),并产生更强的激励来优化节点中的脚本处理。

P2SH的弃用

&t=1521" target="_blank" rel="noopener noreferrer">@25:21施德斯谈到这是一个有争议的更改,因为它是多重签名交易的主要机制。首先,这引起争议的唯一原因是比特币核心开发人员禁用了脚本,使多重签名交易不可行,从而激发了人们使用P2SH作为该机制的动机。这是中央计划的意外后果的又一个例子。

为了凸显空间的争议和不成熟性,托管钱包服务BitGo声称,他们的钱包为BSV实施这种更改将花费300万美元。

[caption id="attachment_241570" align="aligncenter" width="598"] 资料来源:Twetch[/caption]

以上Twetch内容突出说明了这个声明有多精明。nChain甚至提出要为BitGo进行开发,为此他们将其价格提高到1500万美元。

不知何故,nChain应该支付Bitgo 1500万美元来为他们做开发。弃用P2SH是使空间成熟并淘汰这些幼稚的市场参与者的必要步骤。

最后,祖先限制

&t=2010" target="_blank" rel="noopener noreferrer">@33:30有争议的祖先限制,阻止用户在区块中挖掘之前创建26个或更多的链式交易。施德斯提供了一个更新,该限制可以在“几天内”提高到50个,并在创世升级之前可能提高到100。长期计划是彻底取消这一上限,不管怎样这是一个好消息。

施德斯强调,如果&t=2080" target="_blank" rel="noopener noreferrer">利用Merchant API直接向矿工广播交易,则此上限可能会提高很多。这进一步激励人们按照设计使用比特币网络,节点是属于矿工的,体现了一个强大、健全的小世界网络。

您是比特币新手吗?请查看CoinGeek的比特币新手入门栏目,这是了解更多关于(中本聪最初设想的)比特币与区块链的终极资源指南。

Tagged

比特币SV
史蒂夫·施德斯
创世(Genesis)
协议升级
比特币规则
共识规则

更多科技新闻

科技十月 04, 2022
为什么将聊天置于链上?

为什么将聊天置于链上?

随着Bitchat的重新推出,人们自然会问为什么要将聊天信息储存在区块链上。特别是如果聊天信息是纯文本的,并且在账本上是公开的,这种方法对“常人”来说就显得毫无意义。

科技九月 27, 2022
推出比特币创新计划以促进比特币发展

推出比特币创新计划以促进比特币发展

该课程由BSV比特币协会研发,课程时长为期十周,深入探讨了哈希函数、默克尔树、数字签名以及更多内容。

科技九月 21, 2022
Bitchat继续存在

Bitchat继续存在

Bitchat是对于2019年初_unwriter推出的一款应用程序的复兴。这一次,Bitchat依赖于更加强劲的基础设施与协议,例如即将推出的JungleBus API和比特币Schema协议。

科技八月 01, 2020
华为申请区块链存储专利

华为申请区块链存储专利

据当地媒体报道,华为已申请多项与区块链技术存储方法和装置相关的专利。