MASS中文社区elon详解MASS挖矿原理

原创

2020-09-01 12:00:41

5158

1808

0

1623

今年初我们研发团队对 MASS 代码和白皮书做了深入分析并被 MASS 的想法所吸引。我们认为 MASS 在做的是非常有价值的共识引擎。共识是区块链公链老生常谈的事情,但 MASS 是以非常不同的角度去看待共识。笼统而言,共识就是区块以及交易排序的唯一性和确定性。整个基础共识细分下来有四大步骤,第一选组,第二造块,第三验证,第四上链。

选组就是从全体矿工中选出记账节点,过程是 PoW 在解决的。比特币矿工们没有记账,只是提供了算力选择这个记帐权。

选出节点后是造块,不同公链项目根据自己的策略去定义区块的结构。比特币、以太坊等不同的区块链按照各自的定义,把当前时间段内全体节点生成的交易打包到一个区块中并生成新区块,广播给全网矿工。

第三个步骤就是矿工如何验证区块,以太坊做了一个非常大的创新,在验证的过程引入虚拟机的概念,因此能支持智能合约。验证后的区块需要串行到链上来。最后就是上链的过程。

将整个共识过程切分成四个步骤之后,可以清晰看到公链在共识过程当中每一点的特殊性和创新性。有的公链在做选主的创新,像 PoW、PoS,有的在做协议的创新,而验证层面,就是以太坊相对比特币最大的创新,验证过程引入了虚拟机可以支持智能合约

图片1.png

如果出块前的选主是不公平、不安全的,链的协议、验证再厉害先进都是没有底层安全性支持的。需要进行共识的关键点为:出块权的选举,区块的构造规则,主链的选择策略。

整个共识过程可以分为两大部分,一个是基础共识,叫 Layer 0;第二是链上共识,就是 Layer 1 层面的事情。

通过这样的分析方式,我们将基础共识和链上共识进行了解耦,解耦之后可以构造共识引擎。

共识引擎就是,大家都在同一个矿工网络,所有区块链系统都可以来同一个矿工网络构造一个链。以前的情况是:在挖POW矿币的前提下,机器不能提供另一条链的算力支持,因此难以同时挖两种共识的币。同一个矿机同一个节点,可以为不同的链提供底层出块前的选主共识,所以我们觉得POC不单单是用硬盘挖矿,而是构建一个出块前的底层区块链的共识引擎。

最理想达到的效果:以矿工的角度,每一个节点可以独立维护多条区块链系统,即一个矿机独立支持多条链,矿机可以多挖。

从链的角度来看,每条链由同一个巨大的矿工网络在维护。MASS的目标就在创建共识引擎。

PoC 是可行的路,但是什么样的 PoC 才能做共识引擎?

要做共识引擎用 PoC,要解决几个问题:

第一,硬盘的查找必须快速高效,提取效率要足够高;

第二,验证必须非常高效,比如像 PoW,生成区块需要大量算力,而验证是简单的,只需要一两次计算。

研究 MASS 的 PoC 共识算法发现,它的共识算法也是分两个大的步骤:一个叫初始化,一个叫挖矿。

初始化就是需要在本地先生成文件,生成过程先对文件进行唯一化的标记,再生成一个 Hash 的表A,引入一个单向函数,这个函数是比较复杂的 Hash,通过表A生成表B。表A生成要依附于表B,不可能绕过。最后表B就是一个一个存储的容量,当每一个区块链系统出块的时候向节点发送,然后找符合的 Proof,从而完成出块的过程。

以下这张图,一条链查找的过程也可以以多链查找方式进行。只要硬盘可以以较高效率提取 Proof,就可以实现同一个矿工节点支持多链。

图片2.png

 

看了 MASS 的代码分析,我们觉得它具备了做共识引擎的几个特性:

第一,Proof 的提取效率高,整个从容量文件当中读取仅需要O(1)次查询,大大缩小大容量硬盘的扫盘时间,为并行支持多条链提供了可能。

第二,Proof 验证效率高,验证矿工只需要一次验证,这样降低了 DDOS 风险。

第三,每个矿工都会向网络里面发 Proof 的过程,网络规模足够大的时候会不会导致 Proof 过于拥堵?每个矿工会有被 DDOS 的风险?原来的协议确实存在这样的情况,只有进行 MASS 的二次过滤,使网络当中提取 Proof 的时候,先被矿工过滤一次,最后对过滤后的Proof进行验证,这样节点网络就有可能做得非常大,可支持的全节点数量也非常多。

我们后面又对 MASS 主网做了一些测试,网络规模能很好做大。对于一个区块链网络来说,节点越多,表明背后的共识也是越安全的。 

第四,Proof 的提取一定是要抗 ASIC 的,MASS 用了时空置换的思想,发现用ASIC 伪造 Proof 的难度是巨大的,你要伪造1G 的容量就要付出 570PH/s 的难度。 

还有一个 PoC 一直没有解决的问题,包括 PoS 也会存在,就是同时可以挖多条区块链,但是如果同时挖一条链多个分岔链是否也可行?每个分岔链都会挖,共识就被破坏了。MASS 就通过双挖惩罚机制,如果在一条链上对多条分岔链提供 Proof,会被网络检测加入黑名单。通过这样一个双挖检测手段,使 PoC 矿工没有办法多分岔去挖。

