今年,比特币区块内有限的可用空间的需求大幅上升,导致链上交易费用更高。大部分需求是为了显示铭文的交易。这些铭文的内容作为证人数据的一部分被揭示1比特币交易的。此见证数据1折扣为其他交易数据成本的四分之一。为什么我们要给这些铭文打折?我们应该软分叉见证人折扣吗?
为什么某些字节比其他字节便宜?
一般来说,货币,特别是比特币,都是在人类激励的支持下运作的。比特币通过使用原生比特币代币向矿工支付将特定交易包含在他们构建的区块中的费用,从而协调了矿工和交易者的激励。对于调整节点运行者与矿工和交易者的激励,以及调整发送者和接收者之间的激励,情况并非如此。
迄今为止,比特币的激励机制已经有了 3 个重大改进:
限制区块大小
将复杂脚本的成本从发送者转移到接收者 (P2SH)
调整节点运行者和交易者之间的数据成本(SegWit)
交易者希望进行大量交易,矿工希望收取大量交易费用;但节点运行者必须转发、验证和存储所有交易数据,并且他们不会像矿工那样获得报酬。在比特币历史的早期,中本聪通过添加固定的区块大小限制(由节点强制执行)来解决这个问题。每个块的限制为 100 万字节,并对节点需要下载和验证的数据量设置了上限。当时,中本聪写道,“如果我们更接近需要的话,我们可以稍后逐步进行更改。”后来,在提到增加限制的补丁时,他指出,“如果不使用这个补丁,它会让你与网络不兼容”,这意味着增加块大小限制是一个硬分叉会改变,甚至比软分叉需要更多的协调。在接下来的几年里,比特币刻意避免了这种不兼容的硬分叉变化,这也意味着保持 100 万字节的区块大小限制。
由于比特币是通过锁定脚本来保护的,因此始终可以使用高级脚本(包括多重签名)来锁定它。根据最初的设计,比特币交易的发送者会将接收者的完整锁定脚本放入其交易中,并支付任何费用以将该锁定脚本包含在区块中。开发人员意识到,随着费用的增加,发送者可能会犹豫是否向较大锁定脚本的用户付款,因为向这些用户付款的成本更高。这些复杂的锁定脚本还给编码为地址并通过低带宽机制(例如 QR 码)共享带来了问题。
为了解决这个问题,P2SH 作为软分叉被添加到比特币中。根据该分叉的规则,发送者只需包含其哈希值,而不是将接收者的整个锁定脚本放入交易的输出中。当接收者不可避免地花费该输出时,他们会在支出交易中包含完整的脚本,该脚本在验证之前会根据硬币锁定的脚本的哈希值进行检查。通过此更改,任何大小的兑换脚本都可以由固定长度的锁定脚本表示,并且发送者不再需要(或能力)根据接收者的支出条件来区分接收者。
节点对比特币交易执行的最基本的验证是它们尝试花费的比特币确实存在。为此,每个节点维护每个可花费比特币单位(未花费的交易输出,UTXO)的索引。该指数越大,运行节点和验证未来交易的成本就越大2。因此,随着时间的推移,增加索引大小(输出多于输入)的交易比减少索引大小的相同字节数的交易成本更高。
大多数比特币解锁脚本的最大部分是加密签名。这些签名的大小约为其相应公钥的两倍,这使得解锁脚本(即使没有 P2SH)比锁定脚本更大。
消耗 UTXO 的成本与创建 UTXO 的成本明显较高,这导致了节点运行者和交易者之间的激励冲突。交易者不愿意花费小额 UTXO(尤其是在费用较高的时候),而更愿意花费大额 UTXO 并创建更多小额 UTXO。与此同时,节点运行者为所有交易的小型 UTXO 积累付出了更高的验证成本。
虽然看起来很奇怪,但历史上交易所花费的每个 UTXO 的验证区块链都有相应的锁定脚本来满足解锁脚本的基础性明显较低。就此而言,运行默认比特币核心 26.x 的比特币节点将不会验证区块 804000(2023 年 8 月 19 日)之前交易的完整锁定脚本执行情况。
以上所有内容都意味着区块链的不同部分对比特币节点施加了不同的成本。确定每笔交易效果所需的数据必须由从创世块同步的每个节点进行验证3,从长远来看,交易输出往往比交易输入成本更高(特别是如果它们的寿命很长),并且除了最近的交易之外,许多见证数据甚至都没有被检查。
隔离见证(SegWit)软分叉是迄今为止对比特币最雄心勃勃的改变。此次更改的最大动机是解决 TXID 长期存在的问题4 延展性5在比特币中。为了修复这种可塑性,解锁脚本被替换为新创建的“见证人”。通过从 TXID 中删除授权数据(通常可以由第三方更改,而不改变交易的效果),依赖于不变的 TXID 的协议(例如闪电网络)就成为可能。
将授权数据移出原始交易结构后,它不再计入 100 万字节区块限制。需要新的限制。当时讨论了许多限制隔离见证数据的方法:单独的见证字节限制6,组合限制,或加权组合限制。最终,选择了加权组合限制,隔离见证数据加权为1个单位,交易数据加权为4个单位,区块限制为400万个权重。出于费用计算的目的,每个重量单位被视为虚拟字节 (vByte) 的 1/4。7 100 万字节
为什么有这些重量?让我们看看有和没有隔离见证的交易输入和输出的成本:
从此表中要注意的第一件事是见证脚本类型(P2WPKH、P2WSH)如何具有几乎相同数量的输入和输出字节(每个字节收费一个完整的 vByte)。然后,见证脚本的支出者将被收取 1/4 vByte 的授权支出数据费用,其中大部分交易除了最近的交易外都没有经过验证,并且没有一个交易在 UTXO 索引中具有持续成本。这里值得注意的另一件事是,与单个签名相比,使用更安全的 2-of-3 多重签名的成本如何从 147 vBytes 减少到 36.25 vBytes。
正如我一开始所说的,比特币依赖于人类激励,在这里我们可以看到多年来比特币是如何进行改变的,以改善使用网络的各方之间的激励一致性。
主根本身“只是”使用隔离见证锁定比特币的另一种方法。它不会显着改变这些激励措施。 Taproot 带来的更改之一是取消了对脚本大小的某些限制。这样做是为了降低设计比特币脚本分析工具的复杂性,并承认不同类型数据的相对成本。消除这些限制使得铭文比 Taproot 之前更简单,但并没有从根本上改变网络的激励结构。
现在到问题的关键了。铭文在见证人中显示,因此每字节铭文数据仅收取 1/4 vByte 的费用。这是滥用证人折扣吗?事实是,铭文数据是网络上节点验证最便宜的数据之一。铭文使用的脚本结构显式地跳过铭文数据的执行,因此对其进行的唯一验证是单个哈希检查(确保所显示的铭文是铭文者计划揭示的内容)。该数据被散列一次,然后节点不再查看。它的计算成本非常低(比同等大小的多重签名脚本低一个数量级)。
但铭文正在推高费用并排挤其他用户。
是的!借助当前可与比特币网络交互的软件,与许多人进行其他交易相比,登记者有更大的经济动机来进行登记。
这凸显了增加比特币交易经济密度的价值。闪电网络朝着这一目标迈出了一大步,它可以将数百、数千或数百万的经济交易打包到单个比特币交易中。交易中每个字节的经济密度越大,为该经济活动支付的费用就越低。随着比特币交易经济密度的增加,区块空间的其他用途已经并将继续被定价9。
值得注意的是如果链下多重签名协议,例如MuSig2。< /span>字节减少或消除见证人折扣是有意义的。这些协议可以使原本大量的支出条件能够由单个签名表示。这与 Taproot 高效的关键路径支出相结合,可以将具有几乎任意复杂条件的输入成本降至仅 105 可能,或者适配器签名变得流行; FROST 或
对铭文造成的高额费用的反应与比特币历史上任何其他假设的天塌下来的情况一样:耐心建设,耐心建设。我们可以做很多事情来提高比特币交易的经济密度,从构建更好的闪电钱包到方舟再到离散日志合约及其他。 (过早地)取消见证人折扣、回滚主根或类似的适得其反的行为只会降低当前比特币交易的经济密度并加剧情况。
保持谦虚,堆叠卫星并进行构建。
这是布兰登·布莱克的客座文章。所表达的观点完全是他们自己的,并不一定反映 BTC Inc 或比特币杂志的观点。
今年,比特币区块内有限的可用空间的需求大幅上升,导致链上交易费用更高。大部分需求是为了显示铭文的交易。这些铭文的内容作为证人数据的一部分被揭示1比特币交易的。此见证数据1折扣为其他交易数据成本的四分之一。为什么我们要给这些铭文打折?我们应该软分叉见证人折扣吗?
为什么某些字节比其他字节便宜?
一般来说,货币,特别是比特币,都是在人类激励的支持下运作的。比特币通过使用原生比特币代币向矿工支付将特定交易包含在他们构建的区块中的费用,从而协调了矿工和交易者的激励。对于调整节点运行者与矿工和交易者的激励,以及调整发送者和接收者之间的激励,情况并非如此。
迄今为止,比特币的激励机制已经有了 3 个重大改进:
限制区块大小
将复杂脚本的成本从发送者转移到接收者 (P2SH)
调整节点运行者和交易者之间的数据成本(SegWit)
交易者希望进行大量交易,矿工希望收取大量交易费用;但节点运行者必须转发、验证和存储所有交易数据,并且他们不会像矿工那样获得报酬。在比特币历史的早期,中本聪通过添加固定的区块大小限制(由节点强制执行)来解决这个问题。每个块的限制为 100 万字节,并对节点需要下载和验证的数据量设置了上限。当时,中本聪写道,“如果我们更接近需要的话,我们可以稍后逐步进行更改。”后来,在提到增加限制的补丁时,他指出,“如果不使用这个补丁,它会让你与网络不兼容”,这意味着增加块大小限制是一个硬分叉会改变,甚至比软分叉需要更多的协调。在接下来的几年里,比特币刻意避免了这种不兼容的硬分叉变化,这也意味着保持 100 万字节的区块大小限制。
由于比特币是通过锁定脚本来保护的,因此始终可以使用高级脚本(包括多重签名)来锁定它。根据最初的设计,比特币交易的发送者会将接收者的完整锁定脚本放入其交易中,并支付任何费用以将该锁定脚本包含在区块中。开发人员意识到,随着费用的增加,发送者可能会犹豫是否向较大锁定脚本的用户付款,因为向这些用户付款的成本更高。这些复杂的锁定脚本还给编码为地址并通过低带宽机制(例如 QR 码)共享带来了问题。
为了解决这个问题,P2SH 作为软分叉被添加到比特币中。根据该分叉的规则,发送者只需包含其哈希值,而不是将接收者的整个锁定脚本放入交易的输出中。当接收者不可避免地花费该输出时,他们会在支出交易中包含完整的脚本,该脚本在验证之前会根据硬币锁定的脚本的哈希值进行检查。通过此更改,任何大小的兑换脚本都可以由固定长度的锁定脚本表示,并且发送者不再需要(或能力)根据接收者的支出条件来区分接收者。
节点对比特币交易执行的最基本的验证是它们尝试花费的比特币确实存在。为此,每个节点维护每个可花费比特币单位(未花费的交易输出,UTXO)的索引。该指数越大,运行节点和验证未来交易的成本就越大2。因此,随着时间的推移,增加索引大小(输出多于输入)的交易比减少索引大小的相同字节数的交易成本更高。
大多数比特币解锁脚本的最大部分是加密签名。这些签名的大小约为其相应公钥的两倍,这使得解锁脚本(即使没有 P2SH)比锁定脚本更大。
消耗 UTXO 的成本与创建 UTXO 的成本明显较高,这导致了节点运行者和交易者之间的激励冲突。交易者不愿意花费小额 UTXO(尤其是在费用较高的时候),而更愿意花费大额 UTXO 并创建更多小额 UTXO。与此同时,节点运行者为所有交易的小型 UTXO 积累付出了更高的验证成本。
虽然看起来很奇怪,但历史上交易所花费的每个 UTXO 的验证区块链都有相应的锁定脚本来满足解锁脚本的基础性明显较低。就此而言,运行默认比特币核心 26.x 的比特币节点将不会验证区块 804000(2023 年 8 月 19 日)之前交易的完整锁定脚本执行情况。
以上所有内容都意味着区块链的不同部分对比特币节点施加了不同的成本。确定每笔交易效果所需的数据必须由从创世块同步的每个节点进行验证3,从长远来看,交易输出往往比交易输入成本更高(特别是如果它们的寿命很长),并且除了最近的交易之外,许多见证数据甚至都没有被检查。
隔离见证(SegWit)软分叉是迄今为止对比特币最雄心勃勃的改变。此次更改的最大动机是解决 TXID 长期存在的问题4 延展性5在比特币中。为了修复这种可塑性,解锁脚本被替换为新创建的“见证人”。通过从 TXID 中删除授权数据(通常可以由第三方更改,而不改变交易的效果),依赖于不变的 TXID 的协议(例如闪电网络)就成为可能。
将授权数据移出原始交易结构后,它不再计入 100 万字节区块限制。需要新的限制。当时讨论了许多限制隔离见证数据的方法:单独的见证字节限制6,组合限制,或加权组合限制。最终,选择了加权组合限制,隔离见证数据加权为1个单位,交易数据加权为4个单位,区块限制为400万个权重。出于费用计算的目的,每个重量单位被视为虚拟字节 (vByte) 的 1/4。7 100 万字节
为什么有这些重量?让我们看看有和没有隔离见证的交易输入和输出的成本:
从此表中要注意的第一件事是见证脚本类型(P2WPKH、P2WSH)如何具有几乎相同数量的输入和输出字节(每个字节收费一个完整的 vByte)。然后,见证脚本的支出者将被收取 1/4 vByte 的授权支出数据费用,其中大部分交易除了最近的交易外都没有经过验证,并且没有一个交易在 UTXO 索引中具有持续成本。这里值得注意的另一件事是,与单个签名相比,使用更安全的 2-of-3 多重签名的成本如何从 147 vBytes 减少到 36.25 vBytes。
正如我一开始所说的,比特币依赖于人类激励,在这里我们可以看到多年来比特币是如何进行改变的,以改善使用网络的各方之间的激励一致性。
主根本身“只是”使用隔离见证锁定比特币的另一种方法。它不会显着改变这些激励措施。 Taproot 带来的更改之一是取消了对脚本大小的某些限制。这样做是为了降低设计比特币脚本分析工具的复杂性,并承认不同类型数据的相对成本。消除这些限制使得铭文比 Taproot 之前更简单,但并没有从根本上改变网络的激励结构。
现在到问题的关键了。铭文在见证人中显示,因此每字节铭文数据仅收取 1/4 vByte 的费用。这是滥用证人折扣吗?事实是,铭文数据是网络上节点验证最便宜的数据之一。铭文使用的脚本结构显式地跳过铭文数据的执行,因此对其进行的唯一验证是单个哈希检查(确保所显示的铭文是铭文者计划揭示的内容)。该数据被散列一次,然后节点不再查看。它的计算成本非常低(比同等大小的多重签名脚本低一个数量级)。
但铭文正在推高费用并排挤其他用户。
是的!借助当前可与比特币网络交互的软件,与许多人进行其他交易相比,登记者有更大的经济动机来进行登记。
这凸显了增加比特币交易经济密度的价值。闪电网络朝着这一目标迈出了一大步,它可以将数百、数千或数百万的经济交易打包到单个比特币交易中。交易中每个字节的经济密度越大,为该经济活动支付的费用就越低。随着比特币交易经济密度的增加,区块空间的其他用途已经并将继续被定价9。
值得注意的是如果链下多重签名协议,例如MuSig2。< /span>字节减少或消除见证人折扣是有意义的。这些协议可以使原本大量的支出条件能够由单个签名表示。这与 Taproot 高效的关键路径支出相结合,可以将具有几乎任意复杂条件的输入成本降至仅 105 可能,或者适配器签名变得流行; FROST 或
对铭文造成的高额费用的反应与比特币历史上任何其他假设的天塌下来的情况一样:耐心建设,耐心建设。我们可以做很多事情来提高比特币交易的经济密度,从构建更好的闪电钱包到方舟再到离散日志合约及其他。 (过早地)取消见证人折扣、回滚主根或类似的适得其反的行为只会降低当前比特币交易的经济密度并加剧情况。
保持谦虚,堆叠卫星并进行构建。
这是布兰登·布莱克的客座文章。所表达的观点完全是他们自己的,并不一定反映 BTC Inc 或比特币杂志的观点。