Uncle Maker: (Time)Stamping Out The Competition in Ethereum

目录

  • 笔记
  • 后续的研究方向
  • 摘要
  • 引言
    • 贡献
    • 攻击的简要概述

Uncle Maker: (Time)Stamping Out The Competition in Ethereum
CCS 2023

在这里插入图片描述

笔记

本文对以太坊 1 的共识机制进行了攻击,该机制允许矿工获得比诚实同行更高的挖矿奖励。这种名为“Uncle Maker”的攻击操纵区块时间戳和难度调整算法,使矿工在区块竞赛中占据优势。作者描述了攻击的几种变体,包括一种对矿工来说没有风险的变体。他们分析了来自以太坊区块链的数据,并提供了证据,证明一些矿工多年来一直在积极运行这种攻击的变体而没有被发现,这使其成为矿工操纵主要共识机制的第一个证据。作者还提出了具体的修复建议,并提供了一个实现,作为以太坊 1 最受欢迎的客户端 geth 的补丁。

大意:

  • 这种名为 Uncle Maker 的攻击操纵了以太坊 1 共识机制中的区块时间戳和难度调整算法。
  • 与诚实的同行相比,该攻击允许矿工获得更高的采矿奖励。
  • 描述了攻击的几种变体,包括无风险的攻击。
  • 来自以太坊区块链的数据提供了证据,表明一些矿工多年来一直在积极运行这种攻击的变体,而没有被发现。
  • 建议对以太坊 1 最受欢迎的客户端 geth 进行具体修复和补丁,以减轻攻击。

后续的研究方向

  1. 对其他矿池的进一步分析:调查其他矿池是否也在执行类似的攻击,或者不同矿池是否存在 Uncle Maker 攻击的变体。

  2. 研究攻击对整个网络的影响:分析 Uncle Maker 攻击对以太坊网络的影响,例如其对交易确认时间、网络拥塞和整体安全性的影响。

  3. 制定更强大的缓解策略:探索其他缓解技术来应对 Uncle Maker 攻击和其他类似攻击。这可能涉及对共识机制进行更改、改进分叉选择规则或实施可靠的时间戳机制。

  4. 调查其他攻击媒介:探索针对共识机制的其他潜在攻击媒介,例如时间戳操纵,并分析它们对不同加密货币的影响。

  5. 评估建议的 geth 补丁的有效性:评估以更自然的方式实施攻击的 geth 补丁的有效性。确定此实现是否降低了攻击的可检测性,以及它是否会产生任何意外后果。

  6. 探索时间戳操纵的影响:调查时间戳操纵在共识机制中的更广泛影响,包括它们在其他类型的攻击中的潜在用途以及它们对区块链系统的安全性和可信度的影响。

  7. 研究矿工的经济动机:分析矿工执行 Uncle Maker 攻击背后的经济动机以及它如何影响他们的盈利能力。考虑此类攻击对采矿生态系统的长期影响。

  8. 检查过渡到权益证明 (PoS) 的影响:评估过渡到 PoS 在缓解 Uncle Maker 攻击和其他与工作量证明相关的攻击方面的有效性。分析 PoS 共识机制对安全性和性能的影响。

  9. 研究时间戳操作在其他环境中的使用:探索时间戳操作在区块链以外的其他领域的潜在用途,例如分布式系统、共识协议或其他加密应用程序。

  10. 开发检测和预防机制:设计和实施工具和算法,以实时检测和防止时间戳操纵和其他类似攻击。这可能涉及使用机器学习、异常检测或加密技术。

摘要

我们提出并分析了对以太坊1共识机制的攻击,该机制允许矿工与诚实的同行相比获得更高的挖矿奖励。这种攻击是新颖的,因为它依赖于操纵块时间戳和难度调整算法(DAA),以便在发生块竞争时给矿工带来优势。我们称我们的攻击为制造叔叔,因为它会导致更高的叔叔拦截率。我们描述了攻击的几种变体。其中一个对矿工来说是无风险的。

我们的攻击不同于过去的攻击,如自私的采矿[30],这些攻击已被证明是有利可图的,但从未在实践中观察到:我们分析了以太坊区块链的数据,并表明以太坊的一些矿工多年来一直在积极运行这种攻击的变体,但没有被检测到,这是矿工操纵主要共识机制的第一个证据。我们提供了我们的证据,以及对攻击者以牺牲诚实矿工为代价获得的利润的估计。

由于几个区块链仍在运行以太坊1的协议,我们建议进行具体的修复,并将其作为geth的补丁来实现。

引言

比特币[56]和以太坊[11]等加密货币依靠精心设计的激励计划来鼓励挖矿,这在面对对手时保持了系统的完整性。因此,加密货币的激励机制是其安全性所固有的。的确在比特币之后出现的无数加密货币中,以及随后的学术文献中,提出并实施了对区块链奖励机制的许多更改。做出这些改变是为了确保矿工没有动机利用系统牟利[43,49,58]。

2022年9月15日,以太坊过渡到一种新的权益证明(PoS)机制,而不是工作证明(PoW)。我们提出了对后一种机制的激励驱动攻击,也称为以太坊1。当以太坊1仍然活跃时,该攻击被披露给了以太坊基金会(EF)。我们注意到以太坊1仍被加密货币使用,如以太坊经典[14]、以太坊PoW[60]和以太坊博览会[27]。这些显然在矿工中很受欢迎:截至2023年3月1日,他们的综合哈希率是整个以太坊1生态系统峰值哈希率的12.5%[55]。

在我们的攻击中,矿工更改自己区块的时间戳,以略微增加这些区块的挖掘难度。虽然这种难度的增加似乎适得其反,但事实上,如果区块链出现分叉,这些区块更有可能被选中。由于以太坊1中的共识机制有利于难度较高的区块链,因此以这种方式创建的区块在与难度较低的区块的区块竞赛中占主导地位。矿工可以利用这一事实创建区块,以赢得竞争对手同时创建的尚未看到的区块,或者更积极地替换竞争对手已经知道的区块。

这种攻击是新颖的,因为它依赖于时间戳操作和难度调整机制之间新的、未经探索的交互。它对矿工特别有吸引力,因为它总是比遵循协议设计者制定的“诚实”规则更有利可图,这意味着我们的攻击策略主导了诚实策略。

众所周知,以太坊共识(以及其他区块链机制)中存在激励漏洞,但在实践中尚未观察到。以太坊中的大多数经济操纵和攻击都集中在以太坊的应用层,例如利用智能合约中的漏洞、提前运行和利用套利机会[72,78]。

目前已知的其他时间戳攻击要么是高度理论化的,成功概率很低[5],要么是快速修复的有针对性的漏洞[74]。

通过对以太坊区块链数据的检查,我们提供了强有力的证据,证明我们讨论的一种攻击变体已经由矿工实施了大约两年的时间。在我们的研究结果早期公布后,以太坊当时第二大矿池F2Pool的联合创始人之一承认以这种方式操纵区块时间戳(见第5节)。据我们所知,这是首次在实践中观察到矿工对共识协议的这种操纵。

贡献

我们在PoW以太坊1上提出了一个攻击向量,它依赖于时间戳操作,而不是传统的操作,如阻止[30,62]。

我们描述了这种攻击的几种变体,包括一种风险较小的变体。与根据诚实协议进行采矿相比,这种变体保证至少能获得相同的绝对和相对利润,同时减少竞争对手的利润。

通过调查以太坊区块链,我们表明该攻击是在野外执行的,从而首次提供了主要加密货币中存在共识篡改的证据。

为了证明攻击向量的可行性,我们提供了一种攻击变体的实现,作为以太坊1最受欢迎的客户端Go Ethereum(geth)的补丁。

最后,我们提出了几种缓解技术,包括针对geth的补丁,它可以防止一种形式的攻击。

我们的贡献摘要见表1。
在这里插入图片描述

攻击的简要概述

如果区块开采过快,以太坊1的DAA会导致开采难度略有增加,如果区块开采太慢,则会导致开采困难略有下降。这是通过基于与其父块的时间戳的差异来改变当前正在挖掘的块的难度来实现的。难度以9秒的离散倍数变化(见等式(1))。

