# 数字钱包基础知识（1）

## 私钥、公钥、地址与钱包

我们先来看看一些耳熟能详的基础知识，我觉得你一定明白，然后我们就这些基础知识慢慢展开，试着交流一些比较有意思的思考。

首先，我们先生成一个私钥，私钥通过计算得出公钥，公钥经过一些哈希运算计算出钱包地址。

在加密学中，这个链条是单向的，也就是说，反向是不能成立的。即如果知道了钱包地址，是无法知道公钥的，知道了公钥，也是无法知道私钥的。

那么这个私钥、公钥和地址到底是什么意思呢？

我们先来说说媒体行业，以前的媒体，是相对比较中心化的，也就是说，他是个大的发声平台，我们只能提供信息，由这些媒体来发布信息。后来腾讯搞了个自媒体，我们每个人都能成为一个小媒体，都有了自己发声的媒介。

我们接着说回来。

区块链的本质在于去中心化，而金融中心化的本质在于，任何一个小小的个体，都具有金融服务功能，都能够存、贷以及提供金融服务。

那么这个私钥，就是这个小小的个体的所有权，就类似于银行的所有权凭证--包含营业制造、保险柜钥匙等等。有了私钥，我就控制了这家银行，当然包括这家银行的所有经营凭证、银行的客户以及所有钱。

**公钥是什么呢？**

公钥相当于其中一个用户的账户。比方说张三拿着身份证去工商银行开户，开户成功后，银行的系统里就有了张三的账户了。

**那么地址是什么呢？**

张三有了账户，相当于银行知道了有这么个人，但是张三到银行办理业务可不是为了仅仅有个账户，目的是为了交易。因此，张三有了账户之后，还需要在银行办理一张银行卡才可以交易。因此就有了地址。

地址相当于银行卡的用户名和账户号，就和你的银行卡信息是类似的。有了银行卡，还不能交易，交易需要密码，因此银行给你一个密码，但这个密码不会写在银行卡上，而是单独自己设定，这个密码就是钱包的密码。

有了这个逻辑之后，我想你就能理解了。

为什么有了私钥就能了解公钥，就能掌握地址，反过来则不行。

就好像我是银行的所有者和经营者，我当然能够知道你的账户，也能知道这个账户里有几张银行卡，用户名和密码是什么，里面有多少钱。

但是我只有银行卡，我是不可能掌握银行的数据的。

所以，地址我们可以让别人知道（相当于我们的银行卡可以给别人看，让别人知道我们的用户名和账号），但私钥千万不能让别人知道，就像你千万不能把银行的所有权信息和保险柜密码给别人一样。

了解了这个基本概念之后，我们继续聊。

私钥是一个大于0小于2的256次方的任意数字。这个数字千万记得要随机生成，不然风险非常非常的大。私钥通过椭圆函数曲线生成对应的公钥，经过哈希加密之后形成地址。这个概念，了解就行，不必深究。

**我们接着聊聊钱包。**

举例而言，创建一个姨太B之后会生成一个以0x开头的字符串，这个字符串是钱包地址，刚才我们说了，这个钱包地址，其实就等于在账户下面开了一张银行卡。

这张银行卡的密码，就是你创建这个钱包后时候的密码。这个密码最好不少于8位数，尽量设置的复杂一点。

密码的用途有两个：

第一是转账时候需要输入密码，就类似于你用银行卡转账的时候需要输入密码是一样的。

第二是Keystore导入钱包时必须输入这个密码。

第二条我们接下来会继续解释，我们先来补充一些零碎的知识：

这个钱包的密码是可以改的，就像我们改银行卡密码一样，输入原密码，就可以改了。但是如果密码忘了怎么办，没有关系，就和我们银行卡密码忘了一样。我们找到银行就可以帮我们改了，文前我们说了，有了私钥就等于拥有银行，你就是银行的老板，那么我们就可以用私钥来修改密码。

与银行卡不同的是，一张银行卡对应了一个密码。但钱包在不同的手机中可以用不同的副卡，彼此之间相互独立。你也可以理解为，其实你开了很多副卡，每张副卡的账号都是一样的，但是密码可以不一样。

所以私钥的权限是极大的，有了私钥就等于有了账户+密码了。千万注意保密。

创建了钱包之后，输入密码可以导出私钥。

私钥是由64个字符组成的字符串。有的钱包采用的编码不一样，字符数可能更少。

