当前位置: 首页 > 工具软件 > wallet-core > 使用案例 >

BTC钱包(wallet.dat 文件密码与私钥的区别)

胡昊
2023-12-01

https://www.chainnode.com/post/375787

第0章 引言
  我在2012年的时候,教我爸爸使用支付宝。对于一个完全没有接触过第三方支付的人来说,要让他接受支付宝是安全可靠的,至少是和银行的安全性相当的,其实非常难。我没有多废话,而是直接先让我爸爸注册了一个支付宝账号,让他知道支付宝APP、账号和密码这三个最基础的概念。
  同样的,比特币对绝大多数人来说都是相当的陌生,在使用之前必须掌握的三个基础概念是比特币钱包、地址和私钥。
  第1章 银行账号和密码
  我们在银行里存款的所有权是通过银行账号和密码来确立的,这个非常好理解。你去银行开户时,会登记身份证信息,身份证是全国唯一的,你的银行账号也是全国唯一的。你开户时设有密码,这是你可以操作账户里的钱的凭证。
  如果有人要向你汇款,你只需要将银行账号告诉他就可以了。银行账号是可以公开的,只要密码不泄露就是安全的。
  即使是你的银行卡遗失了,只要不被知道你密码的人捡走了,你的钱也是安全的。你只需要拿身份证去银行补办就行了。这就是说,用户存在银行的钱其实并不是存在银行卡里,而是存在银行里的。
  类似的,如果你在手机里装一个网银APP来操作你的银行账号里的钱,你的钱并不是存储在手机里的,你的手机遗失了,钱也不会丢。换个手机装个相同的APP,然后用账号和密码登录,你又可以使用网银了。当然如果真丢了手机,最好及时换个密码。
  支付宝的账号及密码,以及微信支付的账号和密码都和银行类似。
  第2章 比特币地址和私钥
  比特币的所有权是通过私钥和地址来确立的。我们可以先简单地用类比来理解,私钥就类似于银行账户密码;地址就类似于银行账号。
  新建一个比特币地址不像银行开户那样需要身份证,用手机或电脑下载一个比特币钱包(这是一个软件,或APP,见下一章)就可以生成一个比特币地址。下面就是一个比特币地址:
  14mhzjkJ71oMAMkKu3dy98dnUpkyQBHL1r
  生成一个比特币地址的同时就会有一个私钥被生成,严格来说是先生成私钥,然后通过私钥使用加密函数来计算出地址。但我们这里不做太严格的区分,如果太严格的话,我们需要理解更多的概念,但这些知识细节不会影响到我们使用比特币。下面就是一个比特币私钥:
  KxkmRGmtTJ3nYyTwaU2uQPCPFWjjLKTT987Z2vqXG3itByMa2pDP
  作为比特币用户,我们很少会直接看到私钥,一般情况下,私钥是被存储在钱包文件里,由钱包软件进行管理。 如果你不对钱包进行加密的话,甚至你可以不需要使用密码就可以发送你的比特币。当然最好别这么干,一定要给钱包加密。
  如果有人要向你发送比特币,你只需要将你的地址告诉他就好了。
  而如果你要向他人发送你拥有的比特币,你需要使用钱包软件来完成“私钥签名”构造一笔交易,然后通过网络去广播交易。虽然这里用了很学术的话语来描述,但事实操作过程其实就和你用支付宝向他人付款是一样的。将收款方的地址复制到你的比特币钱包的要“发送给”(不同的钱包会有不同的命名,但意思都一样)这一栏。然后填写你要支付的金额。接着输入你之前设定好的密码,就可以发送了。
  第3章 比特币钱包
  正如我们使用钱包来存放人民币一样,存放比特币也是需要“钱包”的。钱包是我们用来生产私钥和地址、管理私钥和地址、接收和发送比特币的工具。
  比特币钱包有很多种,有PC端的也有手机端的,也有专门的一个设备的硬件钱包,甚至还有用纸写上私钥的纸钱包。比如下面就是一个纸钱包:
  在电脑和手机上的比特币钱包就是一个软件。这个网站提供了大多数钱包软件下载:
  https://bitcoin.org/en/choose-your-wallet
  比如Bitcoin Core钱包就可以安装在电脑上,安装完后。你就可以打开钱包,然后生成地址和私钥。而安装后在相应的文件夹里会生成一个叫wallet.dat的文件。这个文件里存的就是你的私钥。打比方说,这个wallet.dat文件就相当于银行卡,上面写着你的银行账号,但wallet.dat里还写着你的取款密码。所以要注意保护好你的wallet.dat文件。当然你可以对wallet.dat文件加密,来提高安全性,而且装好钱包要第一时间设置密码。
  所以说钱包的精髓就是用来保存私钥的,也就是任何可以保存私钥的东西都可以被称为钱包。电脑有钱包,手机也有钱包。纸钱包就是把私钥记录在纸上的钱包。
  只要有私钥,就代表了你拥有了对应的比特币。所以保管私钥的钱包非常重要。
  这里有个很白痴的问题,我新装一个钱包新生成一个地址,里面是不会有比特币的,天下不会掉馅饼的。我要先往地址里打比特币,然后才会有币。这和你去银行开户,你不存钱进去就不会有钱是一个道理。
