---
# System prepended metadata

title: 'fully stateful application with multiple users support '

---

## Background and goal
Today, in Web3, if you plan to develop a application can share the state or track the session before it get settled on layer 1 with zero-knowledge proof, your options is very constrained, most of rollups or layer2 does't provide you a end to end solution to achieve the goal. Becuase of the missing of the infrastrauctre, to create more type of applications is also difficult. Our goal is to provide a state service and new programming model to help developers to achieve the goal. 
## Introduction
Introduce our solution, use state service as cache of  merkle tree for app to keep states shared by different users before update DA 
## Design 
```mermaid
%%{init: {"flowchart": {"htmlLabels": false}} }%%
flowchart LR
    App <--> Node["ZKC Node"]
    State["ZKC state sercie"]
    Node --> State
    State --> DA
    State --> Prover["zkWasm prover network"]
    Node --> Settlement
    Node <--> Prover

```
Here, we present you a solution using zkc state service to realize a fully stateful off-chain appliations model. The idea behind it is to use zkc state service to store the merkle tree for each application before the result being stored in DA. 
### How does each component works with others 
### The role ZKC state sercice 
### Implementation of ZKC service in detail 

## 

## Using ZKC to develop fully statful provable dApps
### Programming model 
By using ZKC SDK and infra, there are two types of application can be developed, 
1. Pure client side execution application
2. Client + Node side execution  

The programming model for each has slide differences, but they are very alike those widely used in Web2 word. 
1. MVC model 
2. Servless alike

### Examples 

## Challeges 

## Conclusion 
---
https://www.cryptologie.net/article/607/zero-knowledge-proofs-in-stateful-applications/
https://cryptologie.net/article/604/the-zk-update-conflict-issue-in-multi-user-applications/
https://arxiv.org/pdf/2001.04592.pdf