Cryptography 比特币中的公钥真实性

Cryptography 比特币中的公钥真实性,cryptography,blockchain,digital-signature,bitcoin,public-key,Cryptography,Blockchain,Digital Signature,Bitcoin,Public Key,我对比特币区块链领域的公钥加密有一个基本的困惑 例如,我了解到,在比特币中,当Bob想要进行交易时,他会发送一个包含以下内容的交易: 普通事务消息(如Bob)向Alice发送5个比特币。 鲍勃的公钥 交易的数字签名,使用Bob的私钥签名 据我所知,整个比特币网络将根据鲍勃的公钥和数字签名对该交易进行验证,该公钥和数字签名与普通交易信息一起在网络上广播 但是,如果Bob发送Alice 5比特币的上述交易是由Eve发起的,该怎么办?Eve广播普通事务消息、她的公钥和使用私钥签名的数字签名。整个比特币

我对比特币区块链领域的公钥加密有一个基本的困惑

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

普通事务消息(如Bob)向Alice发送5个比特币。 鲍勃的公钥 交易的数字签名,使用Bob的私钥签名 据我所知,整个比特币网络将根据鲍勃的公钥和数字签名对该交易进行验证,该公钥和数字签名与普通交易信息一起在网络上广播

但是,如果Bob发送Alice 5比特币的上述交易是由Eve发起的,该怎么办?Eve广播普通事务消息、她的公钥和使用私钥签名的数字签名。整个比特币网络似乎也会根据提供的信息验证交易

你能澄清一下我的错误想法吗

非常感谢

干杯,
M.

一切都是正确的。但是,Bob不能发送任何公钥。他必须提供与地址相关的公开密钥,从中获取5个BTC以便进一步发送。在Bitcon设计中,地址是公钥的哈希

结果,伊芙不知道鲍勃的地址,她无法发送交易,这花了鲍勃的钱。但,当然,她能够通过pubkey发送她拥有的地址交易。换句话说,夏娃可以自己花钱,这没关系

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

ScriptPubKey=OP_DUP OP_HASH160 OP_EQUAL OP_CHECKSIG

这个脚本复制pubkey,散列一个副本,将散列副本与btc_地址进行比较,如果相等,则检查签名。正如您所看到的,没有任何pubkey是可以接受的