Monthly Update: August 2022

Monthly Update: August 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)
    • Modifying Halo 2 to support lookup tables using advice and instance columns(about 50% done)
    • Defined a formal circuit specification language (OSL)
    • Defined a spec of the (non-recursive) circuit for verifying Orbis rollups
    • Defined a process for compiling OSL specs into circuits
      • Recently performed theoretical simplifications and performance optimizations on this process, as described here
    • Developing a compiler from OSL to 𝚺11 formulas, without formal verification(about 50% done)
    • Developing a formally verified implementation of the process for compiling a 𝚺11 formula into a circuit(about 40% done)
    • Defined a strategy and API for off-chain recursive proof composition
    • Defined an approach for on-chain proof verification and began implementing it(about 30% done)
    • Modifying Halo 2 to use a FRI PCS instead of its IPA PCS(about 25% done)
    • Defined a theory of interaction combinator arithmetization which may be useful for more efficient proving of Plutus script executions
  • 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 30% 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)
    • Developing glue code for running Plutus validator scripts on TinyRAM(about 70% done)
  • SDK:
    • Began initial design work on Orbis SDK

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: 30%
  • Protocol: 44%
  • Compilers and emulators: 80%
  • SDK: 0%

Percent complete on zk-SNARKs decreased relative to the August 1 update. The work being sized covers the same scope. The decrease in percent complete on zk-SNARKs is due to a reassessment of the roadmap to accomplishing those tasks.

We pushed back the release timeline due to feedback from engineers leading to more pessimistic assumptions about which work can be done in parallel.

The roadmap now calls for releasing Orbis V1 on a testnet in Q2 2023. The project is currently on track to release on this timeline. It remains a possibility that we will release on the timeline stated in the August 1 investor update, that is, in late 2022 or Q1 2023.

Posts

Footer Links