DeAI Research
Source ·

A libP2P Implementation of the Bitcoin Block Exchange Protocol

2021Barbara Guidi; Andrea Michienzi; Laura Ricci

cid 85471a6638697f6a589b5f7e0c9f8d9c7836ccbdfa4f8615b824dc3607bbd281 · original · via openalex

Title: A libP2P Implementation of the Bitcoin Block Exchange Protocol
Authors: Barbara Guidi; Andrea Michienzi; Laura Ricci
Venue: 
Year: 2021
Canonical: doi:10.1145/3493426.3493822
URL: https://doi.org/10.1145/3493426.3493822
Collector: openalex
OA: false

ABSTRACT
The progressive decentralization of web services brought a need for new instruments to support the development of P2P protocols and applications. The only tools available are network or event simulators, which help the development in artificial or extremely controlled environments. They usually provide low-level support with completely unstructured networks. LibP2P is a library that tries to solve all such problems, letting the users easily deploy nodes on the Internet. It also comes with a set of functionalities, to solve the most important problems of P2P networks, such as NAT traversal, peer and content discovery and routing, and much more. In this paper, we employ LibP2P to implement min-bitcoin, a minimal version of the protocol used by the Bitcoin network to exchange the blocks. We evaluate our implementation to assess the applicability of LibP2P in a real-life blockchain scenario. The evaluation uncovers that setting up communication channels is time-consuming, but data transfers are fast. Additionally, LibP2P efficiently manages cases in which nodes are behind a NAT, under VPN, or in geographically distant places.