云服务器挖矿践行 第一篇

云服务器挖矿践行 第一篇,第1张

三天以前看到壮乡金荣仔的文章,从中了解到可以利用阿里云服务器进行挖矿,收益可观,于是立即和作者进行了联系,咨询拜师的事情。

通过和孙师傅交流发现,因为写作让我们有了很多共同交流的基础,并且我居然已经关注了孙师傅有好几个月的时间了,这让我们很快建立了信任。

孙师傅在文章中提到正式收徒弟还要等一段时间,我觉得这段时间也不能浪费,还应该为将来拜师以后做一点准备工作。于是我立即开始对云服务挖矿这件事情进行了认真的思考并实践。

云服务挖矿的可行性,大概有这么几个方面。

一,云服务器挖矿的成本收益分析。

成本构成:挖矿的成本主要有三项,矿机的支出,电费,场地及相关管理费用;

收益构成:挖矿的收益主要来自两个方面,一是按照当前数字货币的法币价格可以不管成本而获得的收益,二是数字货币在未来增值获得的收益。

分析:云服务器的运算能力远远低于实体矿机,但是不用支付电费,这是最大的成本节省,另外,由于不需要场地,自己远程管理,场地和管理费用也趋近于零。

因此在算力有限的情况下,云服务器挖矿最大限度地消除了电费和场地的费用,这是这项技术的优势所在。而盈利的平衡点,将极大的取决于服务器费用的支出和当前币价的相对关系。

二,云服务器和挖矿币种的分析。

云服务器的种类有很多,主要分两种,CPU型和GPU型。

目前市场上的各种虚拟币算法也分两类,GPU友好型和CPU有好型。比特币以太坊,莱特币等绝大多数币种都属于GPU友好型,CPU友好型比较少,我了解到的只有大零币zec,小零币xzc,门罗币xmr。

所以这样一来,在服务器和币种的选择问题上,方向很清晰:CPU和GPU任何一个方向,选择算力性价比最高的云服务器和挖矿收益最高的币种。

三,实践。

李笑来的文章中提到过,任何挖矿的行为都不如直接到市场上去买来得容易。我也因此在之前的虚拟货币的学习中,很少关注挖矿的知识。同时对于服务器方面的知识也了解很少,所以一开始我只能用网络上能够搜索得到的办法进行实践, 以快速入门,开始积累。

网上能够直接搜索到的就是利用CPU服务器挖掘门罗币。文章链接如下。

于是我花了3915元购买了三个月的阿里云轻量型服务器,配置如下。阿里云目前在搞活动,首单可以打七折。

开始进行实践。

经过了两天的折腾,终于在运行服务器上挖矿成功,但是算力只有140h/s,在这个算力下,要亏本一半。

具体折腾的过程中,遇到坑无数,也麻烦了我搞计算机的朋友很多,这个过程留待下一篇再写吧。

四,关于风险的思考。

目前来看,用云服务器挖矿服务器的价格是预付的,并且是固定的,所以挖矿是否有收益,取决于目前的虚拟货币的价格。从孙师傅的截图来看,目前收益还是很可观的。

近期的风险来自于币价的下跌,远期的风险来看,就是阿里云服务器会禁止挖矿行为。阿里云对于挖矿的行为,在网上有过很多的声明。在搜索服务器挖矿相关知识的时候,也发现有国外的服务器禁止挖矿。

长期来看,如果目前云服务器挖矿不赔本那么未来大概率是会有很大的收益的。
就在写这一篇的过程中,孙师傅的收徒标也发出来了,很快就要收徒弟啦。我也正好把这一篇当做我第一这周的作业。

对于1559引入gas费燃烧模式,固然会迎合某些人追逐所谓通缩的口味,但是其背后的动机,却不得不说,是Vitalik和以太坊基金会进一步推进PoS以至ETH 20的战略思维。

现在以太坊引入燃烧机制,对冲了区块奖励的发行,因此我们会觉得这个机制让以太坊变得更硬了。但是,以太坊燃烧销毁的是存量S。存量S的持续消耗会减少硬度(类似于电子工业消耗黄金储量),让增量的冲击变大,不利于币值的稳定。

