首页 > 比特币 > 正文

两年多来,比特币的共识层一直保持不变。自2017 年 8 月激活的隔离见证(SegWit)以来,根本没有部署硬分叉或软分叉协议升级*,这是比特币迄今为止最长的没有共识分叉的时期。

但是这种延伸可能很快就会结束:目前正在开发几个向后兼容的软分叉。乐观地说,其中一些可能会在 2020 年上线——如果它们从比特币生态系统中获得足够的支持。

这些可能是比特币在新的一年里的协议升级……或者可能是新的十年。

比特币交易协议管理

Schnorr 签名被许多密码学家认为是该领域最好的密码签名类型。它们提供了很强的正确性,不受延展性的影响,验证速度相对较快,也许最有趣的是,允许使用它们进行数学运算。举一个比特币的具体好处:多个签名可以聚合成一个签名,例如,这可以在经济上激励隐私增强的 CoinJoin 交易

将 Schnorr 签名添加到比特币协议已经有一段时间了。但在过去的一年里,致力于Schnorr 签名提案的开发人员,如 Blockstream 开发人员 Pieter Wuille 和 Jonas Nick 以及 Xapo 的 Anthony Towns,透露了更雄心勃勃的计划。Schnorr 签名将作为名为Taproot的更大软分叉协议升级的一部分提出,这是比特币核心贡献者 Gregory Maxwell 提出的提案,其本身受到名为MAST(默克尔化抽象语法树)的旧提案的启发。

(部分)比特币可以以这样的方式锁定,以便它们可以在几种不同的条件下使用,例如需要时间锁定、几个参与者的秘密号码来同意解锁硬币。使用 MAST,所有不同的条件都被散列并包含在默克尔树中:一种紧凑的加密数据结构。然后这些硬币基本上会被锁定在这个默克尔树的最终哈希中,即默克尔根。要花费硬币,您需要透露您最终使用的条件。硬币可以被解锁的替代方式永远隐藏。

因此,Taproot 基于一个有趣的认识:无论多么复杂,几乎任何 MAST 构建都可以(或应该)包含一个条件,允许所有参与者就结果达成一致并共同签署结算交易。这种“合作关闭”将覆盖所有其他条件。

Taproot 利用这种实现并利用 Schnorr 签名使合作关闭看起来像常规交易。简而言之,合作关闭将使用聚合签名完成,这看起来就像一个常规签名。在这样做时,MAST 结构对外界完全隐藏!这有利于隐私和效率。

Taproot 还可能附带比特币编程语言 Script 的更新版本,称为Tapscript。这也将使以后更容易向比特币的编程语言添加新功能(“OP 代码”)。

尽管开发人员仍在讨论实现细节,但 Taproot 似乎没有太大争议。

大共识清理

大共识清理是 Square Crypto 开发人员 Matt Corallo 提出的软分叉。与大多数协议升级(包括此列表中包含的其他升级)相反,Great Consensus Cleanup 并非旨在通过新功能或可能性来丰富比特币。相反,顾名思义,这个软分叉将从比特币协议中删除一些边缘案例漏洞。

这些漏洞是非常技术性的,而且是“杂草丛生”。例如,它们包括需要大量处理能力来验证的边缘类型的交易、升级协议部分的冗余技巧以及比特币难度调整算法的弱点。一段时间以来,人们都知道这些漏洞的存在,但人们普遍认为,利用它们的成本太高而无法盈利,或者这种漏洞发生时相对容易处理。尽管如此,修复它们会使比特币稍微更健壮,同时会使开发比特币实现更容易一些。

对(部分)The Great Consensus Cleanup 的主要反对意见可能是,某些升级理论上可能会使某些现有的代币 (UTXO) 无法使用。虽然这种 UTXO 根本不可能存在,但无法确定它们是否存在,有些人认为,使它们无法使用是一种风险,原则上永远不应采取这种风险。

“无输入类”

比特币交易包括加密签名,这证明公钥的所有者确实希望在该特定交易中花费相应的硬币。但并非整个交易都已签署。交易的哪一部分被准确签名,用称为“sighash 标志”的东西表示。

现在,Blockstream 开发人员 Christian Decker 和 Xapo's Towns 提出了一类新的 sighash 标志。带有诸如SIGHASH_NOINPUT、SIGHASH_ANYPREVOUT和 SIGHASH_ANYPREVOUTANYSCRIPT 之类的名称,它们提供了类似的解决方案,因此我们将所有这些称为“Noinput 类”。

如果交易中包含 Noinput 类中的 sighash 标志,则表示输出(交易的“接收”部分)和其他一些交易数据将被签名,但不会对输入(交易的“发送”部分)进行签名。交易)。通过不签署输入,即使在签署并交换不同但兼容的输入之后,也可以进行交易。 

