首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

比特币存储与资产安全

网贷谈嘉宾:比太钱包创始人文浩:今天和大家交流的内容是《比特币存储与资产安全》。目前,越来越多的人将比特币作为资产储藏,抵抗通胀膨胀。不论是企业还是个人,都越发关注比特币资产安全问题。

在过去几年我们遇到多次由于保存不当,导致比特币丢失的遗憾案例。所以了解比特币的基础知识与原理成为必要。只有如此,才能更好更安全的保护我们的资产。

第一个需要了解的基础概念:什么是比特币私钥?

对于比特币用户来讲,保管私钥是最为重要的事情。到底什么是私钥呢?简单来讲:私钥就是个随机数。

以掷骰子为例,每投掷一次,产生的数字从1到6,即为随机数字。比特币的私钥与此同理。不同的是,私钥的概率空间非常大,256位,即2的256次方。2的256次方是一个什么概念?简略来讲它比宇宙中的分子还要多。所以这么大的概率空间决定了两个人不可能产生相同的私钥。

比特币历史上曾出现过几次相同的私钥,原因没有例外,皆为程序写错。

我们通过一些比特币客户端,包括比太钱包、官方客户端等看到的私钥是一串字符串或者一串以5、K、L开头的文本。这是私钥编码显示的方式,为了更好的让大家理解,比特币代码进行了一些转换。从本质上讲,它还是2的256次方的随机数。

一般来说,私钥的随机数是拿计算机算法来生成的。我们使用密码学安全的随机数生成器,包括比特币核心钱包软件,包括比太钱包都可以生成私钥。随后利用程序将随机数转换成上文提到的编码格式即可。当然,为了避免麻烦,我们现在一般使用软件转换。

如果以上内容大家可以理解,代表着私钥的本质大家已经明白:私钥就是随机数。

第二个需要了解的基础问题:什么是比特币地址?

举个例子,假如大家注册了火币网之后,就有一个充值地址。往这个地址上转比特币的话,火币就会有显示余额数值。什么是比特币地址呢?简单来说,地址通过私钥计算出来,并且不能反推出私钥。

比特币地址以1开头,从一个私钥计算出地址之后,就可以往这个地址上转比特币,转入的比特币所有权归私钥所有人。以我为例,有一个地址:1BUNNA,它的私钥属于我,不论哪一方向这个地址转入比特币,都将属于我。大家可以通过火币qukuai.com区块浏览器查询,这个地址当前有14个币多一点,但只有我能花,别人花不了,这就是私钥和地址的关系。

理解了私钥和地址之后,我们再来说说区块链这个非常火热的概念。

简单理解区块链,需要牢记这样一句话:“区块链是中本聪为了比特币所设计的一个去中心化存储账目的数据结构。”所以本质上区块链就是个账本,区块链上所记录的都是A给B转账了5个比特币这类的信息。但是为了能做到去中心化,它得能自我验证,不能做假账等等。一句话,区块链是把数据存在了区块这么一个结构上,然后区块被用链条的方式给连接起来。

这样做的好处是什么?

第一,每一个账目都可以查到上一笔,进行验证,一笔一笔往前链条。

第二,新产生出来的区块,一旦被确认之后,这个区块内的账目就变得不可更改。这就是区块链的不可更改、不可伪造、可自我验证的特点,这样也能够为去中心化的数据模型提供服务。

还有一个词大家也需要了解,就是HD钱包。

“HD”是比特币行业内的一个术语,它叫“分层确定性钱包”,是最近几年比较流行的钱包模型。

大家知道一个私钥对应一个地址,私钥是随机数,即一个随机数对应一个地址。那HD钱包的模型是什么?它概括而言即为:一个随机数用确定的算法来生成无限多地址。

简单来说,一个随机数,有一个规范,将12个字母抄写下来,通过确定的算法能生成很多用来收币、发币的比特币地址,所有的私钥都是一个人的。这些私钥都是通过随机数计算出来。

HD钱包的好处非常明显。

第一,备份容易。原来一对一的模型,每个地址的私钥需要单独备份。而HD钱包不用,只需要将12个单词抄好即可,后面所产生出来的所有由这12个单词所计算出来的地址,都是你的,都不用备份私钥。

第二,增强隐私。HD钱包不重留地址,每次都用新地址,收款、发币、找零每次都用新地址。

如何使用和管理比特币?

