我是一个对比特币感兴趣的开发人员,有一个问题:每笔交易都应该由所有对等点验证,这意味着每个对等点都应该拥有交易所有者的公钥,但他们如何以及从哪里获得所有者的公钥?它被储存在什么地方?
发布于 2017-05-03 09:35:57
事实并非如此。比特币使用区块链来跟踪交易。假设一个人A将比特币转移给了人B,然后交易通过一组称为区块链的服务器进行验证和存储。
来自维基百科
区块链
是一个记录比特币交易的公共账本。一种新颖的解决方案无需任何可信的中央机构即可实现这一点:区块链的维护由运行比特币software.Transactions的通信节点网络执行,形式为支付者X向收款者Z发送Y比特币使用现成的软件applications.Network节点可以验证交易,将其添加到其账本副本,然后将这些账本添加内容广播到其他节点。区块链是一个分布式数据库-为了实现对任何和每一个比特币(金额)的所有权链的独立验证,每个网络节点都存储自己的区块链副本。
发布于 2021-06-07 22:48:43
AA会将其公钥作为已签名事务的一部分发送。BB将使用该公钥来解密由AA发送的事务散列,并验证公钥实际属于AA的私钥。
现在重要的部分是BB如何知道这个公钥属于AA的地址,并且AA还没有在属于其他随机地址的UTXO上签名事务。
这个验证很容易,因为地址是使用公钥创建的。
地址=base58(ripemd-160(sha256(公钥)
因此,BB将使用上述公式来检查公钥是否属于AA用于花费交易的相同地址。
https://stackoverflow.com/questions/43749527
复制相似问题