跳转至

采矿

在前几章中,我们讨论了工作证明 ( PoW )共识系统和挖掘的重要性。我们还讨论了比特币和其他替代硬币,以及矿工如何在基于 PoW 的硬币中发挥重要作用。

在这一章中,我们将深入讨论挖掘,以及挖掘基于 PoW 的硬币和代币的必要性。然后,我们将讨论采矿池以及它们如何给采矿生态系统带来变革。此外,我们将继续学习如何使用各种可用的矿工开始采矿。我们将深入了解 CPU 和 GPU 采矿,以及研究建立一个采矿钻机和双重采矿的概念。最后,我们将研究每个可用于挖掘的 PoW 算法,并讨论基于可用硬件资源的最佳选择。

在本章中,我们将讨论以下主题:

  • 采矿过程及其阶段
  • 挖掘算法
  • 各种类型的采矿硬件
  • 矿工的类型
  • 采矿钻机
  • 采矿池的类型
  • 采矿软件

加密货币挖掘

加密货币挖掘由完整节点执行,完整节点是区块链的一部分;只有区块链使用基于 PoW 的一致同意系统进行采矿。交易由合意系统确认,并且这些交易的块被创建以添加到区块链中;区块链中一旦添加新块,也就是俗称的块被发现,就有一定的奖励,给在区块链中执行添加块任务的矿工;然而,这个过程并不那么简单。这些块是在执行验证事务的资源密集型验证过程之后添加的。资源密集型任务基本上是与货币相关的某些算法的散列。

由于块生成时间保持在 10 分钟左右,所以当矿工的散列能力增加时,难度也要以相同的比例增加。如前几章所述,这是通过难度调整和重定目标算法来实现的。

当矿工与网络连接时,矿工执行各种任务以跟上网络。每枚硬币对矿工都有不同的规格;这里显示的是,在比特币的背景下,矿工执行的一些主要任务:

  • 交易确认:通过验证签名和输出来确认交易的过程。
  • 验证块:一旦验证了块中的每个事务,就验证随机数,以完成块验证过程。
  • 新区块创建:在通过网络验证交易后,矿工可以通过添加不属于任何其他区块的交易,在区块链的更高高度创建新区块。
  • 工作算法解证明:在任务中,矿工们通过求解所需算法找到区块链上的一个区块:比特币的情况下是 SHA256。块头包含一个 32 位的 nonce 字段,矿工必须使用暴力技术对其进行哈希处理,直到哈希匹配。
  • 支持奖励系统:当一个节点散列算法时,结果通过区块链网络发送。一旦完成了这一步,网络中的其他矿工就验证该块,以确保该块中的事务高度不会与任何先前的块冲突。一旦该区块被网络接受,矿工就可以获得一定的金币奖励。

让我们详细讨论其中的每一个步骤,以及挖掘加密货币所涉及的过程。

采矿过程

采矿大部分是在以 PoW 为基础的区块链完成的,但如前所述,PoW 并不是唯一正在使用的一致系统;还有各种其他共识机制。然而,工作证明是加密货币中使用最广泛的共识系统。

权力概念在比特币使用之前就已经存在了。这些系统以前用于抑制拒绝服务攻击、垃圾邮件和当前在系统中持续存在的其他网络相关问题,因为它们在提供所需服务之前要求请求者提供计算工作的证明。这使得这种与网络相关的攻击不可行。

为了使 PoW 系统具有足够的成本效益,计算任务对于服务请求者来说比较难执行,但是对于服务提供者来说比较容易检查。Hashcash 是最早开始使用基于 PoW 的协议的系统之一,该协议利用了 SHA-256 算法。有了它,用户在向他们提供所需的服务之前,必须提交计算了数千次散列运算的证明;这反过来限制了拒绝服务和垃圾邮件攻击。

比特币也使用 SHA-256 哈希算法,尽管它是一种随机算法,本质上是确定性的,这意味着对于任何给定的输入,输出都将是相同的,并且可以很容易地被任何使用相同算法和相同输入的人验证。

在加密货币挖掘中,矿工需要两样东西来获得 SHA-256 哈希算法的输入:

  • 新生成的块的头
  • 目前

