打字猴:1.703866295e+09
1703866295
1703866296
1703866297
1703866298
1703866299 图5.4(a)找到一个有效区块所花费的时间(2014年早期)
1703866300
1703866301 注:y轴开始于460秒。找到一个有效区块花费的时间是2 016个区块样本花费时间的平均值。由于当时全网挖矿速度的连续快速增长,找到一个有效区块所花费的时间在两周的时间内稳步减少。
1703866302
1703866303 资料来源:bitcoinwisdom.com
1703866304
1703866305
1703866306
1703866307
1703866308 图5.4(b)找到一个有效区块所花费的时间(2015年早期)
1703866309
1703866310 注:y轴开始于540秒。找到一个有效区块花费的时间是2 016个区块样本建造时间的平均值。由于整个网络增长开始减速,所以找到有效区块的平均时间非常接近10分钟,偶尔还会因为全网算力缩小而超过10分钟。
1703866311
1703866312 资料来源:bitcoinwisdom.com
1703866313
1703866314 即使找到有效区块的时间目标被设定为平均10分钟,但是在2013年和2014年的大多数时间,这个时间平均是9分钟左右,并且在两周的周期末尾阶段时接近8分钟。计算表明,全网运算能力的增速大概是每两周25%,或者每年几百倍,这个数字非常惊人。
1703866315
1703866316 不出所料,这种增长不会无休止地进行,2015年的增速就降低很多(偶尔也会负增长)。在图5.4(b)中,我们可以看到全网哈希算力达到了一个稳定的状态,发现每个区块的时间非常接近10分钟,甚至有时会超过10分钟,在这种情况下难度将会被调低。这种曾经被认为不可想象的状况却在2015年频繁发生。
1703866317
1703866318 虽然到目前为止,全网哈希算力还没有经历过灾难性的倒退,但是并不排除它发生的可能性。一个有关比特币崩盘的设想被称作“死亡螺旋”,不断下降的比特币价格导致挖矿无利可图,矿工们因此而退出挖矿(全网运算能力下降),继而进一步导致价格下跌。
1703866319
1703866320 [1]如果下一个区块始于其他人发现的有效区块,你发现的这个区块就会变成无效区块而被丢弃。——译者注
1703866321
1703866322
1703866323
1703866324
1703866325 区块链技术驱动金融:数字货币与智能合约技术 [:1703863935]
1703866326 区块链技术驱动金融:数字货币与智能合约技术 5.2 挖矿所需硬件
1703866327
1703866328 前面我们谈到矿工所要做的计算是十分困难的。我们现在谈一下为什么计算如此困难,以及看一看矿工用来进行这些计算所用到的硬件设备。
1703866329
1703866330 矿工计算难度的核心在于,对SHA-256哈希函数的运算。我们在第1章抽象地讨论过哈希函数。SHA-256是一个通用的密码学哈希函数,它是在2001年被标准化的密码学哈希函数大家族里的一员。SHA是安全哈希算法(Secure Hash Algorithm)的简称。SHA-256是一个不错的选择,因为它是比特币被发明时可用的密码学哈希函数中保密性最强的。虽然它的安全性有可能随着时间推移而慢慢降低,但至少现在它还是很安全的。SHA-256的设计来自美国国家安全局(NSA),这也导致了一些阴谋论的诞生,但是并不影响它是一个很强的哈希函数的事实。
1703866331
1703866332 近距离了解SHA-256
1703866333
1703866334 图5.5展示了SHA-256运算的具体细节,虽然我们不需要知道比特币工作原理的所有细节,但是对矿工计算任务的大概了解是很有帮助的。
1703866335
1703866336
1703866337 SHA家族
1703866338
1703866339 SHA-256名称中的“256”代表它有256位的状态和输出,技术上来说,SHA-256是SHA-2函数家族中几个密切相关的函数成员之一,包括SHA-512(它有更大的状态位,所以也更加安全)。还有一个是SHA-1, 这是一个有160位输出的早期函数,虽然目前认为安全性不高,但是同样应该在比特币脚本里。
1703866340
1703866341 整个SHA-2家族,包括SHA-256在密码学上的安全性是得到公认的,而下一代产品SHA-3家族已经从一个公开的竞赛(由美国国家标准与技术研究所举办)中诞生了。SHA-3目前正在进行最后阶段的标准化测试,但在比特币出现的时候,它还没有出世。
1703866342
1703866343 SHA-256是一个256位的状态机。这256个状态被分割成8个32位的字段,这样它可以最优化地运行在32位的硬件上。每一轮运算选择一定数量的字段——有些会进行一些小的逐位调整——最终进行32位模加法运算(modular addition),然后运算结果被移到状态最左的第一个字段,这样使得整个状态进行向右位移。这种设计的思路来自简单位的线性反馈移位寄存器(Linear Feedback Shift Registers,简称LFSR)。
1703866344
[ 上一页 ]  [ :1.703866295e+09 ]  [ 下一页 ]