



Alice想要支付给Bob一定数额的比特币,但数以千计的比特币全节点在验证她的交易时,并不知道Alice或Bob是谁——而我们希望保持这种匿名性,以保护他们的隐私。Alice需要表明Bob应该接收她的一些比特币,但又不能将该交易的任何方面与Bob的真实身份或他接收的其他比特币支付联系起来。Alice使用的方法必须确保只有Bob将来可以使用他所接收的比特币。
原始的比特币白皮书描述了一个实现这些目标的非常简单的方案,如图4-1所示。
图4-1:原始的比特币白皮书中的交易链
接收者(如Bob)在交易中接收比特币至其公钥,该交易由支付者(如Alice)签名。Alice所支出的比特币早前已经被发送到她的一个公钥,她使用相应的私钥来生成签名。全节点可以验证Alice的签名承诺了哈希函数的输出,该哈希函数本身又承诺了Bob的公钥和其他交易详情。
在本章中,我们将探讨公钥、私钥、签名和哈希函数,并将它们综合运用以阐述现代比特币软件所使用的地址。