比特币纸钱包、脑钱包?原谅我脑内存不足(一)

作者:佛系招财猫  时间:2020-02-09  分类:区块链知识教程  

  此文为技术狗出品,新手小白请自觉搬好小板凳!

开场白  
 

  2020年全球开年遇疫情,中国地图一篇红海,全国几十亿人口居家隔离,每天移动范围为:卧室盆地、厨房客厅小吃一条街、阳台岭观景区。

  既然不能出门,那就趁次机会,跟我佛系招财猫深究一下到底什么是比特币钱包?毕竟一寸光阴一寸金,成狗(功)都是留给那些有准备的人。

  话不多说,直接进主题!


 
 
  01

  从用户的角度来看,比特币就是一个手机应用或电脑程序,可以提供一个个人比特币钱包,用户可以用它支付和接收比特币。这就是比特币对于大多数用户的运作原理。

  比特币(BitCoin,简写BTC)的概念最初由中本聪在2009年提出,根据其思路设计发布的开源软件以及建构其上的P2P网络。技术上来讲就是开源代码编译生成的一个软件系统,跟普通的软件类似。但是其没有中心系统的控制,总量有限,被称为数字黄金,一种点对点、去中心化的数字资产。

  普遍认为比特币作者是中本聪,2009年,中本聪(SatoshiNakamoto化名)在cryptography邮件列表中发表了第一个比特币规范及其概念证明。2010年年底,中本聪离开该项目,关于他的身份没有透露太多。据说是日本人,但没人知道此人是谁。中本聪的匿名身份经常会引起毫无根据的忧虑,其中很多是与比特币开放源代码特性的误解有关。比特币的协议和软件都是公开发布的,世界各地的任何开发人员都可以查看其代码,或者开发他们自己修改过的比特币软件版本。就像目前的开发人员,中本聪的影响仅仅局限于那些他做出的被其他人采纳的改动,因此,中本聪并没有控制比特币。那么,在今天,关于比特币的发明者的身份问题可能和纸张发明者的身份问题一样。

a
比特币的合法性

  德国:世界首个承认比特币合法地位的国家

  日本:定义比特币为资产

  加拿大:承认比特币的“货币地位”

  中国:比特币不是货币,是一种虚拟商品。

  http://www.gov.cn/gzdt/2013-12/05/content_2542751.htm

  

  比特币特点(Bitcoin,简写BTC):总量固定;去中心化;不可篡改;匿名性;便携性。

1.1.1 总量固定

  2009年1月4日,中本聪开采出了第一个区块,包含50个比特币奖励。总量2100万枚,已计算出1700万枚。被称为数字黄金,类似钻石等商品。比特币总量计算方法如下:

  

  有些人在阅读源代码的时候有个疑问,会认为MAX_MONEY这个变量代表的是币的总量。这个理解是不对的。币的总量应该严格按照区块与每个块的出币数量来计算的。

  

1.1.2 去中心化

  中心化的问题很多,例如央行不需要经过你的同意,就可以随意印钞票;例如银行等系统如果发现出现了错误的转账,可以很方便的撤销转账。

  银行是一个中心化系统,存储在银行的中心数据库,通常的转账流程如下:

  A的账号余额2000元,B的账号余额1000元,当A需要转账1000元给B时:A向银行提交转账请求;银行确认A的账户信息,并检账号是否满足条件;通过后,银行增加一条交易记录:A向B转账1000元,并修改两个账户的余额:A账号余额=2000-1000=1000元,B账号余额=1000+1000=2000元。

  比特币转账是直接向比特币全网发起转账请求,挖矿矿工校验请求之后确认转账,中间不需要中心化的机构授权认可。

  比特币网络在全球有成千上万个节点在运行比特币,由全体比特币用户共同控制,几乎不可能被一个的组织摧毁。除非绝大部分比特币用户一致同意做出某个改变(例如硬分叉或版本升级),否则任何人或组织都无法改变或停止比特币运行。

  早期比特币设计的理念是每台电脑设备都可以计算开采比特币,但是由于ASIC矿机的发展,目前比特币算力几乎被全球几大矿池控制了,因此有其他币种(门罗币,一种匿名性加密数字资产)采用硬分叉修改挖矿算法来抵制ASIC矿机。

  去中心化的特性可以保证用户在比特币网络中转账支付不需要依赖一个单一的中心节点,前提是必须信任此网络;但是并不能保证你在购买商品的时转账成功后对方一定会给你对应的商品。

  比特币是去中心化的,那么在这个网络中应该相信谁?答案是比特币开发小组控制的两个网站。

  比特币官方网址:https://bitcoin.org

  比特币官方源码:https://github.com/bitcoin

  关于比特币程序的去中心化,其实每个币种的钱包启动之后都会去连接内置的几个节点(称为种子节点),理论上讲,如果种子节点被攻击或者有人劫持DNS导致解析出现问题,那么有可能发生钱包无法同步数据的现象,小币种发生这种情况的概率要大很多。某种程度可以说,谁控制了seed节点,谁就控制了比特币网络。

  比特币钱包内置的DNS seed:

  

