主页 > imtoken下载 > 什么是以太坊轻节点? 为什么轻节点是以太坊的关键参与者?

什么是以太坊轻节点? 为什么轻节点是以太坊的关键参与者?

imtoken下载 2023-11-03 05:10:40

什么是以太坊轻节点? 为什么轻节点是以太坊的关键参与者? 许多基于区块链和 P2P 协议的项目对其性能和吞吐量都有担忧。 这些项目在研发阶段做了很多创新,但是很多人没有考虑到这些协议中真正的挑战。 网络技术很容易想象大多数运行网络的人都在延迟和计算能力的可信区间之间,但很容易忘记大多数用户需要与区块链上的节点进行交互,这实际上是一个障碍。 不幸的是,运行全节点非常昂贵且缓慢,因此大多数用户依赖于“轻型”节点,它可以拥有全节点的安全性而无需过多的资源需求。 以太坊的轻节点模型允许设备作为一个轻量级的RaspberryPi加入网络,下载区块头作为展示,只需要根据用户需要验证某些部分的状态。 特别是在以太坊网络中,很容易被这些拥有全节点的客户端渗透,使得RaspberryPi的速度会比Merkle树更快。 数字经济激励不足以运行全节点,因为资源消耗能力造成了平衡分布式网络的瓶颈。 很难准确预测网络中全节点和轻节点之间的平衡。 关于如何平衡这些激励措施并使用户更容易验证运行的全节点以太坊节点一天分红多少,已经有很多讨论。 介绍轻节点:轻节点是以太坊的关键参与者,其背后的主要思想是它能够按需获取部分状态,因为它直接考虑用户。

假设一个诚实的模型,矿工正确地遵守了以太坊的规则,至少系统中的全节点是完全诚实的。 它们的基本功能是下载网络中存在的块头,然后根据客户端使用的某些状态的 Merkle 证明发布它们。 以太坊上的轻节点不使用本地存储,而是使用分布式哈希表来跟踪 Trie 节点。 假设以太坊的状态用一棵大的Merkle树表示,很容易用书中的Merkle根和分支路径的节点作为这部分信息完整性的轻量级证明。 这完全取决于 Merkle Root 提供的信息是否正确。 轻量级客户端的信息包括但不限于查看账户余额、验证转账确认、部署在网络中的一些合约的事件簿等。 通过 Merkle 证明的验证,所有这些都可以降低到次线性复杂度。 当区块链上的数据不再可用时,或者当证明正在验证状态转移因子时,证明就无法被限定。 允许客户端向 P2P 网络中的其他用户提供警报。 目前的轻客户端协议采用工作量证明共识算法,通过全节点运行在主链上。 在工作量证明中,可以使用数学公式来验证区块头是否有效。 该算法计算困难,但易于验证。 轻量级客户端启动后,会寻找区块头最长的链。 攻击者通过生成错误的标头进行欺诈行为的成本几乎是不可能的。 底层算法将使用功耗来证明工作量。 为了保证网络的安全以太坊节点一天分红多少,虽然验证区块头是非常高效的。

轻量级客户端用于工作量证明,因为块头总是经过验证,但我们在权益证明中没有得到相同的保证。 权益证明轻客户端:真的需要工作量证明吗? 在股权证明中,轻客户端的简单问题是区块头没有链接到一定数量的“真实”区块生产者。 也就是说,这个共识协议的明确性在于对成员的惩罚和威慑,而不是通过消耗电力来奖励他们。 在PoS中,如果你想跑错主链,你会受到惩罚,但在Proof of Work中,如果你挖错了主链,就会出现分叉,无法从主链中获得奖励链。 股权证明提供了一种内置于协议中的机制,以便可以明确确定区块头。 一旦这些标头被信任,它们包含的数据将呈现复杂的对数,即从 Merkle 树中获取节点。 尽管如此,块头不包含我们可以用来验证工作量证明解决方案的值,使验证至少是对数的而不是恒定的时间效率。 但是,我们至少可以在轻客户端上更有效地同步。 Vitalik 曾经说过,友好的轻客户端权益证明可以通过检查点系统来完成。 Checkpoint 的定义是一定数量的区块,其中必须有 2/3 的参与者通过加密签名同意,并且这种 Checkpoint 必须包含前一个 Checkpoint 的哈希值。 在这个新的轻客户端的同步中,只能下载Checkpoint,然后客户端会验证参与者的签名。

这降低了必须下载单个块头的成本,就像在工作量证明轻客户端模型中一样。 然而,这种方法无法解决验证区块头的问题,因此权益证明协议可能会包含一小部分工作量证明,以便在轻客户端中创建区块头。 混合工作量证明/权益证明系统会帮助轻客户端吗? 当然,也可以在生成区块头时使用算力,然后在验证时使用权益证明,那么验证这些区块头所需的能量就会非常小。