比特币交易的过程比特币交易的本质是将比特币从一个地址转移到另一个地址,就像生活中的银行卡转账一样。交易本质上是一个包含一组输入列表和输出列表的数据结构,即传输记录。
3. 每笔交易都通过比特币网络传输,由矿工节点收集、打包、上链,最终存储在区块链上。
比特币交易的生命周期
交易过程就是交易的生命周期。
区块链交易不是通常意义上的单手交付和单手交付的交易比特币交易过程,而是转账。比特币交易可以包含多个输入和输出。可以理解为比特币交易过程,一笔交易可以有多个银行卡资金来源,一笔交易可以转账给多人。
比特币交易的生命周期包括:创建交易、广播交易、打包交易、交易上链、交易返回。
创建交易: 广播交易: 打包交易:
挖矿节点每次开始挖矿,都会按照一定的优先级顺序,从交易池中提取近千笔未确认的交易,打包成区块。打包时,上一个区块的Hash值也会加入打包中。中间。然后开始挖矿。
链上交易: 交易回滚:
如果意外发生临时分叉,最长链诞生后,分叉的区块将断开连接,记录将返回交易池,等待重新打包在链上。
比特币交易规则
比特币交易必须遵守以下规则:
1、 交易的输入输出不能为空;
2、 对于交易中的每一个输入,对应的前一个输出必须是UTXO;
3、 对于交易的每一个输入,如果在当前交易池中都能找到对应的UTXO,则该交易将被拒绝。
4、 交易中的每一个解锁脚本输入,都必须与上一次交易输出中的解锁脚本一起验证交易的合法性。
交易验证流程
1、交易验证的必要性
交易是一个地址的比特币,转移到另一个地址。由于所有比特币交易记录都是公开的,因此可以查看该地址拥有多少比特币。因此,可以很容易地验证付款方是否有足够的比特币来完成交易。问题是如何防止他人以欺诈方式使用您的姓名来申报交易。例如,有人声明了一笔交易:地址 A 向地址 B 支付了 10 个比特币。你怎么知道这个声明是真的,并且声明人是地址 A 的所有者?因此,需要进行交易验证。
2、 比特币协议规定,在报告交易时,付款人必须提供以下数据:
3、 验证交易是否真实需要三步【以P2PKH交易为例】
比特币交易的优先级
所有经过验证的交易首先放入挖矿节点的交易池中,节点按优先级顺序打包交易。
那么采用什么样的优先原则呢?
1、被打包交易的优先级取决于交易输入对应的UTXO的“链龄”和交易费用。
2、 UTXO的“链龄”是根据交易所的深度计算的。深度越大,“链龄”越大。
3、即使费用为零,高优先级的交易也会优先打包进区块。因为即使交易手续费为零,优先级也不高,但最终会因为“链龄”的增加而被打包。
以上内容来自千锋教育的 学习笔记。