Design and implementation ofNDN-based Ethereum blockchain缩略图

基于NDN的以太坊区块链的设计与实现

作者:Quang Tung Thai, Namseok Ko, Sung Hyuk Byun, Sun-Me Kim

论文摘要原文:

Blockchain technology allows public parties to agree on a common state without relying on a central authority. Despite it brings many innovative use cases, the technology is still in its early stage that needs improving on many aspects. One of the issues is to deliver blockchain data more efficiently. Named Data Networking (NDN), a new network paradigm, is designed to make content distribution with ease by enabling in-network caching and built-in multicasting, which blockchain technologies can take advantage. Moreover, blockchain may contribute to extending NDN application ecosystems including decentralized applications. Therefore, it is instrumental to have a working blockchain system that runs on NDN platform to supports its research and development.

In this work, we design and implement an NDN-based Ethereum blockchain platform. We propose new protocols for propagating blockchain data making full use of NDN features for the delivery of transactions and blocks. Our experiments show that the distribution of blockchain data in NDN is more efficient than that of IP network. The latency of block delivery is also reduced, which in turn supports tuning blockchain parameter for better security. Our developed blockchain client is freely distributed as an open-source project. We hope that it can provide a platform to foster blockchain research on NDN in the future.

论文摘要中文:

区块链技术允许公共各方在不依赖中央权威的情况下就共同状态达成一致。尽管它带来了许多创新的用例,但该技术仍处于早期阶段,需要在许多方面进行改进。其中一个问题是如何更高效地交付区块链数据。命名数据网络(Named Data Networking,NDN)是一种新的网络模式,它通过支持网内缓存和内置多播来实现内容的分发,区块链技术可以充分利用这一点。此外,区块链可能有助于扩展NDN应用程序生态系统,包括分散式应用程序。因此,拥有一个在NDN平台上运行的工作区块链系统来支持其研究和开发是非常重要的。

在本文中,我们设计并实现了一个基于NDN的以太坊区块链平台。我们提出了新的协议来传播区块链数据,充分利用NDN的特性来传递事务和块。理论分析和实验结果表明,区块链数据在NDN网络中的分发比IP网络中的分发效率更高.区块交付的延迟也被降低,这反过来又支持调整区块链参数以获得更好的安全性。我们开发的区块链客户端作为开源项目免费发布,希望它能为未来NDN的区块链研究提供一个平台。

研究问题、关键问题: 本文主要研究如何将区块链技术应用于 NDN 网络,以提高区块链数据传输的效率。其中关键问题为:

  • 区块链数据传输效率:传统区块链系统数据传输效率低下,如何利用 NDN 的特性(如命名、缓存、多播)进行区块链数据传输?如何在NDN中实现基于Kademlia的对等体发现,以及节点如何建立和管理用于区块链数据传递的对等体连接列表?
  • NDN 网络的安全性问题:NDN网络面临缓存污染攻击等安全问题,如何在利用 NDN 特性的同时,保证区块链系统的安全性?
  • 区块链系统的可扩展性:NDN 网络的可扩展性是一个挑战,如何设计区块链系统,使其能够在 NDN 网络上高效运行,并支持大规模节点?

研究动机、研究意义:

1.研究动机:

(1)区块链数据传输效率低下: 传统区块链系统使用 P2P 协议进行数据传输,效率低下且容易受到攻击。
(2)NDN 的优势: NDN 是一种信息中心网络范式,具有内置缓存和多播功能,可以高效地传输数据。
(3)区块链与 NDN 的融合潜力: 将区块链技术应用于 NDN 网络,可以利用 NDN 的优势来提高区块链数据传输效率,同时保持系统的可扩展性和安全性。

2.研究意义:

(1)提高区块链数据传输效率: 利用 NDN 的缓存和多播功能,可以显著降低区块链数据传输的延迟和带宽消耗。
(2)推动区块链与 NDN 的融合: 本研究可以为区块链与 NDN 的融合提供参考,为未来构建更加高效、安全的网络基础设施奠定基础。

研究内容(算法、方法、技术、模型):本文主要研究如何设计和实现一个基于 NDN 平台的以太坊区块链客户端,其研究内容主要包括以下几个方面:

  1. 数据传输协议设计:
  2. 公告-拉取 (Announce-Pull) 机制: 利用 P2P 协议进行数据公告,利用 NDN 的拉取机制进行数据检索,实现高效的区块链数据传输。
Design and implementation ofNDN-based Ethereum blockchain插图
  • 数据命名: 设计了 NDN 数据包的命名方案,包括公前缀和私前缀,以支持数据检索和缓存。
  • 协议消息: 定义了公告消息、数据请求消息和数据段消息,用于实现区块链数据的传输和验证。
  • 缓存投毒攻击防御: 设计了针对缓存投毒攻击的防御机制,确保数据传输的安全性。
  •  ndn-geth 客户端实现:
  • 基于 geth 的改进: 使用 open-source 的 geth Ethereum 客户端作为代码基础,并进行修改以适应 NDN 环境。
  • P2P 层改进: 使用 Kademlia DHT 协议实现基于 NDN 的 P2P 节点发现和连接管理。
  • 数据传播模块改进: 实现了基于公告-拉取机制的交易和块传播算法。
  • 其他模块: 保留了 Ethereum 客户端中其他模块的实现,例如数据存储、共识算法等。
