比特币交易过程

当比特币中发生一笔交易时,它的执行过程是怎样的呢?首先引入一个概念:公钥和私钥公钥是公开的,大家都可以看到,私钥是保密的,只有持有人拥有。公钥和私钥是成对存在的。公钥加密的数据只能用对应的私钥解密。私钥加密的数据(一般把它叫做签名)只能用对应的公钥解密(一般叫做验证)。当用户A向用户

当比特币中发生一笔交易时,它的执行过程是怎样的呢?首先引入一个概念:

公钥和私钥

  • 公钥是公开的,大家都可以看到,私钥是保密的,只有持有人拥有。
  • 公钥和私钥是成对存在的。
  • 公钥加密的数据只能用对应的私钥解密。
  • 私钥加密的数据(一般把它叫做签名)只能用对应的公钥解密(一般叫做验签)。

当用户A向用户B发起一笔交易,A会做如下几个事情:

  1. 将交易数据TX和B的公钥做一个哈希计算,得到哈希值V V=hash(TX+B.publickey)
  2. A用私钥对V进行签名 sig=signature(V+A.privatekey)
  3. A将签名信息附加到交易数据的尾部,通过P2P网络将交易信息广播出去。

微信截图_20230608105445.png 其它节点收到交易信息会有如下几个步骤:

  1. 用A的公钥对交易签名做验证,如果验证通过,根据公钥私钥的特性,则可以证明该笔交易确实是有A发起的,同时解出哈希值V。 V=Verify(sig+A.publickey)
  2. 将交易信息TX和B的公钥做哈希运算,得到哈希值V2 V2=hash(TX+B.publickey)
  3. 判断V是否等于V2,如果相等则说明交易数据TX是完整的,在传输过程中没有发生篡改和数据丢失。

至此,交易进入区块打包环节。

点赞 0
收藏 1
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
大果园儿
大果园儿
江湖只有他的大名,没有他的介绍。