首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >比特币中的公钥真实性

比特币中的公钥真实性
EN

Stack Overflow用户
提问于 2020-02-18 14:02:02
回答 1查看 167关注 0票数 0

对于比特币(Blockchain)领域的公钥密码学,我有一个基本的困惑。

例如,我了解到,在比特币中,Bob想要进行交易时,他会发送一个包含以下内容的事务:

  • 普通事务消息(如Bob向Alice发送5个比特币)。
  • 鲍勃的公钥
  • 交易的数字签名,使用Bob的私钥签名

我知道整个比特币网络都将基于Bob的公钥和数字签名来验证这个交易,这个数字签名和普通的交易信息一起在整个网络中广播。

但是,如果上述事务( Bob向Alice 5比特币发送的)是由Eve启动的呢?Eve广播普通的交易消息,她的公钥,用她的私钥签名的数字签名。整个比特币网络似乎也将根据提供的信息对交易进行验证。

你能澄清我的错误想法是什么吗?

非常感谢!

干杯,M。

EN

回答 1

Stack Overflow用户

发布于 2020-02-19 22:18:54

一切都是正确的。但是,Bob不能发送任何公钥。他必须提供与地址相关的Pubkey,他从该地址取5 BTC以供进一步发送。在Bitcon设计中,地址是Pubkey的散列。

因此,伊芙不知道鲍勃的地址,她无法发送交易,这花费了鲍勃的钱。但是,当然,她能够发送交易与公开的地址,她拥有。换句话说,伊芙可以自己花钱,这没什么。

如果您将看到比特币脚本的详细信息,您将看到典型的支出脚本:

ScriptPubKey = OP_DUP OP_HASH160 OP_EQUAL OP_CHECKSIG

此脚本复制公键,散列一个副本,将散列复制与btc_address进行比较,如果相同,则检查签名。如你所见,没有任何公共场合可以接受。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60282659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档