imToken钱包在 1.3.3 版本新增了用户风险测评系统, 必须答对7道题以上(如果题目中有必过题,往往是涉及钱包安全的,则必须答对)才可以使用钱包。目的是为了让更多的用户了解钱包安全知识以及区块链的基本概念, 从某种程度上提升了整个区块链生态的认知水平。不过,这样的设置对很多小白用户也带来了困扰, 反复测试都过不了 (通过率惨不忍睹),imToken 是希望用户可以通过帮助中心自主学习相关知识, 不过今天小刘特意为你带来了快速通过测评的攻略, 帮你迅速掌握去中心化钱包的安全知识。
所有问题大体可以分为三类:
区块链基本概念
钱包安全知识
钱包交易转账
1 区块链基本概念
基本概念主要是围绕"什么是 ERC20 代币", "以太坊的钱包地址是怎样的", "什么是钱包", "在使用 imToken 时, 用户的数字资产是存储在哪里的"等问题展开。
对于这部分知识, 由于比较琐碎, 我们分开讲解, 首先讲解, 什么是以太坊的地址、Keystore、助记词、明文私钥。
地址: 以 0x 开头的 42 位的哈希值 (16 进制) 字符串。
Keystore: 明文私钥通过加密算法加密过后的 JSON 格式的字符串, 一般以文件形式存储。
助记词: 12 (或者 15、18、21) 单词构成, 用户可以通过助记词导入钱包, 但反过来讲, 如果他人得到了你的助记词, 不需要任何密码就可以轻而易举的转移你的资产, 所以要妥善保管自己的助记词。
明文私钥: 64 位的 16 进制哈希值字符串, 用一句话阐述明文私钥的重要性 "谁掌握了私钥, 谁就掌握了该钱包的使用权!" 同样, 如果他人得到了你的明文私钥, 不需要任何密码就可以轻而易举的转移你的资产。
2 区块链的基本特性
去中心化: 因为整个网络没有中心统治者。系统依靠的是网络上多个参与者的公平约束,所以任意每几个节点的权利和义务都是均等的,而且每一个节点都会储存这个区块链上所有数据。即使该节点被损坏或遭受攻击,仍然不会对账簿造成任何威胁。
不可逆: 区块链上的信息必须不可撤销,不能随意销毁。系统是开源的,整个系统都必须是公开透明的,因此某笔交易被全网广播以后,达到 6 个确认以上就安全记录在案了,且不可逆转不可撤销。(注: imToken 是 12 个区块确认)
不可篡改: 确保信息或合约无法伪造。账簿在某个人或某几人手上,造假的可能性就非常高,但每个人手里都有一本账簿,除非整个游戏里超过 51% 的人都更改某一笔账目,否则任何的篡改都是无效的,这也是集体维护和监督的优越性。
匿名性: 各区块节点的身份信息不需要公告或验证, 信息传递可以匿名进行。举个简单的例子, 就是你在区块链上向一个钱包地址发起交易, 但是却无法知道这个地址背后确切对应的是那一个人, 或者你的私钥被某一个黑客盗窃了, 无法从一个钱包地址中得知黑客是谁。
最后关于这一模块比较难理解的就是使用 imToken 这种去中心化钱包, 资产到底存储在哪里?很多小白用户, 带着惯有的传统中心化管理资产的思考方式, 来使用 imToken 这种去中心化的钱包。那么就会造成很多误会, 甚至为自己的资产带来巨大的损失。那么我们首先要深入了解到底什么是钱包?
钱包是密钥 (公钥和私钥) 的管理工具, 他只包含密钥而不是确切的某一个代币。钱包中包含成对的私钥和公钥。用户用私钥来签名交易, 从而证明该用户拥有交易的输出权。而输出的交易信息则存储在区块链中。
其次, 我们需要深刻的认识一个问题, 既然钱包不存储确切的某一种代币, 而是存储密钥, 那么使用这种去中心化钱包, 资产到底存储在哪里? 大概有 70% 的人认为资产是存储在钱包公司服务器上的, 因为长时间的使用中心化平台, 例如交易所去存储资产, 所以一旦面临资产丢失或者被盗, 第一时间就会联系服务商, 要求冻结账户或者交易回滚等中心化操作。但事实并非如此, 我们在使用 imToken 这种去中心化钱包时, 私钥是由自己保管, 同样资产也是存储在区块链上, 而不是钱包服务器上, 更不可能存在设备上。所以上述一些所谓冻结账户、交易回滚等操作也就不成立。
3 钱包安全知识
这部分其实整个测评中最重要的部分, 基本上是必答题, 也就是有关钱包安全的题如果打错, 那么也就无法通过测评。但这部分却并不复杂, 主要围绕四个部分, 即钱包备份、防盗策略、防丢策略以及紧急事件处理方法。
备份意识: 创建钱包之后立即备份! 升级应用的时候备份! 删除应用的时候备份! ... 备份备份备份, 要把钱包备份当做一种习惯!
紧急事件处理: 一旦发现自己钱包出现不是自己操作的转出交易, 或者意识到自己的私钥已经泄露, 那么立即停止使用该钱包 (不要再向该钱包转账), 新建钱包 (当然要做好新钱包的备份) 然后立即将资产转移至新钱包。很多人希望钱包服务商帮忙查找盗币者或者黑客的信息, 这一点在之前的基础知识部分已经讲的比较清晰了, 因为是去中心化钱包, 所以很难提供什么有效线索去帮助受害者"破案"。
防丢策略: 可以说防丢策略和防盗策略是整个钱包安全知识的重中之重, 钱包丢失一般分为三种情况:
1. 删除钱包时, 没有备份钱包。建议在创建完钱包之后, 立即备份钱包, 采用双重备份和多次备份两种策略。双重备份是指 Keystore 备份和助记词备份, 多次备份是指在备份完 Keystore 和助记词之后, 要验证备份是否正确, 反复验证, 确认无误即可。
2. 忘记了 Keystore 密码。我建议使用强度较高的密码加密 Keystore, 这个密码最好是随机生成, 不常用的密码。这样提高了 Keystore 的安全性, 但是也对保管密码带来了巨大的挑战, 我推荐使用 1password 或者 lastpass 等密码管理工具, 妥善保管好自己的密码, 以防遗忘。
3. 遗失了私钥。这里的私钥包括助记词、Keystore 和明文私钥, 有些小白在备份助记 词时, 抄写过后并没有做验证, 或者自己过于潦草, 导致后期很难辨识, 这些都会导致无法再找到自己的钱包。所以我们在备份钱包时要仔细认真, 在后期保管钱包时, 要善于使用一些安全的管理工具, 确保自己可以随时找到私钥。
防盗策略: 我们要清楚我们被盗的是什么? 是某个资产吗? 是某个确定的代币吗? 其实都不是, 防盗的实质是防止我们的私钥泄露, 或者被黑客盗取。而在防盗策略上, Keystore 和助记词(或者明文私钥) 的侧重点有所不同。
Keystore 防盗策略: 由于 Keystore 是被加密过后的私钥, 并且一般是以 JSON 文件形式存在, 采用"抄写"这种策略明显是不科学的, 所以可以存储在 U 盘里或者密码管理工具里。存储 Keystore 时要和密码分开存储, 这样只要密码强度足够高, 即使被黑客盗取了 Keystore , 也很难破解, 备份 Keystore 时也要多处存储, 比如你只存在 U 盘里, 如果 U 盘丢失, 那么也相当于丢失了钱包。
助记词防盗策略: 在存储助记词时, 就需要更加谨慎一些, 因为助记词毫无安全性可言, 一旦被第三方窃取, 那么我们的资产将面临巨大的威胁, 所以建议采用物理介质备份, 抄写在一张纸上, 并且妥善保管, 抄写时要注意准确性, 也要注意长久保存, 不要出现字迹看不清楚等问题。
PS: 这里有三个笔者亲自授理的真实案例和大家分享一下, 希望大家能从中吸取一些经验。
Case 1: 某男将 Keystore 存储在自己的微信收藏里, 而 Keystore 的密码和微信密码是一致的, 结果钱包被盗资产预计 15 万 RMB.
Case 2: 某女将自己的 Keystore 通过邮件进行传输, Keystore 密码和邮件密码是一致的, 结果邮件被黑客拦截, 被盗资产预计 30 万 RMB.
Case 3: 某女因为怕自己遗忘备份的助记词, 所以将助记词告诉身边的亲朋好友, 帮忙记住, 结果被其妹夫盗取资产预计 3 万 RMB (后因其妹夫主动承认, 才得以查清事实)
最后的考点内容则是交易转账, 这部分内容主要围绕三点展开, 一个是如何查询自己的交易信息, 二是 imToken 支持哪些代币, 三是矿工费如何计算。再简化一些, 这部分内容, 我们只要掌握一项技能就可以"通关" - 如何使用 Etherscan (网址: https://etherscan.io/ )
去中心化钱包交易时不存在 "入账", "取消交易", "冻结账户"等说法的, 很多人都觉得使用 imToken 发送交易, 那么交易信息理应由 imToken 客服人员查询, 其实不尽然。我们使用 Etherscan 自己就可以查询每笔交易的详细信息, 甚至连 imToken 支持哪些代币都可以查到, https://etherscan.io/tokens 这个页面的所有代币, imToken 都会支持 (ERC20 标准)
矿工费其实是非常好理解的, 首先明确我们使用 imToken 钱包发送交易, 矿工费是谁来收的?答案当然是矿工, imToken 到目前为止没有对用户收取任何交易费用, 这和交易所或者一些平台有很大区别 (例如之前很多交易所都收 0.01 ETH 的手续费) 。
还有矿工费到底是怎么计算的, 公式: Gas fee = gas * gas price, gas price 的单位是 gwei, 4 gwei 相当于 0.000000004 ETH ,我们可以去 Etherscan 上查看最近一笔转账成功的交易, 看看这笔交易的 gas 和 gas price 是多少, 我们照着设置就可以了。其实使用 imToken 只要不是特殊的交易, 我们无需理会矿工费问题, imToken 已经帮我们做好了这一切。
最后一个小的知识点, 就是如何用 MyEtherWallet 网页钱包 ( https://www.myetherwallet.com/ ), 来搭配 imToken 做一些操作。例如错将 ETC 转入 imToken。这些操作不在这里细说, imToken 的帮助中心内容很丰富, 里边都有涉及。但是大家在使用 MyEtherWallet 的时候一定要注意不要使用钓鱼网站, 注意科学上网。
That's all, 以上就是通关大法, 相信会对大家有所帮助。我个人认为, 只有越来越多的人真正了解区块链, 了解去中心化钱包的特点和机制, 区块链生态的整体水平才会有质的飞跃, 而不是单纯的投机主义者作祟。在整个行业整顿期间, 我觉得这是很好的学习机会, 更多的人会静下心来, 将目光关注于区块链技术本身。Make Blockchain Happen!