由于节点之间的时钟并不完全同步,时间戳本质上是“廉价的谈话”。它们可以由矿工根据需要设置,但仍然需要单调增长,而且不能太远。这允许区块创建者稍微改变区块的难度。这样的小变化并不会使挖掘变得更加困难,但会影响在挖掘相同高度的两个冲突块的情况下,哪些块节点选择扩展。选择难度较高的区块作为主链,如图1所示。

我们后来展示了F2Pool本质上是在操纵块时间戳,而不是挖掘时间戳是其父块之后9秒的倍数的块。这种形式的操作不是最优的,可以从区块链数据中发现,但每当F2Pool挖掘出冲突的区块时,它就占据了上风。这反过来又为他们提供了更高的区块奖励,并允许他们从冲突的区块中“抢夺”高费用交易。

在无风险制造者(RUM)攻击中,我们利用以太坊DAA中的这个漏洞来主动替换另一个矿工已经挖掘并发布的区块。只有当替换一个区块就像在上面诚实挖掘一样容易时,我们才会有选择地进行攻击。我们在第3节中对攻击进行了详细解释。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于Java SSM框架实现实现人事工资管理系统项目【项目源码+论文说明】

基于java的SSM框架实现人事工资管理系统演示 摘要 本论文主要论述了如何使用JAVA语言开发一个人事管理系统,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述人事…

Vue学习计划-Vue2--Vue组件(一)认识组件

1.0 引入组件 传统方式编写应用 使用组件方式编写应用 1.1 模块 理解:向外提供特定的js程序,一般就是一个js文件为什么:js文件很多很复杂作用:复用js,简化js的编写,提高js运行效率 1.2 组件认识 理解: …

提高工作效率的JavaScript单行代码

摘要: 平时在根据ui设计图处理数据的时候,需要用到js的一些方法!所以这里总结一些提高工作效率的JavaScript单行代码! 目录概览 摘要:1.#生成随机字符串2.# 转义HTML特殊字符3.# 单词首字母大写4.# 将字符串转换为小驼…

第74讲:MySQL数据库InnoDB存储引擎事务:Redo Log与Undo Logo的核心概念

文章目录 1.InnoDB引擎中的逻辑存储结构2.事务的基本概念3.Redo log的核心概念3.1.什么是Redo log3.2.如果没有redo log面临的问题3.3.使用redo log之后是怎样的流程 4.Undo log的核心概念 1.InnoDB引擎中的逻辑存储结构 InnoDB存储引擎的逻辑结构分为以下几层: Ta…

Distilling Knowledge via Knowledge Review 中文版

Distilling Knowledge via Knowledge Review: 通过知识回顾提炼知识 摘要 知识蒸馏将知识从教师网络传输到学生网络,旨在极大提高学生网络的性能。先前的方法大多集中在提出特征转换和损失函数,用于同一级别特征之间的改进效果。我们不同地…

第二十一章 网络通信

21.1 网络程序设计基础 网络程序设计编写的是与其他计算机进行通信的程序。 局域网与互联网 服务器是指提供信息的计算机或程序,客户机是指请求信息的计算机或程序。网络用于连接服务器与客户机,实现两者间的相互通信。 网络协议 网络协议规定了计算…

集成开发环境PyCharm的使用【侯小啾python基础领航计划 系列(三)】

集成开发环境 PyCharm 的使用【侯小啾python基础领航计划 系列(三)】 大家好,我是博主侯小啾, 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹…

企业如何结合数字化技术实现精益生产

企业要想长远良性发展,就必须不断追求生产效率的极致,才能不断对抗各方各面带来的压力。结合国家大环境趋势,绿色生产已然成为了国家关注的重点,所以老旧耗能的企业生产模式注定会被时代所淘汰。企业只有紧跟国家的发展步伐&#…

QScrollArea的使用

参考&#xff1a; QT的自动滚动区QScrollArea的用法&#xff0c;图文详解-CSDN博客 demo: QScrollArea *scrollArea new QScrollArea;QWidget *pWgt new QWidget();QHBoxLayout *pLayout new QHBoxLayout();for(int i 0; i < 100; i){QPushButton *pBtn new QPushB…

【hacker送书第9期】算法训练营(入门篇)

第9期图书推荐 内容简介作者简介精彩书评图书目录概述参与方式 内容简介 本书以海量图解的形式&#xff0c;详细讲解常用的数据结构与算法&#xff0c;又融入大量的竞赛实例和解题技巧。通过对本书的学习&#xff0c;读者可掌握12种初级数据结构、15种常用STL函数、10种二叉树和…

