如果提议者提议区块的时间晚了,会对见证有何影响?

news2024/11/15 21:46:39

原文标题:《On Attestations, Block Propagation, and Timing Games》

撰文:Nero_eth

编译:Tia,Techub News

如今,提议者的时序博弈已经很常见了,很多研究也都在分析这一现象。

本篇文章将带大家了解提议者时序博弈的演变,并分析其对见证者的影响。通过对 Lido、Coinbase 和 Kiln 的节点运营商的案例研究,我们将深入探讨区块提议的时序博弈及其对以太坊共识的影响。

截至 2024 年 8 月,区块构建市场在很大程度上被外包处理,其中约 90% 的区块是由 mevboost 区块构建者构建的。其中, Titan Builder 和 Beaverbuild 构建了大约 80% 的区块。

Kiln 是推动时序博弈的主要实体之一,在单个 slot 内,其将区块提议推迟了 3-3.5 秒。

在当前的 mevboost 环境中,区块传播主要通过中继器完成。虽然提议者在从中继器接收到区块后仍会传播它,但中继器通常具有更好的网络连接,因此可以更快地完成传播。然而,时序仍然由提议者控制,他们可以延迟其「getHeader」调用以进行时序博弈。

这张图表展示了时序博弈的演变。我们可以看到,随着时间的推移,Kiln 验证者提议的区块在 slot 内是相对滞后的。

这会对网络产生影响:由 Kiln 提议者提出的区块,错过/错误的区块头投票率显著更高。

之前的分析显示,等待时间越长,错过区块头投票的预期数量越高(「80% 的见证发生在 slot 中的第 5 秒」)。Kiln 在非常晚的时候提议区块,导致一些见证者错过它们,并且反而投票给父区块。每个 slot 大约会分配 32,000 个验证者,这将导致约 10% 错误的区块投票率。

让我们来看看三个大型节点运营商的见证行为,并比较它们如何对不同时间内提议的区块做出反应。下图显示了 slot 内正确和及时的区块头投票分布秒数。

对于早期区块,我们观察到 Lido 和 Coinbase 在投票模式上呈现出一种特有的「U」形,这可能是由于不同的地理位置或客户端软件造成的。相比之下, Kiln 显示出一个明显的峰值,比 Coinbase 和 Lido 的第一个峰值略有滞后。然而,对于较晚的区块,Kiln 的见证者也显示出「U」形模式。

当区块在 slot 中第 4 秒首次出现时(由于是 P2P 网络,每个节点接收到区块的时间不同),Lido 见证者比 Kiln 或 Coinbase 见证者提前最多 2 秒进行见证。这种模式并不一定表明 Kiln 在执行「个人策略」。相反,这可能归因于客户端的不同或地理位置的不同。

到底是谁影响了谁?

在下图中,我们比较了不同提议者下节点运营商的表现。例如,y=1 上方的绿色部分表明,当 Kiln 作为提议者提议区块时,Lido 见证者将更容易错过区块头投票。然而,当 Lido 作为提议者时,Lido 见证者在见证区块最及时。虚线 1 表示所有实体作为提议者时错过区块头投票的平均份额。低于 1 的柱状图意味着与平均值相比,特定实体与各自提议者联合时错过的区块头投票较少。

值得注意的是,节点运营商在处理其自己提议的区块时表现最好。

快速总结一下我们看到的内容:

  • 在其他运营商作为提议者提议区块时,大多数运营商表现都相对稳定。

  • 在 Kiln 作为提议者提议区块时,Figment、Lido、Kraken 和 EtherFi 表现较差。

  • 在 Kiln 作为提议者提议区块时,只有 Kiln 和 Binance 表现更好。

Kiln 作为见证者表现很好。早期分析表明,在涉及到高性能验证者时,Kiln 表现优异。有关 Kiln 见证表现的更多详细信息,请参阅这篇分析。

但 Kiln 引发了压力。现在我们知道,Kiln 提议的区块给其他见证者带来了压力,但并未给 Kiln 的见证者带来压力。

目前,很难对「How」作出解释。一个可能的解释是 Kiln 的验证者高度集中,共址运行,或者具有非常密集的对等连接。另一种原因可能是通过定制的对等网络/私人网络或通过其他额外的通信层连接它们的验证者进行协调行为。后一种被认为更具中心化特性,因为它更加强调规模经济。

当我们观查 Lido 和 Coinbase 在各自作为提议者提议区块时的(正确且及时的)见证时间时,我们可以观察到类似的模式。

有趣的是,Kiln 开发了一种从 3.8 秒到 6.1 秒的「U」形分布用于它们自己的晚期区块,而Lido在4.2秒出现一个峰值,Coinbase在 slot 中的第4秒开始出现一个高原,并在第6秒出现一个小的峰值。

防止自己的提议的区块被重组

让我们将注意力转向被重组的区块。从节点运营商的角度来看,一个策略可能是永远不为重组自己的区块投票。简单地说,「如果提议者是我,永远不要将父区块投票为区块头」。