1.1.3 不可篡改

  区块链技术刚出来的时候,目的就是为了防篡改的。不可篡改是指记录的信息的没有被改变过。比特币的区块链中记录只有一直增加,没有删除。

  比特币通过区块链技术中的非对称加密,数字签名,时间戳标记等,保证记录是不可篡改的,此处讲的不可篡改是指从实际情况,假设大家都为理性人来讲,攻击比特币网络的收益远大于其成本,没有人会这么做。

  没有谁拥有比特币网络,就像没有人拥有电子邮件背后的技术一样。比特币由世界各地所有的比特币用户控制。开发者可以改善软件,但他们不能强行改变比特币协议的规则,因为所有的用户都可以自由选择他们想用的软件。为了相互之间保持兼容性,所有用户也需要选择遵循相同规则的软件。只有所有用户达成完全一致的共识,比特币才能正常地工作。因此,所有的用户和开发者对接受和保护这一共识很有动力。

  但是目前比特币算力过于集中化,假设大矿池具备的算力超过51%,那么矿池就有能力攻击或者分叉比特币网络去单独开采一条链(即51攻击),如果能够重写比特币区块链,那么此前的一部分交易会被作废。

1.1.4 匿名性

  比特币节点和节点之间不需要公开身份信息,隐私性好。比特币地址的所属是匿名的,用户可以生成很多个比特币地址,并且地址跟现实生活中的真实身份没有任何关系,因而具有一定匿名性,而且由于其去中心化的特性,执法部门无法查得比特币地址的所有者,无法查封冻结该地址的资金。

  需要注意的一点是,比特币的交易是可以追本溯源的。比特币的交易历史是完全公开的,所有人都可以通过你的地址在区块链中查询你所使用地址的资产流入与流出情况,并可向上追溯至这些比特币的起源,即从区块生成后发送到的那个地址。这对个人隐私构成了很大的威胁。有研究显示,约40%比特币用户的真实身份可被发现,这其中有些用户还使用了官方推荐的隐私保护措施,这最终可能会使得如今被大量用于洗钱等非法活动的比特币不再受宠。因此各种混币网络或者其他一些匿名性的加密数字资产非常受匿名爱好者的欢迎。如果这些比特币不经过交易所流通,很难查询到其背后的真实控制人。

1.1.5 便携性

  比特币可以在任意一台接入互联网的电脑或手机上管理,跨越银行,跨越国界。比特币是一种“电子货币”,由计算机生成的一串串复杂代码组成,拥有比特币私钥就拥有了对应地址中的比特币。

  比特币可以很方便的通过转移到其他地址,手续费较低,而且不受地理位置限制,比如可以备份到优盘,或者记录到大脑中,然后可以通过特定的程序恢复。

