区块链技术驱动金融(五)18.5.29

第五章 比特币挖矿bitcoin mining

5.1 比特币矿工的任务

要成为矿工,必须加入比特币网络并与其他节点相连。

建立链接之后,需要完成六个任务:

1)监听交易广播(验证其签名是正当有效的,交易输出没有被重复支付)

2)维护区块链网络和监听新的区块。

3)组装一个备选区块。(一旦拥有最新的全部区块链数据备份,则可以制造你自己的区块)

4)找到一个让你的区块有效的随机数。

5)希望你的区块被全网接受。(即使找到一个区块也不能保证该区块会成为共识链concensus chain的一部分。

6)利润。如果其他矿工接受了你的区块,则你可以获得利润。若在该区块里的任何交易都有交易费,则所有交易费是矿工所有的。

矿工的任务可分为两类:

1)验证交易和区块。

比特币网络赖以生存和运转的基础,比特币协议需要矿工的首要原因。

2)和其他矿工竞争,争取可以找到区块并因此获益。

不是比特币网络存在所必需的,是为奖励矿工去完成第一类任务而设置的。

综上:两个任务是使比特币成为一个数字货币的必要条件(矿工必须获得奖励才会去完成这些任务)

寻找有效区块

如何找到一个使区块有效的随机数?

区块链主要有两层基于哈希函数的结构:1)第一层在区块链上,每个区块的头部都有一个指针指向前一个区块。2)第二层是在每一个区块里,包括所有交易的梅克尔树。

矿工首先需要从其交易池中选出一系列有效的交易并且编译成梅克尔树。(只要不超过每个区块随机数的交易上限,可以选择编译的交易数量)

矿工之后需要组装出一个新的区块,让其头部(有一个32位的随机数区域)指向区块链上的前一个区块。(你需要不断试临时随机数找到能使整个区块的哈希值小于目标值(目标值特点是以零开头的特定位数的数值))

随机数试过所有32位可能的取值后,还没找到一个有效的哈希值怎么办?

当你遍历区块头部随机数所有可能的取值后,可以改变币基(coin-base)里的随机数。(比如+1,然后再重新改变区块头部随机数来寻找)

改变币基里的随机数,整个梅克尔树上交易的哈希值都会改变(币基值的改变会向上传递)。

最终找到一对临时的随机数组合:头部随机数和币基随机数,用来产生符合哈希值要求的新区块,宣布,就有希望获得相应的区块奖励。

每个人都在运算同一个谜题吗?

每个矿工都会把或多或少不同的交易用不同的次序来放进区块内,因此不太可能走在完全相同的一个区块上进行计算。

就算两个不同的矿工组建的区块里包含了相同的交易,这两个区块的哈希值也不同(币基交易里,矿工会写自己的地址接收新铸币),除非两个矿工共享公开密钥。

只可能是两个矿工同在一个矿池,但是他们会互相通信,确保使用不同的币基临时随机数以避免重复工作。

找到一个有效区块很难吗?很难。挖矿的目标区域,任何有效区块的哈希值必须低于这个值。

决定难度

每挖出2016个区块,挖矿难度会改变一次(约为2周)。

难度的改变根据上2016个区块的挖矿效率来决定的。即:

下一个难度=(上一个难度201610min)/产生上2016个区块所花费的时间

5.2 挖矿所需硬件

矿工计算难度的核心在于对SHA-256哈希函数的运算。(SHA-256是一个通用的密码学哈希函数,SHA是安全哈希算法)

SHA-256

SHA家族?

SHA-256中256代表有256位状态和输出。技术上,SHA-256是SHA-2函数家族中几个密切相关的的函数成员之一,包括SHA-512(状态位更大更安全)。SHA-1(160位输出,目前认为安全性不高)

SHA-256?是一个256位状态机,被分割成8个32位字段,可最优化运行在32位硬件上。(32位模加法,右位移,设计思路来自简单位的线形反馈移位寄存器)

