Bitget下载

注册下载Bitget下载,邀请好友,即有机会赢取 3,000 USDT

APP下载   官网注册

编辑器';s注:区块链涉及很多技术,从互联网底层到不清楚的密码学,但是关注钱的价格的人往往很多,研究技术的人很少。牛市的时候,大家都会努力学习炒钱。在熊市中,它';反正也没什么。我认为我可以更加努力地学习。作为一个文科生,我当然会有很多理科生看来都是傻逼的问题。作为一名记者,我不难找到业内人士用人类的语言向我解释,他们往往不会';不要当面讨厌我。

这是小明';的学习笔记。如果你还有其他有趣的问题,请投稿提问。

————这是一条华丽的文字分割线————

回头看看,小明';s的学习笔记从每周一篇变成了每月一篇,这一篇可以说是季节性的。。由于我现在的工作主要是编辑,一般都是带记者出去采访写文章,很少自己写文章,所以学习笔记的更新估计是没完没了的。

这一期我想分享的是矿池。首先要感谢xDAG的核心开发者谢睿。同时他也是xDAG官方挖矿软件的设计者,年前他给了我很多这方面的知识。

我第一次了解这个行业是在2017年采访ViaBTCweibit的时候。当时杨海坡总结说,矿池就像矿工的联盟。召集所有人一起挖。这确实是对矿池的一个非常本质和通俗的解释。

众所周知,伴随比特币诞生的PoW共识机制的本质就是做随机数碰撞。谁猜中这个随机数,谁就能获得记账权,成为本轮的造块者。因为是随机猜的,单位时间猜的次数越多,猜中的概率越大。

随着专业挖矿机等设备的出现,比特币、莱特币等货币的挖矿计算能力增强。大部分矿工发现单独采矿很难找到硬币,于是矿池应运而生。矿池就像一个联盟,把这些分散的矿工甚至矿集中在一起开采,按照算力比例给矿工收益,既能增加挖币概率,又能稳定矿工收益。同时,矿池提供的技术也有利于降低开采效率。

矿池给矿工什么任务?

神宇曾经总结说,矿池其实就是给大家分配任务。但是,我想知道更多的细节,那就是矿工们在干什么??矿池如何分配任务?

《浅谈矿池和矿场(矿池篇)》本文举例说明了挖掘的过程:"矿池把方块难度分成很多难度较小的任务,发给矿工计算。矿工完成任务后,将结果提交给矿池。,打电话提交分享。假设全网难度要求n的值为100,即前100位为0,矿池可能会给矿工分配一个任务,要求前30位为0,然后从所有提交的任务中,,寻找恰好前100位为0的目标值。

谢睿告诉我,理论上一个矿池给矿工分配任务有两种方式:

第一,矿池只是一个节点,矿工还在打包交易。。矿池会把任务的完整信息给矿工,矿工会把交易打包然后播出。矿工知道完整的信息,但是要填的东西很多,签名也是矿工签的。

第二种矿池节点直接打包,给矿工结果的中间状态。,或者说信息不全,矿工填了他想填的。最终的组合块是由矿池。矿工将nounce发送到矿池,并将其签名为矿池。

";唯一获胜的是';t更改的是您访问此矿池的数据同步方法。"

看了上面两种方法,很明显大部分商业矿池会选择第二种,采矿收益的分配是以签名为基础的。如果我既是矿工又是矿主,两者没有区别,我可以选择第一种。

参见上面提到的nounce值。你可能会有点困惑。这其实就是我们常说的在PoW过程中会发生碰撞的随机数,下面会解释。

根据《精通比特币》这本书,挖掘的目标是找到一个使块头的hash值小于难度目标的nonce。。前提是选择的交易已经确认。说到这,我们需要学习一下比特币的块头结构。

表格来自《精通比特币》

在块头中,挖掘节点可以改变的基本上有两个东西:transaction和nounce。因为挖掘的目标是使块头的散列值小于目标值整个步骤基本就是:决定你要打包的事务,形成对应的merkle树根——。猜一个nounce——。在块头放入nounce,hash3354,了解是否小于目标hash值,即大于目标难度。

因此,基本上,您选择的交易和公告不会帮助您"预测"最终的hash值(nounce值越大,块头hash不一定越小),每一步都只能猜测。其他人可能第一次就猜对了。你已经猜了成千上万次了,你还没有';t赢了。你唯一能做的就是在同一时间比别人多猜几次。这就是矿机在做的事情。

Let';下面说说矿机的反AISC属性

说到矿机。我问,真的有反ASIC算法吗?谢睿普遍认为本质上没有反ASIC,只是算法不同会让制造ASIC矿机的成本更高。任何异能货币都会有一个采矿算法/软件。ASIC芯片将该软件烧录到电路中。最早的芯片是专用的,比如收音机的芯片只能用于收音机。FPGA(现场可编程门阵列)是一种可编程阵列。当电压施加到硅片上时,与门就会变成非门。这种芯片应用范围更广,首先开销成本比ASIC高;而且为了让它更通用,还是冗余的,效率不如ASIC。所以现在每个人都会在电脑和FPGA上设计。然后烧ASIC。以此类推,GPU甚至CPU可以做更多类型的计算。想知道为什么FPGA比CPU和GPU效率高,可以参考这篇文章。

为什么会有冗余??让';s举个假设的例子(不准确但有助于理解),比如5^5,FPGA可能没有5的概念,会变成1^11^11,ASIC可以直接算出5^5。。这让我想起了王家屏在接受《今日星球》采访时说的话:在计算机领域,灵活性/多功能性和效率往往是相互冲突的。