第4章 私钥和地址从哪来?
  上面讲到我们是用钱包来生成比特币私钥和地址的,它的生成过程本质上是计算一个随机数。甚至我们使用抛硬币的方式也可以生成比特币的私钥,然后通过手工计算来算出地址。这是因为私钥就是一个随机选出的数字而已。 通过抛硬币将正面向上计为0,反面向上计为1,连续抛256次,就随机得到一个256位的二进制数字。这个数字就是私钥。
  这个随机性有多随机呢?全世界的人随便怎么抛,被抛出两个相同的256位二进制数字的概率无限接近零,就是不可能出现相同。让计算机去抛硬币来碰私钥,穷尽全地球的计算机无法抛出相同的私钥。所以这样私钥只要生成出来,就是全地球唯一的,那它就可以被用来标识所有权而不用担心和别人重复。
  有了私钥,就可以通过加密函数来生成地址。 这个生成方向是单向的。也就是你知道了地址是无法通过解密方法来计算出私钥的。就目前的人类计算机运算能力,穷尽全地球的计算机也破解不了。所以说你可以很放心地把地址发给别的,公布到网上。但千万别把私钥透露给别人,否则你的比特币就不是你的了。
  第5章 比特币私钥存在哪?
  比特币地址和私钥都是可以不存储在网络上的。 就比如按上面抛硬币抛出来的私钥,就可以不出现在网络上。
  比特币私钥和地址更是可以独立于你的钱包而存在的。 就是说你只要备份了你的私钥,那即使是你的比特币钱包丢了,或者电脑坏了,手机被人偷了,都可以再换一个电脑装一个钱包,然后使用导入私钥的办法恢复你的比特币。 这和你装有支付宝的手机被人偷了,然后你再买一个手机再装一个支付宝APP,然后使用账号和密码登录就可以看到你的钱是一个道理。
  你可以在一台永远不上线的电脑上装一个比特币钱包软件,然后生成地址。这时候你的私钥是完全没有接触过互联网的。这个地址也可以用来接收比特币,而且你也可以在这台电脑上用私钥签名构造“交易”,然后到另外连网的电脑钱包上去广播来发送比特币到别的地址。这就是离线钱包,又叫冷钱包。是最安全的存储比特币的方式。
  真正必须存在比特币网络里的东西是“交易” ,比如你的地址收到一笔比特币,这次“交易”是会被比特币网络记录的,这是不能离开网络的。但私钥和地址都可以和网络无关。这样的设计实现了比特币许多非常棒的功能,这以后我们要慢慢讲到。
  第6章 结束语
  比特币是由一系列概念和技术作为基础构建的系统,理解起来并不会很难,只要一个一个概念慢慢摸清楚,就OK了。

 类似资料: