Like many other centralized trading platforms, Everstrike is looking to decentralize. The decentralization will be entirely additive - no breaking changes to the centralized version of Everstrike will be made. The centralized version of Everstrike will continue to work just as it works today - however, users will be able to opt in to a more decentralized version of Everstrike, should they wish to do so. Ultimately, Everstrike will split into two separate parts: A centralized custodial part, and a decentralized non-custodial part. Users will be able to use the same account for both the centralized and the decentralized part, and will be able to seamlessly transfer assets between the two.
This blog post outlines the 3 phases of Everstrike's decentralization process.
In phase 1 of Everstrike's decentralization process, user balances will be split into two parts: an off-chain balance, and an on-chain balance.
The on-chain balance is non-custodial - users can withdraw their on-chain balance at any time, regardless of whether Everstrike exists or not. No interaction with Everstrike's centralized server components is required.
New deposits automatically credit the on-chain balance.
In addition to the on-chain balance, each user on Everstrike also maintains an off-chain balance. After depositing, users can optionally choose to transfer some of their funds to this balance.
The off-chain balance makes it possible for users to interact with Everstrike's centralized server components.
The off-chain balance is custodial. Funds stored in the balance are distributed across several cold wallets - all of which are controlled by Everstrike. If Everstrike mishandles any of these wallets, the funds could be at risk.
In Phase 1, off-chain balances will be required for almost everything. Since the trading infrastructure of Everstrike (matching engine, risk management engine, clearing system) is still 100% centralized, users will not be able to use their on-chain balance for trading.
Users can, however, leave funds, that they are not actively using for trading, in their on-chain balance. This ensures that this particular part of their funds is not subject to counterparty risk.
Transferring funds between the on-chain balance and the off-chain balance is near-instantaneous and does not incur fees (blockchain transaction fees are subsidized by Everstrike).
Consistency between off-chain and on-chain state is achieved through the two-phase commit protocol (2PC). To minimize transaction fees associated with updating on-chain state, updates are batched.
In phase 2 of Everstrike's decentralization process, key components of Everstrike's centralized server architecture will be duplicated on-chain.
This broadens the use-case of the on-chain balance, which previously could not be used for trading. Now, order margin can be debited directly from the on-chain balance, enabling users to trade with funds that they keep on-chain.
Trust is not completely removed, however, as several of the components in Everstrike's trading architecture will not yet exist on-chain. Most notable of these is the matching engine, which will continue to work in a purely centralized manner. Only in phase 3 will the matching engine be duplicated on-chain.
Transfers between on-chain and off-chain balances will remain instantaneous and free, allowing users to seamlessly transfer funds between the two, and take full advantage of both on-chain and off-chain infrastructure.
Phase 3 marks the end of Everstrike's decentralization process. All major components in Everstrike's trading architecture will have been duplicated on-chain, and users will no longer rely on the centralized infrastructure maintained by Everstrike.
The primary Everstrike front-end (https://everstrike.io/app) will continue to work with both on-chain and off-chain infrastructure, and will continue to allow seamless transfer of funds between the two. Users will be free to choose the environment they want to trade within (centralized or decentralized), and will be able to allocate funds to both environments, based on their needs and risk preferences.
In addition to the primary front-end, a number of additional front-ends will emerge - all of which will integrate with the smart contracts that make up Everstrike's on-chain infrastructure. This ensures that users of Everstrike will always be able to trade, regardless of whether the primary Everstrike front-end is available or not.
At the end of phase 3, the maintenance of the decentralized part of Everstrike's trading infrastructure will be delegated to a DAO. Everstrike will continue to be responsible for the maintenance of the centralized part, and will continue to maintain ownership of the Everstrike brand.