在接下来的部分中,我将使用「本地区块」来代表「自己提议的区块」。

下图是为重组区块投票的见证者与为父区块投票的见证者的百分比。红色部分显示了该实体投票给重组区块的见证者的百分比。

Kiln 表现出了异常行为。当大多数节点运营商的见证者诚实地为正确的区块头投票而不是本地区块时,Kiln 的见证者却并不这么做。超过 10% 的 Kiln 见证者试图通过为本地区块投票来将其保持在链上。如果采用这样的策略,它们可能会由于为错误的区块头投票而产生损失。然而,这些策略通常在以太坊社区中受到鄙视:「不要玩弄共识」。

该图表使用了365天的数据。因此,如果在过去一年内实施了一些复杂的策略,红色部分的比例会相应较小。

但我们如何看待其他层面的协作?

关于见证的协作,作为社区,我们似乎接受了运行在同一节点上的验证者为相同的 checkpoints 投票的事实。

我们可能不希望采取任何跨越物理机器边界的努力来提高验证者之间的协作。这应当是每个人都可以构建的。这种协作可能有不同的形式:

  • 级别1 - 回退机制与静态对等连接:为多个物理机器提供一个中央备用/备份节点。这也可以是一个断路器,一些特别容错的机器,作为信息的私人中继器。具有改进对等连接、私人网络或类似设置的设置也可能属于此类别。

  • 级别2 - 如果-否则规则:在某些 slot 中等待更长时间的硬编码规则。那些将安装在多个物理机器上,允许它们基于预定义规则「协作」。

  • 级别3 - 僵尸网络:有一个中心化的预言机与所有验证者通信,并提供投票的 checkpoints 以及它们应在何时发布的时间戳。

在我看来,后两种形式的协作(级别2和3)是有问题的,节点运营商应当承担责任。最后,对于涉及静态对等连接和私人网络的策略可能存在灰色地带。

这样的设置可能会被用于运行(恶意)策略,例如:

  • 确保跨多个物理机器从不对不同的 checkpoints 投票。

  • 确保永远不会对重组自己提议的区块投票。

  • 基于连续的提议者进行协作(诚实重组客户端(y/n))。

  • 审查某个方的见证。

  • 不为某方的区块投票。

  • 其他。

在讨论协作时,区分两种类型是重要的:

  • 协作行为发生在从同一物理机器运行的验证者之间。

  • 协作行为源于运行相同的修改后的客户端软件或依赖于相同的中心化预言机。

反对复杂协作验证者行为的潜在解决方案是 EIP-7716:反相关处罚,该提案建议根据验证者之间的相关性来调整处罚。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2055190.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

windows上传的文本在linux执行不了,格式转换

在windows编辑的文件脚本上传到linux里面执行不了 1.现象描述 比如在windows编辑简单的文本 2.上传到linux后执行无结果 无响应 3.编码问题 比普通文件多了with CRLF line terminators结尾格式。 cat -v 可以让隐藏的转义字符也打印中显示 4.原因windows和linux的换行符不…

逐级删除空目录 如果目录非空则停止删除操作 os.removedirs(path)