java基础之循环

Java中有三种主要的循环结构&#xff1a; while 循环do…while 循环for 循环 1、while循环 1.1、结构 while( 布尔表达式 ) { //循环内容 } 1.2、实例 public class TestWhile {public static void main(String[] args) {int x 1;while (x<10){System.out.println("…

面试官:说说webpack的构建流程?

面试官&#xff1a;说说webpack的构建流程? 一、运行流程 webpack 的运行流程是一个串行的过程&#xff0c;它的工作流程就是将各个插件串联起来 在运行过程中会广播事件&#xff0c;插件只需要监听它所关心的事件&#xff0c;就能加入到这条webpack机制中&#xff0c;去改变…

万兆单模光模块SFP-XG-LX:高速长距离数据传输利器

随着企业和个人对高速数据传输的需求不断增加&#xff0c;网络设备需要不断更新换代&#xff0c;以满足更高速、更远距离的传输要求。万兆单模光模块SFP-XG-LX作为一种基于光纤传输的高速网络模块&#xff0c;适用于长距离的数据传输。本文将介绍万兆单模光模块SFP-XG-LX的特点…

CSS单位vmin、vmax

在前端项目中使用到图片或者一些其他的需要适应视口宽度的地方时候&#xff0c;我们可以使用vmin或者vmax这两个属性。我们来看一下这两个属性在MDN上面的定义 实例 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8">…

婴儿专用洗衣机有必要吗?宝宝洗衣机洗衣服

相信各位宝爸宝妈都有同样的苦恼&#xff0c;那就是宝宝的衣服该怎么来洗宝宝每天都有一大堆衣物和各种巾要洗&#xff0c;如果单纯用手洗&#xff0c;真的是一个很大的工程&#xff0c;将宝宝的衣服丢进去家庭用的洗衣机&#xff0c;宝宝稚嫩的皮肤又怕会被细jun感染到&#x…

04_W5500_TCP_Server

上一节我们完成了TCP_Client实验&#xff0c;这节使用W5500作为服务端与TCP客户端进行通信。 目录 1.W5500服务端要做的&#xff1a; 2.代码分析&#xff1a; 3.测试&#xff1a; 1.W5500服务端要做的&#xff1a; 服务端只需要打开socket&#xff0c;然后监听端口即可。 2…

uniapp中解决swiper高度自适应内容高度

起因&#xff1a;uniapp中swiper组件swiper 标签存在默认高度是 height: 150px &#xff1b;高度无法实现由内容撑开&#xff0c;在默认情况下&#xff0c;swiper盒子高度显示总是 150px 解决办法思路&#xff1a; 动态设置swiper盒子的高度&#xff0c;故需要获取swiper-item盒…

您距离一个成熟安全的 DevOps 平台,只差一个迁移

目录 功能丰富&#xff0c;开箱即用 安全保障&#xff0c;质效并行 私有部署&#xff0c;自主可控 月度发版&#xff0c;持续迭代 本土化团队&#xff0c;企业级支持 迁移指南 从 Gitee 迁移到极狐GitLab 从 SVN 迁移到极狐GitLab 从 GitHub 迁移到极狐GitLab 历经 14…

2024最新电脑系统清理软件哪个好用?

基本上&#xff0c;不管是win版还是Mac版的电脑&#xff0c;其装机必备就是一款电脑系统清理软件&#xff0c;就比如Mac&#xff0c;目前在市面上&#xff0c;电脑系统清理软件是非常多的。 对于不熟悉系统的用户来说&#xff0c;使用一些小众工具&#xff0c;往往很多用户都不…

家用超声波清洗机哪个牌子好?一起来看、值得推荐超声波清洗机

家用超声波清洗机可以干嘛呢&#xff1f;最常见的就是来清洗眼镜。眼镜党朋友应该经常接触超声波清洗机&#xff0c;它常出现在眼镜店中&#xff0c;眼镜店老板帮顾客清洗眼镜&#xff1b;也会出现在工业领域、医疗领域等&#xff0c;超声波清洗机使用范围还是挺广的&#xff0…