作为一个刚接触区块链世界的我来说,接触到太多的新概念也有熟悉的味道。但是就是这种未知的东西太多,越能激发我对于区块链知识的学习,不仅仅是基于对于区块链投资,更多的是作为曾经的当过码农的自己对于技术的学习还是那样流连忘返,把他当做一块美味的蛋糕来品尝,看看他到底怎么在未来改变世界。
提到区块链,就绕不开数字资产钱包,查阅了大量资料学习之后,发现其实他也不是那样高高在上。同样也加深了自己对于更好的理解区块链知识有着非常大的帮助。现在的介绍既是对于钱包的知识的共享让更多的人了解,也是自己对于学习imToken钱包内容的复盘和更加深入的理解。
区块链基本概念
去中心化:整个区块链网络是采用分布式结构,系统中没有权威的中心服务器。所以网络中每个节点都是平等对立的,同时每个节点都会存储该区块链上的所有数据。即使某个节点遭受破坏,也不会影响整个系统。
不可逆:基于区块链系统是开源的,整个系统都是公开透明的。比如某笔交易被全网广播以后,达到6个区块确认以上就成功记录在案了,且不可逆转不可撤销,即不能按照中心化系统去做数据回滚。注: imToken是12个区块确认。
不可篡改:确保信息或合约无法伪造。账簿在某个人或某几人手上,造假的可能性就非常高,但每个人手里都有一本账簿,除非控制超过51%以上的节点去做篡改,否则任何的篡改都是无效的,这也是集体维护和监督的优越性。
匿名性:各区块节点的身份信息不需要公告或验证,信息传递可以匿名进行。举个简单的例子,就是你在区块链上向一个钱包地址发起交易,但是却无法知道这个地址背后确切对应的是那一个人,或者你的私钥被某一个黑客盗窃了,无法从一个钱包地址中得知黑客是谁。
了解了关于区块链基本概念之后,对于接下来去理解去中心化的钱包千万不要带有中心化产品使用的习惯去理解imToken钱包。总之,钱包是你自己掌握私钥,丢失了私钥任何人都无法帮你找回。
数字钱包的基本概念
钱包是密钥(公钥和私钥)的管理工具,他只包含密钥而不是确切的某一个代币。钱包中包含成对的私钥和公钥。用户用私钥来签名交易,从而证明该用户拥有交易的输出权。而输出的交易信息则存储在区块链中。
钱包按照完整性可分为轻钱包和完整节点钱包,差别是存储数据的多少,一般少额选择轻钱包即可,手机上下载使用的App全部是轻钱包。
钱包按照是否离线可分为热钱包和冷钱包,热钱包属于在线钱包,冷钱包属于离线钱包,离线钱包更安全,但操作复杂。
由于不同的币种会开发不同的钱包,所以钱包众多,但大致可以分为几大类别
比特币钱包
以太系钱包
ZEC、ETC等系列
BTS、GXS等系列
不管哪种钱包,要想足够安全,钱包一定要保管好密码、私钥、助记词和Keystore。同时钱包一定要记得备份备份备份备份…,重要的事情要说无数遍。
看到这里你大概会明白,钱包只是用来保管私钥,资产是存储在区块链上,而不是钱包服务器上,更不是在某个设备上。
以太系钱包之imToken钱包
上章内容我们知道了,关于钱包我们需要知道以下几个概念,地址、Keystore、助记词、明文私钥。现在说明基于以太坊ECR20代币钱包的imToken为例。
以太坊钱包地址:以0x开头的42位的哈希值(16进制)字符串。
Keystore:明文私钥通过加密算法加密过后的JSON格式的字符串,一般以文件形式存储。简单说就是对明文私钥加密后形成。
助记词:12 (或者15、18、21)单词构成,用户可以通过助记词导入钱包,但反过来讲,如果他人得到了你的助记词,不需要任何密码就可以轻而易举的转移你的资产,所以要妥善保管自己的助记词。
明文私钥:64位的16进制哈希值字符串,用一句话阐述明文私钥的重要性"谁掌握了私钥,谁就掌握了该钱包的使用权!"同样,如果他人得到了你的明文私钥,不需要任何密码就可以轻而易举的转移你的资产。
对于这些区别,有网友总结的以银行账户的类比非常形象:
地址=银行卡号
密码=银行卡密码
私钥=银行卡号+银行卡密码
助记词=银行卡号+银行卡密码
Keystore+密码=银行卡号+银行卡密码
Keystore≠银行卡号
丢失密码、私钥、助记词和Keystore所带来的后果,直接就会丢币。
另外现在虽然这些东西存在电脑上非常方便,但也有可能被黑客截取,最安全的办法还是把密码、私钥、助记词手抄在纸上,并且多抄几份,放在不同的安全区域,并告诉家人,这样就足够安全。
钱包安全策略
关于钱包的安全策略你需要掌握以下即钱包备份、防盗策略、防丢策略以及紧急事件处理方法。
备份意识:创建钱包之后立即备份!升级应用的时候备份!删除应用的时候备份! ...备份备份备份,要把钱包备份当做一种习惯!
紧急事件处理:一旦发现自己钱包出现不是自己操作的转出交易,或者意识到自己的私钥已经泄露,那么立即停止使用该钱包(不要再向该钱包转账),新建钱包(当然要做好新钱包的备份)然后立即将资产转移至新钱包。很多人希望钱包服务商帮忙查找盗币者或者黑客的信息,这一点在之前的基础知识部分已经讲的比较清晰了,因为是去中心化钱包,所以很难提供什么有效线索去帮助受害者"破案"。
防丢策略:可以说防丢策略和防盗策略是整个钱包安全知识的重中之重,钱包丢失一般分为三种情况:
1.删除钱包时,没有备份钱包。建议在创建完钱包之后,立即备份钱包,采用双重备份和多次备份两种策略。双重备份是指Keystore备份和助记词备份,多次备份是指在备份完Keystore和助记词之后,要验证备份是否正确,反复验证,确认无误即可。
2.忘记了Keystore密码。我建议使用强度较高的密码加密Keystore,这个密码最好是随机生成,不常用的密码。这样提高了Keystore的安全性,但是也对保管密码带来了巨大的挑战,推荐使用1password或者lastpass等密码管理工具,妥善保管好自己的密码,以防遗忘。
3.遗失了私钥。这里的私钥包括助记词、Keystore和明文私钥,有些小白在备份助记词时,抄写过后并没有做验证,或者自己过于潦草,导致后期很难辨识,这些都会导致无法再找到自己的钱包。所以我们在备份钱包时要仔细认真,在后期保管钱包时,要善于使用一些安全的管理工具,确保自己可以随时找到私钥。
防盗策略:我们要清楚我们被盗的是什么?是某个资产吗?是某个确定的代币吗?其实都不是,防盗的实质是防止我们的私钥泄露,或者被黑客盗取。而在防盗策略上, Keystore和助记词(或者明文私钥)的侧重点有所不同。
1. Keystore防盗策略:由于Keystore是被加密过后的私钥,并且一般是以JSON文件形式存在,采用"抄写"这种策略明显是不科学的,所以可以存储在U盘里或者密码管理工具里。存储Keystore时要和密码分开存储,这样只要密码强度足够高,即使被黑客盗取了Keystore ,也很难破解。
2.助记词防盗策略:在存储助记词时,就需要更加谨慎一些,因为助记词毫无安全性可言,一旦被第三方窃取,那么我们的资产将面临巨大的威胁,所以建议采用物理介质备份,抄写在一张纸上,并且妥善保管,抄写时要注意准确性,也要注意长久保存,不要出现字迹看不清楚等问题。
钱包交易转账那些事
去中心化钱包交易时不存在"入账","取消交易", "冻结账户"等说法的,很多人都觉得使用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的帮助中心寻找更多内容,里边内容丰富都有涉及。
结语
区块链现在正面临快速发展的阶段,既是一波财富增长,也是一个改变世界的开始。早期的域名投资,电子商务,互金发展我们可能都没有上车,但是这一波区块链资产的发展我希望我不会错过,但是也必须要有正确的姿势才能坐稳,那就努力学习吧。