区块链钱包

来自OwCrypto区块链数字加密货币百科

区块链钱包(Block Chain Wallet): 是密钥的管理工具,它只包含密钥而不是确切的某一个代币;钱包中包含成对的私钥和公钥,用户用私钥来签名交易,从而证明该用户拥有交易的输出权;而输出的交易信息则存储在区块链中;用户在使用钱包时, 你的 Keystore, 助记词, 明文私钥, 都是钱包;Keystore 是你加了”锁”的钱包,而助记词和明文私钥是完全暴露在外的钱包,没有任何安全性可言,所以在使用助记词和明文私钥时,一定要注意保密。

区块链钱包在2011年8月诞生,并此后在代币交易中发挥着巨大的作用;由于该平台被密码学严格保护,因此基本不用担心被黑客袭击。区块链钱包本身就相当于个人银行账户,在银行中我们创建存款账户并且存取现金,那么类似地,在区块链钱包中我们创建区块链账号并且存取比特币。在该平台上,用户可以在任何时间段将比特币转换成现金或用现金来支付比特币

数字货币钱包并不是真的“钱包”,币不存钱包里,而存在上面说到的链上(实质是一堆数字),钱包只是个让你开户、查询余额和转账的应用。其实每一个币种,理论上来说都会做自己的钱包。因此,市面上大部分钱包的作用更易用,聚合各币种,或者更安全。大致来说,钱包可以分成冷钱包和热钱包。


技术

区块链技术(BlockChain)是一种使用去中心化共识机制去维护一个完整的、分布式的、不可篡改的账本数据库的技术,它能够让区块链中的参与者在无需建立信任关系的前提下实现一个统一的账本系统。区块是公共帐本,多点维护;链就是盖上时间戳(Timestamps),不可伪造;区块链本质上是一个注重安全和可信度胜过效率的一项技术。

因为区块链是有匿名性的,使用各种钱包是不需要实名认证。虽然你可以看到交易转账的地址,但是你并不知道地址的使用者是谁。

而且,区块链的信息是不可逆转的,万一你小心把币打错地址了,可就找不回来了。我们把币存在钱包里,到底是放在哪里了呢?是不是就在钱包里呢?

我们使用的去中心化的区块链货币钱包,其实只是一个区块链的软件。你的币不是存在钱包公司,也不是存在你的手机设备上的,币还是在区块链网络的地址中的。钱包只是通过服务器来把区块链的各种代码展现给你,建立了一个通道,把你的各种操作指令发到区块链上。所以,区块链钱包是不存在银行冻结你账户或者公司冻结你账户的情况,只要丢失了私钥,你就再也无法打开钱包,损失你钱包中的币。从这个角度来看,其实钱包安不安全与你私钥保管有很大的关系,因为钱包服务商是不会保存你的私钥的,不会放在服务器上;即使是钱包出现问题无法登陆,或者版本更新,再或者被黑客攻击等等各种问题,都不会影响你的资产。这么来看,其实私钥是保存加密货币最重要的东西。

数字钱包的生成可以简单的分解为三个步骤:

创建随机私钥(64位16进制字符/256比特/32字节); 从私钥推导出公钥(128位16进制字符/512比特/64字节); 从公钥中导出地址(40位16进制字符/160比特/20字节)。 简单的步骤背后已经囊括了密码学中大多数的技术:随机数生成器、非对称加密、单向散列函数等。

随机数

随机数是专门的随机试验的结果。在钱包中随机数用于生成私钥,因其相关安全性的重要性,所以必须保证随机数具备以下三种特性:

随机性:不存在统计学偏差,完全杂乱的数列; 不可预测性:不能从过去数列推测下一个出现的数; 不可重现性:除非将数列保存下来,否则不能重现相同的数列。 也就是真随机数。当然,实际上只要给定边界条件,真随机数并不存在。但目前大多数的看法是密钥存在一定的循环周期,只要该周期足够长,也会有足够好的安全性和保密性。

非对称加密

非对称加密算法于1976年提出,用于在不安全的媒体上解决信息公开传送和密钥管理的问题。它将一般的密钥分为加密密钥和解密密钥,也就是我们常说的公钥和私钥。公钥私钥一一对应,由公钥加密的密文,必须使用与公钥配对的私钥才可以解密。如下图所示,甲乙之间使用非对称加密的方式完成了重要信息的安全传输。


乙方生成一对密钥(公钥和私钥)并将公钥向其它方公开。 得到该公钥的甲方使用该密钥对机密信息进行加密后再发送给乙方。 乙方再用自己保存的另一把专用密钥(私钥)对加密后的信息进行解密。乙方只能用其专用密钥(私钥)解密由对应的公钥加密后的信息。 在传输过程中,即使攻击者截获了传输的密文,并得到了乙的公钥,也无法破解密文,因为只有乙的私钥才能解密密文;同样,如果乙要回复加密信息给甲,那么需要甲先公布甲的公钥给乙用于加密,甲自己保存甲的私钥用于解密。

