嗨币网首席技术官任超:比特币挖矿指南
挖矿2018-01-09标签 : 挖矿 指南 来源 : 新浪看点

由BABI财经主办的区块链成长实验室在上海飞马新立方进行了第二天的授课。通过第一天的学习,学员们对于区块链行业的现状及走势已经有了充分的了解。第二天的课程主要围绕比特币挖矿以及区块链资产交易等话题展开。

嗨币网首席技术官任超:比特币挖矿指南

嗨币网首席技术官任超为大家带来了题为《比特币挖矿指南》的演讲。

以下为任超活动现场演讲实录:

今天很荣幸在这里跟大家分享比特币的挖矿指南。我在嗨币网主要是负责做技术,嗨币网主要想要做一个综合性网站,现在我们上线的主要是海外交易。我们刚上线,还要运作一段时间,但是近期上线的矿工之家的板块,就是做矿场的运营。我今天讲挖矿指南大家应该对这个比较熟悉,主要分五个方面。

第一,挖矿的时候矿工要做哪些事情,就是矿工的任务。第二,挖矿所需的硬件。第三,能源消耗和生态环保,这也是现在比较有争议的话题。第四,矿池。第五,挖矿的激励和策略,就是为什么会出现分叉,挖矿的时候为什么会出现这种问题。

矿工的任务,大家想要挖矿,挖矿跟当年的淘金一样也有风险,比特币挖矿也有风险,因为你要花钱投入硬件。但是收益的话,现在看来挖比特币比较难,但是挖显卡币收益还是挺可观的。

比特币矿工一次挖矿要完成六大任务。第一,监听交易广播。矿工的基础任务就是监听交易,大家每次转账的时候,矿工听到你付了手续费要转账,我就听到,把这笔交易写入到区块里面。第二,维护区块链网络和监听新的区块。矿工首先在挖矿之前要把所有的区块链上的交易先同步下来,再监听到新的区块。因为有一个矿工如果发现了新的区块要先广播,广播了之后所有的矿工要认可他,这个发现新的区块才会写入到这个区块链最末端,所以矿工有一个任务就是监听新的区块。第三,组一个备选区块。他要监听新的区块,把新的区块组装起来。第四,找到一个让你的区块有效的随机数。这是最难的,也是矿机最复杂的任务,就是做随机数的寻找。第五,希望你的区块被全网接受。如果你发现随机数之后,你就要告诉大家发现了新的区块,希望所有的矿工认可你。一般矿工会认可你,因为他不希望自己再自己区块上面去计算了。因为如果我不认可,其他人都认可了,我自己挖的就白挖了,所以我认可你,我在你后面挖,不需要在自己的区块上面挖了。第六,利润。矿工发现一个区块会得到一个奖励,每四年这个奖励就会减少,最开始的50、25,到现在的12.5个。

这可以总结成两个部分,也是比特币之所以需要矿工的原因,他需要矿工去验证交易和区块,这也是比特币矿工存在的原因。矿工要和其他矿工竞争,找到区块,并且从中获益。

矿工的基本任务完了,讲一下矿工所需的硬件。

嗨币网首席技术官任超:比特币挖矿指南

矿机现在是经历了四代,第一代是CPU,昨天黄老师也讲了,CPU最开始可以完,电脑有一些弊端,比如被黑客劫持。现在算力增加,现在不可能用CPU完全了,如果挖的话可能几万年才能发现一个区块。第二代是GPU挖矿,为什么用GPU挖矿呢?当然现在用GPU也不可能了,大概用要求几百年才能找到。第三代很短暂,它比GPU没有提高多大的性能,而且它太专业了,需要专业的人在现场操作,所以很快被淘汰了。第四代,IC芯片。就是专用集成电路技术完全。但是随着比特币挖矿越来越规模化、专业化,我们不禁要问,未来挖矿会如何发展呢?比特币之前设计的是去中心化的交易币种,但是现在这些比特币挖矿都掌握在这些大佬们手上,手工都没有所谓的小矿工了,都是大的矿场。相当于这个币也是一个中心化的币,将来我们不知道有没有人可以掌握51%的算力,他如果掌握的话,大家也知道比特币就没有太多意义了。所以我们是不是考虑如何比特币哪一天大家达成共识,我们换一个算法,能解决CPU被劫持的问题,矿工是不是用CPU呢?那样所有人都可以成为矿工。

第三点有关能源消耗和生态环保。

比特币挖矿到底有没有浪费国家的资源呢?挖矿为什么耗电呢?这里有一个原理,就是蓝道尔原理,每进行一个不可逆运算,都会消耗一定的点亮,大概是0.69焦耳。什么是不可逆运算呢?就是SHA-256。能源消耗的途径有这么几个,一个是内涵能源。就是做矿机、建矿场,建矿场非常麻烦,要到山区里面。以前做比特币矿机也要消耗很多资源,大家说研发芯片的费用也要到几百万。电就是挖矿最基础的电。挖矿的时候还要在机房做冷却,必须要水冷,有的人找冷的地方矿场。建机房的成本降低,随着越来越多人在挖矿,电费比以前贵了很多,还有冷却的成本也会提升很多。

