Monthly Update: July 2022

Monthly Update: July 2022

image

Staffing

Orbis Labs has a team of 14 engineers, mathematicians, and researchers. These people break down by focus and areas of expertise as follows:

Main focus on Orbis:

  • zk-SNARK engineers - 7
  • Protocol engineers - 3
  • Compiler and emulator engineers - 2
  • Devsecops - 1

Areas of expertise relevant to Orbis:

  • Haskell - 12
  • Math - 7
  • Cryptography - 2
  • Rust - 2
  • Formal verification - 1
  • Cardano - 5
  • Decentralized protocol engineering - 3
  • Embedded systems - 1
  • Mathematical logic - 1

Work done so far

Orbis Labs has performed thousands of hours of research and development, resulting in hundreds of pages of research and tens of thousands of lines of code.

This research and development breaks down into three key areas: zk-SNARKs, the Orbis protocol, and compilers and emulators. Here is what has been done in each of these areas:

  • zk-SNARKS:
    • Developing a universal TinyRAM circuit for creating zk-SNARKs verifying the results of smart contract executions(about 80% done)
    • Defined a formal circuit specification language (OSL)
    • Defined a spec of the circuit for verifying Orbis rollups
    • Defined a process for compiling OSL specs into circuits
    • Developing a formally verified implementation of the process for compiling a circuit spec into a circuit(about 40% done)
    • Defining an approach to off-chain recursive proof composition
    • Defined an approach for on-chain proof verification and began implementing it(about 25% done)
    • Began work on modifying Halo 2 to use a FRI PCS instead of its IPA PCS
  • Protocol:
    • Designing the layer 1 protocol(about 80% done)
    • Prototyping the layer 1 contract(more than 50% done)
    • Designed the centralized layer 2 protocol
    • Designing the decentralized layer 2 protocol(less than 10% done)
    • Implementing the prover node(about 25% done)
  • Compilers and emulators:
    • Developing an LLVM backend for TinyRAM(about 80% done)
    • Developed a TinyRAM emulator in Haskell
    • Developed a formally verified TinyRAM emulator in Coq
    • Developing an Untyped Plutus Core (UPLC) to C compiler (in testing phase)
  • SDK:
    • Began initial design work on Orbis SDK

Relative to the July 4 update, percent complete decreased in the following areas due to scope change:

  • Layer 1 protocol and contract work: added the requirement to support moving an unlimited number of L1 asset classes between L1 and L2.
  • LLVM TinyRAM backend: added the requirement to support Rust compilation, in order to support recursive proofs.

Links to work:

Note: the Orbis L1 contract and prover node are closed source for the time being. They will be open source at a later date.

Roadmap

Overall estimates of the state of completion of the design and implementation effort required to release Orbis V1, the ratio (effort expended / (effort expended + effort remaining)), broken down by area and expressed as percentages:

  • zk-SNARKS: 50%
  • Protocol: 44%
  • Compilers and emulators: 70%
  • SDK: 0%

Percent complete on compiler and emulators decreased relative to the July 4 update due to scope increase. In order to support recursive proofs, we added the requirement for the TinyRAM LLVM toolchain to support compiling Rust code.

The roadmap calls for releasing Orbis V1 in late 2022 or Q1 2023. The project is currently on track to release on this timeline.

Posts