一、交易过程
1.假设我有 8 个比特币,这其实意味着,之前有一个交易把这些比特币转入我的地址,这个交易的输出(即 8 个比特币)未被使用,我拥有了这 8 个比特币。
2.现在我要发起一个交易,这个交易的输入是(1)中转入我的地址的交易输出(即8个比特币);这个交易的输出就是你的地址;在这个过程中我要做的是,对我现在拥有这8个比特币的 上一个交易进行签名,然后把这笔新交易的输出地址设置为你的base58地址。之后你拥有的即为你和我的这个交易的未使用的交易输出(即8个比特币)。
3.交易的过程是我用私钥(从一个输出地址是我的base58地址中)取出比特币。并用私钥对从我的地址转到你的地址的新交易进行签名。一旦交易完成,这些比特币就会跑到你的钱包地址(你的base58地址)当中去。你的钱包(你的base58地址)中新交易的未使用交易输出,只有你的私钥才可以打开。
4.从上述交易可以得出,的确不存在比特币,只有未使用的交易输出(UTXO)。每一笔比特币都源于上一个交易,可以一直追溯上去;但是每一笔比特币的源头都有一种特殊的交易,即比特币矿工因挖矿获得奖励的创币交易,每一个比特币都是通过挖矿被创造出来的。假设我作为比特币矿工挖矿成功赢得了 25 个比特币,那么这个特殊交易是,它的输入是 0,而输出是 25 个比特币进到矿工的钱包地址中。
二、UTXO的优点
1.传统的账户需要追根溯源,确认我之前的每一笔交易才能证明我确实拥有这8个比特币。
2.采用现在的UTXO设计,只需要确认我上一笔交易我确实获得了8个比特币即可。而我们知道,一个区块经过6次确认,其中的交易可被认为是真实无误的。
三、加深对UTXO的理解
1.你的比特币就是UTXO:比特币的挖矿节点获得新区块的挖矿奖励,比如 12.5 个比特币,这时,它的钱包地址得到的就是一个 UTXO,即这个新区块的币基交易(也称创币交易)的输出。币基交易是一个特殊的交易,它没有输入,只有输出。当甲要把一笔比特币转给乙时,这个过程是把甲的钱包地址中之前的一个 UTXO,用私钥进行签名,发送到乙的地址。这个过程是一个新的交易,而乙得到的是一个新的 UTXO。
2.简单地说,从一个地址向另一个地址转账比特币的过程,是用这个地址对应的私钥打开,再加密到另一个地址的过程。这个私钥的打开和加密就是签名的过程。在这个过程中,接收比特币的一方并不需要动用自己的私钥。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)