Cryptographic Foundation

The cryptography underlying virtual rollups is advanced and secure.

Virtual SDK Cryptography

Version 0.1 served as the foundational layer for Virtual's cryptography functions:

  • Multi-party randomness generation implemented on ElGamal in ModP groups;

  • ECDSA primitives;

  • Other cryptographic utilities.

The cryptography was initially developed in RUST and deployed as a wasm module, encompassing only a part of the needed cryptographic functionalities.

Version 0.2 goes beyond, significantly improving the cryptography module and introducing Networking and the API for direct interaction with the Virtual rollup. This step reflects Virtual's commitment to streamlined development, improved scalability, and enhanced developer experience in the decentralized application landscape.

Some of the cryptographic updates include:

  • Modified Verifiably Fair Randomness on Elliptic Curve secp256k1: By adopting the secp256k1 curve, commonly used in Ethereum's ecosystem, Virtual has optimized on-chain data verification. This curve's compatibility with prevalent blockchain standards enhances interoperability and resource efficiency within Ethereum.

  • MuSig2/FROST for Virtual Rollup State Verification: Utilizing MuSig2 and FROST within Virtual's framework provides a secure and efficient means to verify the virtual rollup state, aligning with Ethereum's multi-signature requirements and consensus mechanisms.

  • BLS12_381 Base Curves for Optimized BLS Verification (Experimental): The experimental incorporation of BLS12_381 base curves sets the groundwork for advanced BLS signature verification, a feature aligned with Ethereum 2.0's ambitions for scalability and efficiency.

These cryptographic updates reflect Virtual's strategic alignment with Ethereum, enhancing functionality and performance within the Web3 environment.

SDK Documentation and Support

With the launch of version 0.2, Virtual is not only releasing an updated SDK but also introducing a comprehensive technical documentation portal. This initiative represents a commitment to support and grow the developer community around Virtual Rollup technology.

Technical Documentation Portal This is the new newly-established portal that serves as a central hub for all technical resources related to the Virtual SDK.

Here's what it currently includes and what it's aimed to become.

User Guides and SDK Documentation: The portal offers detailed user guides and extensive SDK documentation, catering to developers at different expertise levels. This includes:

Getting Started Guides: For those new to Virtual, these guides provide step-by-step instructions on initial setup, configuration, and basic functionalities. SDK Reference: A comprehensive documentation covering all classes, methods, interfaces, and modules within the SDK. This section serves as a go-to manual for understanding the SDK's architecture and how to utilize its features. Sample Code and Tutorials: Practical examples and tutorials offer hands-on experience in building applications with the SDK, promoting learning through practice.

Future Evolution into a Technical Community Virtual's vision for this portal extends beyond being a mere repository of guides and references. It is planned to evolve into an active technical community, where developers can:

Manage Virtual Rollup Settings: Customization and control of rollup parameters will be accessible, providing developers the autonomy to tailor the Virtual Rollup to their specific requirements. Manage Access Keys: A centralized interface for handling authentication and authorization, ensuring secure access and management within the Virtual ecosystem. Access Real-time Monitoring Data: Developers will be able to track critical system stats, key performance indicators, and related data on-the-fly. This feature enhances the ease of performance tuning, issue diagnosing, and strategic decision-making.

By building this platform, Virtual aims to create a collaborative and resource-rich environment. The integration of community input, support forums, and regular updates will foster innovation and growth within the ecosystem. The technical documentation portal reflects Virtual's dedication to nurturing a developer-centric culture, recognizing that a well-supported community is instrumental in driving the adoption and success of Virtual Rollup technology.

Virtual's cryptographic functionality is fundamentally built on WebAssembly (Wasm), and it is packed with modern tooling based on Vite to ensure comprehensive browser support. Here's an in-depth look into why Wasm plays a crucial role in VIrtual's compatibility and its benefits:

WebAssembly (Wasm) in Virutal WebAssembly is a binary instruction format that operates as a virtual machine to execute code at native speed. The application of Wasm in Virtual's cryptographic components offers several key advantages:

Performance: Wasm's binary format ensures that the code executes faster compared to the traditional approach. This leads to improved computational efficiency, particularly significant in cryptographic operations that demand high performance.

Language Flexibility: Wasm enables Virtual to write cryptographic functions in languages like Rust, which are then compiled into Wasm. This promotes code optimization and allows leveraging language-specific features for enhanced security and reliability. It also allows us to build native libraries for any platform if needed.

Platform Independence: Being a standard supported by modern browsers, Wasm ensures that Virtual's cryptographic features are consistent across various platforms. This platform-agnostic nature reduces fragmentation and facilitates smooth integration.

Security: Wasm operates within a sandboxed execution environment, minimizing potential security risks. Its strong typing and structured control flow provide additional layers of safety.

Integration with Vite: Packing with Vite, a build tool that aims to provide a faster and leaner development experience, enhances Virtual's loading speed and compatibility across browsers.

Browser Support Virtual's reliance on Wasm aligns it with all modern browsers that support WebAssembly. This corresponds to an estimated 95.07% share of global users, with an additional 1-1.5% that could potentially be converted to support with certain adjustments.

Figure 1: Major Browser Compatibility List

It is worth noting that addressing compatibility with older browsers that lack Wasm support is not a current priority for Virtual. The rationale behind this decision stems from:

Aligning with up-to-date standards and technologies that are progressively adopted in the development community. Concentrating efforts on enhancing features and functionality for the majority of users rather than diverting resources to cater to a diminishing segment. Virtual's compatibility strategy, grounded in the utilization of WebAssembly, supports its commitment to delivering a robust, efficient, and secure solution. By focusing on modern browsers and leveraging Wasm's benefits, Virtual ensures that its cryptographic functionality is accessible and optimized for the vast majority of users. This approach reflects a balance between technological innovation and practical considerations, aligning with Virtual's vision and the evolving landscape of Web3 applications. You can check the browser compatibility on https://caniuse.com/?search=wasm

Cryptographic Litepaper:

Last updated