High Level Protocol Description
The Ontropy Virtual Rollups protocol aims to optimize user interactions and reduce transaction costs for a wide range of Web3 applications, including gaming platforms, trading systems, swaps, and other multi-step applications that can be encapsulated within a session. The protocol focuses on achieving efficient and secure execution of multi-step operations, significantly reducing transaction costs and user interactions typically associated with such activities in the Web3 platform.
Benefits
- 1.Improved user-experience (1 click CEX/web2 game inputs needed — no additional Metamask confirmations)
- 2.Reduced latency. Finality at the speed of the user’s internet
- 3.Reduced gas fees. Buying in and cashing out are only on-chain interactions. Game states, trades, etc. are bundled.
- 4.Improved brand retention — user funds are associated with the protocol
- 5.Verifiable randomness - users validate and generate data. The first provably fair randomness scheme with transparency
- 6.Elimination of oracles. External data, like prices and sports data, is user-validated.
- 7.Cross-chain interoperability - users can stake collateral on any chain, so users from EVM and outside of EVM can trade and play with each other without friction.
- 8.Unlimited compute
- 9.Fully decentralized and secure
- 10.No user installations or additional frictions. Minimal developer integrations required
Protocol General Description
The following sections outline the main steps of the protocol:
- 1.Rollup Initiation and Fund Locking: The protocol begins with the initiation of a rollup session by locking a required amount of funds in a smart contract. These funds serve as buy-ins for games or the amount necessary for trading operations. Upon successful initiation, the protocol generates a unique Rollup ID, marking the start of a new session, and provides a list of participants.
- 2.Distributed Key Generation (DKG) Process: Participants involved in the rollup engage in a Distributed Key Generation process off-chain. Ephemeral keys linked to the users’ private key are generated. This step ensures secure and fair distribution of cryptographic keys among the players, essential for maintaining integrity and trust within the session. The DKG process involves the following steps:
- 1.Accumulator Setup: A cryptographic accumulator is initialized, which acts as a data structure to efficiently store and verify a set of values.
- 2.Accumulator Key Generation: Each participant generates a cryptographic key pair consisting of a private key and a corresponding public key.
- 3.Participant Registration: Participants register their public keys with the accumulator, establishing their presence in the rollup session.
- 4.BLS Signature Setup: The participants collectively generate a BLS signature key pair using a secure distributed protocol. This involves each participant contributing their private key share without revealing it to others.
- 3.Session Operations: Within the session, participants perform numerous operations, which can include generating multi-party randomness, placing bets, making game moves, executing trades, and more. These operations are conducted while maintaining the security and integrity of the rollup session. Operations are mostly performed off-chain with the use of the SDK. Fallback mechanisms are implemented on-chain to maintain security in the edge cases.
- 4.Zero-Knowledge Proofs (ZKPs): Zero-Knowledge Proofs are employed to validate the correctness of computations performed during the session. ZKPs ensure the truthfulness of each operation without revealing the underlying data, providing a layer of privacy while maintaining trust. SDK and the smart contracts implement all necessary ZK proofs in a highly secure and efficient fashion.
- 5.Balance Updates: As a result of the operations and computations performed during the session, participant balances, scores, states, etc., within the rollup's memory are updated accordingly. These updates reflect the progress and outcomes of the activities within the rollup session.
- 6.Session Signatures: Each stage of the rollup is authenticated by the signatures of each participant. This additional layer of trust and verification ensures the integrity of the session's progress and outcomes. Configurable BLS signatures are used.
- 7.Cash-Out Request: When a participant wishes to conclude their participation in the rollup session (known as "checking out"), they must submit a cash-out request. The participants collectively sign this request using a BLS signature method to indicate their agreement with the conclusion of the session. The cash-out request includes final balances, winnings, rewards earned, and any other relevant information from the session.
- 1.BLS Signature Generation: Participants utilize a distributed signature technique to generate a BLS signature for the cash-out request. Each member contributes their respective private key share without disclosing it to others. These private key shares are combined using an algorithm to produce a single compact BLS signature.
- 2.Signature Verification: The rollup protocol verifies the legitimacy of the cash-out request by checking the BLS signature. This ensures that the cash-out request is authorized and agreed upon by the participants.
- 8.Fund Unlocking: Finally, the user submits the signed cash-out request to the smart contract.
- 9.Edge Case Resolution: Protocol implements a number of safeguards to ensure user’s fund safety in case of the Rollup abandonment or other unexpected circumstance. Learn more in the Virtual Rollups Litepaper
Virtual Rollup Litepaper.pdf
412KB
PDF
Ontropy Virtual Rollup is implemented as a holding smart-contract on Ethereum and Polygon. It implements funds locking, unlocking and necessary verification steps. Ontropy SDK is a powerful cryptographic library for WebAssembly (WASM) with TypeScript and JavaScript wrappers, focused on secure implementation of all of the mentioned functions. This library can be used in any WASM-compatible environment, including mobile and desktop browsers, native IOS and Android apps. Designed for easy integration, this library is under active development, and as such, its features and API are subject to change. We welcome feature requests and community input to improve and expand the SDK.
Main Features:
- Cost Optimization: The protocol minimizes user interactions and transaction costs for Web3 applications, making it suitable for gaming platforms, trading systems, swaps, and other multi-step applications.
- Rollup Initiation: Users can initiate a rollup session by locking a required amount of funds in a smart contract. This provides a seamless and secure way to participate in activities within the rollup.
- Distributed Key Generation: The protocol ensures secure and fair distribution of cryptographic keys among participants through an off-chain Distributed Key Generation process. This process maintains integrity and trust within the session.
- Zero-Knowledge Proofs: Zero-Knowledge Proofs are used to validate computations performed during the session without revealing underlying data. This ensures privacy while maintaining trust in the integrity of operations.
- Balance Updates: Participant balances, scores, and states are updated within the rollup's memory as a result of session operations. This reflects the progress and outcomes of activities within the session.
- Session Signatures: Each stage of the rollup is authenticated by the signatures of participants. This adds a layer of trust and verification to the session, ensuring the integrity of its progress and outcomes.
- Cash-Out Request: Participants can submit a cash-out request to conclude their participation in the session. The request includes final balances, winnings, rewards earned, and relevant information. BLS signature generation and verification ensure the request's legitimacy.
- Fund Unlocking: Signed cash-out requests are submitted to the smart contract, leading to the unlocking and transfer of funds back to the user's account.
- Consensus Mechanism: The protocol achieves a collective agreement on the data within a rollup session, ensuring a consistent view of the session's state and outcome for all participants.
- Scalability and Dispute Resolution: The protocol considers scalability by providing fallback mechanisms for verification and the option to engage other rollups as impartial arbiters in case of disputes.
- Configurable Consensus: The protocol offers high configurability, allowing for the selection of an appropriate consensus mechanism based on the specific requirements of the rollup.
- Ontropy SDK: The protocol provides an SDK (Software Development Kit) with native libraries for various platforms, facilitating easy integration and optimal performance.
These features collectively enable efficient, cost-effective, and secure execution of multi-step operations within the Ontropy Virtual Rollups protocol.
Native libraries for various platforms: Available upon request, native libraries ensure optimal performance and compatibility across different platforms.
As a constantly evolving project, Ontropy SDK benefits from the contributions of developers and users alike. We encourage you to share your thoughts and suggestions to help shape the future of Web3!