比特币是如何制造的,如何山寨比特币( 三 )


游戏将所有交易串起来构成一个集中账本,这个账本包含了从第一笔交易开始的所有账目,也就是一个交易链,这样游戏就能知道每个钱包的余额,新的交易也要计入到这个账本里 。任何凭空创造钱的举动都会被识破,任何将一笔钱花两次的行为都会无所遁形 。但是这个账本存在哪里呢?因为游戏不存在一个中心管理者,是去中心化的,所以原则上每一个玩家都有一个账本的拷贝 。
每一笔交易都要得到所有玩家的确认,每个玩家都有责任保障系统的安全,但是实际上难以做到,只能一部分玩家来做这个确认操作,这就给恶意玩家创造了机会,他们可以篡改和伪造自己的账本拷贝,引起混乱 。因此要设计一个机制增加伪造账本的难度,同时也能容易识别出伪造的账本 。哈希算法这种防止伪造的方法就是哈希算法 。哈希算法能将任意原始数据,不管是图片还是文字,对应到特定的数字,称为哈希值 。
要是数据被篡改,算出来的哈希值就会改变,因此识别伪造和防止伪造的问题都能解决了 。BT下载时用到的 MD5 码就是一种哈希值,用于验证下载下来的视频没有被篡改,被植入病毒什么的 。哈希算法有个伴随的缺点,要产生不那么容易伪造的哈希值,需要消耗很多计算机资源,并不会有人自愿这么做 。游戏用奖励货币的方式鼓励一些玩家来计算哈希值,他们就被称为矿工 。
几笔时间接近的交易会被合在一起组成区块链的一个区块来计算哈希值,保证账本难以篡改 。当然恶意矿工仍旧可以伪造账本,然后重新计算所有账目的哈希值,然后让其他矿工复制他的账本,只要他的算力超过一半以上的矿工 。但是随着矿工越来越多,这种事情也越不可能发生 。比特币会遭到攻击吗?破解比特币的思路,就是尝试寻找核心功能的弱点 。
比如:攻击电子签名算法,偷别人钱包里的钱;攻击区块链,增加其他矿工的成本,让矿工变少,让自己能得到更多的奖励,或者尝试控制绝大多数矿工,从而能恶意修改账本 。这些攻击有可能通过哪些手段来实施呢?1. 量子计算机量子计算机比传统计算机算得更快,2016年谷歌联合NASA建造了比普通计算机快1亿倍的量子计算机,当然目前为止这项技术还停留在实验阶段 。
电子签名技术使用的公钥加密算法,比较容易被量子计算机攻破,恶意玩家能尝试伪造钱包偷别人的钱用 。比特币技术的维护者们考虑到了这个问题,虽然目前绝大多数电子签名算法都有失效的可能,但是还是有一种称为Lamport 签名算法能抵抗量子攻击 。量子计算机的算力惊人,但是要破解哈希算法还是比较困难的,因此靠量子计算机伪造账本仍然不太可能 。
而且由于钱包也经过哈希算法加密过,所以实际上恶意玩家也不容易偷别人的钱 。据估计,攻破哈希算法的量子计算机需要1500多个量子比特,目前的技术也只能到100多个量子比特的程度 。虽然量子计算机听起来是个可怕的对手,但是只有IBM、谷歌这样的大公司才有足够的财力和人力来开发和使用,恶意玩家使用量子计算机的可能性很低 。
当然,比特币只是区块链电子货币当中最有名的一种 。很多后来崛起的电子货币在设计上加入了抗量子计算,比如设立于2015年的IOTA 。量子计算机破解电子货币的可能性并不算高 。2. 赶走竞争者恶意矿工也可能尝试独占所有的奖励,尝试控制游戏改写账本给自己凭空创造钱 。想要这么做,他可能就需要赶走其他矿工 。如何做呢?他可以尝试让其他矿主买不起挖矿的硬件 。
他可以尝试增加电能的成本让别的矿工的开销增加 。他可以增加网络成本,让自己的网络速度比别人快很多,或者恶意让他人的网络速度下降,或者让他人网络里无法传输比特币交易数据 。美国最近取消了“网络中立”,就会引起类似的问题 。总的来说,就是增加其他人的成本 。这样,拥有更多的计算资源、更大的网络带宽、能付得起电费的玩家才能继续挖矿,也更有机会掌控整个游戏 。

推荐阅读