Equilibrium Infra Bulletin #13: Measuring Robustness of P2P Networks, Intro To Anoma's P2P Layer, and Essential's Definition Of Intents
Equilibrium Labs builds the state-of-the-art of decentralized infrastructure. We are a global team of ~30 people who tackle challenges around security, privacy, and scaling.
This newsletter allows us to share more about what we read, what excites us, and what we think is relevant to the space. In addition, you will get a glimpse into the organization and our culture. You can also find us on Telegram.
If you have 2-mins to spare, we would appreciate feedback through this form!
Following the introduction of our referral campaign in the last newsletter, we have more exciting news: We are collaborating with Token Terminal, a leading blockchain data provider, to give away 5x three-month subscriptions to Token Terminal Pro for free to the top-five referrers by the 21st of December!
The Pro subscription unlocks the full range of features in Token Terminal and enables you to gain a better understanding of the fundamental drivers behind crypto protocols. If this sounds appealing to you - make sure to use the button below and start referring friends and colleagues 👇
Research, Articles and Industry News:
🤓 Measuring Node Decentralisation In Blockchain Peer-to-Peer Networks - Recommended by Niklas:
Every blockchain relies on peer-to-peer (P2P) networking for exchanging data and coordinating tasks among different entities, yet relatively little focus is placed on analyzing the robustness of these networks. Relying on simple metrics such as node count can often give a false sense of comfort in terms of decentralization and hide more advanced attack vectors. This report by Trail of Bits is a great start for anyone interested in learning more about the topic.
The authors in the paper propose NodeMaps, which is an extensible framework to capture, analyze, and visualize data from several popular P2P blockchain platforms, such as Cosmos, Stellar, Bitcoin, and Lightning Network. The analysis mostly focuses on ASNs, geographical locations, and software versions.
Ziggurat (the network testing suite developed by Equilibrium Labs) goes one step further by also providing analysis around centrality (degree, betweenness, and software versions), island detection, and IPS (intelligent peer sharing) on top of the geographical and software version analysis. We’ve previously worked closely with Zcash, XRPL, Algorand, Bitcoin and The Graph. The results of some of these are visible through our dashboard.
Key takeaway: It’s encouraging to see more data and analysis around P2P networks for blockchains, as it’s still a relatively unexplored area. NodeMaps acts as an extensible framework that could be used to analyze different P2P networks, similar to Ziggurat. The paper also raised an interesting idea: introducing a time perspective with P2P node tracking, which would help assess the evolution of blockchain platforms over time and how they respond to various real-life events. Not a bad idea!
📚 A Brief Introduction To Anoma's P2P Layer - Recommended by Hannes:
Communication networks are at the core of every distributed system and blockchains use a P2P overlay to remain decentralized and avoid a single point of control. A P2P overlay creates a logical network of interconnected nodes that don’t necessarily need to be physically adjacent or directly connected. There is no central party that facilitates coordination, but instead, parties rely on their peers (neighbors) in the overlay to exchange information.
Anoma argues that existing P2P overlays are ill-suited for sustainable long-term deployment, as there is a fundamental mismatch between currently deployed P2P overlays and blockchain networks. Blockchains encompass heterogeneity as subsets of nodes possess different capabilities and preferences for latency, bandwidth, and failure tolerance trade-offs (for example light vs full nodes). On the other hand, the P2P overlays (whether structured or unstructured) were initially designed for applications that did not consider the inherent differences between nodes. Among other things, this results in performance deficiencies in heterogeneous environments.
Anoma's approach involves segmenting the overlay into smaller sovereign domains, each operating independently with its internal topology and protocols for data dissemination, storage, and retrieval. Nodes can initiate domains for specific purposes, such as solving intents or anonymous routing. In addition, nodes participate in both intra-domain (for example node discovery to maintain connections with reachable peers in that domain) and inter-domain protocols (maintaining connections to a small subset of nodes from other domains to allow for inter-domain routing).
Key Takeaway: Anoma's P2P overlay architecture aims to accommodate node heterogeneity while retaining the benefits of current overlays through sovereign domains. This enables nodes to initiate domains for specific purposes, such as blockchain-specific or network-specific services.
📚 A (Slightly More) Formal Definition of Intents - Recommended by Joakim:
Intents have been all the rage over the past 6 months and while it’s not a new concept per se, we still lack broadly accepted definitions. Essential proposes the following definition:
An intent is a constraint on the state transition function.
Rather than defining the exact route to get from A to B as with transactions, intents focus on the end-state (where to get to) and user-defined constraints on how to update the state (how to get to the end-state), i.e. constraints on the state transition function. An execution trace is a sequence of ordered transactions that, after execution on some start state, produce an end state.
There exists an objective function that takes an intent and an end state as input and produces a score as output. This score is how we know the optimality of an execution trace, and it is how intent-based protocols may select the most optimal solution to include in the block. However, given the large set of potential states, the challenge with solving intents in a more generalized context is a) whether an optimal path exists and b) whether the solver can find that path.
To make this process easier, Essential is planning to introduce an intent expression DSL called Yurt, which provides a way to construct intents that are naturally gradable and can be evaluated along with an end state to produce a satisfaction score. It also allows the programmer to introduce individual constraints (or build abstractions of constraints), significantly cutting down the search space.
Key Takeaways: Intents are a new and useful abstraction for interactions with a ledger system. Essential’s definition of intents as “constraints on the state transition function” captures that quite well. Solving an intent means finding the optimal path (or sequence of transactions) that produces the desired outcome, which gets difficult with a large set of potential states. Essential’s DSL Yurt aims to solve this by enabling the grading of different execution paths and making it easier to introduce constraints to cut down the search space.
Personal recommendations from our team:
📚Reading: The Egg - Andy Weir: A short story about life and the meaning of it (in a loose sense), that only takes ~5 minutes to read. Recommended!
🎧Listening: Re: Forest - Delta Sleep: New single from British indie rock band, which may or may not have been on loop while writing this newsletter 👀
💡Other: Does The Language You Speak Change How You Think? The short answer is no (at least it’s not empirically proven), yet intuitively it seems to be true… This caused some interesting discussion internally - what do you think?