我正在测试阻止程序的内存池资源管理器(https://explorer.blocknative.com),并注意到许多挂起的事务实际上在它捡起它们时就已经确认了,我可以通过比较以太扫描和内存池的pendingTimeStamp参数上的时间戳来看出这一点。考虑到阻止程序的内存池应该只有几毫秒的延迟,我想知道这些事务是否对txpool隐藏了?
发布于 2021-05-06 20:19:51
以太扫描显示使用块标头的timestamp字段报告块时间戳。blockTimeStamp字段中已确认的事务的Blocknative也报告了这一点。这一次是在构造块时(在实际挖掘之前)由小块设置的。注意,矿工对这个值有一定的控制,因为它不是加密验证的,但是有一些约束,如https://ethereum.stackexchange.com/a/428中所描述的。
Blocknative报告它在timeStamp字段中所有事务状态更改的检测时间,并保留pendingTimeStamp字段,以便与任何后续事务状态进行时间比较。检测是由自定义的节点客户端组成的全局网络确定的,该网络具有策动的窥视功能,以尽量减少检测延迟。
如果您提供特定的事务,我们的团队可以查看具体的情况。您可以轻松加入我们的不和谐社区,并与我们在那里聊天。https://discord.gg/KZaBVME
要了解我们的内存池数据基础设施,请访问https://www.blocknative.com/advantage
发布于 2021-04-16 00:58:45
当一个节点接收到一个事务时,它将它发送到其他连接节点,然后由其他连接节点发送到其他连接节点(重复),直到所有节点的内存池中都有事务。这个过程需要一些时间(但不多)。
在挖掘块之前发送的事务可能会在矿工有时间到达您的节点(或Mempool的节点)之前被捕获。在这种情况下,你会认为它是确认的,而没有事先在备忘录中看到它。
节点可以通过增加连接到的节点数量来降低发生这种情况的几率,而代价是带宽。
但是,矿工可以设置一个暗池。如果您事先与经营暗池的矿工达成协议,您可以执行以下操作:
事实上,这将隐藏您的交易对任何人,但矿工,直到它最终得到确认。缺点是,你不知道什么时候轮到矿商开采一个区块,而且要花很长时间才能确认你的交易。
要么您看到了其中一个罕见的暗事务,要么Mempool资源管理器没有连接到足够多的节点,因此它有时会在事务被确认之前错过事务。
https://ethereum.stackexchange.com/questions/97311
复制相似问题