存在钱包中的是我的帐户对应的 key。有了这把 key 我就可以在虚拟货币世界证明我的身份、就可以更改我帐户的状态;BIP32, BIP39, BIP44 共同定义了目前被广泛使用的 HD Wallet,包含其设计动机和理念、实作方式、实例等。KeyChain翻译成钥匙链、钥匙扣很传神,分层确定性钱包(Hierarchical Deterministic Wallets),可以部分或全部与不同系统共享的钱包。DeterministicKeyChain里提到了BIP32,所以就查了一下,看看是怎么定义的,具体如下:
BIP32:定义 Hierarchical Deterministic wallet (简称 "HD Wallet"),是一个系统可以从单一个 seed 产生一树状结构储存多组 keypairs(私钥和公钥)。好处是可以方便的备份、转移到其他相容装置(因为都只需要 seed),以及分层的权限控制等。这种母钥匙可以生成子钥匙的序列。这些子钥匙又可以衍生出孙钥匙,以此无穷类推。
比特币参考客户端使用随机生成的密钥。为了避免在每个交易之后进行备份的必要性(默认情况下)100个密钥缓存在一个预留密钥池中。然而,这些钱包并不意图在多个系统上同时共享和使用。 他们支持通过使用钱包加密功能隐藏他们的私钥并且不公开密码,但这样的“中性”钱包也失去了生成公钥的权力。
确定性钱包不需要这种频繁的备份,椭圆曲线数学允许可以在不显示私钥的情况下计算公钥的方案。 这允许例如网上商店让网络服务器为每个订单或每个客户生成新的地址(公钥哈希),而不使网络服务器访问相应的私钥(花费收到的资金需要私钥)。频繁使用固定的地址(私钥)被认为是不安全的,一般的钱包会提供生成多个私钥的办法。传统的比特币钱包(核心)会以随机的方式生成并存储私钥,这包含了一些隐患,比如忘记备份造成的私钥丢失。
BIP32提出,可以以特定规则生成私钥,这样只需要存储少量“种子”,就能推算出无数个可用私钥,它的实现称为“分层确定性钱包”。是HD的核心.HD Wallets因其只需要一个主(根)私钥,就能生成海量子私钥这个特性广受欢迎,越来越多的解决方案和企业开始支持或采用HD模型来进行私钥管理.HD模型的最大优点是不使用私钥就能生成大量的由您掌握的地址,其原理就在于直接通过主公钥就可以生成任意数量的子公钥,整个过程无需访问主私钥。这个特性有如下好处:
1、备份容易,只需备份主私钥,新增地址无需再次备份私钥;
2、保证主私钥的冷存储,无论新增多少个地址,仅需主公钥就能完成,无需主私钥介入;
3、方便的第三方审计,只需给第三方机构或会计提供主公钥,他就可以看到所有下级地址的交易,但又不能花费任何币(因为没有子私钥);
网友评论