Dave — Cartesi’s fraud-proof system

What’s Dave

Cartesi’s fraud-proof system is called Dave. Just Dave. It’s neither an acronym nor an abbreviation, but a name. Like most names, it should be written in lower case with an initial capital, that is, “Dave”.

Dave’s security is one of N: a single honest validator can enforce the correct result. It doesn’t matter if it’s you against the world. If you’re honest, Dave’s got your back; you can fight a mountain of powerful, well-funded crooks and win, using a single laptop in a timely manner.

Dave is based on the Permissionless Refereed Tournaments primitive. The paper can be found here, published by Cartesi researches. It is an interactive fraud-proof system that is resistant to Sybil attacks, and consequently can be made permissionless without being susceptible to delay attacks. The maximum delay grows logarithmically on the number of Sybils, whereas the computation resources and stakes are constant, and don’t grow on the number of Sybils.

Execution Environment

Dave uses the Cartesi Machine as its execution environment. The Cartesi Machine is a RISC-V emulator. The Cartesi Machine state-transition function is implemented in two layers: the big-machine and the micro-architecture. The former implements the RV64GC ISA, while the latter implements the much smaller RV64I ISA. Using a technique called machine swapping and leveraging good compilers, we implement in Solidity only the micro-architecture’s state-transition function, while the execution environment can support a much larger set of extensions.

Nevertheless, Dave was designed to be agnostic on its execution environment. As long as one can provide a self-contained state-transition function, Dave will work. As such, Dave also has value independently from Cartesi Rollups, as a public good for the Ethereum ecosystem.

Current work

Dave’s git repository can be found here, where it’s being actively developed. You can follow the instructions there to run a simple arbitration example; Dave will find the fraudulent claims and enforce the correct result.