「知识分享」你真的了解区块链钱包吗?

相信很多人都使用过区块链钱包,imToken、bitpie都是其中的佼佼者,区块链钱包提供了私钥生成、管理、导入导出,虚拟货币资产余额查询、转账等功能,当然有些钱包还会提供币价走势和市场讯息等,这应该是绝大部分人对于钱包的认知。

钱包的基本功能

私钥和虚拟货币的管理对于钱包而言,应该属于标准配置,对于很多小白用户来说,可能仅仅知道钱包的用途和使用方式,对于很多术语可能就一知半解了,例如助记词、keystore、ERC20资产等,要理解这些概念需要一定的密码学和智能合约知识,这对很多人来说都是一个不小的门槛。

「知识分享」你真的了解区块链钱包吗?

我们都知道私钥对于一个钱包来说相当重要,它是用户在区块链上最重要的身份标识,用户在区块链上的每一笔交易都需要用自己的私钥签名,这样就可以让别人很容易识别出该交易的所有权,私钥一旦丢失,就意味着用户与区块链失去连接了,而且没有找回私钥一说,所以对于私钥再怎么强调其安全性都不为过。

助记词

而助记词和keystore其实就是私钥的另一种呈现形式,简单来说助记词是私钥的文字呈现,我们知道私钥是一串字符,将其平均切分成11份,其后再增加一份校验的字符串,这样就有12份短字符串,每一个字符串都能转换成数字,根据这些数字去助记词字典的相应位置上找到对应的英文单词或者汉字即可,这就是我们看到的大部分助记词都是有12个英文单词或者汉字组成的原因。

明白了助记词的原理,我们就可以理解助记词如何保证私钥的安全性。一般来说助记词字典有2048个单词或者汉字,从2048个单词中随机抽出12个,按照一定的顺序排列,根据高中数学中学到的排列组合公式大概有(2048 x 2047 x … x 2038 x 2037)中情况,为了方便计算我们不妨稍微简化一下,这个结果近似等于2000的12次方,大概是4x10^39(感兴趣的读者可以自行计算)。如果我们把沙子看做边长1mm的立方体,而整个地球全是由沙子构成的话,那么沙子的数量在10^21这个数量级。所以从概率的角度来分析,助记词完全可以保证私钥不会出现重复的现象。

Keystore

那么什么是keystore呢?这个概念看起来很深奥,其实特别简单,用一句话来说,keystore就是私钥的再加密形式,我们在区块链钱包中导出keystore时,通常会提示我们输入密码,这个密码就是对私钥进行一次再加密,只要你的密码不丢失,得到的keystore文件就可以在任意网络环境下传播。别人即使拿到你的keystore文件,但是没有密码一样也无法恢复出私钥和钱包。同样的,根据keystore导入钱包的时候,也需要输入相同的密码才行。

ERC20

ERC20有别于助记词和keystore,它们是不同纬度上的概念,举一个不是特别恰当的例子,如果我们把货币体系理解为智能合约,那么规定了纸币面值、图案等一系列的规范就是ERC20合约协议。以太坊上的智能合约可以表示很多场景,数字货币只是其中的一种,而ERC20则规定了一整套数字货币的规范,很多ICO项目就是通过发布一个符合ERC20合约协议的代币就开始融资和流通了。

「知识分享」你真的了解区块链钱包吗?

除了ERC20代币,剩余的基本上就是原生Token,原生Token就是BTC、ETH、EOS等,这些是区块链本身就存在的代币,它们被用来衡量交易费和奖励矿工。举一个不是很恰当的例子,我们可以把原生Token理解为手机操作系统本身自带的必要APP,例如设置、相机、通话等,ERC20则是第三方开发的APP,例如微信、淘宝、滴滴等。

钱包的类型