一个钱包地址只有一个私钥，且不能修改。这就类似于我有一张工商银行的银行卡，那么这张卡肯定只是在工商银行办理的。

再来说说助记词，助记词和私钥的权限是一样的。私钥是我们银行的所有权凭证、保险柜密码一样，由于东西太多，携带不方便，那么就有必须有个便于记忆的口令，比如说，阿里巴巴，当我说了阿里巴巴之后，我就等于证明我有了私钥，也就拥有了所有的一切。

因此，和私钥一样，一个钱包只有一个助记词，且不能修改。

助记词和私钥具有同样的功能，只要输入一个助记词并设置密码就能进入钱包，并拥有这个钱包的掌控权，就可以把钱包中的币转走。

助记词只能备份一次，备份后在钱包中便不会显示。因此在备份时一定要抄写下来。

Keystore加密码等于私钥。钱包中有一个备份Keystore的功能，选择备份Keystore，输入密码，会出现一大段代码，这个就是Keystore。在输入钱包时只要输入Keystore和密码就能进入钱包了。这一点和用私钥或助记词导入钱包不一样，后两者不需要知道原来的密码而是直接重置密码。

Keystore可以理解为加密后的私钥，和钱包的密码有关，钱包的密码修改后Keystore也发生了相应的变化。需要特别注意的是，在使用Keystore导入钱包时，需要输入这个密码，这个密码是备份Keystore钱包时的密码，与后来密码是否修改无关。

**怎么理解Keystore呢？**

刚才说了，助记词等于私钥，可以控制钱包的以前，就等于可以控制银行的一切。

刚才举例，假设阿里巴巴是助记词，那么所有者觉得太简单了，太容易泄露了。因此就想了一个安全的办法---加个密码。比方说，我的口令设为（Keystore）“阿里妈妈”，有了这个口令是没有用的，我再加个密码。有了阿里妈妈加上密码之后，我就等于拥有了助记词或者私钥。

**再来说说钱包的优劣势：**

在现实世界中如果您的银行卡丢了，密码忘记了，可以去银行帮你找回。你的钱还是您的钱，丢不了。这是中心化的优势。

但是在区块链世界中，钱包信息如果丢了，就没有人能够帮你找回。这就类似于你把银行的所有权信息和保险柜密码等丢了和忘了一样。银行一直在，但里面的钱就永远和你没关系了。

但是，只要你保护好钱包信息，钱包里的资产就只属于你自己，谁也抢不走，这是去中心化的优势。

## **什么是加密货币钱包？**

简单的说，加密货币钱包就是您用来与Blockchain互动的一种工具。现存的加密货币钱包可以被分为三种：软件钱包、硬件钱包以及纸钱包。而根据工作机制则可以将它们分为热钱包或冷钱包。

市面上大部分加密钱包都是基于软件的软件钱包，而这使得它们与硬件钱包相比更便于使用。 然而，硬件钱包则相比于其他类型更加安全。 另一方面，将“钱包”打印在一张纸上的纸钱包，在现在也已经变的过时且不可靠。

**加密货币钱包是如何运行的？**

与人们的普遍认知不同，加密货币钱包并没有真正的存储加密货币。相反，它们则是提供了与区块链交互所需的工具。 换句话说，这些钱包可以生成必要的信息来完成发送和接受加密货币的交易（通过区块链）。 另外，此类信息中包含了一对或者多对的公钥及私钥。

同时加密货币钱包中还包括了一个基于公钥和私钥生成的公共地址，该地址是一组字母数字的标识符。 该地址在本质上代表Blockchain上一个特定的“位置”，该位置则可以用来接收加密货币。 这就意味着您可以将该公共地址与别人分享以此来接受资金，但切记不要想任何人透露您的私钥。

私钥将提供对您钱包内加密货币的访问权。因此，即使您的计算机或者智能电话存在安全威胁的话，您仍可以通过相应私钥对您的资金进行访问（或者对应助记词）。 同时也请记住，代币从未真正离开过Blockchain，它们只是从一个地址转移到另一个地址。

**热钱包与冷钱包**

正如之前所提到的，加密货币钱包也可以通过他们的运作的方式来分为“热钱包”或“冷钱包”。

热钱包所指的是以任何方式与网络连接的钱包。 比如说，当您在Binance上创建账户，并向您的钱包发送资金时，您所使用的就是Binance的热钱包。这些钱包很容易创建，并且资金可以快速的存取，这对于交易者和其他常客来说很方便。

另一方面，冷钱包则是与互联网无任何连接。取而代之的是，它们使用实体媒介来进行脱机存储密钥，这也使得它们抵御在线的黑客攻击。 因此，冷钱包在保存代币方面更加安全。此种工作方式也被称为冷存储，对于长期投资者或HODLers来说更加合适。

Binance也只在其热钱包中存储了其一小部分的货币。其余剩下的大部分则是存储在与互联网无连接的冷钱包中。值得注意的是，Binance DEX则为那些不愿意将其资金存入中心化交易所的用户提供了另一种选择。这是一个去中心化交易平台，并把私钥的绝对控制权赋予给了用户，同时还允许用户对他们的冷钱包设备（硬件钱包）中的资金进行直接交易。

**软件钱包**

软件钱包存在多种类型，而每种类型都具有其无二的特性。它们中大部分都是以某种方式与互联网向连接的（热钱包）。以下描述的是一些最常见且重要的几种钱包：网络钱包、桌面钱包，以及移动钱包。

**网络钱包**

使用网络钱包，您则可以通过浏览器接口来访问区块链，而并不需要下载或安装任何软件。包括访问交易所钱包以及其他基于浏览器的钱包供货商。

大多数情况下，您可以创建新的钱包，并设置对其进行访问的密码。 然而，某些服务供货商可能会代替客户持有和保管私钥。 尽管此种方式对于无经验的使用者来说可能会更加方便，但这其中也存在着一定的风险。如果您不能持有您的私钥，则意味着您将资金托付给了其他人。而为了解决这一问题，许多网络钱包现在允许用户来完全管理自己的密钥，也可以将通过多签名来共享控制权。因此，在选择最适合自己的钱包之前，应先检查钱包运行的技术方式。

同时在使用加密货币交易所时，您也应该使用可利用的保护工具。 Binance Exchange就提供了多种安全措施，例如设备管理、多因素认证、反钓鱼代码以及取款地址管理。

**桌面钱包**

顾名思义，桌面钱包是一种下载并在您计算机上运行软件。不同于某些网络钱包，桌面钱包则赋予您对密钥和资金的完全控制权。当您创建新的桌面钱包时，一个名为“wallet.dat”的档就会被存储在本地计算机内。此档中包含了用于访问加密货币的私钥信息，因此您可以使用个人的密码对其进行加密。

如果您对桌面钱包进行加密，则软件每次运行时都需要提供密码，只有这样才能读取wallet.dat文件。如果您丢失了该文件或忘记了密码，则就很有可能会丢失了对资金的访问权。

因此，备份wallet.dat档并将其保存到安全的地方是至关重要的。或者，您可以汇出相关私钥或助记词。这样，您就可以在其他的设备上访问您的资金，以防您的计算机无法工作或因某种原因无法访问。

总的来说，桌面钱包相比于网络钱包来说可能会更加安全，但前提是在创建并使用桌面钱包前，应确保您的计算机内并无病毒以及恶意软件。

**移动钱包**

移动钱包的功能则更像是桌面钱包的对应物，专为只能手机而设计的应用。这些钱包非常方便，它们允许您通过使用二维码来发送和接受资金。

因此，移动钱包对于日常交易和支付来说更加方面，并使得现实生活中的Bitcoin、BNB以及其他加密货币消费变得更加可行。Trust Wallet则是移动加密钱包非常典型的例子。

然而，如同计算机一样，移动设备也很容易受到恶意应用程序和恶意软件的侵染。因此，建议您使用密码对您的移动钱包进行加密，并且备份您的私钥（或助记词），以防您的智能手机丢失或损坏。

**硬件钱包**

硬件钱包是使用随机生成器来生成公钥以及私钥的实物电子设备。随后密钥则被存储于设备本身中，而设备却并没有连接到互联网。因此，硬件存储则构成了一种冷钱包，同时也被认为是一种最安全的选择。

虽然该钱包对于在线攻击可以提供更高级别的安全保护，但如果固件并未正确安装，则也有可能存在一定风险。此外，硬件钱包的用户满意度并不高，并且与热钱包相比，资金的访问变得不那么便利。

而为了解决缺乏访问性的问题，您则可以使用Binance DEX来将您的设备直接与交易平台连接。这是一种可以安全的资金访问方式，因为私钥从未离开过设备。同时一些网络钱包服务供货商也开始提供类似的服务，允许硬件钱包链接到他们的浏览器接口。

