再谈ProgPoW:矿工与Eth2之间不得不说的事

2020-03-23 11:19 来源:金色财经 阅读:6532
3月19日,Vitalik终于对以太坊未来的规划进行了总结和说明,以太坊是全球最大的公链、加密社区,在加密世界的影响力和领导力毋容置疑。

今日推荐 | 再谈ProgPoW:矿工与Eth2之间不得不说的事配图(1)

3月19日,Vitalik终于对以太坊未来的规划进行了总结和说明,以太坊是全球最大的公链、加密社区,在加密世界的影响力和领导力毋容置疑。但在这条长期发展之路上,困难重重,每一次update,每一个EIP发起与执行,可能顺风顺水,也可能是闪电雷鸣。

在以太坊从Eth1通往Eth2的道路上,近日分歧最大的就是ProgPoW算法的更新,因为ProgPoW,GPU矿工和ASIC矿工甚至形成两大阵营,而不远的未来(Eth2上线),两大阵营的矿工又可能面临巨变,这其中前因后果、来龙去脉,本文将娓娓道来。力求为关注以太坊的读者清晰呈现ProgPoW和加密社区,也为矿工明确的了解ProgPoW与挖矿间如何密切联系。

以太坊的背景

加密货币是从比特币开始的,比特币设计了PoW共识,所有的节点通过PoW的共识来出块,块就是Block,而每个块通过链式广播的方式确认,确认后就保存在了确认的节点里,所以成为了Chain,也就是链,这就是区块链。

为了让节点矿工持续挖矿,设定了确认一个块保存之后给予一定的奖励,奖励的就是比特币。很多人会因为奖励而蜂拥而至,因此要明确谁能保存这个区块,PoW的Hash碰撞算法就执行了这个选择过程,每个节点都是一个具备计算和存储功能的硬件,这些硬件通过运行Hash碰撞算法计算出结果,谁先算出来,谁来保存。

在比特币网络初建的时候,参与这个计算过程的人很少,就需要创始人自己安装计算存储硬件来计算,随着参与的人越来越多,竞争进行计算的人也就越来越多,计算的难度也就会加大,这个难度的相关因素就是每个计算硬件的计算能力,也就是算力。

每一个计算硬件就相当于一个生产机器,只要开始计算,就能产出比特币,而这个计算过程的公式就是PoW共识算法,也就是Hash碰撞算法,比特币的算法是SHA256。但算法有所不同,当以太坊像比特币一样建立了这样的网络以后,以太坊使用的算法是Ethash,同样属于PoW算法,但计算条件不同(后文详细解释)。

在以太坊网络最初建的时候,和比特币一样,都需要初始团队先建好一些硬件,连如网络,通过这个网络的设计来“挖矿、出块”,以太坊最初的节点是由以太坊基金会建立起来的,随后加入者越来越多,成就了今天的网络。

以Hash碰撞算法的设计,挖矿节点算力越高,挖矿也就更容易,即使全网算力增加会增加挖矿难度,但也可以更快的计算出“公式”结果,存储区块拿到奖励。这些计算硬件背后是人,被称为矿工。而这些硬件开始进入标准化的工业生产(为了提高每个计算硬件的计算能力),被称为矿机。聚集矿机的计算能力的角色,像是一个“挖矿算力池”,被称为矿池,矿池聚集算力之后直接连接网络进行计算,因为算力高,很容易保存区块拿到奖励,拿到奖励之后再分给每一个矿机。

写到这里,每个角色间的协作组成了一个通过连接加密货币网络“挖矿”获取收益的产业,矿业。随后在这个产业中,矿机不断发展,出现了两种不同挖矿方式的矿机。

矿机厂商的为了提高矿机算力,通过计算晶元的工业组合,把非常多的计算晶元放在一起,然后运行Hash碰撞算法,这样的硬件里计算晶元多,临时存储空间较小,适合进行重复性较高,逻辑简单的运算,例如比特币的Hash碰撞算法SHA256,这种矿机被称为ASIC矿业,也就是专业矿机。

