用户登陆
正在加载
以太坊挖矿节点的工作原理详解
互联网 · 2020-07-07 17:31:42

什么是Ethereum Node(以太坊节点)

“Ethereum node”是用来描述与Ethereum网络交互的程序的术语。以太坊节点可以是任何设备,从简单的移动手机钱包应用程序到存储整个区块链副本的计算机。

Ethereum网络中存在很多类型的节点,而每个节点也都已某种方式充当通讯站。

Ethereum node的工作原理

Ethereum不同与Bitcoin,并不存在单一的程序来作为参考实现。在Bitcoin生态系统中,“比特币核心(Bitcoin Core)”是主要节点软件,而再Ethereum黄皮书中则存在一系列的单独程序(但兼容)。目前使用最多的是Geth和Parity。

Ethereum full nodes(全节点)

如果你想要在Ethereum网络中独立验证区块链数据,那么就需要使用之前提到的软件来运行全节点(Full nodes)。

该软件会通过其他节点下载区块,并验证其中所包含的交易是否正确。软件还将运行所有已调用的智能合约,以确保你收到信息与其他节点相同。如果正常运行,网络中每个节点的设备上都会存有相同的区块链副本。

全节点对于Ethereum的运行至关重要。如果不存在遍布全球的众多节点,则网络将会丢失它的抗审查与去中心化特性。

Ethereum light nodes(轻节点)

全节点的运行允许你直接为网络的健康和安全做贡献。但是,全节点通常需要单独的机器来运行和维护。而对于无法运行全节点(或只是不想)的用户,轻节点则是更好的选择。

顾名思义,轻节点都是轻量级的——它们需要更少的资源且占用更小的空间。所以,可以在手机或手提电脑等轻便式设备上运行。然而这些代消耗也是有代价的——它们并不是完全的自给自足。也就说它们不是整链同步,因此就需要全节点来提供相关信息。

轻节点客户端在零售商、服务商以及用户中相当流行。目前已被广泛用于收付款领域中。

Ethereum挖矿节点

挖矿节点(Minging code)既可以是全节点客户端也可是轻客户端。Ethereum网络中“挖矿节点”这个术语的使用并不像在Bitcoin中那样的深入且广泛,但也还是用来识别那些参与者。

想要对Ethereum进行挖矿,就需要具备一些特殊的硬件。其中最常见的是构建矿机。用户通过矿机将多个(GPUs)链接起来进行高速哈希运算。

通常矿工有两种挖矿选择:一种是单独挖矿。单独挖矿意味着矿工独自工作来创建区块。如果成功,就会独享挖矿奖励。另一种则是加入矿池。当矿工加入矿池后,他们就将自己的算力与其他人合并起来。这样就可以更快地生成区块,但同时也需要与矿池中的其他成员分享奖励。

Ethereum节点的运行条件

区块链一个最重要的特性就是开放性。这就意味着任何人都可以运行Ethereum节点,并完成交易和区块的验证工作。

与Bitcoin一样,也有很多企业提供了即插即用的Ethereum节点。此种设备对于那些只想启动并运行单一节点的人们来说非常便利,单弊端是需要为此便利支付额外费用。

之前提到过,Ethereum中存在很多类型的节点客户端,诸如Geth和Parity。如果你想要运行自己的节点,就需要掌握这些应用程序的安装方法。

除非你要运行名为“归档节点”的特殊节点,否则消费级的便携式计算机就足够应付Ethereum的全节点运行了。但最好不要日常工作设备,因为节点运行会降低电脑速度。

运行节点时最好保证设备长期在线。倘若节点离线,那么再次联机时就可能花费大量时间来进行同步。因此,最好是选择低成本且易于维护的设备。例如,在Raspberry Pi运行轻节点。

Ethereum挖矿条件

不久之后Ethereum网络就将过渡到PoS机制,所以Ethereum挖矿不再是最安全的长期投资方式。也就说明,转变完成之后,Ethereum的矿工们将面临转移到其他网络或卖掉设备的事实。

