July 14, 2023

Decentralising the trade supply chain

tl;dr

  • Economies of scale centralize the trade supply chain: Lack of standards and resulting complexities create economies of scale for solvers, searchers, builders, LPs, and DEXs – which pushes each to centralize.
  • A centralized trade supply chain makes defi fragile: Defi (swap, lend, leverage) is built on swaps. A centralized trade supply chain would be fragile and open to censorship and extraction, no matter how decentralized the underlying protocol.
  • Simplify solving, LPing, and trading: To have robust and efficient financial rails, we need to decentralize the jobs in the trade supply chain by making them simple enough for small teams to compete.

Complexity centralizes the trade supply chain

If you follow the trends in solving, market making, and block building, you’ll notice that the trade supply chain is centralizing.

This is not inevitable. Centralization builds on economies of scale that arise because the jobs of many of the participants in the trade supply chain are too much effort.

The solution is to simplify those roles enough, such that independent operators can compete. This will preserve diversity, decentralization, and the capacity to innovate in solving, searching, block building, DEXs, and the dapps that build on them.

In this article, we aim to trace the root causes and limiting assumptions that lead to the current complexities in market making, solving/searching, and onchain trading.

Complexity centralizes market making

As their name implies, automated Market Makers (AMMs) sought to make market making so simple that anyone could become a market maker with one action — "deposit".

But since Uniswap v2, it's been more complex: Now you either need to invest a lot of effort to manage your liquidity position – or use another layer of automation.

Meanwhile, (active) market makers gain more share in defi trading volumes. Notably, a few teams - not a diverse set of players - win most of the flow.

Market making tends to centralize because doing it well is hard. 

An overview of what makes market making hard:

  • Trade across many markets: Liquidity is split across many markets, on- and off-chain, between spot, futures, and perps. You need to manage inventory and hedge across all those markets to offer the lowest spread (and win the most volume). You build and maintain many integrations to compete and efficiently manage inventory and risk.
  • Protect against toxic flow: To avoid losing money, you white- black-, and grey-list (dynamically adjust their spread), takers. This requires continuous monitoring and heuristics.
  • Win latency races: Knowing the most up-to-date price (from CEXs and DEXs) and executing a trade are both latency races. The smaller your latency, the tighter the spread you can offer, and the more flow you win. Latency optimization is never done. You continually optimize disparate components: Network, compute, and BD deals.
  • Grow liquidity and pay low fees: You can only serve trades up to your liquidity on a venue/chain. And the fewer fees you pay (e.g., higher CEX tier), the tighter you can quote, and the more flow you win.

These barriers create a flywheel that makes it easier for the winners to keep winning and harder for new market makers to enter (including AMMs).

But this doesn’t have to be the case.

Market making can be simple

Usually, the story ends here: Market making is both necessary (to incorporate signal) and hard (you need liquidity, low latency infra, risk management and integrations) – so we cannot do without it.

However, market making is not complex because of the nature of the job – the way predicting protein folding is complex – but it’s hard mainly because of zero-sum competitions, encouraged by flawed market design.

Markets are flawed in primarily three ways:

  • Time-priority: Time-priority (or priority ordering) leads to latency races, and is the main reason for toxic flow and market-crossing being complicated.
  • Lack of standards: Exchange interfaces (both off- and on-chain) being heterogeneous makes market-crossing harder than it needs to be.
  • Lack of coordination: Lack of efficient coordination amongst smaller players makes having a lot of liquidity an advantage.

The essence of market making is simple: Provide liquidity, at market price, and add a spread to cover your cost of capital. If two markets differ in price, buy from one, sell on the other.

The rest of the job is a competitive and adversarial game created by market design flaws – that add nothing to the end user (in the form of e.g., a better price). 

Complexity in onchain routing and searching

What makes market-making complex is (at least since Flashboys) not a big mystery.

But what makes solving and searching hard, and what separates the best from the rest – is less commonly known.

Let's break down what makes solving hard:

  • Index liquidity: The single most effortful task for solvers is integrating every DEX, lending, staking, stablecoin vault, and market maker. Integrate meaning to understand the protocol's internals (including its math) and how to map logs and storage slot updates to price and swap functions.
  • Routing: Designing and scaling the algorithms that efficiently combine orders, and route and split over pools – is a hard problem. Harder still if you only have a few hundred milliseconds.
  • Relationships: Solving is also a lot of BD. Get auctions to whitelist you, wallets and aggregators to integrate you, traders to trust your API, and builders to make deals with you. Get audits, pay bonds, and build a brand – to get invited to opportunities.
  • A thousand small things: Every auction, chain, and execution environment has idiosyncrasies and design flaws. Many result in sub-games about something other than giving users a better price. This takes time to learn, adapt to, and manage.

