整合比特币交易到区块中

比特币验证交易之后,比特币节点会将它们加入内存池(或交易池)中,交易在那里等待着被加入(挖矿)一个区块内,这是比特币共识机制的第二个步骤(比特币共识机制第一步:独立交易验证)。景的节点与其他节点一样,收集、验证并转发交易。与其他节点不同的是,景的节点在完成这些动作后,还要把这些交易整合到一个候选区块(candidate block)中。

我们来跟踪一些区块,这些区块是在爱丽丝从鲍勃咖啡店购买一杯咖啡期间创建的。爱丽丝的交易被包含进277316号区块。为了演示所阐述的概念,我们假设这个区块是被景的挖矿系统挖出来的,我们将在爱丽丝的交易成为新区块的一部分后,继续跟进这笔交易。

景的挖矿节点维护着一份区块链的完整副本,它是所有区块的列表,包含了2009年比特币系统创建以来的所有区块。在爱丽丝购买那杯咖啡前,景的节点已经装配了一条包含277314个区块的链条。景的节点持续监听交易,尝试挖出新的区块;同时,它也监听其他节点发现的区块。当景的节点正在挖矿时,它从比特币网络中接收到277315号区块。这个区块的到达,标志着区块277315的挖矿竞争结束了,而创建区块277316的竞争从此开始。

在之前的10分钟内,景的节点在查找区块255315的解决方案的过程中,也在收集交易,为创建下个区块做准备。此时,它已经收集了几百个交易并保存在内存池中。当接收到区块277315并验证后,景的节点对内存池中的交易进行检查,剔除那些已被包含进277315区块的交易。仍然留在内存池中的交易都是未确认的交易,它们继续等待被记录到新区块中。

完成这些准备工作后,景的节点立即创建一个新的空区块,作为区块277316的候选,这个区块就叫作候选区块,因为它尚未成为有效区块,不包含有效的工作量证明。只有在矿工成功找到一个工作量证明算法的解后,这个区块才会变为有效。

交易年龄、费用和优先级

为了构建候选区块,景的比特币节点需要从内存池中选择交易。选择过程首先要对每个交易赋予一个优先级权数,并将最高优先级的交易优先选出。交易基于输入中即将被花费的UTXO的“年龄”进行排序,允许那些较老的、高价值的交易输入比那些较新的、低价值的交易输入拥有更高的优先级。只要区块空间足够,高优先级的交易可以免费发送。

交易优先级是通过输入价值与输入“年龄”乘积的汇总再除以交易总大小后得出的。

blob.png

在等式中,输入价值的单位是比特币的基础单位,即聪(1比特币的1亿分之一)。UTXO的年龄是自UTXO被记入区块起所经过的区块数量,即这个UTXO在区块链中的深度。交易记录的大小用字节来表示。

对一个被认定为“高优先级”的交易来说,它的优先级必须大于57600000,这相当于一个包含1比特币(1亿聪)、年龄为1天(144区块)、大小为250字节的交易。

blob.png

868区块链学习网为您整理《整合比特币交易到区块中》仅供参考。