主页 > imtoken冷钱包安全吗 > 小明学习笔记 |一篇文章明白矿池是干什么的

小明学习笔记 |一篇文章明白矿池是干什么的

imtoken冷钱包安全吗 2023-02-07 06:03:21

小明学习笔记 | 一文看懂矿池是干嘛的

编者按:区块链涉及很多技术,从互联网底层到晦涩难懂的密码学,但往往关注币价和研究技术的人很少。在牛市中,每个人都会努力学习炒币。在熊市中,没有什么可担心的。我认为我们可以更加努力地学习。作为一个文科学生,我当然有很多问题认为理科学生看起来很白痴。作为记者,我不难找到懂行业的人用人性的语言给我解释,而且他们往往不会当面嫌弃我。

这是小明学习笔记的第六期。如果您有任何其他有趣的问题,请贡献并提出问题。

---------这是一个华丽的文字分割线---------

回首往事,小明的学习笔记已经从每周更新开始。变成了每月更新一次,这次可以说是上一次的季度更新。由于我现在的工作主要是编辑,平时带记者出去采访写稿,很少自己写稿,所以学习笔记的更新估计没完没了。

本期我想分享的是矿池。首先要感谢xDAG的核心开发者谢锐。他也是xDAG官方挖矿软件的设计师。他给了我很多这方面的知识。 .

我第一次了解这个行业是在2017年采访ViaBTC的时候,当时杨海波总结说,矿池就像矿工联盟,把大家聚在一起挖矿。这确实是对矿池的一个非常本质和流行的解释。

我们都知道,随着比特币而生的PoW共识机制,挖矿过程的本质就是做随机数碰撞,谁猜到随机数就可以得到记账权,成为本轮出块人。因为是随机猜测,单位时间内你猜的次数越多,猜到的概率就越高。

随着专业矿机等设备的出现,比特币、莱特币等币种的挖矿算力全网提升。应运而生。矿池就像一个联盟,把这些分散的矿工甚至矿场聚集在一起挖矿,按照算力的比例给矿工收益,既可以增加挖币的概率,又可以稳定收益的矿工。矿池提供的技术也有利于降低挖矿效率。

矿池交给矿工什么任务?

神宇也曾经断定,矿池其实是在给大家分配任务。但是,我想知道更多细节,矿工到底在做什么?矿池如何分配任务?

挖比特币的矿机是什么东西_挖派矿机挖币是骗局吗_除了挖比特币矿机还能挖什么

《浅谈矿池与矿场(Mining Pools)》一文举例说明了挖矿过程:“矿池将区块的难度分成许多难度较小的任务,发送出去。计算对于矿工来说,矿工完成一项任务后,将结果提交给矿池,称为提交份额,假设n的值为100,即前100位为0,矿池可能给矿工分配一个任务,要求前30位为0,然后从所有提交的任务中,找出前100位为0的目标值。”

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

首先是矿池只是一个节点,矿工是打包交易的。矿池会将任务的完整信息提供给矿工挖比特币的矿机是什么东西,矿工将交易打包并广播出去。矿工知道完整的信息,但是要填写的东西很多,而且签名也是矿工签名的。

第二种矿池节点直接打包,给矿工结果的中间状态,或者不完整的信息,矿工自己填什么就填什么。最终的区块组合由矿池。矿工向矿池发送通知,签名为矿池。

“唯一不变的是你访问这个矿池的数据同步方式。”

看完以上两种方式,很明显大部分商业矿池都会选择二,挖矿收益的分配是基于签名的。如果我既是矿工又是矿池所有者,这两者没有区别,我可以选择第一个。

当您看到上面提到的 noounce 值时,您可能会有些困惑。这其实就是我们在PoW过程中常说的碰撞的随机数,下面会解释。

根据 Mastering Bitcoin 一书,挖矿的目标是找到一个使区块头哈希小于难度目标的随机数。前提是选定的交易已经确定。此时,我们需要了解一下比特币的区块头结构。

