Security In Depth, Client Diversity

So nitro is based on geth.

Will future roadmaps include execution client modularity, or is the fraud proof mechanism too deeply entangled with the execution client?

What happens in the remote chance that there’s a bug in geth?

Are these black swan failure modes documented somewhere?


We are looking seriously at how to move toward execution client diversity.

The current implementation has separate repos for Nitro and geth, with the geth repo modified to add some hooks needed to enable Arbitrum support. In principle we could implement similar hooks in another execution client, and make the Nitro repo code support multiple underlying execution clients.

This would require significant engineering work, but we expect that it will happen–no promises on the date.