前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >比特币交易过程

比特币交易过程

原创
作者头像
嘟嘟爱吃瓜
发布2023-06-08 11:15:38
3260
发布2023-06-08 11:15:38
举报
文章被收录于专栏:区块链相关

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

公钥和私钥

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

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

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

其它节点收到交易信息会有如下几个步骤:

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

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档