矿工使用蛮力方法,直到哈希输出匹配难度目标;它是一个 256 位的数字,用作上限,SHA-256 输出必须低于或等于该块的当前难度目标,以便它可以被网络接受。例如,这是一个比特币区块链高度为528499的区块的散列:

00000000000000000021524523382d300c985b91d0a895e7c73ec9d440899946

每个区块中的第一个交易是采矿奖励,因此它没有在交易中扣除资金的输入地址,这些是作为区块链网络的一部分而创建的硬币。这种独特的交易类型被称为 coinbase 交易。此外,在比特币区块链中,在 coinbase 交易中创建的硬币直到在区块链收到至少 100 个确认后才能使用。由于阻塞时间是 10 分钟,100 个事务大约需要 16 小时 40 分钟。coinbase 事务只能发生在矿工自己的地址上。

算法

比特币使用 SHA-256,但有各种算法可用于 PoW 共识类型,其中一些算法如下所列,并在下一个截图中进行了说明:

  • 夸克基地:二甲胍,动漫
  • 密码学:aeon Toni,Monero
  • 匕首-桥本:以太网,氪星
  • Equihash : Zcash,Komodo
  • 巨大 stl :援助比特,巨大角
  • keccak:365 角,微角
  • 【lyra 2re】:lyrobar,MondaCoin
  • SHA-512 :记忆角,质子份额
  • 新埃及:费瑟伦角,Ufocoin
  • NXT : CoinoIndex,SuperNet
  • 埃及:立法院、多哥法院
  • 书写-简:qcoin,ThorCoin
  • 埃及-N : Caishen、Elacoin、genesiscoin
  • skein-sha 2:skein in,XedoCoin
  • X11 : Dash、Chipcoin、Karmacoin
  • X13 :氯角、zip 角、先锋角
  • X15 : CrystalCoin,Halcyon,html 5 角
  • 埃及 : BitZeny,全球变暖

这些算法中的每一个都有相对于其他算法的特定修改。

采矿硬件

加密货币挖掘社区已经携手经历了许多创新和阻力,以照顾区块链的核心原则。采矿可以使用家用电脑和专门的硬件来完成。加密货币挖掘常用的硬件类型将在以下章节中讨论。

基于 CPU 的挖掘

这是官方比特币客户端中第一个可用的挖掘类型。在比特币诞生的最初几天,家用电脑能够挖掘硬币。随着更强大、更专业化的硬件的出现,比特币挖矿不再是挖矿比特币的首选。其他硬币仍然支持 CPU 挖掘,但随着硬币难度的增加,挖掘这些类型的硬币也变得不可行。

基于 GPU 的挖掘

由于区块链网络的难度随着时间的推移逐渐增加,CPU 挖掘变得不可行,或者有时使用 CPU 挖掘硬币变得不可能。考虑到这一点,矿工开始使用 GPU,因为它们提供更快、更高的并行处理能力。AMD 和 Nvidia 等 GPU 制造公司不时发布新的硬件,除了游戏性能外,还能产生出色的挖掘结果:

基于 FPGA 的挖掘

现场可编程门阵列 ( FPGA )由制造后可配置的集成电路组成。组态编程使用硬件描述语言 ( HDL )指定。现场可编程设备可以在不拆卸设备的情况下进行修改;该设备包含一系列门阵列,可创建真值表来计算来自数据流的输入,如以下屏幕截图所示:

由于 FPGAs 从内核支持并行性,据称它们的效率是基于 GPU 的挖掘的 15 倍。

基于 ASIC 的挖掘

专用集成电路 ( ASIC )挖矿机与基于 CPU、GPU 和 FPGA 的挖矿相比要好得多,因为它们被设计为只执行一个特定的任务,即加密货币的挖矿。下图所示的 ASIC 挖掘器是特定于算法的:

这些硬件是专门为产生高散列率而构建的。有各种各样的公司在生产一些表现最好的矿工方面很受欢迎,如比特大陆、阿瓦隆、穿山甲、阿西米纳尔等等。

矿工类型

如今有两种类型的矿工——根据购买硬件本身或在线购买散列能力来分类。

云挖掘