介绍

众所周知,以太坊是没有固定可预期的货币政策的,这是一种最糟糕的货币政策(从博弈论的角度讲)。在1559实施后,增量F假设为固定的区块奖励,除非Vitalik和基金会决定变更它。

那么,恒定增量的情况下持续消耗存量,将使得以太坊的抗冲击能力下降,币值更不稳定,波动性更大,从而更加不适合于作为价值存储。

以太坊是一个平台,它上面提供各种模块让用户来搭建应用,如果将搭建应用比作造房子,那么以太坊就提供了墙面、屋顶、地板等模块,用户只需像搭积木一样把房子搭起来,因此在以太坊上建立应用的成本和速度都大大改善。具体来说,以太坊通过一套图灵完备的脚本语言(EthereumVirtual Machinecode,简称EVM语言)来建立应用,它类似于汇编语言,我们知道,直接用汇编语言编程是非常痛苦的,但以太坊里的编程并不需要直接使用EVM语言,而是类似C语言、Python、Lisp等高级语言,再通过编译器转成EVM语言很高兴能为你提供帮助

云节点”就是在云端租用的云服务器搭建配置的BZZ,如阿里云、腾讯云等的服务器直接去租用部署BZZ云节点进行测试网的抢票,无需额外的电费、托管费,但需要每个月给服务器续费,相当于租赁关系,只有租用期间的使用权,到期结束。
但它的缺点是,大部分云节点只能在测试阶段使用,主网上线后就会失效。
物理节点:当前现状的物理节点是指买了“整机服务器”搭建的Swarm矿机,这个是包括了CPU、内存、硬盘等一系列电脑整机相关的配件组成的服务器搭建的Swarm节点,这些硬件的物权归用户所有。
“物理节点”最大的好处是在测试网抢票结束时,主网上线后能继续升级成为存储服务器,投资者能参与早期头矿布局,获取存储奖励。

写在文前:视频版本和文字版本略有不同,想要看我深情并茂演绎,请看视频版本 (喵懂区块链22期|分片(Sharding):以太坊太慢,“盘”他!),思维逻辑怪,请看文案加长版。

最近以太坊由于君士坦丁堡升级(Constantinople)而出现了压倒性的积极走势,而以太坊的升级之路则犹如升级打怪一般,落入了rabbit hole,谁也不知道这洞有多深。既然是“路漫漫其修远兮”,则把脚下的每一步走好走准,则成了至关重要的点。攻破这一难点之后,以太坊的下一技术难点---Sharding分片,则又被摆到了台面上。本期《喵懂区块链》会带大家走进让以太坊快起来的法宝--- Sharding分片。

什么是sharding分片?

分片技术其实并不是什么新概念,起初是针对大型中心数据库提出的优化方案,具体来说就是将大型数据库中的数据划按照某种规则分成很多数据分片(shard),再将这些数据分片分别存放在不同的服务器中,以减小每个服务器的数据访问压力,从而提高整个数据库系统的性能。

我们举一个通俗的小例子:

比如我们平时经常使用的美团,滴滴打车等软件,就可以按照“城市”来进行分片,由于不同城市的数据不需要互通,就可以将不同城市的数据存放在不同数据库中,这样既可以把数据库服务器部署到离对应城市最近的节点上,还可以提高访问速度,何乐而不为呢?!

从上面的例子中,我大家应该对分片的概念有了初步了解,那么对应到区块链场景中来说,分片又是怎么样的呢?

以以太坊分片为例,在原有的单链系统中,公链整体的性能取决于单个节点的性能,进行分片之后,每个节点只需要承当全网部分工作,各个分片并行工作,按照Vitalik的话来说,each shard is like a separate galaxy每个分片都像是独立的小宇宙,这样效率自然噌噌噌提升!原本以太坊链全网TPS约为20,现在若增加到100个分片,那么全网TPS可以提升至2000,同理,全网容量也将提升至原来的100倍。