但目前此种转变尚未完成,所以如果想参与到Ethereum挖矿中,则需要持有特殊的硬件,例如GPUs或ASICs等。想要收益可观,那么定制矿机和廉价电力环境则是必备的。此外,你还需创建一个Ethereum钱包,并配置挖矿软件来使用。这一切都需要大量时间和资金,所以在进入该市场前,轻仔细考虑是否做好迎接各种挑战的准备。

Ethereum ProgPoW解读

ProgPow代表Programmatic Proof of Work,是Ethereum挖矿算法Ethash的扩展。它使得GPU相比于ASICs更具竞争力。

多年来,在Bitcoin和Ethereum社区中,抗ASIC一直是个饱受争议的话题。目前的Bitcoin网络中,ASIC已经成为一种主要的挖矿力量。

在Ethereum网络中,虽说存在ASICs,但并不是主流,大部分矿工仍在使用GPUs。然而,随着越来越多公司将Ethereum ASIC矿机引入到市场,此种状况很快会有所改变。然而ASICs到底存在什么问题呢?

一方面,ASICs会明显降低网络的去中心化。如果GPU矿机无法盈利,那就必须关闭它的挖矿操作,而此时算力只集中在少数矿商手中。此外,ASIC芯片的开发是相当昂贵的,只有少数的公司会具备此能力和资源。而此种现状可能会导致Ethereum的矿业集中在少数公司手中,形成一定程度的行业垄断。

自2018年以来,ProgPow的集成问题一直都是饱受争议。有些人认为它对于Ethereum生态系统是有益的,而也有一些人则表示它可能会导致硬分叉。随着PoS机制的到来,ProgPoW是否可在网络上实施将逐渐显现。

Ethereum的软件开发者

Ethereum网络与Bitcoin是一样的,都是开源 的。任何人都可以参与开发协议,或构建应用程序。而且,Ethereum开发者社区也是区块链领域中最大研发团体。

Andreas Antonopoulos,Gavin Wood的Mastering Ethereum,以及Ethereum.org的Developer Resource等资源都是新进开发者们很好的选择。

Solidity简介

智能合约的概念是在20世纪90年代被首次提出,而目前在区块链领域中的应用却带来了一系列全新的挑战。2014年由Gavin Wood提出的Solidity已经成为Ethereum上智能合约开发的主要编程语言。语法与Java、JavaScript以及C++类似。

本质上来说,就是开发者可通过Solidity语言,来编写可分解为以太坊虚拟机(EVM)能够理解的指令代码。你可以通过Solidity GitHub来了解该语言的工作原理。

对于Ethereum开发者来说Solidity并不是唯一选择。还有一种比较流行的语言——Vyper(语法上与Python相似)。

免责声明:
本网站所提供的所有信息仅供参考,不构成任何投资建议。用户在使用本网站的信息时应自行判断和承担风险。币界网不对用户因使用本网站信息而导致的任何损失负责。用户在进行任何投资活动前应自行进行调查和研究,并谨慎决策。币界网不对用户基于本网站信息做出的任何投资决策负责。用户在本网站发布的任何内容均由其个人负责,与币界网无关。
免责声明:本网站、超链接、相关应用程序、论坛、博客等媒体账户以及其他平台和用户发布的所有内容均来源于第三方平台及平台用户。币界网对于网站及其内容不作任何类型的保证,网站所有区块链相关数据以及其他内容资料仅供用户学习及研究之用,不构成任何投资、法律等其他领域的建议和依据。币界网用户以及其他第三方平台在本网站发布的任何内容均由其个人负责,与币界网无关。币界网不对任何因使用本网站信息而导致的任何损失负责。您需谨慎使用相关数据及内容,并自行承担所带来的一切风险。强烈建议您独自对内容进行研究、审查、分析和验证。
s_logo
App内打开