Cointime

扫码下载App
iOS & Android

加密“盔甲”?区块链轻节点及其优点

个人专家

本文作者:DinoEggs  编译:Cointime Candice

区块链节点的概述

在我们讨论轻节点之前,让我们把它们与更广泛的区块链节点概述放在一起。通常情况下,区块链节点被认为是:

  • 验证者节点
  • 全节点
  • 轻节点(又称轻客户端)

从技术上讲,还有其他类型(如档案节点),但这是主要的三种。

我将借用Chainlinkod关于区块链信任模型和网络参与者的精彩文章中的定义。在文章中,他提到“区块生产者”包括工作证明(PoW)矿工和权益证明(PoS)验证者,但我们将重点关注PoS领域,也就是验证者。

来自Chainlinkgod的文章

验证者节点

验证者节点是“负责将交易排序和打包为去中心化数据结构(称为区块),然后将其提交给网络进行验证的实体。如果在相同的块高度生成了两个有效区块,则[验证者]负责确定哪个版本的链是规范的。”

PBS呢?PBS是一个计划中的以太坊升级,将验证者分为两个独立的角色——一个角色(构建者)将对交易进行排序并打包成区块,另一角色(提议者)将提出区块并对区块进行投票。它可能需要几年才能实现,所以为了简单起见,我将在本文中省略它。

全节点

全节点“下载并自我验证由[验证者]提出的每个块。如果发现该区块是有效的(即遵循了协议规则),则将该区块添加到全节点的个人账本副本中,并应用于状态变化。任何不符合协议规则的无效区块都将被忽略,从而被丢弃,不会发生任何状态变化。”

轻节点

轻节点是“全节点的一种有限形式,只下载区块的标题(即小的唯一加密指纹)。轻客户端[又称轻节点]可以验证交易是否包含在区块内,但由于他们不下载或执行区块内的所有交易,他们隐约地相信大多数区块生产者是诚实的。”

轻节点只需下载标题

我觉得这些定义非常好,但让我们进一步向ELI5迈进。

基本上,验证者在轮到他们时创建并提出区块(有序交易列表),而在没有轮到他们时对区块进行投票。因为不遵循规则的区块会被忽略,他们只对遵循协议规则的区块进行投票。验证者知道要忽略哪些区块,因为它们也是全节点,并亲自验证交易。

验证者需要是全节点,但全节点不需要是验证者。如果你的计算机满足最低要求,则可以获得全节点的好处。你不需要质押32 个ETH。

为什么将全节点与验证者分开考虑很重要?

为此,我将向你介绍OG以太坊研究员Dankrad的“What everyone gets wrong about 51% attacks”这篇文章。他解释了全节点如何保持验证程序的检查,“有点像自由民主国家的权力分立”。

那么轻节点从何而来?

现在很明显,大多数用户不会运行全节点。这并不奇怪,因为其中包含着有意义的摩擦:

  • 买一台新的计算机
  • 将计算机作为一个全节点使用
  • 配置软件
  • 维护软件
  • 经常购买新硬件

如果说我们从社交/移动/云浪潮中学到了什么,那就是终端用户不喜欢摩擦。

因此,轻型节点的目标是既要有蛋糕,又要吃它。在不使用户实际运行全节点的情况下为他们提供安全保障。

轻节点可以做什么?

轻节点使用加密技术来降低验证区块链信息的成本。其愿景是让轻节点提供全节点安全性,使其嵌入到手机中,并作为用户的默认设置在后台运行(没有摩擦!)。

虽然愿景令人兴奋,但我们还没有完全实现。让我们了解不同类型的轻光节点及其当前状态。

业界尚未就轻节点命名法达成明确共识,因此我们将根据CT论述制定一些术语。

轻节点可以根据其验证的信息进行分类:

  • 共识验证者
  • 状态验证者
  • 数据可用性(DA)验证者
  • 完全验证者

共识验证者

共识验证者可以检查交易是否包含在规范链中。他们通过跟踪验证者的证明来跟踪规范链,并通过验证Merkle证明来检查交易。

这与IBC的工作方式类似。Cosmos链基本上在链上运行共识验证者,并验证连接链的共识。一般来说,今天的轻节点是共识验证者。

以太坊轻节点不是真正的共识验证者。然而,问题正在以不同的方式解决,因此以太坊应该在一年内有效地拥有共识验证者。

共识验证者很有用,但仍存在风险。你仍然在信任验证者。如果验证者包括一个无效的交易或状态转换怎么办?

状态验证者

这就是状态验证者的作用。状态验证者可以在不处理交易的情况下检查状态转换是否有效。

这可以使用有效性(又称ZK)或欺诈证明来完成。轻节点验证它们与区块标题一起下载的证明,来确定新状态是正确的(对于有效性证明)还是错误的(对于欺诈证明)。

来自Chainlinkgod的文章和本报的原文

有很多资源可以了解证明的工作原理,所以我不会在这里讨论。我要指出的一点是,轻节点依赖于诚实的全节点来告诉它们发生了欺诈,并且不接受新状态,而验证者可以使用有效性证明来直接说服轻节点区块是有效的,并接受新状态。

状态验证者很强大(而且对移动端友好!),但问题还没有完全解决。

验证者仍然可以扣留发布数据,所以节点可能知道计算是正确的,但不能从全节点获取新的区块链状态的信息。关于数据,还有更复杂的攻击,但这种情况表明了区块链无法进步。

DA验证者

DA验证者是谜题的最后一块。他们可以检查计算的输入是否存储在网络可以下载的地方(如果需要),而无需实际下载所有数据。

这怎么可能?使用一种叫做数据可用性采样的技术。基本上,如果一堆轻节点正在检查其中的小块数据,你可以非常确信所有区块数据都在某个地方可用。更多节点采样意味着更安全。

采样器采样样本

最后

如果轻节点可以完成以上所有功能,该怎么办?

我将这些节点称为完全验证者,但更重要的是指出它们是信任最小化的。它们提供了几乎与全节点相同的无信任属性,而不必下载区块。这很神奇。

考虑到大多数人不会运行全节点的现实,信任最小化轻节点是保护所有区块链用户免受不良行为者影响的实际愿景。

向推动这一愿景的团队致敬,他们把加密盔甲放在了我们口袋里。

*本文由CoinTime整理编译,转载请注明来源。

评论

所有评论

推荐阅读