综合介绍
我们在第8章中看到的Alice创建的数字签名只证明她知道自己的私钥,并且她承诺了一笔向Bob支付的交易。她可以创建另一个签名,该签名承诺了一笔向Carol支付的交易——即使用相同的输出(比特币)来支付Bob的交易。现在,这两笔交易是冲突的交易,因为只有一笔交易可以花费特定的输出,才能包含在具有最多工作量证明的有效区块链中——全节点用于确定哪些密钥控制哪些比特币的区块链。
为了保护自己免受冲突交易的影响,对Bob来说,他最好在Alice的交易被确认到足够深度的区块链中之前等待一段时间,然后再考虑他收到的钱是否可以花费(请参阅第14页的“确认”)。要将Alice的交易包含在区块链中,它必须被包含在一个交易块中。在一定时间内会产生有限数量的区块,并且每个区块只有有限的空间。只有创建该区块的矿工才能选择包含哪些交易。矿工可以按照任何他们想要的标准选择交易,包括拒绝包含任何交易。
在本章中,当我们提到“交易”时,我们指的是除了第一个交易之外的每个交易。在一个区块中的第一个交易是一个coinbase交易,它在第139页的“Coinbase交易”中有描述,允许该区块的矿工收取他们为产生该区块而获得的奖励。与其他交易不同,coinbase交易不花费前一笔交易的输出,并且还是适用于其他交易的几项规则的例外情况。Coinbase交易不支付交易费用,不需要调整费用,不受交易固定的影响,并且在讨论费用的后续讨论中主要没有意义,因此在本章中我们将忽略它们。
几乎所有矿工选择交易包含在其区块中的标准是最大化他们的收入。比特币专门设计了一个机制来实现这一点,允许一笔交易向将该交易包含在区块中的矿工支付费用。我们称这种机制为交易费用,尽管它并不是通常意义上的费用。它不是由协议或任何特定的矿工设定的金额,而更像是拍卖中的出价。所购买的商品是区块中交易将消耗的有限空间的部分。矿工选择那些出价将使他们获得最大收入的交易集合。
在本章中,我们将探讨这些出价——交易费用的各个方面,以及它们如何影响比特币交易的创建和管理。
Last updated