";ASIC最强的是并行计算,FPGA差一点。其实本质上没有反ASIC只能让每退一步都更加困难。比如要求把东西放在内存里计算。比如需要计算方差,每一个数据都需要放入内存。从GPU到FPGA再到ASIC,(ASIC)需要的内存芯片可能是GPU的100倍。。(要不要开发某种货币的AISIC矿机?)只看成本和收益。总的来说可以理解为开发一个ASIC矿机挖一个以太坊比开发一个比特币ASIC矿机更难,同时开发的芯片。相比普通CPU/GPU,效果提升不明显。比特币可能升级了几千倍,以太网可能升级了几倍到几十倍,效果不划算。

类似的分析也可以在公开资料中看到,比如耳金融的这段话:

";以太坊使用的是Ethash算法,原名Dagger算法(Vitailk发明),目的是为了抵抗ASIC矿机。如何抵抗ASIC矿机?通过将挖掘与内存带宽相结合,降低了其他硬件的计算优势。从而达到矿用设备平等的理念。

Ethash算法并没有阻止ASIC矿机的出现,只是推迟了出现时间。

绑定内存带宽是指可以通过提高内存带宽的速度来提高计算能力。或者在同样的内存带宽速度下降低功耗,但是内存带宽价格太高,ETH价格太低。考虑到成本,ASIC矿机相比GPU性价比不高。

LitecoinusesthescryptalgorithminventedbycryptographerandprogrammerColinpercivalinapaperpublishedin2009onstrongerkeyderivationthroughsequentialmemoryhardfunctions.。原理类似于Ethash,就是在挖矿时增加内存的使用成本,延迟ASIC矿机的出现。

2014年,Zeusminer开发了一款专门针对scrypt算法的ASIC矿机。。这也说明,通过绑定某个硬件(比如内存)来提高挖矿的使用成本,是没有办法完全淘汰ASIC挖矿机的。"

目前大部分号称抗ASIC的挖掘算法都是绑定内存和计算的。

以太网中文网还整理了不同PoW算法部署ASIC后挖掘效率的提升倍数:

sha256约为1000倍

Scrypt和NeoScrypt约为1000倍

X11andX16Rareabout1000times

andthehashisabout100times.Thecuckoocycleisabout100times

andthepasswordnightisabout50times

.

Ethash约为2倍

矿池的收益分配方式

最后简单提一下矿池的收益分配方式。其实这已经有很多文章解释过了。矿石池的分布模式有两种:

第一种是实际区块分配:在时间段内,将按照计算比例分配开采收益。

这种方法的时间段一般以挖出块的时间为准。,即两次挖块时间内计算能力的分配比例分配收益;也可以天天算账。如果你的矿池爆了几块,那天的收益会很高。如果整天在矿池里不挖块,那么今天大家都没有收入。。这被称为PPLNS(每最后N股支付)。

第二种方法是按理论价值分钱:在一个时间段内(一般是一天),矿池理论上能获得多少利润,按计算比例把钱分给矿工,这比前面一种更稳定。

借用本文的一个例子:如果在某个10分钟内,你为一个矿池提供1T的计算能力。当时矿池计算能力100T,全网计算能力1000T,比特币网络平均每10分钟产生一个区块。,区块奖励12.5BTC,矿池占全网总电量的十分之一,矿池预期利润1.25BTC,你的算力占矿池算力的百分之一。不管矿池挖不挖块,你的利润是1.25BTC。。这叫做PPS(每股付费)。因为PPS模式下矿池承担风险,费用的比例会更高。

矿池的基础知识已经普及的差不多了。。突然想起最近看到一篇文章(几年前采访的.)并且看到以太坊的空置率高了很多。顺便问一下为什么要把矿池掏空,答案是:"挖空块的好处是省时,不需要同步数据也不需要下载,上传更快。,(但短时间内)棋子太多会增加难度。

更多详情请参考文章《科普入门|空块是什么?为什么矿工要挖空块?》:

";挖空砌块技术的唯一优点是因为空块只有一条信息,空块挖掘器节省了';包装';很多信息。这样可以让空矿工挖完这个区块,直接开始下一个区块的开采。

如果是大矿甚至是矿池级别的硬件,这个操作只节省了几秒钟,但毫不夸张地说,一个大型矿池几秒钟的计算能力是每秒百万上下的。

一般来说,矿池不会';我不喜欢挖空的街区。毕竟省下那点时间抵不上6%~8%的收入。最后,是区块链网络维护的问题。如果大量的块成为空块,需要传输的信息就无法流动。,还会造成区块链网络的大拥堵,而拥堵造成的区块链网络性能下降可能会降低数字货币的价格。

目前以太坊的空置率越来越高,可能与即将到来的采矿收入减少有关。想着奖励一个街区三个以太坊,赶紧多挖点。"

I';我和《今日星球》的编辑陆晓明我正在探索真正的区块链。请在新闻和交流中加入乐活。请记下你的姓名、单位、职务和原因。

第一期之前学虚拟机(《小明学习笔记|一文看懂区块链跨链机制》),第二期是交联(《小明学习笔记|一文看懂区块链虚拟机》),第三期是《小明学习笔记|一文看懂互联网TCP/IP协议》。第四期《小明学习笔记|一文看懂可验证随机函数VRF》,第五期《小明学习笔记|看不懂BCH算力大战怎么才结束?点这里》

参考文章:

FPGA与CPU,GPU与ASIC的区别,FPGA在云计算中的应用方案

ASIC终结者:X16R算法的异军突起

什么是优化显卡性能,抵抗ASIC的ProgPoW算法?

了解加密货币挖矿的现状和秘密

科普入门|什么是空块?矿工为什么要挖空石块?

PPS模式和PPLNS模式,哪种挖掘模式的挖掘收益最高?