Don't think that seeing transactions being packaged on-chain in the testnet means everything is fine. Midnight's dangling "transaction finality" is definitely a ticking time bomb. I've spent the last couple of days writing an attack script from an MEV perspective, relentlessly targeting its privacy consensus. In regular public chains, blocks are confirmed as soon as they are created, but in Midnight, an enterprise-level privacy transfer must wait for the extremely time-consuming ZK proof to be fully confirmed on-chain before it is considered completely locked. $NIGHT
I artificially created a few seconds of network delay, getting stuck in the time gap between "transaction packaged but ZK still verifying," and rapidly broadcasted a conflicting transaction. #night Watching the logs output from the terminal, I gasped: my double-spend attack was actually briefly accepted by a local node! Although the final consensus smoothed over this error after a few blocks, this few seconds of dangling period was enough for a quant hacker to drain the liquidity pool. The paper stubbornly claims it can defend against adaptive attacks, but that is based on the utopian assumption of absolute network synchronization. In the real world, even a slight shake of the fiber optic cable can leave this defense riddled with holes. The auditors on Wall Street are not foolish; @MidnightNetwork won't enter my spot market until this time gap is completely closed at the code level. #Cardano