State channel
Blockchains are limited in terms of how many transactions per second they can process. This depends on the size of each block and the average time required for blocks to be added.
“State channels” are one way to increase the number of transactions a system can process.
When using a state channel, users deposit the funds they wish to make available into a smart contract designed to interact with an off-chain system. The off-chain system keeps track of transactions between parties using secure cryptography and periodically writes balance updates back to the blockchain, updating the smart contract balances of users.
Such a system allows many transactions to be processed rapidly before being written to the chain in a single update, thus overcoming the blockchain bottleneck. It remains non-custodial, since the off-chain system is only permitted to move users’ funds when they instruct it to do so. Unlike a centralized exchange, at no point does a state channel system take possession of a user’s private key.
The Nash matching engine is in effect a multi-chain state channel manager. Users send funds they wish to use for trading to state channel smart contracts. Based on the trades issued by users, the matching engine determines how to update their contract balances, transferring assets from one person to another without ever taking custody of them.