通常情况下,不会有任何其他兼容的输入。签名仍然对应一个公钥,而这个公钥只对应一个特定的(a 的一部分)硬币。交换随机输入会破坏此链接并使交易无效。

但也有一些例外,可以交换输入。值得注意的是,一种名为 Eltoo 的新型闪电网络支付通道协议的比特币交易可能需要将其输入交换为兼容的输入。这将大大简化支付渠道的执行方式。最值得注意的是,错误和其他无心之过不会导致频道中所有资金的损失,而且用户可以使用更少的备份数据。

对 Noinput 类的主要反对意见是,如果使用不当,尤其是 SIGHASH_NOINPUT 可能是不安全的。SIGHASH_ANYPREVOUT 和 SIGHASH_ANYPREVOUTANYSCRIPT 解决了这个问题(并使其与 Taproot 兼容),但代价是更加复杂。有些人还建议 OP_CHECKTEMPLATEVERIFY(见下文)或OP_cat(可以重新启用的禁用 OP 代码,也许通过 Tapscript)可以提供类似的好处。

OP_CHECKTEMPLATEVERIFY

OP_CHECKTEMPLATEVERIFY (CTV),以前称为 OP_SECURETHEBAG,是比特币核心贡献者 Jeremy Rubin 提出的新 OP 代码。作为其主要好处,它可以帮助缓解比特币在高峰时段的网络拥塞和费用,有效提高网络吞吐量。

更具体地说,CTV 将在某种程度上允许将比特币交易分成两笔交易。本次交易的“发送”一半将包括输入,基本上硬币被发送的地址。交易的“接收”部分包括输出,基本上是硬币发送的地址。

这两部分将通过包含在“发送”交易中的特殊输出相互联系起来,称为“承诺输出”。提交的输出将包含一个加密哈希:一个看似随机但相对较短的数字串,作为唯一的序列号,将其链接到“接收”交易。在“发送”交易中“发送”的币只能被“接收”交易“接收”。

诀窍在于,两个“一半”——“发送”和“接收”交易——都被广播到网络,但有一个重要的区别。“发送”交易包含相对较大的费用,以确保其快速确认。“接收”交易包括相对较低的费用,这意味着可能需要一段时间来确认。

等待低费用交易确认对于代币的接收者来说应该不是什么大问题。一旦“发送”交易被确认,它确保所有的钱都被保证到“接收”交易。资金锚定在区块链中,除了收款人之外别无他处。

如果收件人确实需要加快“接收”交易的速度,例如,因为他们必须重新花费硬币,他们可以直接从未经确认的“接收”交易中直接花费资金。如果新交易的费用足够高来补偿,那么“接收”交易和新交易都会很快得到确认。(这个技巧被称为“Child Pays for Parent”。)更有趣的是,CTV 允许通过将“接收”交易分成更小的交易(称为 Tree Payments)来提供更有效的解决方案。

对 CTV 的主要反对意见可能是可能有更好和/或更通用的方法来完成同样的事情。(更通用的解决方案通常称为Covenants。)有些人还建议 Noinput 类或OP_cat可以提供类似的好处。

传动链 BIP

侧链是与比特币区块链“挂钩”的区块链,允许比特币有效地从比特币的区块链“移动”到侧链并返回。一旦硬币在侧链上,它们将遵守该区块链的协议规则,该规则可能与当今存在的任何区块链一样多样化。例如,可能有用于隐私的“Zcash 侧链”、用于某些智能合约的“以太坊侧链”或用于低费用区块链交易的“大块侧链”。

一些侧链已经存在,最著名的是 Blockstream 的 Liquid(主要用于交易所间资金转移)和 RSK Labs 的 RSK(“以太坊侧链”)。这些是“联合侧链”:比特币区块链和侧链之间的桥梁由该领域知名公司的“联合”管理。他们基本上控制比特币区块链上的多重签名地址,并集体签名以来回“移动”硬币。

Drivechains 将由比特币矿工保护:相同的矿工提供已经保护比特币区块链的哈希能力。将资金从侧链“转移”回主链将需要在很长一段时间内获得大部分哈希能力。此外,驱动链将被合并开采,这意味着比特币区块链上的哈希能力也可以保护侧链。

为了实现这一点,Tierion 开发人员 Paul Sztorc 和化名 CryptAxe 提出了两个软分叉。第一个称为Hashrate Escrows,将在比特币区块链的合约中锁定资金(将它们“移动”到侧链),只有在足够的哈希率投票以解锁资金时才能解锁(“移动”硬币) . 第二个软分叉,称为Blind Merged Mining,将使侧链能够得到与比特币区块链相同的哈希能力的保护。

Drivechains 有点争议,因为(有人认为)它会给比特币矿工更多的权力。有些人还建议使用 Noinput 类可以实现盲合并挖掘。

猜你喜欢
发表评论

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

评论信息