在ASIC还没有出现的时候,Hash碰撞计算都是执行在CPU以及GPU中计算的,后期发展为GPU矿机,但GPU因为可以进行逻辑较为复杂的运算,而可以在更多挖矿算法上使用,并且可以执行内存依赖性算法(在计算时对临时存储要求较大)的算法。例如以太坊的Ethash算法。

如果用GPU矿机计算比特币的SHA256算法,GPU矿机会因为算力较低没有竞争力,而如果用ASIC矿机计算Ethash,因为算法要求,是无法进行的,市场上的Ethash ASIC矿机的设计是根据Ethash算法要求设计的,与比特币的ASIC矿机算力表现差距很大。

以太坊的白皮书中写到了,以太坊未来会执行一个新的共识PoS,而这种共识并不是通过PoW的计算实现的,但在发展到所有节点都使用PoS共识之前,以太坊使用PoW建立了一条区块链,这条区块链被称为Eth1,运行Ethash算法,但Ethash算法同样可以利用密集的计算晶元来提高硬件计算能力(与比特币ASIC设计有明显差异),也出现了以太坊ASIC矿机。

在以太坊的社区内,对以太坊ASIC矿机一直存有抵制的声音,ProgPoW的出现,也是具有抵抗ASIC的意图(后文详解)。

ASIC矿机为什么会被以太坊社区抵制?

以太坊ASIC矿机的出现,是矿机厂商通过适合Ethash算法设计的,矿机算力与GPU算力差别不大,那以太坊社区中为什么会抵制ASIC呢?

这其中需要提及两个因素:一是ASIC矿机的挖矿成本相比GPU矿机挖矿成本略低,更好管理运维,二是ASIC的应用范围过窄。

例如闪电GPU矿机是由8块AMD RX 470 4GB显卡构成的,在挖ETH时算力大约237MH/s,额定功率大概在1250W,售价17000元左右,而例如ASIC以太坊矿机蚂蚁矿机E3,算力约为180MH/S,功耗约为800W,售价约为5700元左右。比较中,ASIC的成本更低。

比较低成本的ASIC让以太坊社区内的开发者和矿工预测到了ASIC矿机未来可能占领以太坊网络,这是一种“恐惧”,ASIC矿机因币价或大规模挖矿盈利性质而具备的高风险,是以太坊社区内部分人抵制ASIC的主因。

ASIC虽成本低,但对于矿工来说,ASIC矿机的可挖币种较少,且在挖矿之外的使用范围过窄,GPU矿机也被称为显卡矿机,作为通用计算设备,显卡可挖币种多,还能用作挖矿之外的其他用途,例如大数据运算、渲染等,抗风险能力优点会越发明显。

以太坊因长期以来的社区特性,对Ethash类内存依赖型算法情有独钟,为了抵抗ASIC,也为了更加优化矿工在Ethash算法对GPU的资源利用,以太坊开发者提出了ProgPow算法,是对Ethash算法的再优化。

用普通矿机制作的逻辑思考,PoW挖矿存在一个固定的算法,可以设计硬件(矿机)适应它,让其在执行算法的时候变得高效。但ProgPoW算法的设计是“相反的逻辑”,是通过研究硬件(也就是GPU),然后修改算法来匹配硬件。”

对于硬件来说,一个有效的算法需要匹配访问模式与足够的硬盘空间。ProgPoW 的设计针对区块链挖矿最常用的显卡,目前是AMD的Polaris和 Vega系列显卡,以及NVIDIA的Pascal 系列显卡。

ProgPoW提出后,矿工和开发者做了什么?

目前PoW币种里支持ProgPow算法的很少,大规模压力测试还不够。虽然这个算法对于硬件的适配能力的确很吸引人,但不确定性还存在。ProgPow算法使矿工挖ETH优势增大,也会造成一定的功耗升高。

