以太坊到底是什么意思,以太坊是什么通俗解释

首页 > 经验 > 作者:YD1662022-10-29 01:38:54

(译者补充:上图中StateRoot、TransactionsRoot和ReceiptsRoot分别取自上面三个MPT的计算结果:State Trie、Transaction Trie和Recipts Trie的根节点的哈希值)。

对于以太坊中中的“轻客户端”和“轻节点”而言,Merkle trie能够有效的存储所有信息。记住,区块链是由成千上万个节点所维护的,这些节点可以大致分成两类:全节点和轻节点。

全节点会下载创世区块到当前区块的完整链来同步真个区块链,并执行其中包含的所有交易。通常,矿工存储完整的存档节点,因为他们在挖矿过程需要。 当然也可以在不执行每笔交易的情况下下载完整节点。无论如何,任何全节点都包含整个区块链。

但是某些节点其实既不需要执行每一笔交易,也不需要查询历史记录,这样的节点是没有必要保存整个区块链数据的。这样的的节点就是上文提到的轻节点。轻节点不用下载和存储整个链并执行所有交易,它只下载从创世块到当前区块的区块头数据(Block Header),不执行任何交易或检索任何关联状态。但轻节点因为保存了区块头数据,区块头数据又存储了上文提到的三个Merkle trie结构的哈希值。所以轻节点依然能够生成和接受交易、事件和余额等的验证答案。

因为 Merkle 树中的哈希值是向上传播 的,如果恶意用户试图将虚假交易交换到 Merkle 树的底部,这种变化将导致上面节点的哈希值发生变化,从而改变更上面节点的哈希值。依此类推,直到它最终改变树的根。

以太坊到底是什么意思,以太坊是什么通俗解释(13)

节点可以使用Merkle证明去验证一条数据。Merkle证明组成如下:

  1. 待验证的数据块及其哈希
  2. 树的根哈希
  3. 分支(区块到根一条上升路径上所有的哈希)

以太坊到底是什么意思,以太坊是什么通俗解释(14)

任何使用该证明的人,都可以验证该分支的哈希和树的关系是具有一致性的,因此给定的块实际上是在树中的那个位置。

总之,使用 Merkle Patricia 树的好处是该结构的根节点,在密码学上依赖于存储在树中的数据,因此根节点的哈希可以用作该数据的安全身份。 由于区块头包含状态、交易和收据树的根哈希,因此任何节点都可以验证以太坊的一小部分状态,而无需存储整个状态,因为整个状态这可能是无限大的。

Gas和费用(fee)

以太坊中一个非常重要的概念是费用的概念。由于以太坊网络上的交易而发生的每次计算都会产生费用 ( 天底下没有免费的午餐!), 这笔费用以称为“gas”的面额支付。

Gas 是用于衡量计算所需费用的单位,Gas Price是你愿意在每单位gas上花费的以太币,单位是“gwei”。“wei”是以太币的最小单位,1以太币等于1 x 1018wei。1gwei是1 x 109wei。

对于每笔交易,发件人通常会设置gas limit和gas price。gas price和gas limit相乘,代表发送方愿意为执行这笔交易支付的最大wei的金额。

举个例子,交易发送方将gas limit设置为50,000,gas price设置为20gwei,那着意味着这个发送方愿意最多为这笔交易费用花费:

50,000 x20gwei = 1,000,000,000,000,000wei = 0.001以太币

以太坊到底是什么意思,以太坊是什么通俗解释(15)

gas limit代表的是交易发送方愿意为这笔交易花费的最大值,如果账户中有足够的以太币,那么这笔交易就会被成功执行。如果有没有使用的gas,会以原始的以太币价格退还给发送方。

以太坊到底是什么意思,以太坊是什么通俗解释(16)

上一页12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.