以太坊网络的组成部分
在本文中,我们将讨论以太坊网络的概述并讨论其好处,最后以以太坊网络的组件作为总结。让我们一一讨论。
概述 :
- 程序员 Vitalik Buterin 在 2013 年提出了以太坊。该网络于 2015 年上线,在 2014 年众筹后,初始供应量为 7200 万枚。
- 以太坊虚拟机 (EVM) 可以运行去中心化程序并执行脚本。以太坊用于去中心化银行业务、不可替代代币 (NFT) 的生产和分发以及许多 ICO。
- 在比特币之后,以太坊被引用为第二大流行的加密货币。与比特币不同,以太坊被提议不仅仅是一种交换手段或价值储存手段。
- 另一方面,以太坊将自己称为基于区块链技术的去中心化计算机网络。以太坊建立在区块链网络之上。区块链是一种透明的分布式公共分类账,用于验证和记录所有交易。以太坊网络上的每个人都拥有该账本的精确副本,这使他们能够查看所有以前的交易。
- 以太坊网络允许用户构建和运行应用程序、智能合约和其他交易。这些功能在比特币中不可用。
- 它仅用作交换媒介和现金存储。可以生产多少以太币没有界限,而比特币只能提供 2100 万个硬币。
- 借助以太坊,所有人,无论环境或位置如何,都可以访问数字货币和数据友好型资源。它是为以太 (ETH) 和当今可用的数千个其他应用程序提供动力的技术。
- 以太坊虚拟机 (EVM) 由以太坊客户端运行,可以使用任何流行的编程语言构建。
以太坊客户端实现的好处:
拥有如此多的以太坊客户端实现有几个好处,包括以下内容。
- 它增强了网络的错误抵抗力。
- 它可以防止开发资源集中。
- 一般来说,团队竞赛有助于发现常见和困难问题的最佳解决方案。
- 在挖掘、原型设计、DApp 开发和其他领域,每个客户可能都有不同的重点、优势和劣势。 DApp 开发人员和私有以太坊区块链运算符可以挑选最适合他们目的的。
以太坊网络的组成部分:
组件 1:
节点——
以太坊网络中有两种类型的节点。它们如下。
- 挖矿节点——
这些节点负责将以太坊网络中发生的所有交易写入区块中。 - 以太坊虚拟机节点 –
这些是以太坊网络中的节点,其中智能合约(它是支持者和开发者之间的一种合约,其中有一组双方同意相互交互的规则。协议将自动执行当满足预定义的规则时。)被实施。默认情况下,该节点使用 30303 端口号进行相互通信。
组件 2:
以太——
- 以太币是一种在以太坊网络中使用的加密货币,就像在区块链网络中使用比特币一样。它是一种点对点货币,类似于比特币。它跟踪和促进网络中的每笔交易。
- 它是世界上第二大加密货币。第一个是比特币。其他加密货币可用于获取以太币,但反之亦然。
- 这意味着以太代币不能被其他加密货币交换来为以太坊交易提供计算能力。以太坊作为影响以太坊状态的任何执行的佣金支付。
- 它在以太坊算法中用于激励使用工作量证明方法将区块连接到区块链的矿工。
- 它是唯一可以用来支付交易成本的货币,这些交易成本也归矿工所有。区块奖励以及交易费用为矿工提供了保持区块链上升的机会。
- 除了支付交易费用外,以太坊还经常用于购买气体,用于支付以太坊网络上任何交易的计算费用。
组件 3:
气体 -
- Gas 是以太坊网络的内部货币。我们需要汽油来在以太坊网络上运行应用程序,就像我们需要汽油来运行车辆一样。
- 要完成以太坊网络上的每笔交易,消费者必须首先进行支付——发送以太币——而中间货币价值被称为气体。
- Gas 是以太坊网络上用于执行智能合约或交易的计算能力的计量单位。
- 与 Ether 相比,Gas 的价格非常低。执行和资源利用成本在以太坊中以 Gas 单位(称为gwei)的形式预先确定。
组件 4:
以太坊账户 –
以太坊账户有两种类型。它们如下。
- 外部拥有的账户 –
这些帐户用于存储交易。 - 合约账户 –
顾名思义,这些账户存储了智能合约的详细信息。
组件 5:
随机数——
对于外部拥有的账户,nonce 是指通过该账户进行的交易次数。对于合约账户,nonce 是指通过该账户生成的合约数量。
组件 6:
存储根 -
它是 Merkle 树的主根节点。帐户所有详细信息的哈希存储在这里。 Merkle 树的根是所有交易的验证。
组件 7:
埃塔什——
以太坊 1.0 的预期 PoW 算法是 Ethash。它是 Dagger-Hashimoto 的最新版本,但是,由于许多算法的初始特征在前一个月的研究和开发中发生了巨大变化,因此不再称其为合适的名称。原始版本可以在这里找到。
算法 :
该算法遵循如下一般路径如下。
- 每个块都有一个种子,可以通过读取块头直到该点来确定。
- 可以从种子中计算出 16 MB 的伪随机缓存。缓存由轻客户端保存。
- 我们可以从缓存中构造一个 1 GB 的数据集,条件是数据集中的每个项目仅依赖于几个缓存项目。数据集由完整的客户端和矿工存储。数据集随时间线性扩展。
- 获取数据集的随机切片并将它们散列在一起就是挖掘的全部内容。通过利用缓存仅更新您需要的数据集部分,只需存储缓存即可完成验证。