# Security In Depth, Client Diversity

**URL:** <https://research.arbitrum.io/t/security-in-depth-client-diversity/7896>\
**Category:** Uncategorized\
**Tags:** nitro\
**Created:** [February 15, 2023, 12:34pm UTC](https://research.arbitrum.io/t/security-in-depth-client-diversity/7896 "2023-02-15T12:34:51Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![shotaro](https://yyz1.discourse-cdn.com/flex029/user_avatar/research.arbitrum.io/shotaro/32/7003_2.png) [@shotaro](https://research.arbitrum.io/u/shotaro)\
**Post date:** [February 15, 2023, 12:34pm UTC](https://research.arbitrum.io/t/security-in-depth-client-diversity/7896/1 "2023-02-15T12:34:51Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![edfelten](https://avatars.discourse-cdn.com/v4/letter/e/ecc23a/32.png) [@edfelten](https://research.arbitrum.io/u/edfelten)\
**Post date:** [February 15, 2023, 10:30pm UTC](https://research.arbitrum.io/t/security-in-depth-client-diversity/7896/2 "2023-02-15T22:30:51Z")

</div>

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.
