TITLE: Low-Resource Eclipse Attacks on Ethereum’s Peer-to-Peer Network

AUTHOR: 刘学枫 — CATEGORY: BLOCKBENCH P2P Attack —

Ethereum: A secure decentralized generalized transaction ledger

Introduction

Category

Motivation

Background

  1. What is the research problem?
  1. Why it is an important problem?

Literature Review

Despite the growing body of research on the security of Ethereum’s consensus algorithm and scripting language, the properties of Ethereum’s peer-to-peer network have been largely unexplored. Nevertheless, a recent line of work has made it clear that the security properties of a proof-of-work blockchain rests on the security of its underlying peer-to-peer network.

尽管对以太坊的共识算法和脚本语言的安全性进行了越来越多的研究,但以太坊的点对点网络的属性在很大程度上尚未得到探索。尽管如此,最近的一项工作清楚地表明,工作证明区块链的安全属性依赖于其底层对等网络的安全性。

Research Niche

To conventional wisdom suggests that Ethereum’s peer-to-peer network is more resilient to eclipse attacks that than that of Bitcoin. In fact, however, Ethereum’s peer-to-peer network was significantly less secure than that of Bitcoin.

普遍认为,以太坊的点对点网络比比特币更能应对日蚀攻击。但事实上,以太坊的点对点网络比比特币的安全性要低得多。

Work

Research Objectives

1.What does the authors want to achieve in this work?

Novelty

Contributions

  1. A detailed exposition of Ethereum’s peer-to-peer network and its relationship to the Kademlia protocol.
  2. Two off-path eclipse attacks and one attack by manipulating time.
  3. Set of countermeasures that can be used to prevent these attacks.

  4. 详细揭露了以太坊P2P网络以及其与 Kademlia 协议之间的关系
  5. 提供了两种非常规的日蚀攻击和一种通过伪造时间的攻击
  6. 最后提供了防范这些攻击的对策

Key Concepts

Eclipse attacks

日食攻击是其他节点实施的网络层面攻击,其攻击手段是,囤积和霸占受害者的点对点连接时隙(slot),将该节点保留在一个隔离的网络中,同时模糊了区块链上的节点视图。

neighbor discovery(ND)

邻节点发现,是TCP/IP协议栈的一部分,主要与IPv6共同使用。它工作在数据链路层,负责在链路上发现其他节点和相应的地址,并确定可用路由和维护关于可用路径和其他活动节点的信息可达性。

Border Gateway Protocol(BGP)

边界网关协议,是互联网上一个核心的去中心化自治路由协议。它通过维护IP路由表或‘前缀’表来实现自治系统(AS)之间的可达性,属于矢量路由协议。BGP不使用传统的内部网关协议(IGP)的指标,而使用基于路径、网络策略或规则集来决定路由。

Kademlia p2p protocol

Kademlia(简称Kad)是一种分布式散列表(DHT)技术,以异或运算为距离度量基础,属于一种典型的结构化P2P覆盖网络(Structured P2P Overlay Network),以分布式的应用层全网方式来进行信息的存储和检索是其尝试解决的主要问题是。在Kademlia网络中,所有信息均以的哈希表条目形式加以存储,这些条目被分散地存储在各个节点上,从而以全网方式构成一张巨大的分布式哈希表

Turing Complete

man-in-the-middle attacks(中间人攻击),指攻击者与通讯的两端分别创建独立的联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制。在中间人攻击中,攻击者可以拦截通讯双方的通话并插入新的内容。在许多情况下这是很简单的(例如,在一个未加密的Wi-Fi 无线接入点的接受范围内的中间人攻击者,可以将自己作为一个中间人插入这个网络)。一个中间人攻击能成功的前提条件是攻击者能将自己伪装成每一个参与会话的终端,并且不被其他终端识破。中间人攻击是一个(缺乏)相互认证的攻击。大多数的加密协议都专门加入了一些特殊的认证方法以阻止中间人攻击。

Technical content

Kademlia similarities and differences

  1. Kad网络中的每一个节点均拥有一个专属ID,该ID的具体形式与SHA1散列值类似,为一个长达 b bit的整数,它是由节点自己随机生成的, 两个节点拥有同一ID的可能性非常之小,因此可以认为这几乎是不可能的。
  2. 同样的,Kad网络中条目以及条目下的item也都拥有一个专属ID,也是一个长达 b bit的整数。
  3. Kad网络将任意两个节点之间的距离d定义为其二者ID值的逐比特二进制和数,即,假定两个节点的ID分别为a与b,则有:d=a XOR b。在Kad中,每一个节点都可以根据这一距离概念来判断其他节点距离自己的“远近”,当d值大时,节点间距离较远,而当d值小时,则两个节点相距很近。 这里的“远近”和“距离”都只是一种逻辑上的度量描述而已;在Kad中,距离这一度量是无方向性的,也就是说a到b的距离恒等于b到a的距离,因为a XOR b==b XOR a。
  4. 事实上,节点的ID值也就决定了哪些条目可以存储在该节点之中,因为我们完全可以把某一个条目简单地存放在节点ID 值恰好等于条目中key值的那个节点处,我们可以将满足(ID==key)这一条件的节点命名为目标节点N。这样的话,一个查找条目的问题便被简单地转化成为了一个查找ID等于Key值的节点的问题。