Laten we het hebben over een superkracht van Starknet: Sierra. Wanneer je een ZK-gebaseerde blockchain bouwt, met een ZK-gebaseerde VM voor algemene berekeningen (zoals Cairo dat is voor Starknet), krijg je te maken met een probleem: Hoe maak je de VM zowel blockchain-veilig *als* ZK-vriendelijk? Het probleem is er een van non-determinisme. Ik zal het uitleggen: zkVM's worden veel efficiënter als de sequencer/prover bepaalde invoer kan "raden" en deze magisch kan invullen. Het probleem is dat dit ruimte biedt voor verschillende aanvallen: Een kwaadaardige gebruiker kan een transactie sturen die niet gemakkelijk te raden is, en een kwaadaardige sequencer/prover kan besluiten om niet de juiste waarde te raden, om een gebruiker te schaden. Wat is de oplossing? - Een optie is om non-determinisme te verwijderen. Maar dit schaadt de efficiëntie. - Een andere optie is om speltheoretische methoden te gebruiken om andere sequencers in staat te stellen aanvallers te straffen terwijl ze sommige sequencers stimuleren om goede transacties op te nemen. - Een derde optie is om een veilige tussenliggende representatie te bouwen (we noemen het: Sierra). Sierra staat precies het juiste soort non-determinisme toe, op een manier dat alle gokken kunnen worden ingevuld. Onderweg maakt het hebben van deze tool het mogelijk om andere coole dingen op te lossen, zoals het toevoegen van gasmeting als onderdeel van het compilatieproces. Samenvatting: Onder de motorkap van Cairo, de beste Smart Contract Taal, ligt een juweeltje, een superkracht, die het mogelijk maakt om veilige en efficiënte blockchain-gebaseerde ZK uit te voeren. Alleen op Starknet, toekomsttechnologie van vandaag.