Parliamo di un superpotere di Starknet: Sierra. Quando costruisci una blockchain basata su ZK, con una VM basata su ZK per il calcolo generale (come Cairo è per Starknet), ti troverai di fronte a un problema: come rendere la VM sia sicura per la blockchain *che* amichevole per ZK? Il problema è uno di non determinismo. Ti spiego: le zkVM diventano molto più efficienti se il sequencer/prover può "indovinare" certe voci e riempirle magicamente. Il problema è che questo apre la porta a vari attacchi: un utente malintenzionato può inviare una tx che non può essere facilmente indovinata, e un sequencer/prover malintenzionato può decidere di non indovinare il valore giusto, per danneggiare un utente. Qual è la soluzione? - Un'opzione è rimuovere il non determinismo. Ma questo danneggia l'efficienza. - Un'altra opzione è utilizzare metodi di teoria dei giochi per consentire ad altri sequencer di punire gli attaccanti mentre incentivano alcuni sequencer a includere buone transazioni. - Una terza opzione è costruire una rappresentazione intermedia sicura (la chiamiamo: Sierra). Sierra consente proprio il giusto tipo di non determinismo, in modo che tutti gli indovinamenti possano essere riempiti. Nel frattempo, avere questo strumento consente di risolvere altre cose interessanti, come aggiungere il monitoraggio del gas come parte del processo di compilazione. Riepilogo: Sotto il cofano di Cairo, il miglior linguaggio per smart contract, c'è un gioiello, un superpotere, che consente di eseguire ZK basato su blockchain in modo sicuro ed efficiente. Solo su Starknet, tecnologia del futuro oggi.