小明学习笔记 | 一文看懂矿池是干嘛的

表格来自《Mastering Bitcoin》

在区块头中,挖矿节点基本上只有两件事可以改变:交易和公告。由于挖矿的目标是让区块头的哈希值小于目标,所以整个步骤基本上是:决定要打包的交易并形成对应的默克尔树根——猜一个反弹——把噪声放入区块头哈希 查一下——知道有没有哈希值小于目标哈希值,也就是大于目标难度。

挖比特币的矿机是什么东西_挖派矿机挖币是骗局吗_除了挖比特币矿机还能挖什么

所以,基本上,你选择的交易和反弹都不会帮助你“预测”最终的哈希值(反弹值越大,块头哈希越大或越小),你只能猜测每个步。别人可能一次猜对了,但你猜了几万次还是没有猜到。你唯一能做的就是同时猜测比其他人更多的次数。这就是矿工们正在做的事情——把你所有的注意力集中在做一件事上。

说说矿机的抗AISC属性

说到矿机,请问真的有抗ASIC算法吗?谢锐普遍认为,自然界中不存在ASIC抗性,但不同的算法会使ASIC矿机的制造成本更高。

任何PoW币都会有一套挖矿算法/软件,ASIC芯片将这个软件烧成电路。最早的芯片都是专用的,比如收音机的芯片只能做收音机的事情。 FPGA(现场可编程门阵列)是一种可编程阵列。当向硅芯片施加电压时,与门可以变成非门。这类芯片应用范围更广,首先开销成本高于ASIC;而且为了更通用,还是有冗余的,效率不如ASIC。所以现在大家都会在电脑上设计,在FPGA上设计,然后烧ASIC。以此类推,GPU 甚至 CPU 可以进行更多类型的计算。如果你想确切地知道为什么 FPGA 比 CPU 和 GPU 更高效,可以参考这篇文章。

为什么会有冗余?举个假设的例子(不准确但有助于理解),比如5+5,FPGA可能没有5的概念,会变成1+1+1+1+1,ASIC可以直接计算5+5。这让我想起了王家平在接受Odaily星球日报采访时说的一句话:在计算机领域,灵活性/通用性和效率往往是矛盾的。

“最强的ASIC是并行计算,FPGA稍微差一些。其实ASIC本质上是没有抵抗力的,它只会让倒置的每一步都变得更加困难,比如要求东西存储在内存中, 比如你需要计算方差,你需要把每一个数据都放到内存中,从GPU到FPGA再到ASIC,(ASIC)可能需要比GPU多100倍的内存芯片。(你想开发AISIC矿机吗?对于某种货币?)只要看看成本和收益。”总的来说,可以理解为,开发一款挖以太坊的ASIC矿机要比开发比特币ASIC矿机难,同时开发的芯片也比普通的CPU/GPU好不了多少。很明显,比特币可能涨几千倍,以太坊可能涨几倍到几十倍,效果不值得。

在公开资料中也可以看到类似的分析,比如二财经的这段话:

“以太坊使用Ethash算法,原名Dagger算法(由Vitailk发明),其目的是抵抗ASIC矿机。如何抵抗ASIC矿机?通过捆绑挖矿和内存带宽,即降低其他硬件的计算优势,从而达到挖矿设备平等的概念。

Ethash 算法并没有阻止 ASIC 矿工的出现,只是延迟了出现。

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

Litecoin 使用密码学家和程序员 Colin Percival 在 2009 年发表的论文 Stronger Key Derivation via Sequential Memory-hard Functions 中发明的 scrypt 算法。原理类似于 Ethash,增加了挖矿过程中的内存使用成本并延迟了出现ASIC 矿机。

挖比特币的矿机是什么东西_除了挖比特币矿机还能挖什么_挖派矿机挖币是骗局吗

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

大多数被称为抗 ASIC 的挖掘算法现在捆绑了内存和计算。

以太坊也整理了部署不同PoW算法的ASIC后挖矿效率的倍数:

