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了。

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

  1. 求助,关于用bitcoin core恢复wallet.dat钱包的问题

    1.是不是只有等bitcoin core同步完了才能导入wallet.dat? 直接把你的wallet.dat替换默认的钱包文件,再打开bitcoin core即可. 在控制台里输入命令:listad ...

  2. 利用go语言创建钱包并遍历钱包(wallet)

    基本知识 公钥加密算法使用的是成对的密钥:公钥和私钥,公钥可以公开,私钥不能被公开.比特币钱包实际上是一个密钥对,当你安装 一个钱包应用,或者是使用一个比特币客户端来生成一个新地址是,他就会为你生成一 ...

  3. EOS开发基础之二:使用cleos命令行客户端操作EOS(钱包wallet基础操作)

    不知道下边这一段英文你们是不是能看懂,如果看不懂那就算了,我就是转过来随便看看的. 总之你记住nodeos.cleos和keosd这三个工程十分重要就行了,回头咱们的研究都从这三个工程杀进去. EOS ...

  4. 以太坊---「地址、密码、私钥、助记词、Keystore 」那些事

    想知道更多关于区块链技术知识,请百度[链客区块链技术问答社区] 链客,有问必答!! 国内最好的以太系钱包当属 imToken,在使用钱包时,有几个名词必须深刻理解,不然就有可能造成区块链资产的损失,这 ...

  5. 钱包终局之战:无私钥的未来

    从最日常和高频的注册.登陆.授权环节,降低 Web2 用户参与门槛. 作者:Loopy Lu:编辑:郝方舟 出品 | Odaily星球日报(ID:o-daily) Web3 革命已经掀起,但从 Web ...

  6. 解码 解密微信电脑版image文件夹下缓存的用户图片 dat文件解码解密查看方法

    在检查微信缓存中"FileStorage"文件夹时发现了其目录下的"Image"文件夹,想到可能是使用过程中缓存的聊天图片等,但是打开文件夹发现都是dat文件, ...

  7. matlab实现微信dat文件解码

    matlab实现微信dat文件解码 最近在准备CTF,做了一个题,是微信的dat文件,全网找微信dat转码器,不是要钱,就是流氓软件... 微信dat文件的原理,是将原文件按字节和一个key值进行异或 ...

  8. PC端微信.dat文件解码

    打开.dat的16进制解码010Editor.exe程序,得到如下图: 即代表你的密码的是4D6A,和图片JPEG表示的FFD8进行异或操作: 位运算(按位与,或,异或)在线计算器_三贝计算网_23b ...

  9. 如何用PHP代码分析dat文件,dat文件分析解密工具怎么操作

    微信dat转码软件使用操作说明在线解码,各位同学下载软件后,如何操作?如何找到dat文件?如何使用?又有哪些注意事项呢?这里会为大家一一道来.问题1 :如果下载失败怎么办?请先检查网络,软件并没有放在 ...

最新文章

  1. python简易版实例_Python3之简单搭建自带服务器的实例讲解
  2. .NET Micro Framework常见问题问答
  3. python thrift demo
  4. 央行官员:强化虚拟货币监管 遏制境外发币行为
  5. OpenCV检测ArUco板
  6. JAVA 串口编程 (一)
  7. 亮度 调整_摄影后期必备!如何用亮度蒙版技术精准调整照片影调
  8. c语言有趣的软件,一个有趣的小程序
  9. 异质图神经网络及其在电商领域中的应用
  10. 在计算机系统中使用加载器,在个人计算机系统中从软盘加载基本输入/输出系统的设备和方法...
  11. [C++] 基础知识点:namespace
  12. [项目回顾]基于Redis的在线用户列表解决方案
  13. java使用百度翻译接口实现前后端翻译功能
  14. EPSON清零软件sscserve40使用方法
  15. Win10 - 使用‘Alt+Tab’不能切换窗口及更改切换风格
  16. 控制器中接收数据的四种方式
  17. [ 电脑维修那些事 ] 一招教你自己解决电脑蓝屏
  18. 用VScode绘制函数调用流程图
  19. android listview替代,Android笔记——RecyclerView替代ListView
  20. fatal error: ros/ros.h: No such file or directory

热门文章

  1. Vben Admin 安装依赖l 安装报错:Error: command failed: c: \WINDOWS\system32\cmd.exe /s /c autoreconf -ify 解决办法
  2. iPhone换屏幕测试软件,怎样检验iPhone是否更换过屏幕?
  3. 如何云储存服务实现视频存储
  4. 单位内网访问外网的二种方式
  5. 企业大数据平台解决方案
  6. disallow php,在robots.txt中Disallow: /abc和Disallow: /abc/的区别
  7. 如何通过TXT文件批量生成汉信码
  8. 通过WIFI(不用数据线)连接Android手机调试
  9. 一剑走江湖---武汉
  10. 阿里云飞天系统的技术架构