Design and implementation ofNDN-based Ethereum blockchain插图1
  • 性能评估:
  • 仿真实验: 在 mininet 仿真环境中,比较了基于 NDN 的区块链系统和基于 IP 的区块链系统的数据传输效率和块传播延迟。
  • 实验结果:基于 NDN 的区块链系统在数据传输效率和块传播延迟方面均优于基于 IP 的区块链系统。

研究结论、主要贡献:

  1. 研究结论:
  2. 基于NDN的区块链系统可以有效提高区块链数据传输效率,并降低块传播延迟。
  3. 本文提出的公告-拉取机制,可以有效地利用 NDN 的缓存和多播功能,实现高效的区块链数据传输。
  4. 基于NDN的区块链系统与以太坊区块链完全兼容,可以支持现有的 Ethereum 的区块链应用。
  5. 主要贡献:
  6. 设计了一种新的基于 NDN 的区块链数据传输协议,并实现了该协议。
  7. 实现了一个基于 NDN 的以太坊区块链客户端,并将其与以太坊区块链完全兼容。
  8. 通过仿真实验验证了基于 NDN 的区块链系统在数据传输效率和块传播延迟方面的优势。
  9. 为区块链技术在 NDN 网络上的研究和应用提供了平台。

创新点、创新性:

  • 基于NDN的区块链系统及数据传输协议设计: 利用了 NDN 的缓存和多播功能来提高区块链数据传输效率,并设计了新的数据传输协议,包括数据命名方案、协议消息格式和数据传输流程,以支持高效的以太坊区块链数据传输。
  • 公告-拉取机制: 本文提出的公告-拉取机制可以有效利用 NDN 的缓存和多播功能,实现高效的区块链数据传输,并解决了缓存投毒攻击问题。
  • P2P 层改进: 由于 ICN 架构自带内容分发优化特性,有人可能会考虑完全摒弃 P2P 层,直接利用 NDN 的广播和多播功能进行数据传输。本文选择保留 P2P 层,并进行改进以适应 NDN 环境,实现了节点发现和连接管理
  • 性能评估: 通过仿真实验验证了基于 NDN 的区块链系统在数据传输效率和块传播延迟方面的优势,为基于 NDN 的区块链系统提供了理论依据。

技术难点

1.NDN 网络环境适应性:

(1)NDN 路由表可扩展性: NDN 网络的 FIB 表可以存储大量路由信息,但其可扩展性是一个挑战,需要设计有效的路由策略和路由协议来避免路由表溢出。
(2)NDN 数据缓存: NDN 网络中数据缓存的安全性需要考虑,需要设计有效的缓存更新机制和缓存验证机制来防止缓存投毒攻击。
(3)NDN 多播: NDN 网络的多播功能需要有效利用,需要设计有效的多播路由策略和数据分发机制来提高数据传输效率。

2.区块链与 NDN 的融合:

(1)P2P 层改进: 在 NDN 网络中保留 P2P 协议并进行改进,需要解决节点发现、连接管理和数据传输等问题。
(2)数据命名: 设计 NDN 数据包的命名方案,需要考虑数据的唯一性、可路由性和可缓存性等问题。
(3)数据传输协议: 设计新的数据传输协议,需要考虑数据的安全性、完整性和效率等问题。

3.缓存投毒攻击防御:

(1)缓存验证: 需要设计有效的缓存验证机制来防止缓存投毒攻击,例如使用数字签名等技术来验证数据的真实性。
(2)缓存更新: 需要设计有效的缓存更新机制来保证缓存数据的最新性,例如使用时间戳等技术来标记缓存数据的有效期。

4.性能优化:

(1)NFD 性能: NFD 的性能会影响区块链数据传输的效率,需要优化 NFD 的数据包处理性能来提高数据传输效率。
(2)网络拓扑: 网络拓扑结构会影响区块链数据传输的延迟和带宽消耗,需要选择合适的网络拓扑结构来提高数据传输效率。

进一步研究思路 (Future Work)

  1. 性能优化:
  2. NFD 性能优化: 进一步优化 NFD 的数据包处理性能,例如使用硬件加速技术、并行处理等技术来提高 NFD 的处理效率。
  3. 网络拓扑优化: 研究不同网络拓扑结构对区块链数据传输效率的影响,并设计合适的网络拓扑结构来提高数据传输效率。
  4. 数据传输协议优化: 优化数据传输协议,例如改进数据命名方案、改进数据传输流程等,进一步提高数据传输效率。
  5. 安全性增强:
  6. 拜占庭容错: 研究在 NDN 网络中实现拜占庭容错机制,例如使用 NDN 安全路由协议、使用基于区块链的拜占庭容错协议等。
  7. 数据完整性保护: 研究数据完整性保护机制,例如使用数字签名、使用 Merkle 树等技术来保证数据的完整性。
  8. 功能扩展:
  9. 跨链交互: 研究不同区块链系统之间的跨链交互机制,例如实现基于 NDN 的跨链通信协议等。
  10. 数据市场: 研究基于区块链的 NDN 数据市场,例如实现数据定价机制、数据交易机制等。

个人总结:

本文提出了一种基于 NDN 的 Ethereum 区块链平台设计方案,利用 NDN 的缓存和多播功能优化了区块链数据传输效率,并将 P2P 层针对NDN网络进行改进,实现了数据发布和高效检索。实验结果表明,该系统在数据传输效率、安全性和可扩展性方面均优于传统 IP 网络的区块链系统。

作者 ienlab2023

IEN-"Intelligent Eco Networking"