单向散列函数

单向散列函数又称为单向Hash函数、杂凑函数。它有一个输入和一个输出,输入称为消息,输出称为散列值(也称为消息摘要)。单向散列函数可以把任意长度的输入串变化成固定长的输出串,也就是可以根据消息的内容计算出散列值,而散列值就可以用来检查消息的完整性。由于它的单向性,其输出不依赖于输入。已知一个散列值,要找到预映射的值,使它的散列值等于已知的散列值在计算上是不可行的。单向散列函数的安全性使它主要用于完整性效验和提高数字签字的有效性。

安全

防盗

防盗的实质是防止我们的私钥泄露,或被黑客盗取。而在防盗策略上,Keystore 和助记词(或者是明文私钥)的侧重点有所不同。由于 Keystore 是被加密过后的私钥,并且其内容都是加密过后的信息,采取抄写这种备份策略不是很科学。所以可以存储在自己的 U 盘里,尽量不要存储在线上或者云端,存储 Keystore 时要和密码分开存储,这样即使被黑客盗取 Keystore,也很难破解。

在存储助记词时,就需要更加谨慎一些。因为助记词毫无安全性可言, 一旦被第三方窃取,那么你的资产将面临巨大的威胁,所以建议采用物理介质备份,抄写在一张纸上,并且妥善保管;抄写时要注意准确性,也要注意长久保存,不要出现字迹看不清楚等问题。

忘记密码

如果备份了助记词,使用助记词从新导入钱包,可以重置密码(重置密码后,记得重新备份 keystore);若没有备份助记词是无法重置密码 ,只能仔细回忆钱包创建时所设置的密码,因为区块链钱包是无法提供找回密码的服务。

丢失钱包

丢失钱包基本有三种情况:

用户在删除钱包时,没有备份钱包

我们建议用户在创建完钱包之后,立即备份钱包,采用双重备份和多次备份两种策略。双重备份是指 Keystore 备份和助记词备份,多次备份是指在备份完 Keystore 和助记词之后,要验证备份是否正确,反复验证,确认无误即可。

用户忘记了 Keystore 密码

我们建议用户使用强度较高的密码加密 Keystore,这个密码最好是用户随机生成,不常用的密码。这样提高了 Keystore 的安全性,但是也对用户保管密码带来了巨大的挑战,我们建议用户使用 1password 或者 lastpass 等密码管理工具,妥善保管好自己的密码,以防遗忘。

遗失了私钥

这里的私钥包括助记词、Keystore和明文私钥,有些用户在备份助记词时,抄写过后并没有做验证,或者自己过于潦草,导致后期很难辨识,这些都会导致无法再找到自己的钱包。所以,我们在备份钱包时要仔细认真,在后期保管钱包时,要善于使用一些安全的管理工具,确保自己可以随时找到私钥。

私钥泄露钱包被盗

钱包是你的个人私钥管理工具,不会存储你的任何敏感信息,包括助记词、 Keystore 和明文私钥。你的资产也没有存在蚂蚁钱包的服务器中,而是存在区块链上。由于区块链去中心化性、不可逆性、匿名性等特性,也不存在挂失、账户冻结、交易回滚等操作。这和银行等传统金融行业不同,所以一旦发生这样的事,您可以联系公安机关人员,在线下寻求一些线索。

由此可见,最重要的就是私钥,没了私钥等于丢失了钱包。当我们不慎删除了钱包或者更换使用钱包的设备时,私钥、助记词可以帮我们找回钱包,keystore+密码也可以帮我买找回钱包。为了安全,我们在注册钱包时候就可以通过断网操作来生成私钥和助记词,将其记载在笔记本处保存起来(最好多处保存),密码记在脑子里(这么简单的常用密码如果记不住,那也抄在笔记本上),keystore可以用自带安全防护的app存起来;不随意使用私钥和助记词就是保护我们的财产免受损失的最好办法。

功能

比特币钱包基本功能:

生成比特币地址

接收比特币

发出比特币

生成并导出私钥

对自己的每笔交易,进行签名核实

保护你的资产

总之,钱包就是保存区块链各种币(比特币、以太币等)的一个软件
密钥和地址就是区块链世界里的银行卡号和密码
钱包本质是保存密钥,也就是保存银行卡和密码
为什么需要钱包保存密码?不像银行卡密码,区块链币的密码是一串长达256位,无任何含义的二进制数字。

分类

区块链钱包按照状态可以大致分为三大种类,在这里只是稍微简述一下,具体参见加密货币钱包

按照钱包状态程度

纸钱包
热钱包
软件和移动钱包:全节点钱包或轻钱包
冷钱包
硬件钱包
脑钱包

按照去中心化程度

全节点钱包
SPV钱包
中心化钱包

按照私钥存储方式

冷钱包

