比特币的所有权是通过数字密钥、比特币地址和数字签名来建立的。数字密钥实际上并不存储在网络中,而是由用户生成并存储在一个文件或一个简单的数据库中,这个数据库称为钱包。存储在用户钱包中的数字密钥完全独立于比特币协议,可以由用户的钱包软件生成和管理,无需区块链或网络连接。Key实现了比特币很多有趣的特性,包括去中心化的信任和控制、所有权认证和基于密码证明的安全模型。
每笔比特币交易都需要在区块链中存储有效签名。只有有效的数字密钥才能生成有效的数字签名,因此拥有比特币密钥的副本将使比特币控制账户。密钥成对出现,由一个私钥和一个公钥组成。公钥就像银行账户,而私钥就像控制账户或支票签名的PIN码。比特币用户很少直接看到数字密钥。一般存储在钱包文件中,由比特币钱包软件管理。
在比特币交易的支付过程中,收款人的公钥以其数字指纹表示,称为比特币地址,就像支票上支付对象的名字一样(即“收款人”)。一般来说,比特币地址是由一个公钥生成的,并与这个公钥相对应。但是,并不是所有的比特币地址都是公钥;它们也可以表示其他支付对象,比如脚本,我们后面会提到。通过这种方式,比特币的地址抽象了收款人,使得交易的目的地更加灵活,就像支票一样:这种支付工具可以支付给个人账户、公司账户、账单或现金支付。比特币地址是用户经常看到的密钥的唯一代表。他们只需要告诉别人比特币地址。
我们将介绍钱包,这是关键所在。我们将学习如何生成、存储和管理密钥。我们将回顾私钥和公钥、地址和脚本地址的各种编码格式。最后,我们将解释密钥的特殊用途:生成签名,证明所有权,以及创建比特币地址和纸质钱包。