2487
需用时 04:58
击倒比特币的3种方法

比特币价格起起落落,拉起一条引人注目的疯长行情,区块链也因此被推上了风口浪尖,新玩家不断进场,各种区块链数字货币层出不穷,区块链技术在各个领域的应用——甚至在科研领域中应用的可能性,也越来越多地被提及。

然而,对于一般受众而言,无论是比特币还是区块链,都依然是不可理解的东西。如果说诸如“买10台挖掘机挖比特币”、“高价收藏实体比特币”之类的情况只是笑话,那么把区块链当成传销犯罪工具的做法就只能让人叹息传销犯罪者的无孔不入了。

吃着瓜也好,吃着瓜子也好,到底怎么理解区块链和区块链数字货币呢?本文将分成两个部分来拆解这些问题:第一部分是区块链和比特币的实质;第二部分是在后续发展中区块链电子货币将面临的问题。本篇内容供初次接触比特币和区块链的读者阅读,你不需要有什么数学和计算机知识。

核心功能:什么是区块链,什么是比特币?

以下段落中游戏指代比特币和区块链网络,而玩家游戏的参与者

电子签名

游戏中每个玩家都可以拥有几个“钱包”,钱包里面当然是钱啦。但钱包是不记名的,使用电子签名来识别和保护玩家,电子签名的作用是证明钱包是你的,你有权从钱包里面花钱。电子签名分为两部分,一部分是公钥,一部分是私钥。在其他玩家看来,公钥就是你的钱包,而私钥则是你每次用钱时用来证明是你自己在花钱的东西,要保护好不给别人知道哦!每次交易,游戏都会用公钥和私钥一起进行计算,证明钱包是你的,防止恶意玩家假装是你付款或者伪造成你收钱。

区块链

电子货币如果只是一个虚拟数字,任何玩家都能随便修改,这肯定是不行的。区块链就是用于防止凭空创造钱的武器,同时也能防止一笔钱被恶意花了两次。

游戏将所有交易串起来构成一个集中账本,这个账本包含了从第一笔交易开始的所有账目,也就是一个交易链,这样游戏就能知道每个钱包的余额,新的交易也要计入到这个账本里。任何凭空创造钱的举动都会被识破,任何将一笔钱花两次的行为都会无所遁形。

但是这个账本存在哪里呢?因为游戏不存在一个中心管理者,是去中心化的,所以原则上每一个玩家都有一个账本的拷贝。

每一笔交易都要得到所有玩家的确认,每个玩家都有责任保障系统的安全,但是实际上难以做到,只能一部分玩家来做这个确认操作,这就给恶意玩家创造了机会,他们可以篡改和伪造自己的账本拷贝,引起混乱。因此要设计一个机制增加伪造账本的难度,同时也能容易识别出伪造的账本

哈希算法

这种防止伪造的方法就是哈希算法。

哈希算法能将任意原始数据,不管是图片还是文字,对应到特定的数字,称为哈希值。要是数据被篡改,算出来的哈希值就会改变,因此识别伪造和防止伪造的问题都能解决了。BT下载时用到的 MD5 码就是一种哈希值,用于验证下载下来的视频没有被篡改,被植入病毒什么的。

哈希算法有个伴随的缺点,要产生不那么容易伪造的哈希值,需要消耗很多计算机资源,并不会有人自愿这么做。游戏用奖励货币的方式鼓励一些玩家来计算哈希值,他们就被称为矿工。几笔时间接近的交易会被合在一起组成区块链的一个区块来计算哈希值,保证账本难以篡改。

当然恶意矿工仍旧可以伪造账本,然后重新计算所有账目的哈希值,然后让其他矿工复制他的账本,只要他的算力超过一半以上的矿工。但是随着矿工越来越多,这种事情也越不可能发生。

什么是比特币的“死穴”?

破解比特币的思路,就是尝试寻找核心功能的弱点。比如:

  • 攻击电子签名算法,偷别人钱包里的钱;
  • 攻击区块链,增加其他矿工的成本,让矿工变少,让自己能得到更多的奖励,或者尝试控制绝大多数矿工,从而能恶意修改账本。

