128

ZeroOS: A Universal Modular Library OS for zkVMs

Guangxian Zou
Isaac Zhang
Ryan Zarick
Kelvin Wong
Thomas Kim
Daniel L.-K. Wong
Saeid Yazdinejad
Dan Boneh
Main:10 Pages
8 Figures
Bibliography:1 Pages
3 Tables
Appendix:6 Pages
Abstract

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 atthis https URL.

View on arXiv
Comments on this paper