大家好, 首先感谢腾讯云提供云社区这样一个让技术人员沟通交流的平台, 其次很高兴入驻到云 + 社区认识到大家, 我是腾讯云 TVP 曹一峰, 专注于云计算, 区块链, web 架构方向, myPagination 作者, GitHub 也开源了很多区块链的项目: https://github.com/linapex , 有需要的朋友可以下载学习, 本文是区块链技术实战系列的第一篇(不定期更新):
《区块链从钱包应用到技术本质》
《区块链核心技术 - 密码学》
《区块链核心技术 - P2P 网络构建》
《区块链核心技术 - 分布式一致性与共识算法》
《区块链核心技术 - 区块设计与存储》
今天我们聊一聊区块链钱包, 也分享一个能管理钱包私钥的小技巧, 让你区块链钱包私钥 99.99% 安全传输, 无惧黑客! 建议阅读时间 5 分钟.
什么是区块链钱包?
钱包相信很多人都用过, 目前市面上常用的钱包软件: 如: imtoken,mytoken 等, 都是其中的佼佼者, 区块链的第一个落地应用是区块链钱包, 全球第一个区块链钱包是在 2009 年 1 月由中本聪发布的, 从技术角度来说, 钱包的核心功能是私钥的创建, 存储和使用, 从用户的角度来说收款, 转账, 查询三大基础功能, 便于用户做数字资产管理.
区块链钱包应用是一种基于区块链的应用, 钱包是整个区块链生态发展的基础, 钱包的存在对个人而言是一种自我权益的保护, 所以只有每一个人都学会如何使用区块链的钱包才能懂得真正如何保护自己的资产.
货币的发展, 已经由物到金属, 到信用纸币, 之后到算法. 在算法货币时代, 每一个人都需要对自己的财产负责.
钱包的价值
在区块链时代, 任何行业的服务都可以通过一个区块链钱包来实现价值化, 区块链钱包会成为各类应用的入口, 各类 Dapp 也将成为用户直接参与区块链的主要方式. 由于用户与 Dapp 的交互需要消耗数字资产, 而钱包作为协助用户管理各类数字资产的工具, 其重要性不言而喻, 将会成为区块链 3.0 时代真正的超级流量入口, 区块链技术本身也会通过自己的方式重新构造传统互联网的商业模式.
钱包的种类
区块链钱包有很多种类, 通常为方便大家理解, 我们将区块链钱包按特征进行归类, 可按以下 6 种方法分类:
1, 按区块链钱包是否安全, 可分为冷钱包, 热钱包
冷钱包: 也称为离线钱包. 它通常以硬件设备, 实物的形式出现, 用以保存用户钱包私钥并将之与网络隔离, 安全性较高. 通常只做资产的转入, 而不转出. 目前常见的冷钱包形式有纸质, U 盘, 小型硬盘或其他智能存储硬件等.
热钱包: 也称为在线钱包. 热钱包不断地参与交易, 转账, 在线验证和支付, 这些行为必须保持在线, 功能较多但安全性不好, 但这种钱包存在一定的被盗, 被攻击的可能性. 它通常以 App 或者网页平台的形式出现, 用户必须通过网络才能访问热钱包.
2, 按节点数据是否存储完整, 可分为全节点钱包, 轻节点钱包
全节点钱包: 这种钱包通常体积较大, 因为要储存所有区块链上的信息才能进行验证, 这种全节点钱包既是使用者, 也是参与者和贡献者, 他们提供服务, 构成区块链网络, 同时在贡献中获得一定的网络奖励, 比如比特币的挖矿收益, 手续费等.
轻钱包(SPV,Simplified Payment Verification): 是一种轻便, 高效, 不影响日常使用钱包客户端, 这种钱包是整个网络的使用者, 因此每次使用通常是需要支付手续费的, 支付给为网络做出贡献的人.
3, 按私钥所有权, 可分为中心化钱包, 去中心化钱包
中心化钱包: 就是交易所使用的钱包或一些区块链应用钱包, 这类应用内部生成了很多钱包地址, 用户在平台上完成注册后, 动态分配一个或多个与用户对应的钱包地址, 通常平台内发起转账走内部做结算, 会使用不同的安全措施确保资产安全: 如冷钱包, 离线签名等.
去中心化钱包: 用户自行持有钱包私钥, 私钥都加密存储在用户设备里, 发起交易时通过钱包签名后发送到区块链节点服务器上进行广播交易, 第三方或服务商不知道用户私钥也不持有.
4, 按是否支持多种币种, 可分为官方, 第三方钱包
官方单币种钱包: 由项目官方或社区研发后开源, 单一区块链数字资产服务的区块链钱包. 通常仅支持单一区块链主链平台的钱包也称为主链钱包.
第三方多币种钱包: 在一款钱包集成了多个种类的数字资产. 多种区块链数字资产可以是一条区块链主链及在主链协议生态上发行的代币, 也可以是多种区块链主链上不同的数字资产, 有些第三方钱包还拓展了如社区运营, 资讯行情, 币币交易, 一键理币等功能.
5, 按钱包存在形式分类, 可分为软钱包, 硬钱包
软钱包: 通俗来讲就是钱包电脑软件或 App. 用户只需在电脑上安装钱包软件客户端或在手机上安装钱包 App, 即可使用区块链钱包的所有功能. 它不需要用户再去购买额外的专门硬件设备.
硬件钱包: 顾名思义是用你摸得着的硬件, 方便你生成和存储密钥, 比较知名的有: Trezor,Ledger, 可以去淘宝或官网购买实物, 其实就是一个类似银行开通网银发我们的 U 盾类似的硬件.
6, 按钱包分成分类, 可分为确定性钱包, 非确定性钱包
非确定性钱包: 这种类型的钱包也被称作零型非确定钱包, 比特币最早的客户端 (Satoshi client) 就是非确定性钱包, 这种钱包难以管理和备份, 每个私钥都必须备份, 否则一旦钱包不可访问时, 无法找回钱包.
确定性钱包: 确定性钱包对种子使用单项离散方程生成的私钥. 种子是随机生成的数字. 在确定性钱包中, 只要有种子, 就可以找回所有私钥, 只需备份种子就相当与备份你的所有钱包, 所以种子也相当重要, 一定要备份到安全的地方. 以太坊钱包是目前常用的确定性钱包.
钱包安全
我的个人钱包安全管理建议
1, 将资产分成很多份, 注册多个钱包保存资产, 鸡蛋不要放在一个篮子里, 每个私钥单独保存.
2, 如果涉及到多台手机, 电脑要使用同一个私钥钱包. 则使用对称加密算法, 这种算法可以使用指定的密码进行解密回私钥, 操作步骤:
1, 打开手机 App 上的 imtoken 钱包, 选择管理钱包 ->导出 keystore 后, 选择复制.
2, 打开微信或 QQ, 选择粘贴, 注意! 在发送, 传输过程中, 替换掉 6 位以上的字符!
我一般选择私钥的前三位与最后三位, 我的 imtoken 钱包私钥的前三位为 66f, 后三位为 4f3, 我将密钥进行网络传输过程中进行简单的密钥替换, 将私钥前三位替换为 999, 私钥后三位替换为 888, 这样我只需要记住 66f4f3 为我的私钥, 就不用太担心网络传输过程中密钥泄漏的风险, 为了安全起见, 至少替换掉 6 位及以上的密码.
然后在新的手机上, 电脑上, 硬件设备上将字符替换回私钥的字符进行导入即可, 将私钥前三位字符 999 替换成 66f, 私钥后三位字符 888 替换为 4f3.
一种更复杂的密钥安全保密方式
将编码后的钱包私钥字符串, 通过安全算法 AES 再进行对称加密, 反向操作即可解密私钥!
加密前:
999c29f9c617490043da6883f54dbb96b31fa7308b965ff7cc10ab4a1f748888
加密后:
- U2FsdGVkX18vkvR8AN/IOoIohhQRaqQjB85UhA7bfnoMEsDFXmogCZj7FYhXn7GY
- b8/wtMZtCyijPQRD0VfbugNa+zMg5E6wqjsL6zX3/d4z7tU+KBYspD3D3xU2VusH
加密后的密文可以存储在硬盘, 网盘, 记事本中, 密码只有你自己知晓, 黑客也无从破解.
在线地址: http://tool.oschina.net/encrypt
区块链私钥要做到防盗防丢, 防止私钥泄露, 进行多重物理备份. 在区块链的世界里, 一旦你弄丢私人秘钥, 钱包就永远也不再属于你了, 没有中心机构可以追溯, 也没有法律可以对你进行保护.
保护生命一样的保护钱包的私钥和助记词, 不要泄露出去.
保护生命一样的保护钱包的私钥和助记词, 不要泄露出去.
保护生命一样的保护钱包的私钥和助记词, 不要泄露出去.
对于钱包千万不要做以下的危险行为:
- 截屏助记词保存在相册
- 使用邮件传输或者保存私钥 (Keystore, 助记词)
- 使用 QQ, 微信等即时通讯软件传输私钥
- 登录钓鱼网站, 泄露自己的私钥
- 使用第三方提供的渠道下载 imToken
- 使用第三方提供的不可信的 Apple ID
- 将私钥泄露给身边的人, 被身边的人盗窃
- 量大的数字资产建议用冷钱包保存.
钱包的体验
MyEtherWallet 网页钱包是使用起来最简单的钱包, 只需要打开网页就可以使用, 还有 MyEtherWallet 钱包是去中心化的钱包, 它不会存储用户的钱包信息账号, MyEtherWallet 绝对安全, 请放心使用.
地址: https://vintage.myetherwallet.com/
来源: https://www.qcloud.com/developer/article/1406165