走进以太坊网络

目录

术语“以太网节点”是指以某种方式与以太网交互的程序。从简单的移动钱包应用程序到存储整个区块链副本的计算机,任何设备都可以充当以太坊节点。

所有节点都以某种方式充当通信点,但以太网中有许多类型的节点。

与比特币不同,以太坊找不到任何程序作为参考实现。在比特币生态系统中,比特币的核心是主节点软件,而以太坊黄皮书提出了一系列独立(但兼容)的程序。目前最流行的是Geth和奇偶校验。

如果您希望以允许独立验证区块链数据的方式连接到以太坊网络,您应该使用前面提到的软件来运行整个节点。

该软件将从其他节点下载该块,并验证它包含的事务的正确性。该软件还将运行所有调用的智能合约,以确保接收到的信息与其他节点的信息相同。如果一切按计划进行,我们可以假设所有节点设备都存储了区块链的相同副本。

整个节点对于以太坊的运营非常重要。如果没有遍布全球的众多节点,网络将失去反审查和去中心化的特性。

通过运行整个节点,可以直接为网络的健康安全发展做出贡献。但是整个节点通常需要使用独立的机器来完成运维。对于无法(或者只是不愿意)运行整个节点的用户来说,轻节点是更好的选择。

顾名思义,光节点是轻量级设备,可以显著降低资源和空间的占用率。手机或笔记本电脑等便携设备可以作为光节点。但是,降低开销是要付出代价的:光节点无法完全实现自给自足。它们不能与整个区块链同步,所有节点都需要提供相关信息。

光节点受到商家、服务商、用户的青睐。在不需要使用所有节点、运行成本过高的情况下,广泛应用于代收代付。

挖掘节点既可以是全节点客户端,也可以是轻型节点客户端。“挖掘节点”一词的使用方式与比特币生态系统不同,但仍用于识别参与者。

如果要在以太坊参与挖矿,就必须使用一些额外的硬件。最常见的做法是制造矿机。用户通过矿机连接多个GPU(图形处理器)高速计算哈希数据。

矿工可以选择两种开采方案:单独开采或加入矿池。单独采矿是指矿工自己造块。如果成功,你将独自享受采矿奖励。如果加入矿池,那么很多矿工的哈希力就合在一起了。采矿速度提高了,但是采矿奖励会被很多矿工享受。

区块链最重要的特点之一就是“开放存取”。这说明任何人都可以运行以太坊节点,通过验证交易和区块来强化网络。

类似比特币,很多企业都提供即插即用的以太坊节点。如果你只想启动和运行单个节点,这个设备无疑是最好的选择,但缺点是为了方便要额外付费。

如上所述,以太坊中有许多不同类型的节点软件实现,如Geth和奇偶校验。要运行个人节点,您必须掌握所选实现的安装过程。

除非运行一个名为archive node的特殊节点,否则一台消费级笔记本电脑足以支撑以太坊所有节点的正常运行。但最好不要使用日常工作设备,因为节点会严重拖慢运行速度。

运行个人节点时,建议设备始终在线。如果节点脱机,当它再次联网时,可能需要很长时间才能同步。所以最好选择成本低,维护方便的设备。你甚至可以通过Raspberry Pi运行光节点。

随着网络即将过渡到权益证明机制,以太坊挖矿不再是最安全的长期投资方式。过渡成功后,亿泰坊的矿工只能将采矿设备转移到其他网络或者直接出售。

鉴于尚未完成过渡,仍需特殊硬件(如GPU或ASIC)参与以太坊的挖掘。要想获得可观的利润,就要定制矿机,找电价低的矿。此外,还需要创建一个以太坊钱包,配置相应的挖矿软件。所有这些都需要花费大量的时间和金钱。在参加挖矿之前,请认真考虑自己是否能应对各种挑战。(国内严禁开矿,不要拼命。)

ProgPow代表编程工作负载证明。这是以太坊挖掘算法Ethash的扩展,旨在提高GPU的竞争力,使其超越ASIC。

在比特币和以太坊社区,反ASIC多年来一直是一个有争议的话题。在比特币网络中,ASIC成为挖矿主力。

以太坊里,ASIC不是主流,相当一部分矿工还在用GPU。然而,随着越来越多的公司将邰方ASIC矿机引入市场,这种情况将很快改变。但是,ASIC的问题在哪里?

一方面,ASIC明显削弱了网络的去中心化。如果GPU矿商无法盈利,不得不停止挖矿,哈希率最终会集中在少数矿商手中。另外,ASIC芯片的开发成本相当昂贵,有开发能力和资源的公司屈指可数。这种情况可能导致伊泰坊的矿业集中在少数公司手中,形成一定程度的行业垄断。

自2018以来,ProgPow的整合一直存在争议。有人认为有利于以太坊生态系统的健康发展。也有人反对,认为可能会导致硬分叉。随着权利证明机制的到来,ProgPoW能否应用于网络还有待观察。

和比特币一样,以太坊也是一个开源平台。每个人都可以参与协议的开发或基于协议构建应用程序。事实上,以太坊也是区块链领域最大的开发者社区。

Andreas Antonopoulos和Gavin Wood制作的《掌握以太坊》以及Ethereum.org介绍的开发者资源,是新开发者的理想入门选择。

智能合同的概念最早是在20世纪90年代提出的。它在区块链的应用带来了一系列新的挑战。由Gavin Wood在2014提出的Solidity已经成为开发以太坊智能合约的主要编程语言,其语法类似于Java、JavaScript和C++。

本质上,使用Solidity语言,开发人员可以编写分解后可以被以太坊虚拟机(EVM)解析的指令。你可以通过Solidity GitHub了解更多关于它的工作原理。

事实上,Solidity语言并不是以太坊开发者的唯一选择。Vyper也是一种流行的开发语言,它的语法更接近Python。