自从比特币被新闻媒体频繁报道后,老妈也跑来问我什么是比特币。前些日子,通过一个有趣的例子,花了10分钟让老妈听懂了。
相信下面的内容,可以帮助你快速了解什么是比特币,还能普及给身边的亲朋好友,甚至大爷大妈都能听明白。
粉红色的比特币金币
比特币其实特别简单,只是现在了解比特币的往往都是技术人员,他们都习惯用专业术语来讲,几个术语抛出去,就把听众“砸晕”了。
这种“砸晕”听众式的讲法一般是这样开头的:
比特币是一种P2P形式的数字货币。点对点的传输意味着一个去中心化的支付系统。与大多数货币不同,比特币不依靠特定货币机构发行,它依据特定算法,通过大量的计算产生,比特币经济使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为,并使用密码学的设计来确保货币流通各个环节安全性。
引用部分中,加粗的词汇都是专业术语。
这样的解释不要说大爷大妈了,只要不是计算机专业的,怕是连博士都看不懂吧!
那么,如果跳广场舞的大爷大妈们跑来问什么是比特币,我们该怎么解释给他们听呢?
选择比特币,商人按下触摸屏按钮。Choosing bitcoins, businessman
假设广场舞俱乐部为了鼓励大家多来跳舞,规定每来一次加2分,无故不来扣3分,领舞一次加1分……积分变动的情况由俱乐部的王阿姨来记录。积分可以在年底兑换花生油等奖品。
其实,现实生活中,银行的职责和王阿姨的职责是一样的——都是记账(只不过王阿姨记的是积分,银行记的是钱)。发工资了,银行给你的账户上加2000块钱;买了一瓶洗发水减20元;存款一年加利息100元;转账就是在你账户上减1000,在对方账户上加1000……
但银行与王阿姨最大的不同在于,王阿姨是免费为大家服务的,银行却要问我们收钱,办卡费、年费、转账费……看看银行有多少座高楼大厦、雇了多少员工,就知道银行收了我们多少钱了。
如果某天我们不想要银行或王阿姨记账了,可以实现吗?
当然可以了,比特币就是这样的。
我们可以把使用比特币的人看成是一个广场舞俱乐部的成员。这个俱乐部的积分是这样规定的:
1、每个人最初的积分(就是比特币)数额都是0;2、社群里的人共同维护一个账本,无论是否有变动,账本每10分钟更新一次,更新后要通知社群所有人;3、社群里的任何一个人都有权记账,只要记账,就能获得50个比特币的奖励(每四年减半,现在是12.5个比特币);4、所有想记账的人都要算同一道数学题,第一个算对的人才有资格记账;5、比特币的上限是2100万枚。
我们把抢到记账权从而获得比特币奖励的过程,称为挖矿。
最初比特币是没什么价值的,只有他的发明者中本聪愿意挖矿。在中本聪默默地挖了100多万枚比特币之后,终于开始陆续有人加入到挖矿队伍中。再后来,一些实体店铺、网站等开始接受比特币支付,人们对比特币的需求量越来越大,比特币就越来越值钱了。
稍微深入一些,我们可以了解下比特币的几个重要的特点:
1、去中心化。不依赖任何一个中心记账,而是由所有人一起来维护一个账本,任何人都可以去抢记账权。
2、不可篡改。每一个区块都被盖上了时间戳,所有的区块都跟前一个区块相连,一旦想更改区块内的数据,时间戳就对不上了;而且俱乐部所有人都在盯着呢,想篡改至少要有超过一半的人愿意跟你一起“指鹿为马”。
3、公开透明。任何一个账户的往来账目都可以在区块链上查到。当你转账给别人时,不用担心对方收了钱不认账,区块链上都记得一清二楚呢。
4、国际化。因为比特币只存在于互联网,如果想转账、支付、购买比特币,只需要联网操作一下就可以了。从比特币钱包的下载数据来看,全世界有200多个国家在用比特币,比美元、人民币等货币都更加国际化。
5、抗通胀。各国法币的总量没有上限,政府每年都在大量印钱,比特币的上限是2100万,任何人不得更改。
讲到这里,我们不妨试着推算下比特币的价格。因为价格是由价值决定的,使用比特币的人越多,价格就越高。那有多少人在使用比特币呢?因为比特币是匿名货币,所以我们只能根据比特币的地址数推测下:
● 2009年1月:个位数
● 2012年5月:185万
● 2015年年初:600万
● 2016年5月:1200万
● 2018年10月:2273万对比一下:支付宝的用户量是10亿,未来10年有望达到20亿。您觉得,比特币的使用者会在未来有像支付宝用户一样的增长空间吗?如果有,会有什么样的事情发生?
那么,比特币安全吗?换句话说,钱包里的比特币,容易被黑客盗走吗?
01 私钥、公钥、地址
就像银行取款、网银转账需要输入密码一样,动用钱包里的比特币也需要密码,这个密码被称之为“私钥”。
与“私钥”对应的是“公钥”,“公钥”就像你的银行账户。每个银行账户都有唯一的账户编号,也就是银行卡号。在比特币网络中,这个银行卡号就是“地址”。别人只要知道你的“银行卡号”(即地址),就可以给你转比特币了。
在银行,开户流程基本是“开设银行账户——给银行卡号——设置银行卡密码——开户成功”。但在区块链世界里,是先设置“密码”(私钥),再开设“银行账户”(公钥),最后给“银行卡号”(地址)。
如果你路上捡到了一张纸条,上面只写着银行卡密码,但没写银行卡号,即便这个银行卡密码是真的,你也无法取走相关账户里的钱。
但在区块链世界,你只要知道了别人的“银行卡密码”(私钥),就可以知道别人的“银行账户”(公钥)和“银行卡号”(地址),可以取走里面的币。
为什么会这样呢?
这是因为在区块链中,私钥通过加密生成公钥,公钥转换一下格式生成地址。也就是说,私钥可以推导出公钥,公钥可以推导出地址。
02 反向推导?没门!
既然“私钥可以推导出公钥,公钥可以推导出地址”,动用账户里的比特币又必须输入“密码(私钥)”,那黑客要窃取你钱包里的比特币,必须、也只需拿到“私钥”即可。
理论上,黑客有2种方法窃取你的私钥:
1、通过地址/公钥,反向推导出私钥。
2、一个一个地去试私钥,也就是暴力破解。第一种方法并不可行,因为比特币采用的加密算法,“失之毫厘,差之千里!”。输入的内容,稍稍变动哪怕一丁点的东西,加密后输出的结果和之前输出的结果也有天壤之别,而且这些结果没有规律可循。
所以,这种加密算法是“单向的”、“不可逆的”,黑客无法通过输出(地址/公钥)推导出输入(私钥)。
03 暴力破解比特币私钥有多难?
既然第一种方法不可行,那第二种方法如何?在回答这个问题之前,我们先看下私钥是怎么产生的。
假设你抛硬币,正面朝上为1,反面朝上为0,连续抛256次,把每次抛的结果记录下来,再转换成十六进制数,就是一个比特币私钥。
What? 这么简单?这么任性?
没错,比特币的私钥就是通过程序“抛256次硬币”,随机生成的。所以,比特币私钥的本质是256位二进制数。
每次抛硬币,都有正反2面,所以抛256次,一共可以出现「2 x 2 x2 x 2……2 x 2×2」,即256个2相乘,也就是「2的256次方」种结果。所以,比特币的私钥总数,理论上有「2的256次方」个。
注:私钥总数的实际值比上面的理论值略低,因为有一小部分私钥不可用,但对总数影响微乎其微。
「2的256次方」是多大呢?它约等于「10的77次方」。那「10的77次方」又是多大呢?
如果我们居住的这个地球,海洋、岩石、地底下的岩浆全部用沙子来填充的话,整个地球的沙子数量大概是「10的30次方」。也就是说,一个和地球一样大,全部由沙子组成的星球,需要用到「10的30次方」粒沙子。
「10的77次方」比「10的30次方」大「10的37次方」倍,整整37个0。在比一个地球的沙子数量还要多「10的37次方」倍的比特币私钥集里,一个一个地试,破解出某个地址对应的私钥,简直比大海捞针还难。
所以,即便黑客有超级计算机,都无法暴力破解比特币私钥。
这就是为什么很多人说,“比特币第一次通过技术手段,保证了个人的私有财产神圣不可侵犯”。
04
如果比超级计算机还要厉害?虽然未来的科技如何发展谁都无法准确预测,但如果有一天,人类发明了比超级计算机、量子计算机还要厉害的计算机,比特币私钥不就不安全了吗?
确实,很多人想知道量子计算机到底对比特币的安全性有没有威胁,如果有威胁,比特币有哪些措施可以应对。
鉴于这个问题不是三言两语能解释清楚,后面我们会单独开一篇文章,探讨这个问题,敬请期待。
05
结语当然,安全问题不仅仅牵涉到技术问题,也牵涉到私钥的保存问题。如果是因为自己私钥保存不当,或是电脑中了病毒,或是使用的钱包软件有漏洞或是有后门,导致私钥被黑客窃走,那钱包里的比特币安全性就无从谈起了。
但是,因为自己的失误导致私钥被盗,这锅不能让比特币背,不是吗?
所以,如果有人拿比特币被盗事件来质疑比特币的安全性,你会怎么回答他呢?