# Future Work

## State Machine Model

On our current implementation, zkTrue-up is designed via an arithmetic circuit. While this design does not pose a current problem, future updates to the protocol may prove harder to implement if we were to continue on this model. An alternative implementation is to use a STARK-based state machine model: where instead of an arithmetic circuit, we have an execution trace.

The state machine model can be more efficient for some computations: loops, conditional statements... which is why many ZK-based scaling solutions have been moving towards it. Following this trend, we have started working on a more efficient implementation of the Term Structure protocol using STARKs to validate transactions.

## Proof Recursion

In the field of zero-knowledge proofs, the concept of recursion is a powerful one: ZKPs can be used to prove arbitrary computations, and since verifying a ZKP is a computation, one can write a circuit to verify a proof *inside *of another proof. This idea gets extended in practice to verifying multiple proofs inside of a single proof, a concept called **proof aggregation**.

Using a recursion-based proof architecture, one can verify an arbitrary number of batch proofs inside a single final proof. This greatly reduces the proof verification costs of a rollup, and in turn, transaction fees for users. Furthermore, it would allow us to better respond to the cyclic demand of our protocol while keeping our settling time consistent.

## Taking off Training Wheels

As with other scaling solutions, one of our main goals is moving towards a Stage 2 rollup. Such goal may imply many other different steps: designing a governance mechanism, decentralizing the sequencer, defining several implementations of our state transition function...

While in the early stages our custom rollup will need to rely on some level of centralization, we stay committed towards designing a fully decentralized and trustless protocol, in line with the DeFi ethos.

Last updated