OVM language question


The OVM introduction (https://medium.com/plasma-group/introducing-the-ovm-db253287af50) talks about “the language of the OVM”, a “unified high level language written in predicate logic”.

Forgive me for not fully comprehending this, but I am wondering if this “OVM language” is

  1. Like a low-level bytecode language to be executed directly by the OVM

  2. A high-level language for writing smart contracts, like Solidity?

  3. Something else?


My understanding of the “OVM language” is that it is a sequenced combination of predicate logic. The predicates are the building blocks and different constructions of predicates can be built. These constructions can be used for L2 arbitration contracts, thus these contracts are coded in the “OVM language”.

It’s a high-level that can be written in Solidity or any other smart contract programming language. There’s an example of predicates here


This is right! In fact the “OVM language” has since been named (for clarity) Optimistic Game Semantics (OGS).

The OGS define the L2 protocol arbitration logic (this is what makes a protocol a state channel vs plasma vs optimistic rollup), and then with the OVM we can evaluate any arbitrary state transition’s validity.

With a proper OGS definition & OVM implementation we are able to produce a trusted computation in a variety of L2 protocols.