【小白从小学Python、C、Java】 【考研初试复试毕业设计】 【Python基础AI数据分析】 逐级删除空目录 如果目录非空 则停止删除操作 os.removedirs(path) [太阳]选择题 下列关于代码和os.removedirs(path)函数说法正确的是? import os os.makedirs("D:/test1…

GAMES101——作业5 光线与三角形相交(菲涅尔反射率)

任务 需要修改的函数是: Renderer.cpp 中的 Render() :这里你需要为每个像素生成一条对应的光线,然后调用函数 castRay() 来得到颜色,最后将颜色存储在帧缓冲区的相应像素中。 Triangle.hpp 中的 rayTriangleIntersect() :…

测试八股文(自总版)(更新中...)

测试八股文---从网上各处搜罗滴 软件测试的一些基础知识1. 什么是软件?1. 什么是软件测试?2. 软件测试分类?3. 软件生命周期的各阶段4. 几个模型---瀑布模型 , V模型 , 敏捷开发模型5. 软件测试基本流程(1)需求分析测试需求分析具体怎么来进…

力扣爆刷第174天之TOP200五连刷136=140(最小k数、字典序、跳跃游戏)

力扣爆刷第174天之TOP200五连刷136140(最小k数、字典序、跳跃游戏) 文章目录 力扣爆刷第174天之TOP200五连刷136140(最小k数、字典序、跳跃游戏)一、LCR 159. 库存管理 III二、450. 删除二叉搜索树中的节点三、440. 字典序的第K小…

【C语言】进程和线程详解

目录 C语言进程和线程详解1. 进程和线程的对比2. 进程的基本概念2.1 进程的定义2.2 进程的特点2.3 进程的生命周期 3. 进程管理3.1 进程创建3.2 进程间通信(IPC)3.2.1 管道(Pipe) 4. 线程的基本概念4.1 线程的定义4.2 线程的特点 …

Halcon灰度图像的形态学运算

Halcon灰度图像的形态学运算 本文介绍的算子的输入类型是灰度的Image图像。 1. 灰度图像与区域的区别 基于区域的形态学运算与基于灰度图像的形态学运算的根本区别在于,二者输入的对象不同。前者输入的是一些区域,并且这些区域是经过闽值处理的二值图…

微信小程序在线客服源码系统全端通吃 带完整的安装代码包以及搭建部署教程

系统概述 “微信小程序在线客服源码系统全端通吃”是一款集智能客服、人工客服、消息管理、数据分析等功能于一体的综合性解决方案。该系统基于微信小程序平台开发,支持全端接入(包括Web、App、小程序等),实现多渠道客户服务的无…

英国海外媒体通稿宣发:顶级媒体宣发

1.伦敦日报londonjournal 作为英国首都的权威日报,伦敦日报一直是英国新闻界的佼佼者。它详尽报道伦敦及英国各地的政治、经济、社会、文化、体育等各方面的新闻,深受读者喜爱。 2.英国先驱报ukherald 英国先驱报是一份全国性日报,以深度分…

源码构建LAMP

目录 一、安装Apache 二、安装Mysql 三、安装PHP 四、安装论坛 一、安装Apache 1.cd 到opt目录下面,将压缩包拉进Xhell 2.解压缩apr和httpd压缩包 tar xf apr-1.6.2.tar.gz tar xf apr-util-1.6.0.tar.gz tar xf httpd-2.4.29.tar.bz2 3.将apr-1.6.2 移动到ht…

playbook(剧本)基本应用、playbook常见语法、playbook和ansible操作的编排

playbook(剧本): 是ansible⽤于配置,部署,和管理被控节点的剧本。⽤ 于ansible操作的编排。 使⽤的格式为yaml格式 一、YMAL格式 以.yaml或.yml结尾 ⽂件的第⼀⾏以 "---"开始,表明YMAL⽂件的开始(可选的) 以#号开头为注释 列表中的所有成员都开始于…

开放式耳机原理是什么?它通过不入耳的方式带来动感音乐

开放式耳机的原理主要分为两种类型:气传导和骨传导。 气传导耳机:这种耳机的工作原理依赖于空气作为声音传播的介质。具体来说,音频设备通过耳机线将电信号传递到耳机,耳机内部的驱动单元(通常是动圈式或平衡电枢式&am…

未开启语音助手时,远程控制功能助你快速在家找回手机!

完成一整天的大扫除之后,顺手就想摸出手机刷一下短视频,但摸不到。干了一天活,手机放哪里都忘了,于是不得不在几个房间之间寻找。 但找过手机的都知道,越找越是找不到。糟糕的是前几天我嫌麻烦,把语音助手…

<数据集>铝型材缺陷识别数据集<目标检测>

数据集格式:VOCYOLO格式 图片数量:1885张 标注数量(xml文件个数):1885 标注数量(txt文件个数):1885 标注类别数:10 标注类别名称:[budaodian, tufen, loudi, qikeng, pengshang, tucengkailie, zangdi…

光伏模拟器的应用

太阳能光伏 (PV) 模拟器是一种可编程电源,用于模拟太阳能电池板。模拟器具有快速瞬态响应,可响应负载条件的变化并保持电压-电流特性的输出。 用户可以根据系统规格定义太阳能电池板配置,并通过选择环境条件来选择适当的环境条件进行模拟。用…

通风采光排烟天窗现行七本图集概览

在建筑设计与施工中,通风采光排烟天窗作为优化室内环境的重要设备,选择合适的型号及合理应用至关重要。当前市场上存在着多本标准化、规范化的通风采光排烟天窗图集,为设计师、工程师及施工单位、通风采光排烟天窗生产厂家提供丰富的参考资源…

如何有效找到目标客户群体?

在激烈的市场竞争中,找到并锁定目标客户群体是企业成功的关键。以下是几种有效的策略,帮助您精准定位并吸引目标客户。 1. 明确市场定位与客户画像 首先,企业需要明确市场定位,并绘制详细的客户画像,包括年龄、性别、…

LeetCode合并两个有序链表

题目描述: 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4,4] 示例 2: 输入:l1 [], l2…

以FLV解复用为例详解开源库FFmpeg中解复用器的源码逻辑及处理流程

目录 1、FFmpeg简介 2、FLV文件格式介绍 3、注册解复用器 4、解复用器的处理 4.1、AVFormatContext 4.1.1、AVClass 4.1.2、AVOption 4.1.3 AVDictionary—AV字典 4.1.4、AVIOContext 4.1.4.1、URLProtocol 4.1.4.2、AVIOContext的初始化及获取 4.1.5、AVInputF…

基于vue篮球联盟管理系统pf

TOC springboot476基于vue篮球联盟管理系统pf 第1章 绪论 1.1 课题背景 二十一世纪互联网的出现,改变了几千年以来人们的生活,不仅仅是生活物资的丰富,还有精神层次的丰富。在互联网诞生之前,地域位置往往是人们思想上不可跨域…