Crossroads: Towards a Universal Browser for Deals
Every day, people form agreements with each other to exchange things of value. If you buy a coffee at Starbucks, you are accepting an agreement that states that the vendor agrees to give you a coffee in exchange for payment.
From a customers perspective, this process all seems very mundane. You buy a coffee, and you drink it. What could go wrong? But behind the scenes, many agreements have to be made to coordinate the delivery and production of the ingredients that go into making that coffee.
You would think that in 2017 we would be able to form most of these agreements automatically. But we can’t. The only options we have are to painfully seek out the right markets to trade in, learn exactly how that market represents value, and then manually arrange deals ourselves.
Since the most important function of a market is the efficient exchange of value. I argue that without a universal standard for exchanging value; markets have become more costly to maintain; inefficient at transferring value; and make doing business more complicated than necessary.
What I propose is a new system capable of creating interoperable, smart markets. It is a system that relies heavily on transparency and open standards to operate and it will require a lot of work to achieve. However, if realized, the system has the potential to make markets more intelligent and hyper-efficient.
The road ahead
I’ve been working on a new browser called ‘Crossroads’ to try make this vision a reality. Much like the URL field of a web browser, the Crossroads Browser will allow users to enter a simple name of a market to display its contents.
Here a market represents a shared intention between two or more parties to exchange something of value. But unlike existing software, the Crossroads Browser does not specify how offers should be discovered, awarded, or performed. Instead, markets are designed to highlight differences, allowing for the markets within the Crossroads Browser to be interoperable.
The first market being tested will be for future contracts of quality-assured commodities. Here, the interface is for a fungible asset, but the end goal is to create a general-purpose design that will work for all contracts.
Markets become adaptable
Perhaps the most radical idea behind the Crossroads Browser is the idea of ‘adaptable markets.’ You’ll see that in the screenshots above there are several different profiles for placing orders in the futures market, e.g., “Security expert,” “Privacy advocate,” and so forth.
In this context, the enforcement of a contract is classified across a range of metrics such as risk, cost, privacy, settlement speed, and so on. The same contract can thus be performed using several different techniques.
For instance: it may use a blockchain, a database, a trusted set of mediators, or rely on the legal system for its enforcement. By offering the same contract in many different forms, a market can be adapted to suit the needs of its users.
Protip: Ask yourself why there are two wallets in the UI.
The idea of classifying contract enforcement will also help to make markets safer and encourage new innovation. And it may also provide a better way to compare the technologies offered by different providers.
But why stop there?
It would be nice to give users a more straightforward way to compare different assets, and given the often subtle differences between markets these differences are important to capture. To help encourage the adoption of new standards, all of this work will be open source.
There is a stunning lack of high-quality software available for exchanging value between markets (exchanges, marketplaces, websites, and so on), and that problem is an easy one to solve with a well-designed system.
The project is still in its infancy, but source code will be released under an open source license in the coming days to help develop interest.
Hoodoo — a new language for offerings
Another thing I’ve been working on is a new language called ‘Hoodoo’ that will form much of the logic behind making smart markets work. Hoodoo is a new language for expressing the intentions behind a deal, and it differs substantially to how contract languages like Solidity work.
With Solidity, developers express precisely how a contract should be carried out, and the contract becomes their best attempt at expressing their intentions. Hoodoo, in contrast, is all about expressing intentions, and relies on using whatever contracts can safely satisfy them.
Hoodoo is more powerful than Solidity because it is not limited to where or how contracts get performed. Instead, it can adapt to the needs of the user and will allow for more complex, cross-market agreements to occur. Another benefit to this approach is that Hoodoo can work with all systems. Not just blockchains. So it is much more general-purpose than Solidity.
Protip: Hoodoo isn’t magic though, and cannot carry out the deals by itself.
Ten examples that are possible with Hoodoo
1. More liquid exchanges
Markets in the Crossroads Browser are designed to be interoperable, so it is possible to share liquidity between them. It’s possible this will provide a much-needed boost to fringe markets like decentralized exchanges.
2. Cross-market routing
Markets will be able to accept more currencies by forming contracts with other markets. The same technique can be used to create routers for moving value efficiently between markets, potentially via a large number of complex, cross-market agreements.
3. Poormans scalability
One spin on a cross-market routing system is to create a payment system where the transfer of value from a set of assets is equivalent. The use-case for this is in blockchain scalability where payments are distributed among a group of different blockchains based on the available TX capacity in each.
4. Blockchain compatibility
Of course, cross-market contracts also mean that blockchains receive a new compatibility layer by default. If a market needs to work with an incompatible asset, it can swap it out for something else that works, or connect with another market that can form an agreement on its behalf.
5. Resource sharing and specialization
Because there is a lot of duplication in markets, a better way to share resources between them would improve quality. As an example, consider just how many blockchain projects rely on mediators to work. There could be a whole market whose sole purpose it was to offer more secure, general-purpose mediators (immune to Sybil Attacks and collusion.)
6. Attribute markets
The enforcement of a contract has different trade-offs, and in adjustable markets, the enforcement reflects the preferences of the user. Theoretically you can speculate on these preferences like any other market.
Suppose there are two markets for Bitcoin currency exchange. One offering a fast, centralized service and the other providing a slow, high-security decentralized service. When a centralized exchange gets hacked, we may see the preference for more secure contract performance increase.
Attribute markets can be used to take into account vast amounts of information when it comes to a markets preference for different technologies.
Protip: See if you can figure out how this works from the UI screenshots.
7. Smart supply chains
Interoperable markets work well for fungible assets like financial instruments. But when it comes to trading unique goods, there is a need to have high-quality information on its origins and make-up. Ambrosus can help to solve this problem by making products more transparent, but that alone is not enough to make markets smarter.
Ideally, what we want to have is a way for data scientists to be able to access the information created in supply chains so they can create models that indicate the risks of accepting different agreements. A Hoodoo program can then use these models as a simple way to save money or as a way to choose between competing agreements.
Protip: Incentivized, Bayesian correlation markets for crowd-sourcing intelligent fraud and integrity detection in smart markets would be useful indeed.
8. Smart stores
A smart store could model consumer expectations and use them to match their purchases automatically. Only specific products would be suitable for display in a smart store (as personal taste is hard to measure), but many goods could still be sold/matched automatically.
9. Economic simulations
Not every economic model is equally good at producing quality products. In markets where the margins are too low, and the competition too high — a situation can arise where the only way to stay profitable is to cheat.
The way blockchains solve that problem is to tightly regulate the supply of goods to keep incentives aligned for producers, and help ensure that the quality of goods remains high.
But in practice, this may also work for other kinds of markets —e.g. a storage-based stable coin may provide a more reliable service than a market that allows for an over abundance of resources to crash the price.
If we combine this idea with smart stores, you may end up with a model that can keep prices higher for sellers while offering customers a superior service.
10. Autonomous businesses
Vitalik and others have imagined a future where corporations are run “autonomously” on the blockchain, presumably by a mesh of inter-connected contract markets, together with the intelligent agents who operate in them.
In reality, this vision is unlikely to occur using blockchains alone - as they are unsuitable for many types of agreements and they lack the means to interoperate well with other systems.
A formalization of markets and value transfers would solve this problem, and provide a much better way to run autonomous businesses.
11. (Bonus) Smart house example
- Hire a cleaner in a cleaning market.
- Give them access to a home via a smart lock.
- Hire a marketer to promote the house via a freelance marketplace.
- Sell the space in the front yard to urban gardeners in exchange for a small portion of food. If the market doesn’t exist, hire marketers to create it.
- Lease the house to people and offer a discount on their bond in exchange for an hour of their time per week.
- Use 1 hour of their time to preserve the urban gardeners’ food.
- Hire a marketing firm to find the first 100 customers.
- Reinvest money from the rent to scale outreach based on profit margins.
- Optimize the performance of the code for these agreements based on a trustless performance improvement market.
- Sell some of the roof space to solar energy investors .
… All of this occurring automatically across markets as a Hoodoo contract.
Other examples of Hoodoo
“Find me a supplier for X that ships within Y.”
“Execute currency exchange of X for Y with high security.”
“Use the mediator market for dispute resolution of X.”
“Find me a supplier for an item with X qualities.”
“Buy storage for the decentralized storage market and use that storage to store the results of this agreement.”
- Smart markets are markets that are transparent, open, and interoperable, and may, in turn, consist of other smart markets. A smart market helps to make value more liquid by being interoperable.
- The first smart market will be for commodity futures but there are no limitations on what other markets to support.
- The Crossroads Browser is what people will use to access smart markets and will act as a simple web interface.
- Hoodoo is the language that programs will use to interact with smart markets automatically. It allows for more sophisticated agreements.
- Ambrosus is at the heart of this system and will provide the needed information on the quality of goods in different supply chains. Intelligent agents can use this information to select deals with more reliability.
The result of this work will probably lead to hyper-efficient markets that are combined to produce a new kind of emergent intelligence. But there is still more work ahead before Skynet can be finished. Until then, you can look forward to using some cool software in the future.