ZeroOS: A Universal Modular Library OS for zkVMs
By: Guangxian Zou , Isaac Zhang , Ryan Zarick and more
zkVMs promise general-purpose verifiable computation through ISA-level compatibility with modern programs and toolchains. However, compatibility extends further than just the ISA; modern programs often cannot run or even compile without an operating system and libc. zkVMs attempt to address this by maintaining forks of language-specific runtimes and statically linking them into applications to create self-contained unikernels, but this ad-hoc approach leads to version hell and burdens verifiable applications (vApps) with an unnecessarily large trusted computing base. We solve this problem with ZeroOS, a modular library operating system (libOS) for vApp unikernels; vApp developers can use off-the-shelf toolchains to compile and link only the exact subset of the Linux ABI their vApp needs. Any zkVM team can easily leverage the ZeroOS ecosystem by writing a ZeroOS bootloader for their platform, resulting in a reduced maintainence burden and unifying the entire zkVM ecosystem with consolidated development and audit resources. ZeroOS is free and open-sourced at https://github.com/LayerZero-Labs/ZeroOS.
Similar Papers
A Journey of Modern OS Construction From boot to DOOM
Operating Systems
Lets kids build their own working computer system.
TenonOS: A Self-Generating LibOS-on-LibOS Framework for Time-Critical Embedded Operating Systems
Operating Systems
Makes slow computers run faster and use less power.
TenonOS: A Self-Generating Intelligent Embedded Operating System Framework for Edge Computing
Operating Systems
Makes computers run faster on small devices.