We are very excited to release an alpha implementation of the Sprawl network. Sprawl is a peer-to-peer protocol and network for creating distributed marketplaces. It serves as neutral and open infrastructure for anyone building a marketplace.

Marketplaces & Monopolies

Marketplaces are the backbone of our entire economy, facilitating commerce on all levels. The business model of many of the largest technology companies relies on a marketplace of some kind. Google and Facebook provide a marketplace for ads. Amazon is a marketplace for digital and physical goods. Apple’s App Store is a marketplace for mobile applications.

Marketplace businesses at scale are very lucrative. They have incredibly strong network effects and at scale often tend towards monopolies. Once you’ve become the leader in any marketplace vertical, be it financial exchange or selling books, it’s very difficult to lose that position.

At the same time, it’s very easy for the marketplace owner to compete against its third party vendors. We see this happening with Apple offering an alternative to Spotify in Apple Music and Amazon undercutting the prices of third party sellers with their own products. Simultaneously, the owner of the marketplace can extract incredible amounts of value, without offering anything new. Such is the power of network effects.

We think this sucks.

Marketplaces would offer far greater value to humanity if they weren’t owned and operated by profit-seeking corporations. This is why we built Sprawl:

Sprawl can facilitate an explosion in ownerless peer-to-peer marketplaces, where network effects do not result in monopolies.

The Sprawl Network

Sprawl is a peer-to-peer network for creating and co-ordinating distributed marketplaces. The network is intended to function as neutral and open infrastructure for any distributed marketplace. The network is generic by design. The trade execution, settlement and security models are left to the application layer and Sprawl focuses on standardising the order format, the API and the networking. This allows Sprawl to be blazing fast.

Alpha functionality includes:

Automatic peer discovery and order propagation

Create, find and join channels (A channel is a marketplace or asset pair)

Create and remove orders in a channel

The alpha node is implemented in Golang and uses a Kademlia distributed hash table for peer discovery, Libp2p for networking and LevelDB for storage. The network is sharded by channel, so each node only stores orders from channels they are subscribed to.

You can find the full code-base and a guide to connect an alpha node to the network on github.

Experiments

This technological foundation allows developers to begin experimenting with a wide range of marketplace configurations and use-cases.

For example, you could build:

A completely permissionless decentralised exchange.

An escrow based cross-chain exchange.

A permissioned marketplace for non-fungible tokenised art.

A marketplace for idle storage or compute.

And much, much more.

With Sprawl, developers can choose which aspects of their marketplace need to be completely permissionless and which don’t. They can choose to trust a third party escrow service or rely on trustless atomic swaps. Different use-cases require different properties.

We believe this flexibility is crucial. If we want all marketplaces to run on the same common infrastructure and interoperate smoothly, the infrastructure must also be flexible enough to support the full spectrum of configurations.

Onwards

The release of the Sprawl network alpha is only the first step on the path to creating a global, ownerless marketplace ecosystem. We couldn’t be more excited about the journey ahead.

Next we’ll be focusing on:

Further improving documentation and bug fixes.

A number of reference marketplaces, which include generalised modules for security, trade execution, etc.

Helping companies and developers get started with their own marketplaces.

If you’re interested in getting involved check out the code on Github and join the conversation on Gitter.

Stay up to date with our progress via the blog or website.