I've recently been looking at the developer documentation of $NIGHT and the more I read, the more I feel that they have done something quite counterintuitive.
Generally, public chains first run their mainnet and then gradually add privacy features. Midnight, on the other hand, designs the privacy layer first and then considers how to make it interoperable with public chains. This leads to a result: many operations that are taken for granted on Ethereum require several workarounds on Midnight.
For example, if I want to check the balance of a certain address. On Ethereum, you can just search directly in the browser. On Midnight, the address itself is private, and you have no idea who owns which address. The balance is also private, and only you know it.
This sounds great, right? But if you're a developer, it turns into a nightmare. How do you debug? How do you know if the user's money has arrived? How do you confirm that the contract executed successfully?
I asked around on Discord and found that most developers' approach is: first run the public version on the test network for debugging, and after debugging, add the privacy layer. But this means you have to maintain two sets of code, one public and one private; if you change one place, you have to change both sides.
An old brother said he wrote a simple crowdfunding contract, completed it in two days on Ethereum, but spent a week fiddling with it on Midnight. Most of the time was spent debugging ZK proofs; each time he changed a line of code, he had to wait dozens of seconds to regenerate the proof. He said he felt like he wasn't writing code, but doing math problems.
I asked him if it was worth it, and he said it depends on the scenario. If the user really needs privacy, it is worth it. But if the user doesn't care, he absolutely wouldn't use Midnight.
This sentence made me think a lot. Is privacy really a necessity? For ordinary retail investors, it may not be. My tens of thousands of dollars, if seen by others, so what? Who cares? But for enterprises, contract prices, vendor lists, customer dataโthese are crucial and absolutely cannot be exposed.
I can't help but wonder if Midnight never intended to serve retail investors from the beginning? Its users are large enterprises, major institutions, and governments. The characteristics of these users are: wealthy, have compliance needs, extremely sensitive to privacy, and indifferent to development costs. Midnight's dual-token model, DUST decay mechanism, and ZK proof overhead are barriers for small retail investors, but not an issue for large clients.
I now feel that Midnight is a 'rich man's chain.' Not in terms of price, but in terms of privacy needs. If you don't need privacy, Ethereum is sufficient. If you need privacy, I think Midnight may be the best choice currently.$ETH