深圳小焦科技技术经理解析区块链钱包安全,推荐布尔钱包

本文作者@Me292,深圳小焦科技后端开发技术经理,长期从事后端服务器开发、接口开发工作。拥有政务公安系统、外企安全产品研发经验。2018年开始接触区块链开发,是布尔钱包的安全顾问团成员之一。

大家好,我是@Me262,2013年开始,我就一直从事安全方面的工作。14年左右,我所在公司为地方公安看守所系统做开发工作,最早对安全防护有了较多的认识。16年到18年我又到深圳一家外企做开发工作,产品是针对国内安防行业搭建的交流社区。现在又开始做支付行业,安全一直贯彻始终。所以我整个职业发展过程中,对安全的理解是要求比较高的。庆幸自己在2018年前后用业余时间接触学习区块链开发,认识了许多钱包、交易所团队。

参加了多次技术交流论坛,一直是听的角色,今天我就“班门弄斧”,来和大家聊一聊安全吧,也正好分析推荐一下好朋友所在公司做的产品布尔钱包是怎么做的。

什么是钱包?怎么选择区块链钱包

随着国家提倡“区块链”技术的发展,“区块链”这一名词逐渐被越来越多的人知晓,不懂区块链的“小白”纷纷也想涌入区块链的热潮。作为担当“存储和管理数字资产”这一任务的数字资产钱包,自然不得不更多的被提及。但是,区块链的“高深”,让很多区块链“小白”摸不着头脑,想好好选择和使用一款钱包,貌似并不是一件容易的事。关于区块链入门,不使用钱包是不行的。原因是,钱包是了解和感受区块链最好的工具,通过链上交易记录和管理,让人们可以便捷地进入区块链的世界。但是,市场上各类产品较多,作为新用户如何选择,是一个难题。我从实用角度、安全角度、易用角度、美观体验、背景可查五个角度出发,筛选出了三款区块链钱包产品,今天就和大家聊一聊。不过在此之前,我们需要先聊聊钱包技术原理上,怎么划分。

钱包分类

区块链钱包从不同维度,有不一样分类方式,如果你感兴趣可以了解一下,不感兴趣也不会影响你对以下三款钱包产品的使用。最常用的一种分类方式无非是onchain钱包和offchain钱包(也称为“中心化钱包”和“去中心化钱包”,有些还叫为“离线钱包”和“HD钱包”)。它们本质区别在于钱包私钥的存储方式和地点,私钥存储在用户手中,钱包商无获取途径,用户可以实时使用链上资产的称之为onchain钱包。而私钥存储在钱包商或者交易所手中,用户不能直接使用链上资产而需要通过第三方才能动的称之为offchain钱包。简单讲下他们的特点:

onChain

onchain钱包私钥存储在用户手中,根据钱包是否保存了所有区块数据,分为全节点钱包和SPV轻钱包。全节点钱包由于要存储更多的数据,体积过大,不容易安装,不支持多种数字资产,往往只能在电脑上运行,对于普通用户来说,体验不够友好,这类钱包本次就不展开讲了。相反,SPV轻钱包因为只存储和自己有关的数据,体积较小,可以在电脑和手机端运行,使用感会更友好,这也是市面上比较常见和主打的去中心化钱包,今天我们要介绍的正是此类型钱包。

offChain

offchain钱包通过中心服务器访问区块链网络的钱包,私钥存储在第三方服务机构,用户通过账号和密码即可实现转账等一切操作。由于此类钱包是将自己的私钥代管给第三方机构,用户无需担心私钥的丢失,当然,由于私钥不自己保管,更大程度上是把安全交给了平台。这类钱包,往往能给用户较好的体验感,通常只需要一个账号就能管理钱包资产,还能有更多的扩展功能,例如:交易、兑换、理财、借贷、资讯等等,而对于钱包商户来说,也可能找到更多的盈利点。

延伸了解,钱包安全实现

我们知道,比特币早期的钱包客户端 Satoshi Client 里面会自动随机生成 100 个私钥、公钥对,这些私钥之间完全没有关联,这种钱包也叫做随机钱包(Random Wallet)或者非确定性钱包(Non-Deterministic Wallet),钱包的备份和恢复必须针对每个私钥进行。

或者说,钱包的作用就是管理100个甚至更多的公私钥对,可以想象,这个管理过程是非常繁重,每次备份,必须备份所有有余额的公私钥对,并且非常不方便记忆。好处是每个公私钥对都是独立的,任何一个公私钥对泄露或者遗失,不会对其他公私钥对产生影响,安全性非常高。

但是这种方式比较繁琐,市场上有人逐渐发现另一种方案,这种方案是树状结构的公私钥对管理方式,它优势在于所有的child keys 和 grandchild keys都可由seed推导得出。所以我们只需要记住seed就可以了。

同样,这种“方便的”私钥管理方式的缺点也很明显,如果seed一旦泄露,所有的账号都会被泄露。并且特别重要的一点,不光seed泄露会导致损失全部钱包资产,任何一个子私钥,加上主公钥,就能反推出主私钥,这就不科学了。

