首页
学习
活动
专区
工具
TVP
发布

ODYSSEY区块链小课堂—钱包和助记码词汇

每一个用户有一个包含多个私钥的钱包。钱包中包含成对的私钥和公钥。用户用这些私钥来签名交易,从而证明它们拥有交易的输出(也就是其中的比特币)。数字货币是以交易输出的形式来储存在区块链中。

钱包是私钥的容器,通常通过有序文件或者简单的数据库实现。另外一种制作私钥的途径是确定性密钥生成。在这里你可以用原先的私钥,通过单向哈希函数来生成每一个新的私钥,并将新生成的密钥按顺序连接。只要你可以重新创建这个序列,你只需要第一个私钥(称作种子、主私钥)来生成它们。

确定性(种子)钱包

确定性,或者“种子”钱包包含通过使用单项离散方程而可从公共的种子生成的私钥。种子是随机生成的数字。这个数字也含有比如索引号码或者可生成私钥的“链码”。在确定性钱包中,种子足够收回所有的已经产生的私钥,所以只用在初始创建时的一个简单备份就足以搞定。并且种子也足够让钱包输入或者输出。这就很容易允许使用者的私钥在钱包之间轻松转移输入。

助记码词汇

助记码词汇是英文单词序列代表(编码)用作种子对应所确定性钱包的随机数。单词的序列足以重新创建种子,并且从种子那里重新创造钱包以及所有私钥。在首次创建钱包时,带有助记码的,运行确定性钱包的应用程序将会向使用者展示一个12至24个词的顺序。单词的顺序就是钱包的备份。它也可以被用来恢复以及重新创造应用程序相同或者兼容的钱包的钥匙。助记码代码可以让使用者复制钱包更容易一些,因为它们相比较随机数字顺序来说,可以很容易地被读出来并且正确抄写。

具体地来说,电子钱包和BIP0039使用不同的标准且对应不同组的词汇。Trezor钱包以及一些其他钱包使用BIP0039,但是BIP0039和电子钱包的运行不兼容。

BIP0039定义助记码和种子的创建过程如下:

1.创造一个128到256位的随机顺序(熵)。

2.提出SHA256哈希前几位,就可以创造一个随机序列的校验和。

3.把校验和加在随机顺序的后面。

4.把顺序分解成11位的不同集合,并用这些集合去和一个预先已经定义的2048个单词字典做对应。

5.生成一个12至24个词的助记码。

下面的表格表示了熵数据的大小和助记码单词的长度之间的关系。

熵(bits) 校验符(bits) 熵+校验符 字段长

128 4 132 12

160 5 165 15

192 6 198 18

224 7 231 21

256 8 264 24

助记码表示128至256位数。这可以通过使用PBKDF2来导出更长的(512位)的种子。所得的种子可以用来创造一个确定性钱包以及其所派生的所有钥匙。

最后,我们展示一个助记码的例子和它所生成的种子,比如256位熵的助记码以及所产生的种子

负熵输入 (256 bits)

助记码 (24个单词)

cakeapple borrow silk endorse fitness top denial coil riot stay wolf luggage oxygenfaint major edit measure invite love trap field dilemma oblige

种子 (512 bits)

3972e432e99040f75ebe13a660110c3e29d131a2c808c7ee5f1631d0a977fcf473bee22fce540af281bf7cdeade0dd2c1c795bd02f1e4049e205a0158906c343

关于Odyssey

Odyssey (OCN) 由Odyssey Protocol基金会发起,注册地为新加坡。

Odyssey (OCN)的使命即构建下一代去中心化共享经济和点对点生态系统,并致力于在全球的共享经济和对等生态系统中降低整体运营成本,加快商业市场效率,提升产品和服务供应商的投入回报率。

Telegram - https://t.me/OdysseyOfficial

Twitter - https://twitter.com/OdysseyOCN

Github - https://github.com/OdysseyProtocol

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180524G0N3ZJ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券