一、私钥决定比特币产权。想花掉一个地址上的比特币很简单,有私钥即可。二、一定要保管好私钥。私钥丢了,币花不了。在比特币历史上,很多人因为私钥没保管好导致比特币丢失。

所以想要保管好私钥,需要怎么做呢?

大家需要做好备份,做好加密,如果有可能的话,要尽可能的做到“冷”,就是离线断网。

记住一句话,私钥是私人的,地址是公开的。只要保管好私钥,任何转入对应地址的钱,只有私钥拥有人可以使用。比特币账目都是去中心化存在区块链上的,也就是存在比特币网络上的每个节点上。

那什么是比特币钱包呢?我们又为什么需要这个东西?

上文提到的私钥、地址、区块链、HD模型这些基本概念,需要一个物件来统一保管。简单来说,比特币钱包就是那些概念的管理工具。私钥、地址等所有都需通过软件和工具来完成,这类的工具和软件统称为比特币钱包。

目前比特币钱包有很多种类,按区块链数据的存储方式、管理方式可以分成以下几类:

第一类是全节点钱包。

全节点钱包典型例子是Bitcoin Core,官方核心钱包。它接近100G,完全去中心化,维护着全部区块链数据。这些全节点不用依赖别人,自己拥有全部的数据,自己去验证所有的数据即可,是真正完全去中心化。

第二类是SPV轻钱包,典型例子是比太钱包。这种钱包只维护跟自己相关的数据,基本上是去中心化,但是维护自己的,不同步其他数据。

第三类就是中心化钱包,典型例子如Blockchain.info,它不依赖比特币网络,它依赖自己的中心化服务器,它不同步数据。所有的数据都从自己中心化服务器获得。

按钱包所使用的硬件设备、软件解决方案的方式,我们可以把钱包分为以下几类:

第一类是电脑钱包。钱包软件运行于电脑、计算机、桌面这种操作系统。

第二类是手机钱包。随着移动互联网的发展,越来越多的手机钱包在安卓或IOS系统上运行。

第三类是在线钱包。通过云服务,私钥加密存储在服务器上,通过浏览器放,就是在线钱包。在线钱包的鼻祖是Blockchain.info,国内如火币的快钱包。

第四类是硬件钱包。钱包软件运行在专门设计的硬件上,可能需要用电脑或手机配合使用。当然硬件钱包意味着你要额外购买单独的硬件设备。

很多人经常会问到的,什么是冷钱包,什么是热钱包?

简单来说,热钱包是连着网生成出来私钥的钱包。如在连接互联网的计算机上运行钱包软件生成出来的私钥,或者在链接互联网的手机上运行钱包软件,生成出来的私钥,这些都叫热钱包。

那冷钱包是什么呢?冷钱包是一个永远不联网的计算机或手机,在其上运行比特币钱包生成的私钥;或者是一个专门购买的硬件设备,也不联网,生成出来的私钥,这些都叫冷钱包。

由此可知,不联网的冷钱包,会极大地降低比特币资产接触黑客、木马、病毒的几率。最近一次Bitfinex丢了12万个币,现在价值6亿多人民币,这都是热钱包的悲剧。

很多人,甚至包括很多企业经常犯这类错。什么错?他们觉得平常不用的时候断着网,用的时候联一下网就没事。需要指出的是,一开始生成私钥时,的确为断网状态,这一刻的私钥算是“冷”的。但在使用过程中大家处于联网状态,从此它再也不是“冷”的了。因为联网那一段时间,给了黑客或者木马病毒盗取私钥的机会。

有一个案例,比特儿曾经就用这种方式管理冷钱包,或者说所谓的冷钱包。它们在一个断网的电脑上运行比特币核心钱包。随后从上面提币的时候联网,同步区块,然后把币发了。结果联网短短时间,被黑客入侵,8000个币全部被提走。

我们团队因为过去一直在做钱包安全和技术解决方案,有很多用户咨询,所以见过各式各样的丢币案例。其中有一些比较典型的案例,我给大家举几个,有助于帮助大家理解。

这是一个很典型的案例,曾经有一个比太钱包的忠实用户。他在微信上找我,说他丢币了。我配合他进行查询。最后发现他有冷钱包,在手机上运行比太钱包,但是他把一些私钥备份在百度云盘上,并且也没有设置强大的密码。而且在一些网上的社工库上,还都能查到他的账户和密码。

