什么是加密货币、地址和钱包

2023-01-13

加密货币通过把转账记录保存在区块链上,来确定每个账户中的余额。

例如:

...

区块链 高度114514
小明(账户8964) 转账 10元 给 小红(账户2035)

区块链 高度114515
小红(账户2035) 转账 6 元 给 小刚(账户2077)

...

根据上面的转账记录,我们就可以知道小红的账户在这两笔交易中结余4元。

所谓转账,就是由用户向区块链添加转账记录。

假如小红要添加一笔转账记录,她首先要证明自己是账户2035的拥有者,这就需要她提供账户2035私钥。于是她用自己的私钥,对她提交的转账记录进行签名,然后把签名后的转账记录添加到区块链上。

关于公钥、签名等内容,可以阅读这篇文章:什么是公钥密码学、PGP、数字签名

小红的账户地址(在这个例子中是2035),就是她账户的公钥。其他人可以用这个公钥,来验证小红提交的转账记录上利用私钥生成的签名。由于只有小红拥有账户的私钥,所以别人可以通过验证签名,来确定这条转账记录确实是小红提交的,并答应将其加入区块链中。

由于验证身份的过程不可避免的会用到公钥密码学(数字签名及其验证是公钥密码学的主要应用之一),这一类数字货币(例如比特币、门罗币、以太坊等等)被统称为密码学货币crypto-currency,也就是所谓的加密货币

在提交转账记录的过程中,小红需要指定小刚(收款方)的地址,以及小刚的公钥。事后小刚可以用他的私钥来向其他人证明他拥有这笔款项。所以为了方便,绝大多数加密货币的账户地址就是账户的公钥,转账到一个地址等于转账到一个公钥。

因此区块链上的记录看上去更像是:

...

区块链 高度114514
账户8964 转账 10元 给 账户2035

区块链 高度114515
账户2035 转账 6 元 给 账户2077

...

根据所使用的密码学算法的不同,公钥的长度也不同,这就是为什么加密货币的地址长度各不相同。

小红的公钥(即账户名称兼收款地址)是公开的,私钥是只有自己知道的。如果遗失私钥,就无法动用公钥(即账户地址)下的所有款项,因此私钥必须保存好。而用于保管私钥的工具,就被称为(加密货币的)钱包

钱包分硬件钱包和软件钱包。将私钥写在一张白纸上,构成最简单的硬件钱包

软件钱包,通常是指一些运行在Windows/OSX/Linux/Android/iOS/Chrome/Firefox上的应用程序,它们除了保管私钥,通常还会提供一些额外功能,例如签名、余额查询和转账。

硬件钱包,通常是指把上述功能做到一个外置的设备里(比如一个U盘形状的USB设备),由于私钥不需要被复制到计算机上,所以很难被攻击者盗取,也不会因为误操作被上传到网络上,适合对资金安全性有极高要求的用户。

如果软件和硬件钱包损坏,私钥就会丢失,造成资产损失。因此将私钥写在白纸上是一道很重要的保险。为了便于记忆,很多加密货币钱包软件,都能够将私钥转换为若干个英文单词组成的列表,称为助记词。用户如果丢失私钥,可以将助记词输入到加密货币钱包软件中,来恢复自己的私钥。

此文就到此结束啦!欢迎大家在评论区留言哦ヾ(^▽^*)))
Ciallo~(∠・ω< )⌒☆​
写文不易,如果你觉得我的文章对你有帮助,欢迎打赏