02

  比特币的所有权是其私钥的控制权,其本质是一串随机产生的二进制字符串。

  以下并不是按照某一个功能进行的分类,而是通常大家的叫法而已。

  全节点钱包,轻钱包;电脑版钱包,手机版钱包;冷钱包,热钱包;纸钱包,脑钱包;HD钱包;硬件钱包;实体比特币。

  全节点钱包:所有交易数据存储在本地,可以查询所有地址的信息,数据量很大,接近200G。

  轻钱包:仅同步交易头部信息,存储自己地址的交易记录。

  电脑版钱包:运行于Windows,Linux,Mac操作系统之上。

  手机版钱包:运行与Android,IOS操作系统之上。

  冷钱包:私钥不接触网络,通常用于保存大额比特币资产。

  热钱包:钱包程序需要连网,小额交易,频繁交易。

  纸钱包:私钥地址打印到纸上保存。

  脑钱包:使用一些比较方便记忆的词语的哈希值作为比特币私钥。

  HD(HierarchicalDeterministic)钱包:分层确定性钱包,一般采用一些助记词计算出钱包的主私钥,根据固定的规则可以衍生出无数的子私钥。

  硬件钱包:将比特币存储在小型硬件(例如类似U盾的工具)之内的钱包。有的需要配合手机APP使用才能转账。硬件钱包是高安全性和易用性之间的最佳平衡。它们是从底层起被设计为只能用作钱包的一个非常小的设备。不能安装任何软件,免受计算机安全漏洞和网络盗窃的危害,使得它们非常安全。因为可以备份,如果你的设备丢失,你的资金仍然可以恢复。

  实体比特币:离线生成私钥,然后刻在实体金属之上,制成硬币形状。

  比特币最早的客户端(BitcoinCore)钱包是一堆随机生成的私钥的集合。客户端会预先生成 100个随机私钥,并且每个私钥只使用一次。每个交易使用一个地址的概念是中本聪提出的。如果交易比较频繁,私钥可能会用光,然后再产生一批私钥,所以每次完成100个交易后,你必须备份新的wallet.dat文件,否则可能会丢失资产。这种钱包难以管理和备份。

  所谓分层,就是一个大公司可以为每个子部门分别生成不同的私钥,子部门还可以再管理子子部门的私钥,每个部门可以看到所有子部门里的币,也可以花这里面的币。也可以只给会计人员某个层级的公钥,让他可以看见这个部门及子部门的收支记录,但不能花里面的钱,使得财务管理更方便了。


03

  打开比特币官方网址,https://bitcoin.org/zh_CN/,比特币入门指南,选择钱包可以下载需要的比特币钱包程序。

  比特币网络分为主网络Mainnet,测试网络Testnet,开发者网络RegTest。这三个网络中的比特币是不能互相转账的。

  主网络就是平时说的比特币区块链网络,里面存储的比特币都是可以跟各个交易所互相转账的。

  测试网络是开发完成某些新功能的集合用来验证功能是否正常的网络。

  开发者网络是开发人员用来自己开发新功能用来开发测试的网络。一般比特币开发者或者私有链测试的时候使用较多。

b

  加密钱包文件

  你要确保自己不会忘记密码,否则你将永远失去你的资金。和你的银行账户不同,比特币的密码恢复选项非常有限。你也许需要保留一份写有你的密码的纸质副本,存放在像保险柜一样安全的地方。

  任何仅包含字母或可识别单词的密码都可以被认为是弱密码并很容易被破解。一个强密码必须包含字母,数字,标点符号,并且其长度必须至少为16个字符。最安全的密码是由专门的程序生成的。强密码通常更难记住,因此你需要认真熟记它。

  备份你的钱包文件

  有些比特币钱包内部使用很多隐藏私钥。如果你只备份了可见比特币地址的私钥,资金中的很大部分可能都无法从备份中恢复。

  使用多个安全的存放处

  单点故障不利于安全性。如果你的备份不限于仅一处,发生坏事情导致钱包无法还原的可能性就会更小。你也可以考虑使用不同的存储介质,比如U盘、纸和光盘。

  定期备份

  钱包需要定期备份,以确保所有最近的比特币找零地址和新创建的比特币地址都包含在备份中。不过,很快所有的应用程序将使用只需备份一次的钱包。

  