目前市面上有很多的钱包,如果按支持的币种来分,可以分为比特币钱包、以太坊钱包、EOS钱包等,当然有些钱包会同时支持其中的几种。比特币钱包有Copay、BitPay、bitpie、Bitcoin.com等,以太坊钱包有imToken、Cipher、SafeWallet、Ethereum、Citowise、Trust、麦子钱包、MetaMask、MyEtherWallet等等,其中imToken最新版同时支持比特币、以太坊和EOS。

这里的分类是按大的生态来划分的,比特币钱包可能也会支持BCH等分叉币,以太坊钱包除了支持ETH,还会支持各种ERC20合约代币,例如ZRX、KNC、BNB等,而EOS由于还处于早期,主网还不是特别稳定,钱包还不是特别多。需要特别说明的是MetaMask是一款浏览器插件钱包,MyEtherWallet则是一个网页端钱包,其他大部分钱包都是手机端APP。

「知识分享」你真的了解区块链钱包吗?

由于钱包开发的需要,以上提到的钱包我基本上都体验过,有几款还是重度用户,这些钱包基本上都包含最基础的私钥管理和虚拟货币管理,其中Copay、Trust、MetaMask、MyEtherWallet代码都是开源的,任何人都可以从github上下载他们的代码,甚至还可以更改其中的逻辑,打造一款属于自己独有的钱包。

DAPP入口

对于钱包来说,除了必备的私钥和虚拟资产管理功能,其中还承担着一个非常重要的功能,那就是DAPP入口,这个逻辑并不复杂,刚刚有提到过区块链上的任何交易都需要私钥签名,而私钥最安全的策略是保存在手机钱包上,每次需要交易的时候都会唤起钱包做签名,然后再把结果返回给DAPP,这样就可以既满足DAPP的签名需要,也能将私钥有效地与复杂的网络环境隔离开来。

这有点类似小程序和微信支付的关系,在小程序之前,第三方APP如果需要支付时,必须跳转到微信或者支付宝,而小程序中的支付需求则可以直接在微信中完成,无需繁琐的跳转流程,既满足了一站式的体验需求,又保证了支付的安全性。

我们都知道一个行业真正起来的重要标志是大量的应用诞生,目前区块链的绝大部分场景还是简单的虚拟货币交易,除了融资和炒作,这些并没有解决现实世界中真实的需求,而DAPP则是连接现实需求与区块链的重要媒介,未来的DAPP极有可能会像现在手机上的APP,每一个DAPP都承载了一个具体的现实需求。可能很多人会说目前好像并没有太多的DAPP,其中的原因主要是公链基础设施还不够完善,未来的一到两年随着越来越多的优质公链项目上线,DAPP爆发则是大概率事情。

「知识分享」你真的了解区块链钱包吗?

当然从当下预测未来未必准确,当年乔布斯在iPhone一代发布的时候,曾经做了三个预测,首先,iPhone不需要3G网络,因为美国到处都是Wi-Fi,3G模块可有可无;其次,iPhone不需要App,因为iPhone第一次把浏览网页的体验变得非常好,大家直接用网页上面的应用就行了;还有一个就是乔布斯一直说iPhone不需要大屏幕,因为单手能够操控的手机是最优雅的。后面的结果当然就不用我多说什么了。

乔布斯虽然在具体的产品功能上没有做到精准预测,但是他对于智能手机的时代大势可谓是看得相当清楚,而区块链行业同样如此,我们虽然不知道未来主流的公链会是什么样子,也不知道哪种DAPP会率先爆发,改变人们的日常生活,但是区块链所代表的确权、降低信任成本、去中心化和不可篡改等特性,一定会改变未来社会的运转方式。

说回到区块链钱包,由于私钥在整个区块链中的独特作用,钱包一定会承担着重要的签名媒介作用,我们不知道未来的钱包的具体形态和产品展现会做何种演化,但是钱包绝对是一个不可逾越的载体,我们能做的就是顺势而为,但又不拘囿于某一个具体的细节。希望这篇文章能帮助你系统全面地认识区块链钱包。


分享到:


相關文章: