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