  Over the past decade, the Bitcoin P2P network protocol has become a reference
model for all modern cryptocurrencies. While nodes in this network are known,
the connections among them are kept hidden, as it is commonly believed that
this helps protect from deanonymization and low-level attacks. However,
adversaries can bypass this limitation by inferring connections through side
channels. At the same time, the lack of topology information hinders the
analysis of the network, which is essential to improve efficiency and security.
In this paper, we thoroughly review network-level attacks and empirically show
that topology obfuscation is not an effective countermeasure. We then argue
that the benefits of an open topology potentially outweigh its risks, and
propose a protocol to reliably infer and monitor connections among reachable
nodes of the Bitcoin network. We formally analyze our protocol and
experimentally evaluate its accuracy in both trusted and untrusted settings.
Results show our system has a low impact on the network, and has precision and
recall are over 90% with up to 20% of malicious nodes in the network.
