“极简入门”系列课程是CECBC区块链专委会针对新入门的朋友推出的科普栏目,我们希望能将区块链用最浅显的语言让您轻松入门区块链。
作者 | 小七
出品 | CECBC区块链专委会
文章开头,先给大家讲一个真实的关于比特币的故事。故事的主人公名叫詹姆斯·豪威尔斯,是一名来自英国的IT从业者,曾经也是一名比特币矿工,并于2009年挖到7500个比特币。根据后来的市场行情,这些币的价值一度飙升至1亿美元以上。可惜的是他用于保存私钥的硬盘驱动器在一次办公司大扫除时丢失了。据说,这哥们儿试图去垃圾填埋场开挖,翻遍四年的垃圾找出那张硬盘,也不知道现在挖出来没。
看到这里,相信用惯了银行卡以及网银支付的你,一定会说不就是私钥丢了吗?不可以找回来嘛?就像银行卡挂失、网银点击一下忘记密码那样?在此,小编很负责任地告诉你,在比特币的世界里,还真是不可以的。为什么呢?下面就为大家讲解一下如何关于比特币安全性的问题。
01 私钥、公钥和地址的生成
自诞生以来,人们习惯将比特币与银行相对比。比特币的私钥相当于银行卡密码,公钥对应银行账户,而比特币地址则对应的银行卡号。
在银行,开户流程基本是:“开设银行账户——给银行卡号——设置银行卡密码——开户成功”,而在区块链的世界里,则是设置“密码”(私钥),再开设“银行账户”(公钥),最后给“银行卡号”(地址)。
比特币的私钥是有钱包随机生成的,它的长度小,但安全性能高。
公钥则是在由私钥通过椭圆曲线生成的。但是由于密码学算法,公钥是不能倒推得到私钥的。
而地址是公钥通过算法生成的,通过公钥可以计算出唯一一个地址,同理地址并不能逆向推出私钥。
于是,我们可以大概了解到:
地址≈银行地址
公钥≈银行卡号+银行地址
私钥≈银行密码+银行卡号+银行地址
所以,就是上面故事中说的那样,一旦比特币私钥丢失,原本所对应的比特币地址就成为一潭死水,里面的比特币都陷入沉寂状态。
由此我们总结到,要想保证比特币钱包的安全,一定要保存好自己的私钥!
02 黑客攻击?不可能!
那除了人为丢失私钥之外,万一比特币钱包被黑客侵入怎么办?事实上,这是不可能的!
从上文我们可以了解到:既然私钥可以推导出公钥,公钥可以推导出地址,那么黑客要想窃取你比特币钱包中的比特币,就必须拿到私钥。
理论上,黑客窃取私钥的方法有两种:
1. 通过地址推导出公钥,再由公钥推导出私钥;
2. 一个一个去试,暴力破解私钥。
第一种方法肯定不行,因为比特币采用的是非对称加密算法(后面的文章中我们专门解说的),这种算法是“单向的”“不可逆的”,推导过程中只要有一个字母亦或数字不对,结果就会“差之千里”,丝毫没有规律可循。
那就试试暴力破解吧!
上文说道,私钥是由比特币钱包随机产生的。具体来说,私钥是一个256位的随机数,而计算机是用二进制来存储和计算的,这就是意味着,私钥是从0到2256 —1之间的任意值。
那么问题来了,2256这个数字有多大?它近似于1077次方,而10的77次方有多大,举个例子你就懂了:
如果我们居住的这个地球,海洋、岩石、地下的岩浆全部用沙子填充的话,所需的沙子数量约为10 的30次方粒沙子。
而10 的77次方比10 的30次方整整大了10 的37次方。在一个比地球沙子还多的比特币私钥集里,一个一个试,无异于大海捞针,除非你有逆天的运气。
而依照目前的计算机水平,是远远达不到暴力破解的水平的。所以说”比特币第一次通过技术手段,保证了个人的私有财产神圣不可侵犯“。
03 听说量子计算机可以攻破区块链?
科技总是向前走的,究竟如何走依旧存在一定的不确定性。或许未来人们会研究出算力更加强大的量子计算机,是不是就可以攻破比特币算法?它对比特币来说是不是一种威胁,而我们要怎样应对?
鉴于这个问题太过复杂,我们在后面的文章中会专门讲解,不过可以肯定的是学术界的多位名士针对这个问题集体发声:谈攻破尚早,起码在未来十年之内不会。
04 总结
综上,我们可以得出,比特币系统本身的安全系数是非常的高的,要想保护钱包中的比特币,更多是需要比特币持有者对私钥的保存。
【声明】本系列文章仅供科普入门学习,不构成任何投资意见或建议。文章版权和解释权归CECBC区块链专委会所有。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。