这些攻击有可能通过哪些手段来实施呢?

1. 量子计算机

量子计算机比传统计算机算得更快,2016年谷歌联合NASA建造了比普通计算机快1亿倍的量子计算机,当然目前为止这项技术还停留在实验阶段。

电子签名技术使用的公钥加密算法,比较容易被量子计算机攻破,恶意玩家能尝试伪造钱包偷别人的钱用。比特币技术的维护者们考虑到了这个问题,虽然目前绝大多数电子签名算法都有失效的可能,但是还是有一种称为Lamport 签名算法能抵抗量子攻击

量子计算机的算力惊人,但是要破解哈希算法还是比较困难的,因此靠量子计算机伪造账本仍然不太可能。而且由于钱包也经过哈希算法加密过,所以实际上恶意玩家也不容易偷别人的钱。据估计,攻破哈希算法的量子计算机需要1500多个量子比特,目前的技术也只能到100多个量子比特的程度。

虽然量子计算机听起来是个可怕的对手,但是只有IBM、谷歌这样的大公司才有足够的财力和人力来开发和使用,恶意玩家使用量子计算机的可能性很低。

当然,比特币只是区块链电子货币当中最有名的一种。很多后来崛起的电子货币在设计上加入了抗量子计算,比如设立于2015年的IOTA。量子计算机破解电子货币的可能性并不算高。

2. 赶走竞争者

恶意矿工也可能尝试独占所有的奖励,尝试控制游戏改写账本给自己凭空创造钱。想要这么做,他可能就需要赶走其他矿工。如何做呢?

他可以尝试让其他矿主买不起挖矿的硬件。他可以尝试增加电能的成本让别的矿工的开销增加。他可以增加网络成本,让自己的网络速度比别人快很多,或者恶意让他人的网络速度下降,或者让他人网络里无法传输比特币交易数据。美国最近取消了“网络中立”,就会引起类似的问题。

总的来说,就是增加其他人的成本。这样,拥有更多的计算资源、更大的网络带宽、能付得起电费的玩家才能继续挖矿,也更有机会掌控整个游戏。但是这样的操作需要足够的金钱资源支撑,并不容易做到。

3.打击信心

除了技术方面的手段外,还有就是打击用比特币进行实际消费的消费者的信心,主要是打击比特币的信用。

游戏的匿名性虽然有助于防止个人隐私泄漏,却也容易助长黑市交易。不合理技术的使用,也会给庞氏骗局提供便利。但是使用在智能电网、物流系统这类工业基础设施上,区块链技术就给能用户带来福利,这需要大公司的投入和支持。换名话说,好的工具要用在好的地方。

与此同时,挖矿成本的增加已经成为一个气候变化问题,预计2017年消耗的电量已经占全球发电量的0.19%,预计在2019年其耗电量将会超过美国一年的耗电量。一次比特币交易耗费的电能,足以供8户美国普通家庭用一天。不过,在这一点上,未来的预期是比特币挖矿的收益将慢慢变成零,参与挖矿的用户会减少,另外硬件也会被设计得更省电,两者都会减少能耗。

普通货币使用信任作为基础,货币价格稳定才能用于交易。比特币也是一样的,只有币值稳定,技术没有漏洞,才能获得大家的信任,用它来购买商品和服务。目前来看,这些还没有完全做到,不过一些设计者已经在行动,设计价格稳定漏洞更少的新加密货币以替代可能已经过时的比特币。

或许加密货币无论如何都会有自己的弱点,就像现行货币也有自己的缺点一样。但是设计者和开发者们仍旧在努力修正,期望未来它会变得更好。

 

题图来源:Gigaom.com

The End

发布于2018-01-15, 本文版权属于果壳网(guokr.com),禁止转载。如有需要,请联系果壳

举报这篇文章

不存在者

Python程序员

pic