After a day of toiling with the Preview environment of @MidnightNetwork , I initially just wanted to see how their privacy contract would provide proof, but as I ran around, I felt like I was about to run off course. The more I ran, the more I felt that what was truly difficult about Midnight might not be hiding the data on-chain, but rather how users can continue to live once the data is left locally.

It is clear from the official side that public state is on-chain while private state remains local, and Preview even defaults to using a local proof server and encrypted private storage. At first glance, I wanted to applaud; finally, it's not one of those projects that talks about privacy while still swimming naked on-chain.

But the problem lies in the word 'local'.

We have formed a conditioned reflex with public chains; when changing devices or importing mnemonic phrases, assets are still intact. But with Midnight, what you need to recover isn't just the public key and balance, but private state, witness data, proof context, and a mess of everything that runs along with the local environment.

After reinstalling the environment today, the contracts on-chain are still there, and the address is still there, but once that local private state is disconnected, the entire call immediately starts going haywire. In that moment, I felt that the way this chain protects privacy essentially just dumps a lot of responsibilities that you originally didn’t have to worry about back onto your own computer.

This is really bizarre. The problem with traditional public chains is excessive transparency, $NIGHT has eliminated that transparency, but at the cost of turning everything into complex local state management. Want multi-device synchronization? Want seamless recovery? It’s simply overwhelming. This wallet doesn’t feel like a wallet; it feels like a small laboratory tied to an encrypted database and proof engine.

I increasingly feel that the biggest challenge for Midnight right now is whether ordinary people can live long-term and safely carry this chunk of private state. If this doesn’t go smoothly, privacy won’t be a moat; it will be a moving hell.

Next, we’ll see whether private state recovery and multi-device synchronization will be standardized, and whether the proof server will always be tied locally. Otherwise, #night the hardest part isn’t even on-chain, but rather going crazy on your computer.