在这种类型的开采中,矿工不拥有硬件,而是从其他矿工远程购买散列能力。云开采与通过购买自己的硬件进行开采相比有各种优势,例如低进入成本和最小风险。对于想要投资加密货币但不想从交易所购买或没有足够技术知识的人来说,这是他们可能的最佳选择。现在,有各种组织在不同的地方拥有大型数据中心,人们可以购买基于 GPU、ASIC 和 FPGA 的挖掘器。其中一些组织是 Genesis Mining、SkyCoinLabs、Nicehash、hashflare 等等。

硬件开采

爱好者总是对设置自托管硬件进行挖掘感兴趣;挖矿可以通过高端家用电脑或者收购 ASIC 或者 FPGA 设备来完成。如今,人们也在设置采矿钻机,这是一种专门的设置,可以选择将多个 GPU、ASICs 或 FPGAs 连接到一台机器。人们大多通过购买延伸套管,并将多个硬件连接在一起以实现所需的结果,从而从零开始制作钻机。钻机最好的部分是你可以添加更多的硬件,并尝试一个新的 ASIC,看看是否达到了预期的结果。

采矿钻机

由于许多 GPU 或 ASICs 装配在一起,它们往往会产生大量的热量,因此有适当的气流是很重要的。以下是基本钻机的要求,用户可以自行设置:

  • 主板:需要一个专门的主板,可以支持多个 PCI-E 插槽连接多个 GPU。
  • HD :最低硬盘足够了,但最好选择固态硬盘以获得更好的性能。
  • 内存:采矿钻机最少需要 8 GB 或 4 GB 的内存,因为采矿更多的是计算密集型工作。
  • GPU、ASIC 或 FPGA :这些是采矿钻机中最重要的组件,可以选择任何一种配置,如基于 GPU 的钻机、基于 ASIC 的钻机或基于 FPGA 的钻机。所有这些的组合也可以在设备上进行试验,以确定哪种设备产生的效果最好。
  • 情况:由于大量的计算设备装配在一起,它们往往会产生大量的热量,因此需要一个合适的外壳将这些设备连接在一起;内部的气流应该充足,因为大量的热量会导致硬件损失或系统资源使用的减少。
  • 电源:台式电脑中的标准电源在矿用钻机中无法工作;多个 GPU 需要大量的电力,因此需要能够支持如此大量电力的电源。

现在也有预制的采矿钻机;这些钻机是即插即用型的,不需要设置。以下是一些最广泛使用的预制钻机:

  • Shark mining :这是一个受欢迎的供应商,创建各种基于 GPU 的钻机,支持大量的硬币开采。他们提供各种选择,从小型到大型钻机。
  • Ming Cave:他们有各种钻机的选项,基于 Nvidia 或 AMD 的显卡:

采矿池

随着越来越多的矿工开始开采硬币,硬币的难度也随之增加。联营企业是一群聚集在一起开采一个区块的矿工,一旦成功开采该区块获得奖励,奖励将在联营企业中开采的矿工之间分配;奖励的支付有多种分割方式,我们将在下一节讨论这些方法。采用各种奖励分割方法的原因是因为哈希法是一种纯粹基于暴力的机制,因此任何矿工找到正确的随机数然后继续在区块链成功提交区块的过程都是纯粹的运气,因此如果他们的哈希法和采矿努力不被考虑,对池中的其他矿工来说是不公平的。因此,根据哈希能力,奖励是分裂的,但仍然有各种方法来精确计算每个矿工的份额。

每股支付–PPS

PPS 是一种将风险转移到矿池的方法。这是采矿者最喜欢的方法,因为他们是根据他们开采的哈希的份额数来获得报酬的;每一个股票都有开采股票的回报保证,现在很少有股票池支持这种制度。矿工们的工资是从池中现有的硬币余额中支付的。

比例–PROP

这就是所谓的比例方法,顾名思义,在这种方法中,根据每个矿工找到的区块份额数量,在矿工之间按比例分配奖励。

每最后 N 股支付——PPLNS

PPLNS 类似于比例法,尽管在这种方法中,不是计算一轮中的所有股份,而是查看最后的 N 股,而不考虑矿工贡献的总股份。

双重几何方法——DGM

DGM 是一种混合方法,风险由资金池和矿工分担。在这种情况下,当短轮正在进行时,池接收部分采矿奖励,当长轮正在进行时,同样的奖励返回。

每股共享最高薪酬–SMPPS

SMPPS 类似于 PPS,但该池支付的硬币不会超过单轮奖励给该池的硬币总数。这消除了池在 PPS 方法中承担的风险。

