Web开发

首页 » 常识 » 问答 » 以太坊上的Web3基础架构节点和客户端
TUhjnbcbe - 2022/12/27 19:29:00
北京看痤疮好医院 https://m-mip.39.net/disease/mip_9306206.html

今天有数千亿台设备在称为互联网的抽象全球信息网络上“在线”注册。这些设备代表了数千种不同外形的计算机,包括智能手机、平板电脑、笔记本电脑、台式机、销售点等。

为互联网提供动力是一种协议层的安排,以确保设备之间的所有通信顺利进行,应用程序(如Facebook和Instagram)处于最高级别,网络硬件协议(如WiFi和以太网)处于最低级别。

这一低层还包括将互联网基础设施绑定服务提供商与其最终用户连接起来的物理网络——内容交付网络、云计算、互联网服务提供商等。

正如互联网是具有底层物理基础设施的协议层蛋糕一样,区块链也是如此。

在大多数(如果不是全部)的最低级别,区块链是计算机设备,它们单独代表其各自区块链网络的一小部分,并累积代表整体。这些计算机设备运行的软件使它们能够访问区块链网络提供的服务,其中包括通过去中心化利率协议借钱、在去中心化交易所交换代币或在市场上购买NFT。理解节点只是运行区块链客户端软件(想想应用程序或程序)安装的计算机(PC、Mac、电话、云服务器、RaspberryPi等)将从这里开始有所帮助。

本文探讨了在以太坊上运行应用程序所需的基于硬件的系统,尤其是节点和客户端基础设施。

节点和客户端

节点是运行区块链客户端软件并执行为网络服务的任务的计算机。这些任务可能会有所不同,从不断执行区块链的镜像备份到记录最新状态,再到验证交易以进行支付。

根据链,各种客户端软件的多种语言实现执行不同的网络任务。

以太坊由两种类型的客户端软件组成,其中有多种语言实现:执行(eth1)客户端和共识(eth2)客户端。Geth是用Go编写的执行客户端的一个显着示例,但Nethermind(C#)和Akula(Rust)也能正常工作。同样,Prysm是使用Go实现的共识客户端的一个示例,其中包括Lighthouse(Rust)和Teku(Java)等一系列共识客户端。

以太坊节点可以运行一种或两种类型的客户端软件,并由其配置引用。例如,一个节点是否同时运行执行客户端和共识客户端?节点运行的是完整版还是轻量版的执行客户端软件?等等。

根据选择,可以配置3种类型的节点:完整节点、归档节点和轻客户端。

全节点

完整节点的定义是它们运行以太坊执行客户端软件的一个版本,该软件存储分类帐的状态历史并保留最后个块的所有块数据。超过个区块,一个完整节点将存储链的“修剪”再现,该再现仅包含一直追溯到创世的区块头。

当一个全节点运行执行和共识客户端软件时,它被称为“验证节点”。该术语源于节点上运行的共识软件,该软件负责验证区块并通过向链提供PoS共识来替换PoW。要激活共识客户端软件,必须“质押”至少32个ETH,其方式与使用有效用户许可证激活MicrosoftOffice类似。

档案节点

存档节点继承了完整节点的所有功能,除了它们运行以太坊执行客户端软件的一个版本,该软件存储分类帐的完整状态历史并保留所有来自创世的区块数据。因为它们保留了从第0天开始的所有数据,所以存档节点对于区块浏览器和链上分析平台等服务非常方便。当他们需要执行超过最后个块的查询时,或者当轻客户端需要块头之外的信息时,它们还充当完整节点和轻客户端的备份。

运行归档节点所需的存储量以TB为单位,这使得它们在消费类硬件上运行的吸引力降低,并且几乎专门用于企业运营。

轻节点

轻节点或轻客户端以轻同步模式专门运行执行软件。这意味着轻节点不会同步链上所有可追溯到创世记或最后个块的数据,而是只同步最后n个块的头信息。这些标头仅总结了块的内容,节省了存储需求,并可以在RaspberryPi或手机等基本硬件上运行轻客户端。

轻节点所需的任何附加信息都是从全节点获得的,然后可以根据块头中的状态根独立地验证接收到的数据。这类似于如何使用密码散列来验证在登录期间发送的密码的完整性,以针对存储的散列。

概括

所有数字系统都在物理基础设施上运行,区块链也不例外。像Etheruem这样的权益证明区块链依赖于运行专门客户端软件的计算机网络来支持交易和记录状态变化。为了与以太坊交互,用户与代表用户协调和维护对网络的访问的节点进行交互。

关于Neftify

Neftify提供托管基础设施,使人们和企业可以轻松地与web3交互。

1
查看完整版本: 以太坊上的Web3基础架构节点和客户端