Eric全面解析九大问题 搞清Qitmeer公链挖矿

8月3日晚,围绕Qitmeer公链挖矿相关话题的新一期线上AMA如期举行。Qitmeer挖矿及矿池小组负责人,具有16年软件开发经验、4年区块链开发经验的技术大咖Eric做了全面详细的分析和解答。

  • 问1:Qitmeer为什么选择POW而不是POS,DPOS这种?

    Eric: 虽然目前有各种各样的共识,比如POS、DPOS、PBFT等,但我们依然认为POW是最为去中心化的,可以提供高度安全的共识机制。

    本质上区块链共识大致分为三类:第一种是开放的网络,共识参与者可以任意进出网络,这种就是P0W,最为灵活和去中心化;第二种是类似把记账的东西开放出去,它有一定的条件,比如持有Stake,或者简单的说是股份或Token持有者的共识,这种就是POS;还有一类是封闭的记账方式,记账者可能是大量Stake的持有者或利益相关者,他们形成的一种共识,就是我们所说的DPOS,或者各种各样的PBFT,或XBFT,如果我们把任意进出网络的参与者加个限制条件,比如说必须持有一定的Stake,其实就是个POS了,如果再加些限制条件,形成只有一定封闭参与者才能进行共识,那就是DPOS了。

    所以我们可以看到从pow,到pos,再到dpos是逐渐牺牲去中心化的过程。从Qitmeer的定位和价值方向,我们最终选择了Pow这样一种共识算法。

  • 问2:可否介绍下目前主流的抗ASIC算法

    Eric:目前主流的抗ASIC算法大致分为以下四类。

    一种是内存密集型的算法。在运行算法的时候,需要有较大的内存及内存带宽,这类算法的代表有Zcash的EquiHash,还有以太坊的Ethash。因为需要较大的内存及内存带宽,所以对一开始的时候对GPU是比较友好的,因为GPU本身就拥有较大的内存以及内存带宽。

    另外一种就是利用一些随机性的抗ASIC算法。比如像乌鸦币,是X16R的算法,后续也经过改进成为X16S算法,说到底是利用算法的随机性,就是根据上一个区块的HASH最后几位来确定本次POW的多个算法的执行顺序。因为它是随机的,所以对于需要把算法固定写入到芯片中的ASIC矿机,具有抗性。

    第三种就是那种基于混合算法的。严格意义上讲,它不是完全的抗ASIC算法,这个里面的代表就是grin。grin项目有两种的算法,一个叫Cuckaroo,这个是抗ASIC的,另外一个叫Cuckatoo,这个是对ASIC友好的。它会在代码里面设定一个算法机制,根据网络情况动态调整Cuckaroo和Cuckatoo两种算法的出块率。

    第四种就是一些强制的硬分叉。比较有代表性的像门罗币,门罗币的团队如果发现有生产商根据它之前的算法制造出来矿机,他们会直接通过硬分叉的方式去修改算法,达到抗ASIC目的。

    ASIC有其优缺点,优点是相对CPU或GPU,在安全性、稳定性和高效性上具有优势;缺点在于投入成本比较高、研发周期比较长,CPU或GPU相对ASIC会更加灵活,成本也相对较低,挖矿的门槛也就较低。

    但是CPU挖矿也有一个问题,就是在初期全网算力不高的情况下,它的安全性相对于专门的ASIC矿机要差一些。原因在于如果有专门为你这条公链设计的ASIC矿机,在一开始的适合,作为你的矿机生产商,还有这些矿机的拥有者,跟你的公链是利益绑定关系,原则上大家共同为了公链的持续发展,是会一起协力保证安全的。而CPU或GPU,因为是一种通用的硬件设备,就会出现在一开始算力不高的情况下,如果有较大的CPU或GPU算力组织,可以快速切换其算力对你的公链形成一种攻击。当然这些只是理论上的说法,现实中还是在有利可图的前提下才会出现这种情况。一般像GPU或者CPU的这种公链,大多数情况下项目方会拥有一些算力去做一些初期的保障。

  • 问3:为什么我们会选择布谷鸟环作为抗ASIC算法?

    Eric:我们是做过一些比较之后选择布谷鸟环作为抗ASIC算法,布谷鸟环算法的设计目的和我们项目理念比较相符。布谷鸟环算法有两大设计目标:

    第一个是公平挖矿。希望它的算法能够在移动设备上,比如手机,还有一些家用设备像电视盒子这种,能有一个相差不大的挖矿效率。

    第二个是节能环保。这个算法不是基于大量运算,更多是基于对内存空间的使用,所以在设计的时候,就希望在运行算法过程中耗电更少。

    Qitmeer也是希望能有这样的公平,希望它是一个节能环保的项目。另外,有向无环图是我们项目的一大特点,布谷鸟环也是基于图的一种算法。

    所以从这几方面的考虑,我们最终还是选择了一个布谷鸟环作为抗ASIC算法

  • 问4:对于Qitmeer什么样的矿机可以挖矿?

    Eric: 我们是基于显卡挖矿,只要在电脑里面安装一个配置中等的显卡,就可以进行挖矿了。

    目前看下来就是显卡显存大于5GB,挖矿基本上没有什么问题。显卡一般是N卡和A卡,从我们目前的测试效果来看, N卡的效率会比A卡要高一些。我们当时的测试条件是在24个edge bits有一些计算测算。

    因为布谷鸟环是图的计算,所以它的挖矿效率是通过GPS,也就是每秒图形数来计算的,我们测出来的一个结果,比如像N卡的1060,他的GPS大概是4.4,1070是4.9,1070pi是5.3;A卡的像AMD的580大概是2.7,590大概是3。因此单纯从挖矿效率来讲,A卡的效率会更高。

    但是矿工最终选择是A卡还是N卡,是根据实际的硬件投入成本和功耗来算的,因为电费是一个长期投入的成本,需要综合考虑。

  • 问5:目前我们挖矿这块的进度以及未来有什么规划?

    Eric: 目前的情况是这样,布谷鸟环的POW已经提升到我们的Qitmeer公链上去了,基于GPU的布谷鸟环的挖矿程序,也已在7月31号开源了,现在我们在做内部的挖矿测试。

    未来的规划主要是两点,一点就是我们会持续优化我们的GPU挖矿程序的执行效率 ; 另外一点是我们也在考虑和研究混合挖矿的方式,布谷鸟环是我们的一个POW的算法,可能会再加上一个或者多个对ASIC相对友好的算法来进行一种混合模式的挖矿。

    为什么要这样做?我们是希望更多的人参与进来,通过对代码层算法的一些控制,调整每种算法的出块比例。最终我们想得到的效果:无论你是GPU,还是ASIC矿机的参与者,你的投入和收获尽可能的达到公平。

  • 问6:解释一下挖矿公平机制的理念及设定方案的实施?

    Eric:其实挖矿公平主要体现在两方面。

    第一是挖矿的设备公平。 不管你是硬件设备的生产商,还是大机构、大矿场,或者是个人,你在设备采购上面,应该要有一个相对公平的基础,在挖矿设备的购买上面,也要有一个相对比较低的门槛,很多人都可以比较容易的获得挖矿设备。

    第二是挖矿产出公平。 主要体现在投入和产出要公平,也就是说不论是GPU还是ASIC矿机,你投入的硬件成本、电费应该和你的挖矿收益是一个正相关的关系。

  • 问7:测试网络挖矿产出的是什么?Pmeer能都兑现?Pmeer和Meer和HLC的关系是什么?

    A7:测试网挖出来的肯定是Pmeer,Pmeer如何对应它的价值?其实大家可能关心的就是我测试网挖出来的币到底怎样对应法币?怎样才能够变现?还有Meer和HLC的关系?

    这个问题其实是公链经济模型设计的一部分,我们技术开发团队不太好回答这个问题,可能要等到公链经济模型出来之后才知道。他们的关系是什么,如何兑换,兑换比例是多少,这个更应该是权衡各方利益的一个结果。

  • 问8:抗ASIC算法,是否得专门针对HLC做的ASIC矿机才行?

    Eric:这个问题我理解的不是太清楚,是不是想问目前Qitmeer公链是支持显卡挖矿,如果以后ASIC矿机也能挖,是不是要生产一种目前市面上没有的ASIC矿机才能挖?

    答案是的。 因为我们的公链区块结构和算法,是独一无二的。 可能在算法逻辑上面,比方说我们的布谷鸟环算法跟grin是有相似的,但实际上一些细节是不同的,并且我们的区块结构跟grin也不同,跟比特币或其他的公链也都不同。所以市面上的这些矿机,哪怕你可以挖grin,哪怕是可以挖其他布谷鸟环算法矿机,如果有这样的ASIC矿机,其实也不能够切换过来挖,他需要将算法在硬件上进行转换,需要重新去做。

  • 问9:Qitmeer挖矿为何不选择CPU挖矿?

    Eric: 不同于ASIC矿机专用集成电路的方式,中央处理单元CPU是一种多用途计算机硬件设备。如果设计开发一种只针对几个CPU友好,而抗ASIC的算法,还是比较复杂的。

    目前还没有看到过哪条公链有这种经过长期实践检验的算法,能够应用的比较少。 当然对CPU友好的算法也是有的,比如门罗币正在研发的RandomX算法,如果像RandomX算法白皮书说的那样“每个人的口袋里都装着一台智能手机,有CPU的硬件设备,有CPU有内存,其CPU和内存可以进行RandomX算法挖矿。”

    但大家想想,如果实现了像RandomX这样对CPU友好的挖矿算法后,笔记本、手机、Ipad等都可以挖矿,会不会被黑客控制,产生大量僵尸网络挖矿的情况?这些问题都值得研究,我们也会持续关注RandomX这个项目。

1赞

我要挖矿