均衡共享的每股最高薪酬–ESM PPS

ESMPPS 类似于 SMPPS 它将付款平均分配给所有矿工,这些矿工是资金池的一部分,并且正在为当前一轮采矿。

最近共享的每股最高薪酬–RSM PPS

RSMPPS 类似于 SMPPS,但是这种方法首先优先考虑最近的矿工。

最近回购的最高每股薪酬–CPP SRB

CPPSRB 使用每股最大报酬,例如系统,以这种方式,它使用来自整体奖励的收入向矿工支付最大报酬,考虑到资金池不需要备用资金。

比特币池化挖掘——BPM

BPM 也被称为泥浆系统,因为它首先被用于名为泥浆池的采矿池。在这种支付计算方法中,与最近的份额相比,整轮开始时的旧份额的重要性较低。这个系统的引入是因为社区成员开始报告矿工能够在一轮进行中通过转换矿池来欺骗矿池。

按目标付款-底池

POT 是一个高方差 PPS 系统,它根据矿工返回到矿池的工作难度来支付,而不是根据开采该区块的整个矿池矿工完成的工作难度来支付。

得分

这是一个比例奖励系统,基于股份提交的时间。这个过程使得后来的股票比早期的股票更值钱;这些份额按时间计分,给予单个矿工的奖励是根据分数的比例计算的,而不是根据系统中提交的份额。

除此之外,矿池和社区还提出了新的奖励系统;诸如 ELIGUIS、Triplemining 等系统仍然存在,并被不同的开发人员使用。

热门泳池

目前有各种各样的矿池,任何人都可以成为感兴趣的矿池的一部分,并立即开始采矿。池可以支持任何人加密货币或多种货币在同一时间。以下是采矿池及其支持的货币列表:

  • BTC.com:这是一家总部设在中国的公司,隶属于比特大陆组织。它支持比特币和比特币现金。
  • Antpool :比特大陆组织拥有的另一个池。支持比特币、莱特币、以太坊、以太坊经典、Zcash、Dash、比特币现金、Siacoin、Monero 经典、Bytom。
  • BTC。TOP :截至目前,一个支持比特币的中国矿池。
  • SlushPool :世界上第一个矿池,也是迄今为止最可靠的。它挖掘了大约 3%的比特币区块。它支持比特币和 Zcash。
  • F2Pool :基于中国的池,支持比特币、莱特币、Zcash、以太坊、以太坊经典、Siacoin、Dash、Monero、Monero 经典、Decred coin、Zcoin、Aion coin 等多种货币。
  • ViaBTC :一个面向中国矿工的中国资金池。支持比特币、比特币现金、莱特币、以太坊、以太坊经典、Zcash、Dash 等货币:

除了列出的池,还有各种其他池,有些支持单个硬币,有些支持多个硬币。其中一些是 BTCC,Bitfury,BW Pool,Bitclub.network,Suprnova,minergate 等等。下图显示了比特币网络在各个矿池之间的哈希分布,可以在www.Blockchain.info/pools找到:

采矿软件

采矿硬件负责采矿过程,但为了获得最佳结果和消除瓶颈(如果有的话),拥有高效的软件也很重要。

挖掘软件的任务是通过网络共享硬件的挖掘任务。除此之外,它的任务是接收网络上其他矿工的工作。根据硬件运行的操作系统,有各种挖掘软件可用,如 BTCMiner、CGMiner、BFGMiner、Nheqminer 等:

应该根据操作系统、硬件类型和其他因素来选择采矿软件。大多数采矿软件都是开源的,并有大量活跃的社区来澄清矿工在为可用硬件选择正确软件时的任何疑问。

摘要

在这一章中,我们学习了加密货币的挖掘;从研究各种算法开始,我们讨论了挖掘硬件和可用的各种类型。然后,我们讨论了矿池,矿池如何在矿工之间分配奖励,以及目前可用的各种流行的矿池。

在下一章中,我们将讨论初始硬币发行 ( ICO ),这是为发行的硬币或代币筹集资金的过程。ICO 是区块链社区的重要组成部分,帮助区块链项目的利益相关者从社区本身筹集资金。


我们一直在努力

apachecn/AiLearning

【布客】中文翻译组