当您准备长期持有加密货币或者打算持有大量的加密货币时，您就应该考虑使用硬件钱包。目前，大多数硬件钱包允许您设置PIN代码来保护您的设备，同时还可设置助记词以便于在钱包丢失后找回中使用。

**纸钱包**

纸钱包实质上就是将公共地址与其私钥以二维码的形式物理打印在一张纸上。之后则可通过扫描这些二维码来进行加密货币交易。

一些纸钱包网站允许您下载他们的代码来进行线下生成新的地址以及密钥。因此，这些钱包对于在线黑客攻击具有很高的抵抗力，并且被认为是冷钱包的替代品。

然而，由于其中存在许多缺陷，所以纸钱包的使用被认为是危险的且应该停止。如果您仍然想使用该钱包，则有必要先了解其中的风险。纸钱包的一个主要的缺陷就是它们并不适用于部分发送资金，只适合一次性发送全部余额。

比如说，您创建了一个纸钱包并通过多次交易向其中存入资金10BTC。如果您决定花费其中的2 BTC，则您首先应该将该10 BTC发送到另一类型的钱包中（例如桌面钱包），之后使用该钱包花费其中的部分资金（也就是2BTC）。之后您可以将剩下的8 BTC归还到一个新的纸钱包当中，对于这一过程来说，很明显硬件钱包或软件钱包将会是更好的选择。

技术层面上来讲，如果您将纸钱包的私钥导入到桌面钱包中并花费其中的部分资金，之后剩下的部分资金将会被发送到一个由Bitcoin协议自动生成的“新更地址”中。如果您并没有手动设置此新更地址，那么剩余的资金就很可能会丢失。

现如今的大多数软件钱包将会为您处理这一过程，它们将会把剩余的资金发送到隶属于您钱包的地址。同时请切记，您的纸钱包在进行过一次发送交易后（不管金额多少），它的账户余额将变为零。所以不要期望再次使用该纸钱包。

**备份的重要性**

加密货币钱包访问权的丢失所造成的损失可能会“价值不菲”。所以定期备份就变得至关重要。在许多情况下，这可以通过对wallet.dat档或助记词备份来实现。通常，助记词有着与私钥的非常类似的作用，但它们却更容易进行管理。如果您使用了密码进行加密，则也要记得对密码进行备份。

**结论**

加密钱包是Bitcoin以及其他加密货币使用过程中必不可少的一分部。是加密基础设施的最基本部分，因为它们使得通过区块链进行的发送和接受资金变为可能。每种钱包的类型也都有其独特的优势以及劣势，所以在转移资金前，了解其的工作原理是至关重要的。

## 常用数字钱包介绍及对比图

### 名词解释：

**全节点钱包**，全节点的代表是bitcoin-core 核心钱包，需要同步所有区块链数据，占用很大的内存，但是可以完全实现去中心化。

**轻钱包**，依赖比特币网络上其他节点，只同步和自己有关的数据，基本可以实现去中心化。

**中心化钱包**，不依赖比特币网络，所有的数据均从自己的中心化服务器中获得，但是交易效率很高，可以实时到账。

**多重签名技术**指多个用户同时对一个数字资产进行签名。多私钥验证，提高数字资产的安全性。

![](https://2864970936-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FV30gkIXK74SfLEJCo99H%2Fuploads%2F8jxT6MvQDxO7swl1IA9t%2F0?alt=media)

![](https://2864970936-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FV30gkIXK74SfLEJCo99H%2Fuploads%2FpEYFUYMgbN3TfT19BW5c%2F1?alt=media)

![](https://2864970936-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FV30gkIXK74SfLEJCo99H%2Fuploads%2FjhU57veNuVfmtBGGMzCX%2F2?alt=media)

![](https://2864970936-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FV30gkIXK74SfLEJCo99H%2Fuploads%2FBgYqTcaJmDKOuQnPwgxY%2F3?alt=media)

![](https://2864970936-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FV30gkIXK74SfLEJCo99H%2Fuploads%2FpBi8VU1isQ73GlyhnfGg%2F4?alt=media)

![](https://2864970936-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FV30gkIXK74SfLEJCo99H%2Fuploads%2FHL8ttFB1xvP6RbBfRynX%2F5?alt=media)

![](https://2864970936-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FV30gkIXK74SfLEJCo99H%2Fuploads%2FFD8cceepdl4rHGk9uOt1%2F6?alt=media)