SHA256 大约 1000 次

Scrypt 和 NeoScrypt 大约 1000 次

X11和X16R约1000次

Equihash 大约 100 次

杜鹃循环约100次

CryptoNight 大约 50 次

Ethash 大约是 2 倍

矿池收益分配模型

挖派矿机挖币是骗局吗_挖比特币的矿机是什么东西_除了挖比特币矿机还能挖什么

最后简单提一下矿池的收益分配模型。事实上,这在很多文章中都有说明。矿池分配方式有两种:

首先是实际的出块情况。 .

这种方法的时间段一般以出块的时间为准,即两次挖出块的时间内算力的分配比例;也可以每天结算,如果你的矿池爆了几个区块,那一天的收益会非常高。如果矿池一天没有挖出任何区块,那么今天每个人都没有收入。这称为 PPLNS(按最后 N 股支付)。

二是按理论值分币:在一个时间段内(一般是一天)挖比特币的矿机是什么东西,矿池理论上能得到多少收益,矿工按算力比例分,即比上一个更稳定。

使用本文中的一个例子:如果你在某个 10 分钟内提供一个算力为 1T 的矿池,那么当时矿池的总算力是 100T,整个算力全网1000T,比特币网络平均每10分钟出块,出块奖励12.5 BTC,矿池占全网总算力的十分之一,矿池收益的期望值为1. 25 BTC,你的算力占矿池算力的1%。不管矿池有没有挖出一个区块,你的收益都是理论收益1.25 BTC。这称为 PPS(按份额付费)。由于在PPS模型中,矿池承担风险,费用的比例会更高。

到此为止,矿池的基础知识已经差不多了。突然想起最近(几年前接受采访...)看了文章,看到以太坊的空块率要高很多。顺便问了矿池为什么挖空块,回答是省时间:“敲出块的好处是不需要同步数据或下载,上传速度更快,(但在短时间内)太多的块会增加难度。”

更多详情请参考《科学导论 | 什么是空块?为什么矿工要挖空块?》这篇文章:

“空块技术唯一的优势在于,由于空块只有一条信息,空块矿工省去了‘打包’大量信息的时间。这使得空块矿工可以挖完这个区块,就可以直接开始挖下一个区块了。

如果是大型矿场甚至是矿池级别的硬件,这个操作只节省了几秒钟的时间。但是,一个大型矿池几秒钟的算力,一点也不夸张。

小明学习笔记 | 一文看懂矿池是干嘛的

一般来说,矿池不喜欢挖空块。毕竟,节省那一点点时间不值 6%~8% 的收入。

挖比特币的矿机是什么东西_挖派矿机挖币是骗局吗_除了挖比特币矿机还能挖什么

最后是区块链网络维护的问题。如果大量区块变成空块,则需要传输的信息无法流通,也会造成区块链网络的大堵塞。阻塞导致的区块链网络性能下降可能会降低数字货币的价格。

目前以太坊的空块率有所上升,这可能与即将到来的挖矿收益减少有关。我想挖更多的以太坊,同时奖励一个区块三个以太坊。”

我是Odaily星球日报的编辑陆晓明。我正在探索真正的区块链。请添加 lohiuming 用于突发新闻和交流。请注明您的姓名、单位、职务和原因。

第一期是关于虚拟机的(《小明学习笔记 | 一篇了解区块链的跨链机制》),第二期是跨链(《小明学习笔记 | 一篇了解区块链》) 《)区块链虚拟机》),第三期为《小明学习笔记 |一篇了解互联网TCP/IP协议的文章》,第四期为《小明学习笔记 |一篇了解可验证随机函数VRF的文章,第五期是《小明》学习笔记|看不懂BCH算力大战是怎么收场的?点这里”

参考文章:

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

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

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

在本文中了解加密货币挖矿行业的现状和秘密

科普导论|空 什么是块?为什么矿工挖空块?

矿池PPS模式和PPLNS模式哪个挖矿收益最高?