If Solving is complex – then intents will centralize

Intents are here to stay. Most new DEXs, bridge, and cross-chain architectures build explicitly with solvers in mind.

However, solving is already hard. Adding inventory management, searching, or market making as additional jobs for single solver teams to handle – is unrealistic for most solving teams.

Protocols that expect solvers to combine all those roles will have difficulty bootstrapping enough solvers – and might have to tolerate centralization.

Small DEXs can't win integrations

Anyone other than the largest DEXs is struggling to win flow.

Many DEXs with promising designs do not get the TVL and flow that their design might merit.

Besides the obvious (brand, marketing, resources), one reason is that anyone, even the largest DEXs, struggles to get integrated into orderflow sources.

Solvers and routers can just about keep up with the largest liquidity sources. But they can't find time to integrate and learn the intricacies of smaller DEXs.

Univ4 hooks alone, even if there will be just 5-10, is months of integration work.

So, big DEXs get integrated and get more flow, and the smaller DEXs don't. With less flow, there are fewer returns for LPs, and so LPs leave. Less liquidity in a DEX worsens the prices and cycles smaller DEXs to even less flow.

So, in an ecosystem where you need integrations to get flow – but you only get integrations if you already have flow, liquidity, or brand – small or new DEXs have little chance to compete.

Trading is too complex – which drives traders off-chain

Trading UX being bad onchain sounds like old news. But we won't talk about the pain of bridging or accounts – but about the flawed assumptions behind trades.

Today, we provide order types that resemble what professional traders use in tradfi. However, our execution infrastructure is very much not like tradfi and has different goals (no central dependency, open access, transparent execution).

As a result, we have an environment that is neither easy to use for retail traders nor fit for professional traders:

  • Too many parameters: Traders need to set slippage, gas, limit price, choose urgency, and check up on order execution.
  • Too much context: Traders also need to model, at least implicitly, block-times, market volatility, priority fees, and any MEV attack vector, like the cost of transparency of trades.
  • Too unfamiliar interfaces: For professionals, AMM curve math, MEV bundling, priority fee prediction, even running a block builder – is far too steep a learning curve for any but the most curious and determined firms.
  • Compliance uncertainty: Lack of compliant exchanges, audit logs, and trade guarantees make it impossible for larger funds to trade.

No wonder – so much trading happens through intermediaries that take custody and provide familiar and simple interfaces (CEXs, OTC desks, and Telegram bots).

To decentralize – let's simplify

Avoidable complexity not only wastes resources in unproductive games but it also fuels economies of scale that favor centralization.

A centralized trade supply chain will be fragile and open to censorship and extraction.

Perhaps worse, it will stifle innovation – as the steep barriers to entry make it impossible for new designs to bootstrap.

This defi would not be meaningfully different from tradfi.

A healthy decentralized financial ecosystem needs a decentralized trade supply chain.

The path to decentralization is to simplify.

What a simple trade supply chain looks like

A healthy decentralized trade supply chain would have:

  • Passive LP: Those with the lowest cost of capital (e.g., long-term holders) provide liquidity to the market. Liquidity provision is "single action" and low barrier to understand, and simple enough to be automated. Many provide liquidity.
  • Open to innovation: DEX developers with new designs can get equal access to order flow and bootstrap traction if their design merits it. Individual contributors anywhere in the trade supply chain can improve on specialized components – and get flow.
  • Easy trading: Markets are simple to grok and favor optimal user outcomes by design. Markets incorporate signals at cost (known signal, like arbitrage, is resolved cheaply – novel signals are rewarded) – and do not leak value. As a result, most trades are done by directional demand (buyers and holders) – and trading fees are negligible.

As a result, the trade supply chain would be both efficient (cheap and fast), as well as robust (decentralized, open, trustless).

Building the decentralised trade supply chain

Complexity might permanently centralize the trade supply chain – leaving the door open to an extractive, brittle, censoring and stagnant ecosystem.

Our focus is to change the course and decentralize the trade supply chain, by simplifying market making, solving and trading.

Over the following few days, we will contribute three pieces to this puzzle:

  • A standard to counter liquidity fragmentation.
  • A tool to streamline coordination between solvers and liquidity sources.
  • A new market without latency races and trust assumptions.

Keep Reading

The next steps in DEX design

DEXs are still behind CEXs volume - but in the next iteration that might be the past.
Read More

Arbitrage loss and how to fix it

AMM LPs suffer heavily from arb loss. A detailed view at the 3 types of arb loss and how to fix them.
Read More