Fetch is designed to make economic exchanges autonomous, more efficient and friction-free. As usage of the network grows there will be increasing numbers of agents utilising the infrastructure to negotiate and complete trades with other agents. It will quickly become an incredibly complex web of interactions, generating a vast number of transactions. Part of the engineering challenge is ensuring this activity can be handled as efficiently as possible, by grouping network participants effectively.
We’ve previously covered the core concept of resource lanes in the design of the scalable ledger. Resource lanes (also known as shards) allow the Fetch network to scale by enabling certain transactions to be executed in parallel — so long as they do not use the same computational resources or lanes.
An example showing how effective use of resource lanes can improve overall performance
A transaction that only involves resources from lane two can, for example, be executed at the same time as a transaction that only involves resources from lane three since the two transactions involve a non-overlapping set of wallet addresses and state variables.
The diagram above shows this. If a transaction relates to New York and Shanghai, but not to Tokyo, and another separate transaction relates only to Tokyo, then we know we are safe to execute those transactions in parallel. This is illustrated in the fourth column of the diagram.
Before we can get to this point, Fetch must encourage participants i.e. the people or agents initiating the transactions, to ‘correctly’ group themselves into specific resource lanes in the first place. By grouping together the participants that frequently transact with each other, the system can achieve greater throughput as a larger number of transactions can be executed in parallel. This is where market intelligence and smart wallets come in.
As Fetch is a decentralised system, there is not a central entity that decides which resource lane a transactor should operate in. Instead, we’re building this logic into the smart wallet software so that the participants self-organise dynamically as a consequence of the incentives that are applied to them.
Our objective is to group agents that regularly transact with one another into the same resource lane. For example, agents in London are much more likely to do business with other London agents, so we would like to group them together. By the same logic, agents operating in London’s energy market would be grouped together into a resource lane once there is a sufficient number of them to warrant it. As the number of network participants increases and the number of marketplaces rises, we expect the number of resource lanes to grow to cover increasingly niche markets. We group resource lanes in this way because it contributes significantly to the overall efficiency of the system.
A self-organising system: smart wallets and the right incentives
In order to achieve optimal performance, we have two major tools to encourage those transacting to self-organise into the correct resource lane. Firstly, we’ve designed the incentive structure specifically to encourage transactors to group together into a common resource lane with their peers. This is achieved by levying higher fees on transactions that use several lanes. Put another way, if for some reason an agent decides to join a resource lane that is distinct from its typical trading partners, the fees it pays to use the system will be higher than they would be if it joined the correct lane. Structuring the incentives in this way ensures the behaviour of agents and actively supports high performance of the overall system.
In the Fetch digital world, wallets are ‘smart’. It’s the ability of the agent or user’s wallet to communicate with a node on the network that ensures the agent understands the cost of any given transaction (based on the resource lanes it will use and the load it is under). The wallet then connects to the optimum resource lane (or shard) to minimise costs. For example, if an agent is regularly transacting with other agents in London energy markets, that agent’s tokens are moved to a particular wallet address in London. This process is fully decentralised and occurs automatically without input from the user.
This capability is important and ensures the Fetch network can scale efficiently into the future, while simultaneously contributing to the formation of new and dynamic markets. Different dimensions such as geography and industry type are represented in the network, and with increased usage, the intelligence of the overall market will also rise. As a result, it becomes increasingly easy for agents that trade with one another to share the same digital space.