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.
|Titolo:||A libP2P implementation of the Bitcoin block exchange protocol|
|Anno del prodotto:||2021|
|Appare nelle tipologie:||4.1 Contributo in Atti di convegno|