Permissionless Gossip Layer

Ethereum’s mempool is suitable for propagating well-formed transactions via gossip protocol. We are also witnessing intent-based (UniswapX, CoW Swap, Seaport) architectures take off and become standard for the next generation of dApps and DeFi.

Today, it is not a simple task to spin up an intent-based architecture for your dApp. You need a p2p communication network, or some centralized processing server matching peers. Posting data to Ethereum is an option, but is expensive and sometimes you only want to broadcast a temporary message.

I propose: an open, composable gossip layer secured with restaked ETH. Imagine the user flow: I create a new request-for-quote (RFQ) dApp for simple swaps where users sign intents to buy tokens, broadcast those intents to the gossip layer… counterparties (market makers in this case) scan for gossiped intents, proposing swap terms with the initial broadcaster. Only when a deal is reached (original broadcaster is satisfied with proposed terms) is the settlement submitted onchain.

Each dApp can have its own “topic”, with custom parameters and constraints to fit the use case. For instance, in the example above, there is no reason for any message to last longer than 15 minutes. Also, it may be fruitful to rate limit participants if necessary, and perhaps restricting message format, both as measures to limit griefing. Finally, topics can have varying levels of authorization and restrictions. Think of it as custom-mempool-as-a-service.

I believe this could be used for far more than simple DeFi CLOB dApps. It is useful for rollup communication, cross chain swaps and interop, scaling by pushing execution/matching logic offchain.

EigenLayer comes in by enforcing the nodes participating in the gossip protocol to act according to the rules*, and incentives them to make messages as broadly available as possible (to authed participants, if applicable).

Thoughts?

7 Likes

(post deleted by author)

This is an interesting idea. Wonder if it could be combined with something like Anoma’s execution environment. Among other use cases, An Anoma “intents coprocessor” for Ethereum secured by eth restakers

1 Like

This is definitely a good idea, as the level of decentralization of Ethereum is difficult to bootstrap without its validators. A question worth investigating would be: can slashing be implemented if some nodes do not relay some transactions ? The mechanism could be similar to Ethereum slashing for lack of liveliness.

2 Likes

Hey, eigenlayer dev here. I think about this topic a lot, but I’ve yet to find a great solution.
Defining an objectively slashable set of rules seems impossible, due to classically known problems with asynchronous networking in distributed systems, where its impossible to know whether someone who is not answering/forwarding messages is due to being malicious, or just being down, or the network bein unreliable (https://aphyr.com/posts/288-the-network-is-reliable).

Unclear that we can find negative deterrents (slashing rules), but there could be ways to economically incentivize good participation, etc. Related research you could look at:

3 Likes

Super interesting topic. Would you consider your proposal similar to a lib-p2p on EigenLayer?

2 Likes

Related research you could look at:

I wanted to share additional related research. I’m DevRel at Lava Network - we just recently completed a paper about “Smart Consistency” which attempts a solution to mempool inconsistency on our chain. Admittedly, Lava is cosmos-based and our mempool inconsistency solution is simple. We forcefully propagate nonces to the paired (i.e. pre-selected) nodes that a network user would reach. The context/variables around our implementation are a bit different than what’s mentioned here, but it may provide inspiration for a solution :man_shrugging:t6:

Paper available here:
https://community.lavanet.xyz/t/rsch-1005-smart-consistency/34

1 Like