面对这一不成熟的算法,争议纷纷。除技术外,反对者还提出了其他影响因素。

ProgPow算法激活方案EIP-1057发布后,有开发者提出了EIP2583,来反对ProgPow算法,提案中写到:

由于以太坊是一个拥有众多不同利益相关者群体的全球平台,因此对协议的重大更改要有明确的目标和广泛的支持至关重要。EIP-1057显然缺乏该支持,但仍在考虑激活。

EIP-1057建议用ProgPoW代替Eth1的工作量证明算法Ethash。此更改的既定目的是使ASIC矿机的用户处于劣势,以避免向Eth2过渡时,因ASIC而引起的有争议的分叉,但如果激活则与它自己的目标相矛盾,增加了这种不良结果的可能性。

如果以太坊将开始通过Eth2信标链发布从工作量证明过渡到权益证明。在以太坊的演变中,此时更改Eth1Hash算法会导致社区分裂,不应在精力集中在其他地方时引入技术风险。

比这些声明更重要的是,经过两年的辩论,EIP-1057在以太坊社区中未能达成共识,这已经消耗了大量开发人员的注意力和社区资源。迫使这种有争议的变化只会扩大当前的裂痕,对以太坊及其社区造成负面影响,并将持续数年之久,而这一切都没有明确的理由。

面对分歧,曾有开发者Ben DiFrancesco提出了妥协方案。先保持ProgPoW在Eth 1.0的后续中处于活动状态,在需要时触发它。但也就会先保持Ethash算法存在,等待GPU矿商剩切换到ProgPoW。但目前估计有60%的GPU在以太坊网络上进行挖掘,其中40%来自于Ethash ASIC(引用于Dev call)。如果不采取任何行动,因为ASIC比目前的GPU要高效,Ethash ASIC可能在未来几年接管大部分的Hash计算,这样GPU矿工也可能直接离开。

在争论焦灼之时,独立开发者kikx还披露了ProgPOW算法存在的一个漏洞,指出ProgPoW算法的Hash函数使用了一个64位种子,但ASIC可以“轻松”地强制执行,而不是像预期的那样进行挖矿。不会对以太坊当前使用的Ethash算法造成威胁,但使其无法真正实现抗ASIC的目标。

该漏洞在ProgPoW的设计分析文章中有所提及,如果根据ProgPoW算法设计了ASIC矿机,其成品性能及设计结构等与目前的GPU矿机近乎无异,也就从成本角度阻止了通过ProgPoW算法设计ASIC矿机。

Eth2临近后,矿工会面临什么?

严格的说,ProgPOW与Eth2并无直接关系,Eth2是PoS共识链,以太坊矿工只和PoW链有关,也就是Eth1链,在Eth2上线后,Eth1也会存在于以太坊中,其会成为以太坊网络的一条分片链,即打包部分数据。只要打包和出块正常,矿工的奖励是依旧的,这将与以太坊分配给Eth1链的交易打包数据相关。

这直接相关联的是所有矿工的收益。此外,还相关于矿工对PoS共识生态的信任,在如今的Eth1上,以太坊矿工的重要性举足轻重,转型PoS后,因Eth1链只是整个网络的一小部分,矿工在心态上也会受到影响。

ProgPoW事件,除了技术更新外,在事件发生上,更多出现了关于加密货币社区治理的问题,去中心化社区的决策,因为反复难以达成一致,在消磨着。

在为社区发展有利的因素外,更多切身利益者还思考了自身利益、未来信仰等等,一个事件反应出了方方面面的隐藏问题。矿工的选择最终还是和角色相关,不管哪一种矿机得到优化,大规模挖矿的优势还是会超过独立的挖矿个人实体。如果是矿工,要考虑成本与收益,如果是信仰者,则向社区更好的方向靠近,如果是开发者,可能会做出掺杂各种情绪的投票举动,继而牵一发引动整个社区。

声明:此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网站所提供的信息,只供参考之用。

点击阅读全文