详看从甲转账给乙的过程
假设甲(Alice)向乙(Bob)转账,则转账过程可以分成三个阶段(见图1):
1) 假设Alice之前通过挖矿获得了 12.5 个
比特币,在她的地址中,这些比特币是某个币基交易的 UTXO。
2) Alice 发起一个交易,输入是自己的上一个交易,输出是 Bob 的地址,数量是 12.5 个比特币,Alice 用自己的私钥对交易进行签名。
这里简化了交易过程,只讨论了将上一个交易的输出全部转帐的情况。如果试图转出上一个交易的输出的一部分比特币,则要进行略复杂的处理。
按照比特币系统的设计,比特币交易还要遵循一个原则:每一次交易的输入值都必须全部花掉,不能只花掉部分。比如,我要转出比特币给你的钱包地址中只有 8 个比特币,那么很简单,我发起一个交易,把这 8 个比特币转到你的钱包地址中,我签名确认这个交易。但假如我的钱包地址中有 25 个比特币,那我发起的交易就不是转给你 8 个比特币,然后自己的钱包地址中还剩下 17 个比特币。这时,我发起的交易是:从我的钱包地址中转 8 个比特币给你,同时转 17 个比特币给我的同一地址。
3) 当交易被
区块链确认后,Alice 的 UTXO 就变成了 0。而在Bob的地址中就多了一个 UTXO,数量是 12.5。
图1:比特币转账的三个阶段
存在 Bob 的钱包地址中的这些比特币只有用 Bob 的私钥才可以签名转账给其他人。
如果Bob要将这些比特币转账给其他人,则重复上述过程。
简单地说,从一个地址向另一个地址转账比特币的过程,是用这个地址对应的私钥打开,再加密到另一个地址的过程。这个私钥的打开和加密就是签名的过程。在这个过程中,接收比特币的一方并不需要动用自己的私钥。
版权申明:本内容来自于互联网,属第三方汇集推荐平台。本文的版权归原作者所有,文章言论不代表链门户的观点,链门户不承担任何法律责任。如有侵权请联系QQ:3341927519进行反馈。