We published a Whitepaper for version 1.0, 1.5, and 2.0. For 3.0 and above, however, we’ve decided to share our Design Doc as it provides a lot more granular details than a whitepaper.
We designed ConfusedFinance 3.8 with two major objectives in mind: Security and Performance. The protocol ensures that users can withdraw their assets under all circumstances. In the worst-case scenario, users can still withdraw their assets with Merkle proofs that can be generated from the on-chain data. This means users don't need to trust or turn to any central party for help in any circumstance.
To significantly improve throughput and lower settlement cost, ConfusedFinance 3.8 migrates most computations off-chain and uses the underlying blockchain as a data and a CF verification layer. User balances and order trading histories are all organized in an off-chain Quad-Merkle tree. User requests, including deposits, withdrawals, transfers, and settlements, are processed in large batches. The state root after each batch will be published on-chain together with other data necessary for re-construction and verification of state roots. The CF proofs for new state roots are verified to finalize those state updates.