1.3.1 Bitcoin Core

  官方源码: https://github.com/bitcoin

          C++语言编写,Qt界面,支持平台包括:

        WindowsMacLinux

  BitcoinCore是完整的比特币客户端。它构建了比特币的主干网络。它具有高度的安全性、隐私性、稳定性。然而,相比其它客户端,它的功能少一些,还需要占用大量的存储空间和内存。BitcoinCore首次同步需要花费很长的时间才能完成。你必须确保有足够的带宽以及存储整个块链大小的磁盘空间(超过150GB)。

  Bitcoin Core0.12.0已经提供了修剪模式,节点只需要存储未花费输出(unspentoutputs ),不需要存储先前的历史交易。一个完整节点需要存储的区块数据从60GB降低到2GB,且不再大幅增加。

  以下演示使用的是Windows版本的比特币运行于测试网络。

  比特币钱包转账需要在之后的6个区块产生之后才能入账到可用余额当中,每个区块确认时间为10分钟,因此完全入账需要等待1个小时。

  

  

  发送界面添加了新的功能,可以一次性转完所有的比特币余额。还可以自定义选择转账的手续费,按照每千字节计价,不是按照金额比例或者每笔交易计价。

  接收界面以前只有自己的钱包地址,现在可以请求付款生成对应的二维码,发送给别人让其付款,请求中还可以附带短消息。

  收款地址移动到菜单栏文件->收款地址界面。

  

  

  交易记录列表展示了此钱包内的所有历史交易记录,可以按照标签或者地址进行搜索,可以按照类型或日期进行过滤,方便用户进行查找。

  

  

  比特币客户端的消息签名功能,很多人不知道怎么用。消息签名的用处主要是为了证明某个地址确实是你的,或者点对点交易时的余额检查,确定对方是否有足够的余额。如果说直接通过客户端截图然后发给对方验证就行了,没有人能够确认是不是真实的截图。而签名验证就是可以验证对方是否真的拥有这个付款或收款地址的控制权,再结合区块链查询其余额,就可以确认对方是否为此地址真正的拥有者。

  调试窗口的控制台一般为专业用户设置,此界面可以输入给定的指令来获取钱包内的各种信息,包括比特币私钥。

  

  比特币数据目录中,最重要的是wallet.dat文件,此文件中存储了私钥和交易的数据,如果这个文件损坏或者丢失,而使用者没有备份的话,比特币就会丢失。

  wallet.dat:比特币钱包加密功能,加密后重启钱包,比特币wallet.dat文件和加密密码一起就可以控制这个文件内地址的比特币,密码丢失后无法找回,这个跟传统银行密码可以找回完全不一样。因此加密密码和wallet.dat一定要保管好。随着比特币价格的上涨,网络上不时有人因为存储不当丢失比特币的案例。


wallet.dat 文件路径:
Windows,%appdata%\bitcoin
Linux,~/.bitcoin
Mac,~/Library/ApplicationSupport/Bitcoin/
peers.dat:节点IP缓存,会保留上次连接的节点的IP地址信息。
debug.log:钱包程序的日志文件,日常运行的日志记录,报错信息等。

  

  启动测试网络,快捷方式后追加-testnet,

  例如,"D:\ProgramFiles\Bitcoin\bitcoin-qt.exe" -testnet

  自定义数据目录,快捷方式后追加--datadir="D:\btcdata"

  bitcoin.conf配置文件。以#开头的行是注释。

  

  

  Ubuntu14.04 64位安装比特币钱包程序(CLI命令行版本)

  

1.3.2 Armory

  官方网站,https://btcarmory.com/

  官方源码:https://github.com/goatpig/BitcoinArmory

  Python语言编写,PyQt界面,支持平台包括:

        WindowsMacLinux

  Armory是一个全功能的比特币客户端,提供十几种创新功能,这些功能在任何其他客户端软件中都没有。管理多个钱包(确定性和只收看),打印纸质备份,导入或清除私钥,并将您的资金保存在永不接触互联网的计算机中,同时仍能够管理收款。Armory没有内置独立网络组件,而是依靠BitcoinCore客户端安全地连接到比特币网络,验证区块链数据并广播交易。

  安装步骤中最后提示打印纸钱包作为备份。

  

  

  注意此软件启动界面提示为beta版本,开发人员不为使用过程中比特币丢失负责。

  主界面标准模式下,功能也比价简单清晰,收币,发币,钱包余额,创建新钱包,导入导出,钱包属性等。

  

1.3.3 Electrum

  官方网站,https://electrum.org/

  官方源码:https://github.com/spesmilo/electrum

  Python语言编写,PyQt界面,支持平台包括:

  WindowsMacLinuxAndroid

  Electrum客户端是一款经典的轻钱包,依赖于远程服务器中的比特币数据。它的侧重点是快速,简单,占用资源少。它使用远程服务器来处理比特币系统中最复杂的部分,你还可以通过一个预设的保密短语来还原你的钱包。提供了RPCAPI以方便商家接入。

  启动界面有好几种方法可供选择如何创建钱包。

  

  标准钱包模式的主界面功能非常简洁,非常容易上手,还提供二维码和中文版的显示。此钱包默认比特币单位为mBTC。

  1 BTC = 1000 mBTC

  1 mBTC = 1000 uBTC

  1 uBTC = 100 Sotashi

  1 BTC = 100000000 Sotashi(聪)

  1聪为比特币的最小单位,不可再往下分割。

  

 

  更改钱包默认连接的区块数据服务器。

  