大家都说蒙古的电比较便宜,但是不敢去建矿场。2017年消耗的比特币电能是24万亿瓦时,确实是比较惊人的。但是想一下自己法币要消耗哪些东西呢?比如要有ATM机、点钞机、纸币印刷、微信、支付宝、银行支付系统,一样也需要服务器,也需要耗电,还需要运钞车和工作人员。同样法币这些消耗也只是为了支持法币体系,同样比特币的电能消耗也是为了支撑比特币的交易体系。所以这两个在我看来基本上可以对等。

有人说五年之后比特币所有消耗的电能可以把全世界的电能消耗,在总量可以这样预估,但这是不可能的。现在四川出了一个文件,因为挖矿影响了地区用电的消耗,所以不让挖了。所以政府会干预你,你都影响我正常用电了,肯定不允许你挖了,不可能让你把电用完。

第四点是矿池问题。

我们做长沙矿工软件的时候,也跟矿池在对接。矿池是小矿工来用的,矿池相当于大家组团挖矿,矿池是挖矿工作的分工和分红的软件,里面有一套算法给每一个矿工进行分工,每一个矿工拿到自己的分工之后就可以,当他完成任务就可以分红。

分红模式有两种,现在好像出现了三种。第一种是分工分红,就是PPS模式。比如我们给矿工分配任务,只要矿工完成了这个小人物,不管他有没有发现,都给他奖励。好处是对矿工有好处,只要完成任务就给奖金。坏处就是这个矿工发现的区块,我有可能忽略他,因为我完成了任务我给你钱,我发现了区块没有给我奖励,我就把区块丢掉,这样对矿池损失非常大。

第二种是PPLNS模式,就是按照大家的贡献来分奖励,矿池发现区块以后,按照大家的贡献,就是按照的算力,就是贡献值分奖励,就是平常工作中的绩效模式。

第五,挖矿极力和策略。挖矿有什么策略呢?矿工可以选择将哪些交易放进区块。现在默认的是谁付的手续费最多,我优先把他的交易放在我的区块。所以转账的时候,忘记付手续费了,价值2000多万块钱的比特币还没有被确认。如果你付得手续费太少,就会排队,矿工不愿意写进区块。

对哪个区块进行挖矿运算,默认是最末端的区块进行挖矿运算。还有同高度多个区块中做选择,就是如果两个不同的区块在同一时间被发现,我们选择在哪一个区块链上面再挖下去呢?一般情况下选择最先被监听到的区块,因为区块上面都是个时间戳,我们可以判断那个是被先监听到的,我们就在那个区块上挖下去。什么时候宣布新的区块呢?一般情况是马上就宣布,就是发现了区块马上就宣布。

左边是正常情况,右边是如果矿工比较坏,就不按照这个规矩来。比如说重复支付,如果刚刚有一笔交易,这个矿工交易了一笔转账,等待六个交易确认以后,他又跑到之前的区块上面重新挖。他刚刚付的这个钱别人已经把东西给他了,他跑到之前区块挖的话,当他在主链上面刚付的钱在主链上面不存在了。但是他要成功进行重复支付的话,必须掌握一定的算力,比如50%的算力才有可能实现,所以这种情况很难达到。但是可能会出现比如说贿赂矿工的情况,如果支付很大,贿赂一部分矿工来实现。

我们在发现区块的时候,什么时候公布呢?一般是马上公布。如果有人发现不公布,比如我同时发现两个区块但是不公布,他很坏,等别人在老的区块上面挖,等别人挖出来他才公布。别人挖出来之后他再公布,因为他挖出来比别人新,所以别人挖的白挖了。因为他提前发现,他公布了别人应该在他的区块上面挖,但是他没公布,别人挖的是老的。他马上公布之后别人就白挖了,这样也会导致区块的分叉。

黑名单与惩罚分叉攻击。可能这个矿工很讨厌某个人,知道他的交易地址以后就说,只要是你这个交易地址过来的交易我就不给你确认。如果没有实力的话,就要没用,因为他不确认,别人可以确认。如果他实力够强,就可以拒绝在这个地址上面工作,他可以永远屏蔽这个人的交易,这样也会出现分叉,这是不正常的分叉。在未来当比特币出块越来越难的时候,矿工只能依赖交易手续费作为他的收入,所以未来会出现什么情况呢?其实比特币的未来也有人担忧,就是矿工没有利益了,比特币的网络谁来维持,这也是大家讨论的问题。所以矿工会要求一枚笔转账有一个最低手续费的模式。