下图展示了一轮SHA-256的压缩函数运算,一个完整的SHA-256运算要做64位这样的迭代运算。参见146页图。

比特币机制奇怪之处?比特币机制下,为得到供其他节点使用的哈希函数,实际上要求两轮SHA-256运算,原因不清楚。

CPU挖矿

第一代挖矿:电脑上通过CPU进行计算。(矿工知识简单的按照线性的方式尝试所有的临时随机数,在软件中进行SHA-256运算,检查结果确认是否找到一个有效区块)

GPU挖矿

第二代挖矿:显卡或者图形处理器GPU挖矿。GPU有高吞吐量和高并行处理功能。显卡的并行性设计使其具备很多算术逻辑单元ALU,可以通过进行SHA-256运算。

2010年,OpenCL诞生,它可使GPU进行非图片处理类工作的通用语言。

缺点:

1)GPU大量的内置硬件进行图形处理,对比特币挖矿无用。

2)GPU没有很好的冷却处理设置。

3)GPU非常耗电。

现场可编程门阵列挖矿

2011年左右,用于现场可编程门列阵Field-Programma Gate Array 简称FPGA)硬件设计语言Verilog,第一次用于比特币挖矿。

利用FPGA代替GPU进行挖矿。

工作原理:追求定制硬件的最佳性能同时,用户可现场调试或者修改硬件参数。

优点:

1)性能比GPU好,特别是数位操作。

2)FPGA易冷却。

缺点:导致其只存在了几个月,就应运而生ASIC

1)FPGA挖矿其实更加困难(一直在超频使用),故经常看到各种报错和故障。

2)优化FPGA的32位加法处理上十分困难(而这个在SHA-256中非常重要)

3)FPGA难购买。

专用集成电路技术挖矿

当今的挖矿市场主要被ASIC所主导,这些IC芯片被设计制造优化,就为了比特币挖矿这唯一目的。

考虑到矿机运行所需耗费的电力成本以及冷却成本,大多数ASIC矿机都无法靠挖矿赚回成本。

如今:专业挖矿的天下

书中引用了Bitfury的挖矿中心图。

如何建立一个挖矿中心?首先需要具备:气候(气温偏寒,节省冷却费用)、电费、网络接入速度。冷却时比特币挖矿最大的挑战,其挖矿本身的耗电量,用单位面积来算要超过传统的数据中心。

与挖金矿的相似之处

比特币挖矿经历了:从CPU到GPU,到FPGA,最后到现在的ASIC。

5.3 能源消耗和生态环保

根据热力学里的蓝道尔原理,任何一个不可逆转的计算都会消耗一定的能源,该计算也可被认为是一种信息丢失的过程。原理之处:任何移位运算都会消耗一定量(k Tln 2)的焦耳,k是玻耳兹曼常数,T代表芯片以开尔文为单位的温度)。综上: 每进行一个不可逆的数位运算都会消耗一个最小量的焦耳,能源是永远不会被摧毁的,只会互相转变。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容

  • 本章全部都是采矿。我们已经看到了一点矿工的信息以及比特币如何依靠他们——他们验证每一笔交易,他们构建和存储所有的区...
    Nutbox_Lab阅读 538评论 0 3
  • 一、快速术语检索 比特币地址:(例如:1DSrfJdB2AnWaFNgSbv3MZC2m74996JafV)由一串...
    不如假如阅读 15,882评论 4 88
  • 采矿难题是比特币的核心,因为他们的困难限制了任何一方控制共识程序的能力。因为比特币矿工为他们解决的谜题赚取了回报,...
    Nutbox_Lab阅读 1,094评论 0 4
  • 171310235欧祥意 “红专厂”前身是广州鹰金钱食品厂,以苏式建筑为主,区内现在仍保留着几十座大小不一的苏式建...
    陳貳臣阅读 753评论 0 0
  • 这是一个可以套用的句式。视金钱如粪土的极度渴望金钱,视权力如粪土的极度渴望权力,视美色如粪土的极度贪恋美...
    奇门勇阅读 680评论 1 0