“每个节点只需要承担全网部分工作”,这就会引出几大问题,1怎么确定这个节点是负责哪个分片的工作?2哪些交易应该归类到哪些分片当中去?3每个节点是否只需要储存自己所在分片的交易信息(账本)?

根据以上问题的实现与否,我们可以将分片依次分为三种类型:网络分片,交易分片,状态分片。

网络分片:如何将全网节点划分到不同分片当中去。

交易分片:如何将全网交易划分到不同分片当中去。

状态分片:如何让各个节点只维护各自分片内的账本,但又不影响整个系统的安全性。

主链和分片链的区别和联系?

分片的类型我们已经明白了,那么主链(Main chain)和分片链(shard chain)有什么不同呢?

在主链中,我们知道记账的人叫做矿工,账本是存在区块当中,对应到分片链当中,则是Collator校对人和Collation校对块。

类似于区块的构成,Collation校对块也包含Collation header校对头和tansaction list具体的交易信息。

对比下来,主链和分片链本身来说,还是大同小异,但是一但要把他们联系起来,问题就变得复杂了,这里我们举个通俗的小例子类比一下:

假设,

以太坊主链=温州银行

每个分片=温州银行分行

比如:

shard1(分片1)=温州银行(杭州分行)

Shard2(分片2)=温州银行(宁波分行)

……

在这个系统中,我们就会清晰看到几大问题:1各大分行的账本如何汇总到总行里去?2各大分行的账本如何互联?

对应到主链和分片链系统当中来,则变成了1分片链和主链如何实现跨链链接?2分片之间怎么互联?甚至分叉的场景要怎么办

分片链和主链如何实现跨链链接?

为了将分片链加入到主链中,在主链上需要有一个叫做验证人管理员合约(Validator Manager Contract)VMC的特殊合约。VMC具体是这样的:

所有的验证人把它们的保证金(stake)存入 VMC当中,这些验证人就会被收录在VMC的common validator pool验证人备选池中。系统将会“隔一段时间”根据stake权益的多少随机为每个分片抽取一名验证人,将各个分片的collation header校对头信息同步到主链中去。

这里的“隔一段时间”,我们需要额外解释一下:“时间”,也叫period周期,这到底是怎么确定的呢?答案是主要看开发人员在最终代码中的实现为准,比如说我们把周期定为5个区块,那么就意味着主链出5个区块,所有分片链分别出一个collation校对块,这就间接决定了分片链的出块时间。

这种随机的形式,使得验证者无法提前预测他们何时会成为验证者,也无法预测会成为哪个分片的验证人,从而预防作恶的可能性。

如果一旦发现我们的分片验证人作恶了,他的stake权益就会被剥夺。

跨分片通信(cross-shard communication)怎么办?

比如说一个转账方小A在分片M中,收款方小B在分片N中,小A可以通过主链这个桥梁,完成扣款 *** 作,并创建一个带有ID的 receipt收据,代表着“自己已经完成了扣款 *** 作”,收款方小B可以根据这个 receipt ID 创建一个receipt-consuming收据消费交易,“消费”成功了之后,收款也就成功了。

分片链分叉了怎么办?(fork choice rule)

在以往的分叉情况中,都是“以最长链为主链”,在分片当中,分叉规则是“以最长主链里面的最长分片链为有效分片链(the longest valid shard chain within the longest valid main chain)”。

什么意思呢?我们举个例子:

一条主链出现了分叉,一条分叉连续跟了两个区块,同时也跟了两个Collation校对块,另一条则是一个区块和一个校对块,那么很明显,第一条是有效链。

接下来,第二条链又加了一个区块,变成两个区块和一个Collation校对块,依然很明显,第一条链仍然是有效链:

接下来,第一条链上又加了一个区块,虽然这条链上只有一个Collation校对块,但是它的主链长度已经超过了第一条,那么第二条则成为了现在的有效链,这就是分片场景下的分叉规则,首先比较主链长度,再比较分片链长度!

以太坊分片的实现是一个漫长的过程,就连Vitalik自己也说将会分阶段来逐步实现,分片到底能不能从理论走向实践,我们还是小小期待一下吧。

参考资料:

>

>

>

>

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/12835054.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存