我们分开了解,什么事以太坊地址,Keystore,助记词,明文私钥。 地址:以 0x 开头的 42 位的哈希值 (16 进制) 字符串。
Keystore: 明文私钥通过加密算法加密过后的 JSON 格式的字符串, 一般以文件形式存储。
助记词: 12 (或者 15、18、21) 单词构成, 用户可以通过助记词导入钱包, 但反过来讲, 如果他人得到了你的助记词, 不需要任何密码就可以轻而易举的转移你的资产, 所以要妥善保管自己的助记词。
明文私钥:64 位的 16 进制哈希值字符串, 用一句话阐述明文私钥的重要性 "谁掌握了私钥, 谁就掌握了该钱包的使用权!" 同样, 如果他人得到了你的明文私钥, 不需要任何密码就可以轻而易举的转移你的资产。
去中心化: 因为整个网络没有中心统治者。系统依靠的是网络上多个参与者的公平约束,所以任意每几个节点的权利和义务都是均等的,而且每一个节点都会储存这个区块链上所有数据。即使该节点被损坏或遭受攻击,仍然不会对账簿造成任何威胁。 不可逆: 区块链上的信息必须不可撤销,不能随意销毁。系统是开源的,整个系统都必须是公开透明的,因此某笔交易被全网广播以后,达到 6 个确认以上就安全记录在案了,且不可逆转不可撤销。 不可篡改: 确保信息或合约无法伪造。账簿在某个人或某几人手上,造假的可能性就非常高,但每个人手里都有一本账簿,除非整个游戏里超过 51% 的人都更改某一笔账目,否则任何的篡改都是无效的,这也是集体维护和监督的优越性。 匿名性:各区块节点的身份信息不需要公告或验证, 信息传递可以匿名进行。举个简单的例子, 就是你在区块链上向一个钱包地址发起交易, 但是却无法知道这个地址背后确切对应的是那一个人, 或者你的私钥被某一个黑客盗窃了, 无法从一个钱包地址中得知黑客是谁。
钱包是密钥 (公钥和私钥) 的管理工具, 他只包含密钥而不是确切的某一个代币。钱包中包含成对的私钥和公钥。用户用私钥来签名交易, 从而证明该用户拥有交易的输出权。而输出的交易信息则存储在区块链中。
其次, 我们需要深刻的认识一个问题, 既然钱包不存储确切的某一种代币, 而是存储密钥, 那么使用这种去中心化钱包, 资产到底存储在哪里? 大概有 70% 的人认为资产是存储在钱包公司服务器上的, 因为长时间的使用中心化平台, 例如交易所去存储资产, 所以一旦面临资产丢失或者被盗, 第一时间就会联系服务商, 要求冻结账户或者交易回滚等中心化操作。但事实并非如此, 我们在使用 这种去中心化钱包时, 私钥是由自己保管, 同样资产也是存储在区块链上, 而不是钱包服务器上, 更不可能存在设备上。所以上述一些所谓冻结账户、交易回滚等操作也就不成立。
备份意识: 创建钱包之后立即备份! 升级应用的时候备份! 删除应用的时候备份! ... 备份备份备份, 要把钱包备份当做一种习惯!
紧急事件处理: 一旦发现自己钱包出现不是自己操作的转出交易, 或者意识到自己的私钥已经泄露, 那么立即停止使用该钱包 (不要再向该钱包转账), 新建钱包 (当然要做好新钱包的备份) 然后立即将资产转移至新钱包。很多人希望钱包服务商帮忙查找盗币者或者黑客的信息, 这一点在之前的基础知识部分已经讲的比较清晰了, 因为是去中心化钱包, 所以很难提供什么有效线索去帮助受害者"破案"。
防丢策略: 可以说防丢策略和防盗策略是整个钱包安全知识的重中之重, 钱包丢失一般分为三种情况: 1. 删除钱包时, 没有备份钱包。建议在创建完钱包之后, 立即备份钱包, 采用双重备份和多次备份两种策略。双重备份是指 Keystore 备份和助记词备份, 多次备份是指在备份完 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 (后因其妹夫主动承认, 才得以查清事实)
如何使用Etherscan? 去中心化钱包交易时不存在 "入账", "取消交易", "冻结账户"等说法的, 多人都觉得使用 钱包 发送交易, 那么交易信息理应由 钱包客服人员查询, 其实不尽然。我们使用 Etherscan 自己就可以查询每笔交易的详细信息
矿工费:矿工费其实是非常好理解的, 首先明确我们使用钱包发送交易, 矿工费是谁来收的? 答案当然是矿工, 这和交易所或者一些平台有很大区别 (例如之前很多交易所都收 0.01 ETH 的手续费) 。
还有矿工费到底是怎么计算的, 公式: Gas fee = gas * gas price, gas price 的单位是 gwei, 4 gwei 相当于 0.000000004 ETH ,我们可以去 Etherscan 上查看最近一笔转账成功的交易, 看看这笔交易的 gas 和 gas price 是多少, 我们照着设置就可以了。 最后一个小的知识点, 就是如何用 MyEtherWallet 网页钱包 ( https://www.myetherwallet.com), 来搭配 钱包做一些操作。例如错将 ETC 转入 imToken。这些操作不在这里细说,但是大家在使用 MyEtherWallet 的时候一定要注意不要使用钓鱼网站, 注意访问外国网站。
现在我想查询一个钱包地为 0xD5bc17b6701f9......Cab51bFaE24B2D4Acc2F 的所有交易信息 Step1: Etherscan 是有自己数据库记录的, 所以如果一个地址有在区块链上进行过 ETH 交易, 或者有被查询过, 那么输入框会自动补齐你所要查询的地址。 Step2: 点击查询改地址, 进入下边的界面, 其中包含了该地址的所有交易信息, 以及资产数量. Step3: 点击某一条交易的 TxHash 或者叫 TxId 可以查看这条交易的详细信息