http://www.jk260.com

掌握内存池(Mempool)[操作指南] - 区块链开发|虚拟币交易平台开发

  区块链是一台交易机器。然而,链上的数据表示静态价值确认的交易。前端链或内存池中数据探索的价值在不断变化。

  迄今为止,该行业主要关注静态价值。这是网络3难题的一个重要部分。然而,对于要包含在块中的任何事务,它必须通过内存池。与作为最终记录的块链不同,内存池是混乱的、碎片化的,并且通常不可预测。

  在构建监控内存池的基础设施的过程中,我们了解了很多关于它的工作过程。在2020年以太网发展会议上,Blocknative的首席执行官兼联合创始人马特卡特勒在他的演讲《掌握内存池》 :中分享了他的一些重要经历

  我们已经将这次会议提炼为操作课程,我们相信每个构建在网络3上的人都应该知道。让我们来看看!

  一段时间以来,有经验的构建者一直试图解决内存池的复杂性。由于内存池的结构,出现了一些有趣的问题

  真理没有单一的来源。相反,有数千个独立的内存池,每个包含不同的数据。交易数据不断变化。原始数据很少,有时不一致。这使得很难捕获确定的内存池数据。交易架构的复杂性增加了这些挑战。

  尽管区块链是真理的唯一来源,但记忆池没有内部形式来确保共识。将这种混乱组织成开发者友好的预链接数据需要大量的资源和专业知识。

  1.区块链交易就像托运行李

  当您在Web3上进行交易时,您必须将交易移交给网络,并期望它分块到达。这很像在机场托运行李。

  接收您的事务的节点广播它,然后您等待它被确认。如果您的交易被卡住或丢失,没有中央机构可以告诉您发生了什么或帮助您解决问题。

  2.交易焦虑是真实的

  考虑到Web3 ——的状态以及事务是如何被验证的,——事务处理将会引起焦虑。这种焦虑不仅仅是新用户感受到的。有经验的用户更有可能以真实价值交易,他们通常会经历最明显的交易焦虑。

  这种焦虑对我们的生态系统是个问题。然而,最终用户通常不会使用导致焦虑的系统。

  3.链条是静态价值

  作为一个社区,我们花大部分时间讨论价值链。根据定义,所有链值都是静态的。相反,内存池总是处于动态状态。

  这很重要,因为内存池的内部工作机制还没有被广泛理解。内存池操作的工作知识是理解每个事务如何依赖于链的关键。

  4.即使是基本术语也有争议

  块本机将内存池定义为:

  区块链之前的共享临时存储区支持事务排序、事务成本优先级和通用块构建。"

  这可以被视为一个“等待区”,以接受一个交易进入一个区块。但是,根据您在区块链生态系统中的位置,您可以使用不同的标签:

  杰斯称之为发射池

  奇偶校验称之为发送队列。

  比特币被称为内存池

  天秤座称之为“备忘录图书馆”

  特佐斯称之为记忆池。

  有鉴于此,为了清晰和包容的目的,我们更喜欢使用通用的“内存池”标签。

  5.没有所谓的“内存池”

  没有所谓的标准内存池。相反,内存池很多,每个节点都有自己独特的内存池。所以内存池和节点一样多。

掌握内存池(Mempool)[操作指南] - 区块链开发|虚拟币交易平台开发

节点内存池中事务的组成由许多因素驱动

  配置设置代表关系拓扑

  这些因素都在决定哪些事务进入和保留在节点的内存池中发挥作用。

  6.系统默认值

  Geth和奇偶校验内存池的默认配置(插槽和内存)设置决定了它们的大多数行为。

  如果节点中的所有插槽都已满,当新的挂起事务被接受到内存池中时,具有最低气体成本的事务将被删除。具有不同设置的不同节点将以不同的速率接受和删除不同的交易。

  7.内存池事务

  丢失事务是写在链上的事务,在您的内存池版本中从未被接受。从你的角度来看,这是一个立即确认的交易。

掌握内存池(Mempool)[操作指南] - 区块链开发|虚拟币交易平台开发

  在我们的分析中,在正常操作条件下,单个地理区域中的单个节点的内存池将丢失大约1%的所有事务。在交易量很大的情况下,丢失交易的百分比可能会有很大差异。

郑重声明:本文版权归天网查所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。