冷钱包即让这串字符永不触网,黑客难以盗取。具体方式包括把密钥放到安卓系统里,搭载这个系统的手机无法联网;或者把密钥存在芯片里,那黑客要偷就得攻破芯片了。

包括国外的Ledger Nano S、Keepkey、Trezor、SealBlock(定位是硬件热钱包);国内的库神、Bepal、碧盾、Wookong、钱包大师等。转账的时候硬件需要配合电脑或手机等联网设备使用。

热钱包

顾名思义就是私钥触网,常见的形态就是手机APP和电脑网页,整个开户、生成私钥和转账的过程联网,还经常需要输入私钥,大部分人当然是复制粘贴,可见一旦有人入侵了你的电脑是非常不安全。

imToken、Kcash、比特派、MetaMask、My Ether Wallet。


术语

私钥

通常是由随机算法生成的,说白了,就是一个巨大的随机整数,以太坊钱包的私钥就是64 位的 16 进制哈希值字符串。

助记词

这么多个字节可怎么记呢?所以有的钱包就就出现了助记词,一般情况下,助记词由一些单词组成,只要你记住这些单词,按照顺序在钱包中输入,也能打开钱包,对吧,单词可比一串代码好记多了。

keystore

有的钱包会采取把私钥制作成keystore让用户导出保存,这个Keystore就是私钥经过加密过后的一个文件,需要你自己设置的密码才能打开文件。这样的好处是就算keystore文件被盗,只要你额外设置的密码够长够随机,那么短时间内私钥也不会泄露,有充足的时间转移地址里面的加密货币到其他地址。

公钥

那么,别人要给你转账怎么办呢?但是你肯定不能把私钥告诉别人,对吧,私钥就代表了你对钱包的所有权,这是用密码学来保护的。所以,我们需要另一个东西,就是别人能给你转账,同时又不会泄露你的私钥,我们用到了哈希加密技术,把私钥转换一下得到一串字符,我们把它叫做公钥。哈希加密技术目前的技术水平是不可逆的,也就是说通过公钥几乎不可以倒推出来私钥,所以可以认为这种方法比较安全。一般情况,我们转账都用一个收币地址,这是通过公钥转化过来的,是公钥的缩减版本,公钥和收币地址之间是可以相互转换的。[1]

钱包生成私钥,通过椭圆曲线算法可以从私钥计算得到公钥。注意:它是单向的,不可逆的。


排名

Ow!Crypto整合了全球主流数字货币钱包的类型/应用及支持币种等特征,大致分为三种区块链钱包

数字货币官方钱包

比特币BTC
https://bitcoin.org
比特币BTC单币种官方钱包

以太坊ETH
https://www.ethereum.org
以太坊ETH官方钱包

莱特币LTC
https://litecoin.org
莱特币LTC官方钱包


小蚁NEO
https://neo.org
小蚁NEO官方钱包


柚子EOS
https://eos.io
柚子EOS官方钱包


交易所钱包

币安 币安(Binance)是由赵长鹏(CZ)领导的一个专注区块链数字资产的交易平台,引领币币交易创新模式,提供比特币、以太坊、莱特币、币安币等主流虚拟数字货币交易,致力于打造世界级的区块链资产交易平台。

火币全球专业站,是火币集团旗下服务于全球专业交易用户的创新数字资产交易平台,目前提供五十多种数字资产品类的交易及投资服务,总部位于新加坡,由火币全球专业站团队负责运营

Bitfinex

Coinbase Pro

OKEX

OKEx(www.okex.com)是全球著名的数字资产交易平台之一,主要面向全球用户提供比特币、莱特币、以太币等数字资产及各种法币交易、币币交易、合约交易等产品和服务

BitMEX

HitBTC

bitFlyer

gate.io

B网

第三方钱包

imToken 手机轻钱包 基于以太坊的多币种钱包
Blockchain 手机轻钱包
Ledger Nano U盘硬件冷钱包
币信 手机轻钱包
比特派bitpie 手机轻钱包
Bitbill比特宝 手机轻钱包
比太钱包 手机轻钱包
AToken 手机/PC钱包
Epay 在线支付钱包
库神 硬件冷钱包

选择区块链钱包

钱包作为储存数字货币资产的一个介质,大部分普通投资者都是用第三方提供的钱包,在钱包的选择上,建议选择代码开源及已经时间及市场考验的钱包产品,例如Imtoken及项目代币官方钱包等。

要远离开发团队不清不楚,代码不开源,私钥委托开发方代管的钱包。在选择一款钱包上,大家可以去项目方官方网站查询。

一是了解开发公司的真实性。利用天眼查、企信宝等查询公司是否存在,有无行政处罚等;

二是了解开发团队信息。团队信息不清晰的一定要远离,明显吹牛逼的要远离;

三是查询代码是否开源。不开源的公共区块链产品往往存在巨大风险。

四是拒绝托管私钥的钱包。选择钱包是为了更好的保护自身财产安全,私钥委托项目方存在被盗取、挪用的风险