加密货币在过去一段时间价格如过山车似的高低起伏除了吸引了众多韭菜入场之外,还影响了信息安全行业。大量的工程师设计出了专门挖加密货币的软件和硬件系统,当然了,黑客也不甘示弱,各种加密货币攻击手段也层出不穷。在说说币圈黑客那些事儿系列里,我会详细解释加密货币经济和各类玩家们是如何从中获利的。
虚拟货币
虽然每天都有各种各样新的虚拟货币出来,但比特币仍是最出名的。中本聪在比特币白皮书里面描述比特币是一个分布式的数据库,参与记录的计算机帮助该数据库记录比特币所有权在不同账户中的交易。账户的交易信息记录在区块里,交易的历史记录被哈希算法计算并串连在一条链里。
所有参与记录的计算机,也叫做“节点”,只会用达成大家共识的最长链记录。由于该设计运用哈希加密算法和共识机制,导致伪造区块链中的交易的成本变得异常高。因此,以比特币为首的加密货币在记录账户交易上有很高的安全性。换句话说,比特币并不是真实的物理性货币,他只是记录系统中不同账户之间交易的账本数据库。
为了鼓励更多的节点(就是计算机)参与记录比特币系统里的各类交易,中本聪设计了激励机制:按照制度,每次计算出最优结果的节点会相应地获得一部分比特币奖励。一个节点贡献的计算力越多,它能获得该轮比特币激励的可能性就越高。这就是为什么说比特币用的是“工作量证明”机制。另外一个比较常用的激励机制叫做“权益证明”(以太坊使用)。
在虚拟的数学的世界里寻找最优的哈希值就好比在现实世界里淘金一样,虽不易但回报非常丰厚。所以在加密货币经济里,贡献算力计算哈希函数以最终获得加密货币这件事被大家叫做“挖矿”,而这背后操作的程序员被称为“矿工”,程序员用的专门挖矿的硬件设备被称为“矿机”,很多矿机矿工挖矿的地方称之为“矿场”。
算力大比拼
加密货币挖矿其实做到底就是一个算力大比拼。越多的算力可以算出越多的哈希值,这就代表有获得比特币奖励的更大可能性。所以越来越多的人开始研发超高算力的矿机。
在比特币刚问世的 2008 年,你家电脑上的中央处理器(CPUs)可以毫无压力地挖矿。没过多久,你可能就需要更强的现场可编程门阵列(FPGAs)或者图形处理器(GPUs)等高算力的设备才有可能挖到比特币。现在,不用专门为挖矿设计的专用集成电路 (ASICs)矿机来挖矿,你基本很难挖到比特币。
比特大陆蚂蚁矿机S9
由于每个矿机需要消耗千瓦级的电量,巨额的电费是挖矿成本中最大的支出。上百的矿机被装进集装箱里,被货车满世界拉着跑,不为别的只为四处寻找有便宜的电力和好的网络连接的地方。你会发现很多矿场都在大型数据中心附近,因为矿场其实也算个数据中心,只是它只干一件事而已,那就是算哈希值。
因为比特币全网运算水准爆发式的增长,少量的矿机算力已经无法获取比特币网络提供区块奖励。所以,一种将少量算力合并联合挖矿的操作遍应运而生。
当矿场大量的矿机插上电后,他们不会直接接入到比特币网络中,而会接入到一个联合挖矿的网站,币圈称之为“矿池”。矿池收集每个矿机的哈希计算结果,然后分配到不同的矿机上进行计算验证。如果一个矿池的矿机越多,它就能算出越多的哈希值,这就代表着更大的可能性获得比特币奖励。矿池会把赢得的比特币平均分给所有贡献计算力的矿工小弟们。
对了,矿机可以给多个矿池打工。如果一个矿池没有将哈希计算结果分给你的矿机,该矿机会跟另外的矿池要计算哈希的活。这样高效的设计保证了矿机的计算能力能最大化地被利用到。
挖矿成本
挖矿到底要多少钱?三个方面的成本需要考虑:
1. 矿机,矿场设施等固定成本。
2. 矿场员工和网络等维护成本。
3. 电费。
这其中,电费是成本的大头。用比特大陆蚂蚁矿机 S9 为例,一个 S9一年需要大约1.3万度电。如果参照美国平均电费,每度电是0.1262美金(换算成人民币是8.1毛每度电)。一个矿机一年的电费时1658美金(约等于10万人民币)。相比其他成本的支出,电费常常是决定矿场是否盈利的关键。
为了盈利,矿场主们会在世界各地不断地寻找便宜的电源。相比成本颇高的挖矿,黑客们往往会想方设法直接窃取比特币区块奖励果实。下面来介绍一些黑客窃取比特币的手法。
暴力偷币手法
黑客偷虚拟货币跟当年偷Q币等网上交易货币的手法类似,最直接最暴力的手段无非是直接黑进你的虚拟货币钱包,然后把你钱包里面的货币转到黑客的账户里。矿机挖币成功后会收到一笔比特币奖励,这笔比特币会直接转到矿机所属的钱包地址里。黑客则会悄悄地黑进你的矿机,把配置中收取奖励的钱包地址直接改成自己的。这样一来,你的矿机辛辛苦苦地耗着大量电力挖的币直接就进了黑客的口袋。
我之前也讲过,现在大部分矿机都抱团为矿池挖矿,矿池收到的比特币奖励会分享给参与挖矿的矿机们。在这种情况下,黑客会采取一种常见的“中间人攻击”手法:控制矿机与矿池之间的数据沟通,直接篡改矿机接收矿池奖励的地址为黑客自己的钱包地址。
还有一种攻击方式是直接攻击矿池。由于矿池本质上就是一个网站,所以黑客会想方设法获取矿池网站的管理员权限,然后转移矿池里面的虚拟币到自己的账户上。你可能会问,区块链是分布式账本,难道不应该很安全吗?注意(敲黑板)矿池里面的账户并没有连到区块链系统上,所以如果你在矿池的账号上收到了比特币奖励,记得一定检查一下这些币有没有同时也转到你在公链上的钱包地址里。
间接偷算力挖币
虽然不是每个黑客都能黑进矿机和矿池,但是黑客的创新力永远会带来新的攻击方式。
一部分黑客会通过间接黑大量的物联网设备,偷设备上的算力去挖币。不知你还是否记得 2016 年底,上万的摄像头攻击美国互联网域名解析服务商导致全美大断网的 Mirai 僵尸网络攻击。尽管这次 DDoS 攻击造成了非常大的影响,但是 Mirai 背后的黑客其实在当时并没有得到多大的收益。
随着币圈财力势力迅速地壮大,越来越多古典互联网的黑客也转型成为了币圈黑客。
物联网僵尸网络不再专注于 DDoS 攻击,而转为全心全意地偷设备上的算力挖虚拟币。尽管被僵尸网络感染的物联网设备(大多是用弱密码的联网摄像头)上的算力不能跟有 ASIC 芯片的专业比特币矿机相比,但是这些物联网设备可以有效地用来挖其他流行的虚拟货币,比如市值也不低的门罗币。
值得提出的是,很多物联网设备的用户其实并不会知道他们的设备正在被黑客用来挖矿。这些联网设备会一直正常地工作,打印机还是正常打印,摄像头还是正常监控,Wi-Fi 路由器正常使用。所以从用户的角度来说其实很难发现自己被黑了。唯一的异常就是这些设备的耗电量大大增加并且网络流量会有异样,但这些都不太容易被用户发现。
目前市面上还流行浏览器挖矿,其实就是黑客在大流量网站里面注入挖矿脚本。当用户浏览感染的网页时,脚本会自动在浏览器里面跑起来,然后黑客就可以因此控制用户电脑里面的算力,从而进行挖矿。