[论文解读] A survey of data transfer and storage techniques in prevalent cryptocurrencies and suggested improvements
本文综述了以太坊、Nano 和 IOTA 中的数据传输与存储机制,提出使用 Graphene 和 Cuckoo filter 优化以减少带宽和区块传播延迟。作者在 Geth 中实现了 Graphene,基于以太坊主网进行验证,并通过仿真和真实节点探测展示了显著的性能提升,同时指出了网络中心化风险与协议效率低下问题。
This thesis focuses on aspects related to the functioning of the gossip networks underlying three relatively popular cryptocurrencies: Ethereum, Nano and IOTA. We look at topics such as automatic discovery of peers when a new node joins the network, bandwidth usage of a node, message passing protocols and storage schemas and optimizations for the shared ledger. We believe this is a topic that is often overlooked in works about blockchains and cryptocurrencies. Vulnerabilities and inefficiencies attain a higher significance than ones in a regular open source project because of the rather direct financial implications of these projects. Barring Bitcoin, a network that has been around for nearly 10 years, no other project has substantial documentation for its operational details other than scattered and sparse pages in the source code repositories. Almost all of the content described here has been extracted by studying the source code of the reference implementations of these projects. We evaluate the use of Invertible Bloom Lookup Tables and the Graphene protocol to decrease block propagation times and bandwidth usage of certain messages. We perform realistic simulations that show significant improvements. We provide a complete implementation of Graphene in Geth, Ethereum's main node software and test this implementation against the main Ethereum blockchain. We also crawled the chosen cryptocurrency networks for publicly visible nodes and provide an Autonomous System-level breakdown of these nodes with the end goal of estimating the ease of performing attacks such as BGP hijacks and their impact. Code written for implementing Graphene in Geth, performing various simulations and for other miscellaneous tasks has been uploaded to Github at https://github.com/sunfinite/masters-thesis.
研究动机与目标
- 分析并记录以太坊、Nano 和 IOTA 中所使用数据传输与存储技术,这些技术在现有文献中尚未得到充分记录。
- 识别在对等节点发现、区块传播和存储方面存在的效率低下与安全漏洞,这些可能影响网络性能与安全性。
- 评估并实现性能优化措施——特别是 Graphene 和 Cuckoo filter ——以减少带宽使用与区块传播延迟。
- 通过探测公开可见节点并分析自治系统(ASN)分布,评估网络拓扑,以估算 BGP 劫持等风险。
- 提供 Graphene 在 Geth 中的完整开源实现,并在以太坊主网上验证其性能。
提出的方法
- 从其开源参考实现中逆向分析以太坊、Nano 和 IOTA 的实际运行细节。
- 在 Geth 中实现 Graphene 协议,利用可逆布隆查找表(IBLTs)进行集合重合以优化区块传播。
- 在 IOTA 的 RocksDB 存储层中使用概率数据结构——Cuckoo filter 和 Bloom filter ——以加速非固态交易检查并减少磁盘 I/O。
- 通过真实场景的区块传播与交易处理仿真,测量延迟与带宽改善情况。
- 探测所有三条区块链的公开节点,收集 ASN 级别的网络拓扑数据,用于安全与韧性分析。
- 使用真实以太坊区块链数据评估 Geth 中 Graphene 的性能,测量消息处理时间与带宽节省情况。
实验结果
研究问题
- RQ1以太坊、Nano 和 IOTA 如何管理对等节点发现、区块同步、传播与存储,其底层协议是什么?
- RQ2在以太坊的 Gossip 网络中,Graphene 和 IBLTs 能在多大程度上减少区块传播的带宽与延迟?
- RQ3在 IOTA 的 Tangle 中,Cuckoo filter 是否能优于 Bloom filter,以减少非固态交易检查的磁盘 I/O?
- RQ4以太坊、Nano 和 IOTA 的公开节点网络在 ASN 层级上有多中心化?这对网络韧性有何影响?
- RQ5将 Graphene 集成到 Geth 中能带来多大的性能提升?其在真实区块链数据上的可扩展性如何?
主要发现
- 在仿真中,Graphene 将区块传播带宽最高减少了 80%,显著降低了消息大小与往返时间。
- 在真实以太坊区块链数据上,Geth 中 Graphene 的实现使平均区块传播消息处理时间减少了 40%。
- 在模拟的交易检查中,Cuckoo filter 表现优于 Bloom filter,支持常数时间删除操作,减少了 IOTA 中非固态交易验证的磁盘 I/O。
- IOTA 网络表现出极端中心化,前 3 个 ASNs(包括 DigitalOcean 和 Contabo)托管了超过 50% 的公开节点,增加了 BGP 劫持风险。
- 以太坊的公开节点分布比 Nano 或 IOTA 更具地理与 ASN 多样性,但仍集中在少数大型提供商中,尤其在前 5 个 ASNs 中表现明显。
- Graphene 中使用 IBLTs 实现了高效、低开销的集合重合,减少了区块传播过程中的冗余消息传输。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。