钱包种类
钱包的核心功能主要在于私钥的创建、存储和使用。钱包一般分成两种: 非确定性钱包和确定性钱包。
非确定性钱包是一堆随机生成的私钥的结合,其中每个私钥只会被使用一次,一批私钥备用完后会再生成新的一批私钥。非确定性钱包最大的缺点就是每次转帐都需要备份。非确定钱包由于种种繁琐的管理流程,现阶段已渐渐被使用者所遗弃。
确定性钱包不需要每次都备份:确定性钱包有一个种子,每次对种子进行单向哈希运算会生成私钥。在确定性钱包中,只要有这个种子,就可以找回所有私钥,只需备份种子就相当于备份了所有钱包。
钱包各环节之风险控管
比特币最大的风险在于私钥泄漏,一旦泄漏了,黑客无须任何举措就能取走你的比特币。
第二大的风险在于公钥泄漏。公钥是私钥透过椭圆曲线加密算法得来,从公钥"非常难"被反推回私钥,但虽然说很难很难,但也并非完全不可能,一旦量子计算机问世,是能够从公钥反推回私钥的。
第三大的风险就是你自己忘记私钥,私钥相当于银行存款的密码,只是不像银行,你忘记密码时可以去银行进行各种身份验证程序,请银行帮你重设密码,在比特币钱包中,你忘记密码时连神也救不了你。
1.如何防止私钥泄漏?
1.1使用分层确定性钱包
在前面提到的比较多人使用的确定性钱包架构下,最广为人知的是HD钱包( Hierarchical Deterministic 分层确定性钱包)
分层指的是一个总地址可以为下面的子单位创建不同私钥,子单位下面还可以为孙单位创建私钥做控管,这些地址会呈现树状的结构。全部批量私钥的产生,都来源于一个种子。
种子本身是一串很长的随机数,不利于记忆,所以很多钱包如imtoken会使用助记词 (Mnemonic)辅助,注记词算是种子的一种延伸,更方便保存和纪录。
HD钱包对私钥的最大保护在于,你不需要暴露任何私钥,就可以从一个父公钥生成所有的子公钥。私钥在一开始创建完主公钥后,就可以妥妥地拿去离线保存了。
在BIP44的规则下,HD 钱包非常强大,用户只需要保存一个种子,就能控制所有币种,所有账户的钱包。HD钱包最大的好处在于隐私性:HD 钱包通过在发送和接收资金时能够生成新地址,大大提高隐私性,使交易难以追踪。
1.2 使用多重签名
多重签名可以理解为一间企业的分层授权概念。当你需要提取超过限制的金额时,需要多把私钥同时授权,同时提升防盗,防丢的安全性。也就是说,”用 m 把钥匙生成一个多重签名的地址,需要其中的 n 把钥匙才能花费这个地址上的比特币,m >= n,这就是 n/m 的多重签名” 。所以,黑客偷走了一个私钥是不够的,得偷走好多个才行。
2.如何防止公钥被破解?
2.1保护公钥:使公钥不等于收发款地址
这个设计是比特币内置。中本聪设计了一个精妙的机制,即"公钥"并不直接等于比特币的收发款地址。
一般转帐流程是这样的:A付钱给B,A会就下图紫色框中的资讯进行签名后,进行全网广播,所以A的公钥和地址都是在网上公开可查的,至于收款方的B仅会公开他的收款地址。
虽然直接以公钥做为地址很方便,但万一有人用量子计算机成功从公钥反推回私钥,资金的安全将受到威胁。但今天如果公钥和地址之间又加了一层哈希算法,理论上从地址是无法倒推回公钥的(一个哈希值对应无数个明文,无法确定哪个是)。
2.2 更进一步保护地址:付款方会产生一个找零地址
每次A发起付款时,她原本的比特币地址就作废了,支付剩下的钱,会转到一个新的找零地址中,这样我就不担心我的比特币地址暴露在公开网站中了。
小结
投资的刚需是避险。这些避险小知识,你清楚了吗?