美文网首页草叶集
山神带你入门区块链第六十三弹:备份你的钱包

山神带你入门区块链第六十三弹:备份你的钱包

作者: 珞珈山神 | 来源:发表于2018-11-24 20:20 被阅读34次

    在了解钱包的生成机制后,当你打开数字货币新世界大门时,你需要学会一项在这世界生存的技能,如何妥善的备份你的钱包。

    通过上次的内容,你很快就能明白一点,我们备份钱包,就是备份私钥,但因保管方式不同,所表现的形态也不一样。

    首先,我们看一下钱包具体的形态有哪些。

    目前常见的私钥形态:

    1. Private Key

    2. Keystore && Password

    3. Mnemonic Seed

    Private Key 就是一份随机生成的 256 位二进制数字,你甚至可以用硬币、铅笔和纸来随机生成你的私钥:掷硬币 256 次,用纸和笔记录正反面并转换为 0 和 1,随机得到的 256 位二进制数字可作为私钥。这 256 位二进制数字,就是私钥原始的状态。

    Keystore && Password。

    在以太坊官方钱包中,私钥与公钥将会以加密(创建钱包时设置的密码,请务必记住!)的方式保存为一份 JSON 文件,存储在 /Users/yourname/Library/Ethereum/keystore 中。 这份 JSON 文件就是 keystore,所以你需要同时备份 keystore 和对应的 password。

    Mnemonic code 是由BIP39提案提出的,目的是通过随机生成 12 ~ 24 个容易记住的单词,单词序列通过 PBKDF2与HMAC-SHA512函数创建出随机种子,该种子通过 BIP-0032 提案的方式生成确定性钱包。

    BIP 39 定义助记码创建过程如下:

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

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

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

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

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

    所以当你记住 12 ~ 24 个助记码后,就相当于记住私钥。助记码要比私钥更方便记忆和保管。目前支持助记码的钱包有imToken和jaxx 。

    那么,有哪些钱包备份方式呢?

    因为钱包的形态多样(本质一样),所以备份的方式也同样多点,但最终的目的: 防盗,防丢,分散风险 。

    • 防盗:分离备份,假如 keystore 或密码被盗,但对应的密码 和 keystore 依然安全;

    • 防丢:多处备份,降低丢失所有对应的 keystore && password 、助记码、私钥等等风险;

    • 分散风险:将资金适当分散,降低损失程度,同时采取多重签名方式,提取超过限制金额,需要多把私钥授权;

    下面为大家介绍常见的备份方式:

    1. 多处和分离备份 keystore && password

    2. 纸钱包

    3. 脑钱包

    4.多重签名

    首先,我们可以多处和分离备份 keystore && password。

    1. 打开以太坊官方钱包,在菜单栏中选择 ACCOUNTS -> BACKUP -> ACCOUNTS,你会看到一个 keystore 文件夹,在里面保存你创建过的钱包账户,以 UTC--2016-08-16....... 格式命名的 JSON 文件,这就是你的 keystore 文件。

    2. 将 keystore 文件放置多处安全的位置,如离线的 USB 以及你信任的云存储服务商。

    3. keystone 对应的 password,你应该采用强密码,同样多处且与 keystore 分离备份。

    第二就是,纸钱包备份。

    纸钱包实质就是将 keystore 或 私钥以纸质化形式保存,一般为二维码形式。

    你可以通过命令行的方式

    cat /Users/yourname/Library/Ethereum/keystore/<key_file> | qrencode -o keystore.png

    也可以到 MyEtherWallet: Open Source JavaScript Client-Side Ether Wallet 离线提交你的 keystore 或 私钥,就可以直接打印对应的二维码纸钱包。

    第三,脑钱包。

    我们所说的脑钱包并不是由用户自身输入自定义的词句生成私钥(因为这并不安全),而是通过 BIP 39 提案的方式生成足够随机的,可记忆的助记码。这是一个方案,但不是一个非常好的方案,因为人类的大脑并不总是靠谱。

    最后,多重签名。

    这个技术在前面已经跟大家详细的介绍过,那么我们知道它的优势是当你需要提取超过限制的金额时,需要多把私钥同时授权,同时提升防盗,防丢的安全性。

    多重签名是一个不错的选择,在以太坊官方钱包中,你可以在 Wallet Contracts 下方中选择 Add Wallet Contract,前提是你用来创建 Wallet Contract 的 account 有不少于 0.02 ETH,足以支付交易所需的费用。

    当你选择 MULTISIGNATURE WALLET CONTRACT ,将会看到如下提示:

    “This is a joint account controlled by X owners. You can send up to Y ether per day. Any transaction over that daily limit requires the confirmation of Z owners.”

    X 代表此钱包合约由多少账户控制

    Y 代表在单个账户授权情况下,每日可提款的上限

    Z 代表突破提款上限,需要多少账户授权

    默认我们采取 X = 3 ,Z =2 的方式,钱包合约由三个账户管理,需突破取款上限需要两个账户同时授权。

    采取多重签名的机制后,你可以多处且分离的方式保管你的 keystore 和 password,提升防盗,防丢的安全性。

    最后,不管你用任何方式备份钱包,只要能够达到防盗,防丢,分散风险的目的即可。

    相关文章

      网友评论

      本文标题:山神带你入门区块链第六十三弹:备份你的钱包

      本文链接:https://www.haomeiwen.com/subject/yxpffqtx.html