所以,使用HD钱包,也就是云端钱包,需要了解该钱包技术是使用的哪一种。树状结构并不安全,所以大型交易所、较注重资金安全的钱包团队都不会使用该方案。还有其它方案吗,当然有。

这里简单说一下技术思路。我们可以将本地请求做首次加密,在服务器端数据库保存的用户信息字段都用hash码求和算出一个特殊的新字段,该字段作为校验用户请求唯一性的工具。这样极端情况下获知用户中心化密码,也无法从服务器端发起攻击行为。

同时,所以密钥文件可以在服务器端编译一次删除,让其只有在内存中短暂的停留机会。上个月我参与一个技术论坛,一个嘉宾团队(后来知道是布尔钱包团队)分享他们的技术方案就属于这一种,而且他们还使用了内网隔离,即操作主离线钱包私钥的电脑永远保持离线状态,这样内网被劫持,也确保code的安全。所以,云端钱包也是可以非常安全的。安全和用户易用之间可以兼得。

下面推荐两款钱包产品。为啥是两款,因为怕你们说我在广告。

第1款.IMtoken钱包

IMtoken钱包比较复杂,不推荐小白使用,但是从技术上看这家公司还是可以的,也是目前币圈主流钱包之一,是一款onchain钱包,最早只支持以太坊上的代币资产,后面逐渐引入了部分其他链,例如BTC、COSMOS、EOS,成为了多链多币种钱包。

该钱包首页

主要特色功能:1.imToken钱包可以通过去中心化交易所 Tokenlon 实现币币兑换;

闪兑是通过中间服务响应交换数据完成的兑换行为

IMToken实现闪兑2.支持私钥导入、助记词导入、创建钱包等,可实现对多种钱包的管理;

多钱包意味着多链支持,不同链协议和解析方式不同

3.界面中引入了很多即使指导元素,例如文字链的名词解释,新手用户的操作视频教程等,比较贴心;评价:imToken钱包确实是一款比较有影响力的钱包,目前拥有的用户也比较多,安全性,实用性在onchain钱包中是做的比较好的。

第2款:布尔钱包

布尔钱包是一款多链多币种一站式管理和运用的数字资产“双模式”钱包,目前支持BTC、ETH、TRX等多个主流资产,是一款定位于新手也能使用的入门级钱包。由于安全特性很好,易用性也非常不错,我个人目前在使用的也是这款钱包,推荐大家尝试。

额外要说明的是,布尔钱包团队对B端和C端商业都有很清晰的认识,所以他们做的产品不会差,后续发展也值得我们去观察。

布尔钱包,增加了点对点消息发送

布尔钱包2.0版本,清新靓丽,让人眼前主要特色功能:1.除了普通的地址转账,因为内嵌了一个聊天软件,还可以进行一键好友通讯录转账,转账会更便捷;

转账消息可以看成是中途请求转账API

聊天界面可以直接转账操作2.加密聊天功能,可以在钱包上加好友或群,利用区块链加密技术,聊天信息加密传输,保障聊天信息的隐私性;3.对用户提供各种资产安全解决方案,例如隔离账户,钱包资产保险服务;在技术上,数据采用ECC、AES加密存储,防泄露;单条记录采用签名校验机制,防伪造,防篡改,防销毁;

隔离账户即通过冷热钱包方案,让资金进入offChain模式

资产保障功能4.钱包界面通过鲜明的色块增加层次感,钱包非常漂亮,体验出色。

评价:布尔钱包是一款成长速度极快的钱包产品,我们在测试中发现其更新完善的速度,远远超过我们的预期,其对用户体验的极致追求让我们很是感动。

这款产品的初衷是想让更多没接触过区块链的用户也能掌控区块链资产。该钱包主打的加密聊天功能,和上诉其他钱包对比,属于比较特色的功能,该功能的推出,确实可以更方便的集聚用户社群,极大的增加了用户收发资产的便捷性。随着后续功能的推出,布尔钱包还将在B端也就是企业端布局,这一点是我比较期待的地方。

最后聊聊如何选择区块链钱包

通过上述钱包知识的了解,我们不难得知,onchain钱包更多的要求用户自己掌管私钥,预防丢失风险,同时,因为自己掌控,需要用户有一定的区块链基础,用户的体验感自然会被损失掉一部分。

offchain钱包更多的是将私钥托管至第三方机构统,具有更多的便捷性、可扩展性、玩法更多、但往往要依靠第三方的信用备书,需要仔细选择。

关于onchain钱包和offchain钱包如何衡量的问题,一直都是人们非常关注的话题,因此,也有更多的钱包项目方,选择了另一条两者兼顾的路——“双钱包模式”钱包。

这种产品,即提供作为基础存储工具的onchain钱包,也提供注重体验和个性化服务的offchain钱包。由于onchain钱包只是附带的一款工具钱包,多数还是会以offchain钱包作为重点打造对象,他们有的可能主打理财,有的可能主打交易,有的可能主打其他的业务等。

Leave a Reply

Your email address will not be published.Required fields are marked *