1.3.4 Bither

  官方网站,https://bither.net

  官方源码:https://github.com/bither/

  Java 语言编写,支持平台包括:

  iOS Android Windows Mac Linux

  Bither在许多平台上都是一个简单而安全的钱包。采用特殊设计的冷/热模式,用户可以轻松获得安全性和简单性。Bither的XRANDOM使用不同的熵源为用户生成真正的随机数。用HDM(HierarchicalDeterministic + Multisig),用户可以拥有HD的优势和Multisig的安全性。

  2015年5月5日,比太钱包成为比特币网站Bitcoin.org推荐的钱包,这是首个被Bitcoin.org推荐的“国产”比特币钱包。作为众多数字货币钱包开发团队之一,4人团队的比太钱包诞生一年,已经在比特币钱包方面做出多次创新:

  比太钱包是原生支持平台最多的比特币钱包,包括iOS、Android、MacOS、Windows、Linux;首个利用智能手机实现冷热分离的钱包解决方案;首创极随机(XRANDOM)的真随机数解决方案。

  创建账户地址采用其极随机,需要采集用户鼠标动作信息。

  

  比太钱包内置交易所信息,其中有些交易已经是过去式。

  

1.3.5 GreenAddress

  官方网站,Chrome浏览器插件

  官方源码:https://github.com/greenaddress/WalletCrx

  支持平台包括:

  iOS Android Windows Mac Linux 网页

  GreenAddress是一个便于使用的多重签名钱包,它具有更好的安全性和隐私保障。你的私匙无论何时都不会在服务器端上,加密的私钥更不会。为安全起见,你应当总是使用双重验证(2FA)和浏览器扩展功能或Android应用程序。

  

1.3.6 Coin.Space

  官方网站:https://coin.space/?network=bitcoin

  官方源码:https://github.com/CoinSpace/CoinSpace

  支持平台包括:

  iOS Android Windows Mac Linux 网页

  Coin.SpaceHD钱包是一个免费的在线比特币钱包,您可以使用它在世界各地免费支付。它使您在手机或桌面支付比特币变得更容易和安全。

  

1.3.7 其他

  比特币技术论坛,https://bitcointalk.org

  比特币专业技术论坛,很多币的创世帖在此公布。

  Blockchain,https://blockchain.info

  Blockchain是世界领先的数字资产软件平台。提供丰富的区块浏览器数据查询功能和钱包服务,还为开发人员提供API工具,以便分析新兴的数字经济。https://blockchain.info/pushtx提供广播交易服务。

  Blockexplorer,https://blockexplorer.com

  区块浏览器,提供广播交易,验证签名服务。

  Bitpay,https://bitpay.com

  区块链支付初创公司Bitpay,提供多平台钱包以及各种API接入服务。

  比特大陆,https://www.bitmain.com

  Bitmain,知名矿机厂商,是一家专注于高速、低功耗定制芯片设计研发的科技公司,成功设计量产了多款ASIC定制芯片和集成系统。比特大陆旗下网站https://btc.com/tools提供丰富的挖矿计算,交易解码,广播交易等服务。

  脑钱包工具集,http://naokouling.com

  脑钱包网站,提供丰富的地址转换工具。请勿使用简单的词句作为脑钱包私钥的生成字符,已有黑客破解了很多私钥地址。

  (未完待续)


BitMart 是由众多华尔街精英人士打造的全球化综合交易平台,目前排名全球权威加密货币追踪网站CoinMarketCap (CMC) 前5。BitMart旨在提供币币交易、期货合约、融资融币、场外交易、全网交易,去中心化交易等多样化的系统功能,满足各类投资者的交易需求。BitMart目前拥有262个交易对,4个交易区(BTC, ETH, USDT 和BMX),市场规模覆盖180多个国家。
版权信息
作者:佛系招财猫
来源:BitMart中文社区

关于我们

联系我们

作者进驻

公众号

Copyright © 2013 比特巴 www.btb8.com
只为您提供客观公正有用的比特币 区块链 加密数字货币新闻、技术教程、行情分析、行业人物资讯
手机版