May 27, 2022
Introducing Multi-Transaction Mode (MTM) aka Speedy Game Mode
The SKALE Network is pleased to announce the introduction of Multi-Transaction Mode (MTM), otherwise known as Speedy Game Mode.
Unlike monolithic chain networks where one size fits all, SKALE Chains share a common structure and pooled security, but are able to work as independent chains. This gives them the ability to operate with custom features and capabilities making them more flexible, configurable and ultimately more scalable. This is a key function of SKALE’s modular multi-chain architecture.
One great example of the customizability of SKALE Chains is the ability to run in either multi-transaction mode (MTM) or sequential/serialized mode. With this new release, SKALE chain owners are now able to choose between the two options when setting up their chain.
Multi-transaction mode lets users submit streams of transactions to the network without waiting for prior transactions to finalize. Transactions submitted to the network are sent and processed by the network concurrently. This multi-transaction mode on SKALE is also called “speedy game mode” as it is frequently used in gaming applications.
Sequential or serialized mode (i.e. finalizing one transaction prior to processing another one) might be used in situations where fast speeds aren’t required or where transaction sequencing is important. It can also be used where rate-limiting is desired. Trading applications are a great example, where a dapp would want to prevent multiple trading actions from being submitted to the network within the same block proposal. Because of the way block proposals and consensus processes work, however, these transactions may not appear on chain in sequential order. Games on the other hand, can work differently where recording the actions takes precedence over the order of events, which is not critical to the nature of the game play.
Technical Details of SKALE Transaction Modes
Utilizing this mode, developers can send transactions with nonce increments that get placed into a queue and are submitted to the chain by nonce increments. More than one transaction (multiple sequential nonces) can be sent to a SKALE Chain without reverting and can be validated in blocks.
In other words, once a transaction with current_nonce is imported to the transaction queue, the system looks further into the user transaction queue and can include a batch of k transactions with a contiguous range of nonces [current_nonce+k, ... current_nonce+2, current_nonce+1]. To prevent system and memory overflow, the total size of the transaction queue is limited to 16384 transactions. Newly submitted transactions are rejected from the queue once this limit is exceeded.
With this mode, developers rate limit their applications to send one (1) transaction per account per block. If a user sends a transaction that is not the next nonce, the SKALE Chain reverts it (i.e. sending 2 account transactions in a single block causes the SKALE Chain to mine the first and revert the second transaction)
SKALE's modular and extensible framework gives developers the flexibility they need for a variety of different use cases. By utilizing the new multi-transaction mode, developers have even more tools at their disposal for creating the right user experience for their needs and goals.
SKALE is an Ethereum native multi-chain network composed of an unlimited number of secure, decentralized, high-performance blockchains for bringing NFTs, DeFi, and Web3 to billions of users. SKALE’s highly configurable platform was built to support an ever-expanding set of Dapp-specific chains that run without centralized dependencies. Plus, SKALE’s unique pooled security system and containerized node architecture enable developers to deliver a high-speed, seamless user experience without gas fees or latency.
SKALE’s open-source platform provides quick consensus with fast block times and instant finality and includes EVM compatibility, on-chain NFT file storage, rollup contract execution, zero-cost minting, and gasless transactions, and machine learning smart contract functionality.
For more information
Dapp Developers interested in utilizing SKALE for a project, please apply to the SKALE innovator program.
Documentation on deploying a Dapp to SKALE can be found in the Developer Portal.
To learn more about the SKALE $SKL token, please visit our SKL Token page