MASS 是完全按照 Spacemint 的理论模型做的,只是有一些选型不太一样,但是安全性边界是满足理论框架的。所以 MASS 是 Spacemint 的最佳工程实践。 

我们发现 MASS 共识引擎生态还有一些特点,比如 MASS 共识引擎第一条链MASSNet 没有预挖,找了很多途径想联系官方,最后也是通过邮件才联系到其中一个开发者,是一个纯社区的发展型的项目。

MASSNet 也是相较于第一代 PoC 共识协议更安全的,并且目前来说在公链里面拓展性较好的。

MASSNet 的模型也非常有趣,也是一个通缩型货币。挖矿方式三种:

一种是无抵押挖矿,一种是抵押挖矿,一种是博弈挖矿。

MASS 矿质生态很丰富,经济模型出来之后,MASS 生态有很多节点也在提供多种 PoS 的收益模式。理论和想法都是非常好的,一个好的区块链项目工程落地非常重要。

我们全部是技术人员,所以对工程代码进行了研究,有几点发现: 

MASSNet 已经实现了其在白皮书中的所有功能,各模块都是完备的; 

MASS 现在主网代码是 Go 语言,可以看出来是一个新的项目,不是沿用老的代码,整个代码创新度非常高,用了很多比对软件,和各版本的 BTCD 的重合度只有4.7%,和以太坊只有 0.63%,工程上相对来说代码比较原创的。 

开发文档的支持度也是比较高的,整体来说MASS一期组网实现工程质量算比较高,开发团队技术实力相对来说比较可以。 

工程上代码上有这样的特性之后,很多的网络探测实验在主网上进行,以测试这样的理论在真实环境下是否能得到很好的运行。

我们在 AWS 上还有阿里云上租用了60台服务器,做成一个清洁点,与全球P2P网络发生连接,探索整个节点网络分布情况。

通过一天探测取得平均之后,发现全球矿工总数是389个,全节点钱包数量太多了。

每一批次的探测有四千多节点,但是每个批次用相同ID发出来的,一直在稳定运行的才能判断是矿工。

分布统计IP地理位置,发现在俄罗斯的、美国的、日本、越南、泰国、福建、北京都有矿工节点分布。矿工网络是全球化的。 

除了网络运行我们又爬取所有的链上数据进行分析,看看项目运行链上数据是否OK。目前全网容量达到了220P 左右,就是从 2019 年 9 月 1 日 14 点 24 分,用了不到一年的时间增长了 200 多 P 的容量。

全网的链上交易活跃地址数是 11400 多个,链上交易发生了 160 多万笔。

目前全网锁定交易达到了 1472 万的 MASS,而且是长期的。 

全网的抵押是 284 万个(三天前拿到的数据),但是今天早上看已经有 322 万个抵押矿工把币抵押在上面。

可以看到 MASS 大部分持币用比较分散,而且用户交易和抵押锁定在链上,整体流动性较好。 

普通矿工参与挖矿主要两种方式:

一种是全节点的solo挖矿,硬件配置 CPU 不限型号,内存超过8G就可以挖矿。

另外一种方式加入矿池进行挖矿,这里也分两种模式:

一种是普通 PC 机的参与,现在像社区里面的wepool提供了一键挖矿的产品,在 PC 机上下载这样的软件,直接把自己的容量空间贡献出来参与挖矿;

还有针对专业的挖矿,需要用户把存储机和 P 盘机分离开来,P 盘机需要配置一些 N 卡、GPU 达到 32G 的水平。MASSONE 速率达到每小时 270G。

我们发现 MASS 的项目共识引擎定位是比较有创新性的,不仅仅是做 PoC 的矿币,而且还是做一个基于 PoC 的共识引擎。

很多项目大家都是在用硬盘,Filecoin 最新的过程我们也在跟踪。Filecoin 我们觉得现在已经逐渐演化成一个 PoW 项目,高度依赖计算力。计算设备要求高,那早期无法被消化的硬盘存量市场都可以用来当 MASS 矿工。包括最新发现Filecoin 计算设备也都是 AMD 的 CPU,早期很多矿机的英特尔 CPU 都挖不了Filecoin 的矿,并且英特尔主网上线之后产量和效率都非常低。这些硬件矿机很容易转化到 PoC 市场里。

MASS现在整个项目进展也是相对初期的状态,中心化的钱包、高效率的工具、低门槛的软件都没有进入市场里面。

这是我们团队一直想提供的这样一个生态目标,并把这样生态推动起来。

MASS 这样的项目刚好处在 PoW 转型阶段,PoC 是转型的赛道。最后,MASS项目技术度比较高,很有可能成为新一代的 PoC 领域的基础设施项目。希望和大家一起讨论,推动 MASS 往后的发展,谢谢大家。

   
发稿时主流币价 :
BTC79915.6
ETH2958.02
EOS22.0891

1808

好的文章,需要你的鼓励

声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

评论