程穗,林宪正,俞能海
(1.中国科学技术大学网络空间安全学院,安徽 合肥 230001;2.中国科学院电磁空间信息重点实验室,安徽 合肥 230001)
比特币是一种去中心化的电子加密“货币”[1]。作为一个账单系统,比特币不依赖于中央机构发行新币和维持交易,而是依赖分布式系统来维护交易列表,这个交易列表即区块链[2]。区块链是通过密码学方法生成的一串相关数据块。新区块始终链接到其前一个区块。因此,区块链是一种协议,当新区块被挖掘出来时,区块链的数据发生变化[3]。
在比特币系统中,所有用户都可以参与由工作量证明(PoW)协议维护的区块链[4-6]。PoW协议要求有效块的哈希值小于预定的阈值[7]。每个矿工通过调整哈希函数的输入值(在区块中称为nonce)进行有效区块的计算[8]。获取有效区块后,矿工将广播该区块到整个网络,其他矿工在验证该区块的有效性后停止当前高度的区块挖掘[9]。
在传统区块链中,除了创世区块外,每个区块的区块头均包含其父区块的哈希值。每个新区块的生成方式都是通过更改随机数,并不断计算其区块头的哈希值,直到其小于当前难度。因此,挖掘只是一个纯粹的计算过程。计算速度越快,挖掘出新区块的可能性越大。
普通的采矿设备经历了从PC到GPU和FPGA的多种变化,直到ASIC矿机出现。当前,比特币采矿市场已经被ASIC矿机所主导,并且无法通过使用其他采矿设备来营利[10]。ASIC矿机是致力于挖矿过程。但是,早期使用ASIC矿机存在一系列问题:……p>