随后在百度云盘查登录记录发现有广州的IP登录。我问他,你去过广州吗?他说,好几年都没去过。你看,这就是社工库了。社工库什么意思呢?就是大量的其他系统暴露出来的密码。有很多人会在各个平台去试这个密码,比如说百度云盘、新浪微博、微信。试完之后,如果攻破一些,没准这里面就有比特币的私钥。

还有一类丢币的例子,出现频率也比较高,就是没做好备份就删除私钥。我们曾经知道一个用户,没做好备份,就删除了私钥,对应地址上面100多个币全部丢失。以上两个例子比较典型。前面一个相当于是云挖矿的,挖了挺长一段时间的收益,全都没了。后面这个存储的100多个币没了。

此类案例非常多,所以我们需要讨论:我们到底应该怎么存储和管理我们自己的比特币资产?这里给大家一些建议。

第一、钱包的选择。首先大家要尽可能的从Bitcoin.org官方推荐的钱包里面去选。Bitcoin.org与商业网站不同,是一个不受利益驱动的网站。它由中本聪最初维护,随后以一种公益性的志愿者维护的方式一直发展到今天。所以它推荐或介绍的内容有自己的价值判断,不受金钱影响。

第二、注意下载渠道。尽量从官方网站、从Google Play、从Apple Store下载钱包。曾有多次案例:有人遇到突然QQ加好友,对方称:“你是矿工吗?你要注意钱包安全,我给你发个比特币钱包。”如果你大意接受了,你的比特币就危险了。

第三、小额热存储,大额冷存储。如果你有10个比特币以上的资产,那么专门准备个设备绝不为过。如比太钱包专门准备一个手机,永不联网;HD钱包将12个单词或汉字抄好,避免别人看到。

第四、做好备份之外需要时不时关注技术发展动态。比如比特币技术发展,钱包技术进步或者近期是否有安全漏洞等等。总而言之,要选择符合自己情况的方式。

我今天给大家分享的内容主要就是这些,以下是我选取的一些观众问题,进行解答。

1、冷钱包如何准备?

2、币放在火币上安不安全?

我个人认为火币是一个一直很注重技术、很注重安全解决方案的平台。这是我过去多次与火币交流沟通得到的结论。从火币的实力以及技术方案分析,并且到今天为止我认为它做到有口皆碑的现状,都表明它的技术和风控是非常有水准的。

3、关于比特币离线存储选择什么牌子的硬盘好?

我个人认为不要用硬盘或者U盘。当前大家淘汰的手机很多,智能手机设置成飞行模式之后,它的ROM和存储可靠度比大部分的硬盘设备或U盘更加安全可靠。大家只要记住离线存储,永不联网就可以了。

4、交易所充值、体现、存储用户比特币的运行机制具体如何?

这个问题非常好。总体来说大部分交易所和线上平台,都是循这么一个规则:小额的币用在线钱包,即热钱包。当热钱包池子不够了,定期的通过人工从冷钱包往热钱包补足,所以它是人工与自动混合的这么一种机制。

同时看交易平台的实力,比如说火币毫无疑问是非常有技术实力的交易平台。它们可能会在每个环节要考虑安全怎么做,包括内部人员管理怎么做、流程怎么做;谁去负责监控热钱包余额、谁去掌握热钱包的私钥;补足的流程是什么、冷钱包谁能动用、怎么个动用法;冷钱包分割又是什么机制做的等等。

我个人认为国内外大部分的交易平台和一些存币平台,它们从安全领域上,很难做到火币这种级别。因为毕竟里面所投入的人力物力、研发成本都是非常高昂的。甚至包括国外的某些平台,真出事的时候,大家都发现了,原来就这样。

5 、HD钱包分层确定性,地址怎么映射上面的?

它实际上就是一个确定的算法,不可逆的算法。比如我们生成一个随机数,简单点说就是1或者100,然后对它做运算SH256 ,哈希运算。这个我当成第一个私钥。加2,再做运算,当成第二个私钥。所以它实际上是通过确定的算法,算出很多个私钥,每个私钥会有地址。

软件都是原生的,中英文简体、繁体都有。下载之后,跟你的手机语言是一致的。一般来说HD能不能导出私钥这得看软件支不支持,原则上都能计算出来,因为你想它都能签名。我们只不过没有开发出这种HD钱包导出私钥的功能。因为你不需要这个私钥,你只需要保管好最初的种子就可以了,也就是那12个单词,甚至用私钥都可以算出来。所以大部分情况下是软件本身不支持。想做的话,也可以做,支持也可以支持。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171229A0JLPE00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券