Att förstå ZK är att bli en troende PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Att förstå ZK är att bli troende

Om du har uppmärksammat blockkedjeteknologins ständigt föränderliga landskap, kanske du har märkt att ett nytt modeord nyligen har gjort rundorna: "Zero-Knowledge" eller "ZK".

Om du har uppmärksammat blockkedjeteknologins ständigt föränderliga landskap, kanske du har märkt att ett nytt modeord nyligen har gjort rundorna: "Zero-Knowledge" eller "ZK". Om du har uppmärksammat kryptografi under de senaste 30 åren är det otroligt spännande att det här konceptet äntligen får något i närheten av mainstream-uppmärksamhet för allra första gången. Det finns en sorts kult förknippad med ZK, för när du väl förstår vad det är och vad det kan göra har det ett sätt att infektera ditt sinne med alla de till synes magiska sätten att förändra världen (till det bättre). Medlemmarna i ZK-kulten med de tekniska kotletterna som krävs för att faktiskt avancera fältet har en tendens att BARA arbeta på ZK, och det beror nästan säkert på att de har svårt att TÄNKA på något annat än ZK. Det är på grund av löftet som det har.

Vad är ZK?

ZK i enklast möjliga termer handlar om att skapa ett kryptografiskt bevis på att ett påstående om vissa data är sant, utan att behöva avslöja datan. Enligt lag är exemplet som valts för detta det klassiska:

"Jag vet en giltig lösning på detta olösta sudoku-pussel"

Genom att använda ZK kunde en bevisare Peter konstruera ett Zero Knowledge Proof (ZKP) av detta påstående om ett visst sudoku-pussel om och bara om han faktiskt visste en giltig lösning på det, och en verifierare Viviane skulle vara helt övertygad om påståendet utan att behöva behöva faktiskt se någon av de undanhållna lösningen. Om du vill lära dig lite mer om matematiken som faktiskt får det här arbetet att se denna förklarande video

Utöver sudoku-pussel, vilka användbara saker kan göras med denna primitiva? För blockkedjor finns det två bra applikationer:

  1. Sekretess Bevarande av bevis om hemlig information
  2. Kortfattad verifiering av godtyckligt lång beräkning 

Båda är spännande, det senare leder till större effektivitet, medan det förra möjliggör slutet på digital massövervakning och datainsamling. 

ZK Power #1: Sekretess

Vi gillar alla att ha bra sökmotorer. Vi gillar alla att ha bra personliga rekommendationsmotorer för musik, videor, nyheter eller till och med potentiella romantiska partners. Det är bättre att ha annonser som är mer sannolikt att vara något man faktiskt skulle vara intresserad av att köpa än inte. Vi gillar alla att kunna bevisa saker om oss själva för att få exklusivitet. Alla dessa saker är avgörande för det moderna internet och är absolut omöjliga utan en viss mängd personlig "inställning" till individen som använder dem. Tyvärr, vad detta betyder är att stora företag dammar upp varje vaket ögonblick av våra digitala liv och sparar dem för alltid för att underlätta dessa personliga motorer. ZK ändrar allt det där. 

Med ZK behöver rekommendationsmotorer inte granska någons hela historia för att veta vad de troligen vill ha. Den enda information de behöver arbeta med är enkla ZKP:er som anger minimala detaljer om deras intressen. Företaget som visar annonser behöver inte känna till någons hela sökhistorik för att veta att de är intresserade av att köpa en bil. Allt de behöver är en ZKP på den personens sökhistorik som tyder på att de kan vara intresserade av att köpa en bil och att de klickade på sin annons. Medan vi håller på kan annonsören också gilla en ZKP som personen som klickade sig igenom var en riktig person och inte bara en bot. När det gäller blockkedjor kommer denna typ av integritet också att vara avgörande. Ingen, inte ni, inte bankerna, inte Wall Street, inte regeringarna vill att världens finansiella system ska vara helt offentligt i en öppen reskontra för alla att se. Ingen vill ha ett system där att veta din bankadress visar ditt banksaldo och all din transaktionshistorik. Blockkedjan behöver tekniskt sett inte heller veta något av det, blockkedjan behöver bara veta att de smarta kontrakten utfördes korrekt, allt annat håller den mer än gärna privat, vilket leder oss vidare till:

ZK Power #2: Skalbarhet

Kommer du ihåg delen av Hitchhiker's Guide to the Galaxy där superdatorn Deep Thought på ett besvikelse sätt tillkännager svaret på Livet, universum och allt som "42" efter en 7.5 miljoner år lång beräkning? Realistiskt sett skulle administratörernas första tanke vara att datorn vid något tillfälle gjorde ett misstag. Men hur skulle de verifiera att beräkningen utfördes korrekt? Naivt kunde de köra om hela beräkningen och se om den kom till samma slutsats som den ursprungliga beräkningen. Det är bra för beräkningar som tar några sekunder, inte så mycket när det tar 7.5 miljoner år. ZK:s andra superkraft är att tillåta att bevis skapas för någon beräkning som är liten i storlek (säg 1kb), som tar millisekunder att verifiera och kan övertyga personen som kontrollerar att en beräkning av VÅL som helst längd (även 7.5 miljoner år) fungerade korrekt. Den magin kommer dock till en kostnad eftersom det förutsägbart är MYCKET dyrare beräkningsmässigt att skapa detta bevis än det skulle vara att helt enkelt köra programmet utan beviset. Därför är ZK inte nödvändigtvis en catch-all för verifierbar beräkning, det är bara verkligen värt avvägningen om antingen det skulle vara omöjligt för verifieraren att beräkna hela programmet själv, eller om samma program förväntas verifieras tillräckligt många gånger för att för att göra ökningen av bevistiden mindre än minskningen av den kumulativa verifieringstiden. Det finns ett ganska uppenbart användningsfall som faller inom BÅDA dessa kategorier: blockchain.

Det här handlar om Aleo

Kommer du ihåg hur galen idén att behöva verifiera en enorm beräkning genom att bara köra den själv lät? Det är precis så nästan alla smarta kontraktsblockkedjor fungerar idag! För att kunna köra en full nod och verifiera saker själv måste du utföra varje smart kontraktsexekvering från tillkomst till aktuell tid, vilket naturligtvis är vansinnigt och anledningen till att ingen faktiskt kör fulla noder på dessa typer av blockkedjor och varför de är fruktansvärt centraliserad som ett resultat. 

Aleo är undantaget. Faktum är att smarta kontrakt inte ens utförs på kedjan. Sättet som ett smart kontrakt fungerar på Aleo är att personen som vill auktorisera ett smart kontrakt att göra något med sina pengar, kör beräkningen av det smarta kontraktet utanför kedjan, samtidigt som han skapar ett bevis för den beräkningen och sedan publicerar JUST BEVISET till blockkedjan. Detta lilla bevis är allt som behövs för att övertyga validerare och fullständiga nodverifierare att det smarta kontraktet exekveras korrekt, och det tar bara millisekunder att verifiera, även om det tog 7.5 miljoner år att skapa beviset. Detta är ett radikalt mer förnuftigt sätt att göra validering av smart logik för blockkedjor och kommer faktiskt att tillåta decentraliserad verifiering av användare snarare än att enbart vara beroende av validatorer. 

Att ha en smart kontraktskedja som bara bryr sig om dessa minsta möjliga bevis på protokollnivå gör det också möjligt för Aleo att bevara integriteten. I grund och botten är allt detta bevis säger att "Smart Contract X gjorde en sak korrekt", avsändaren, mottagaren och valutabeloppen är alla helt dolda och därför privata. Faktum är att Aleo är en av de ENDA blockkedjorna där transaktioner faktiskt krypteras till sin mottagare. För närvarande finns det ett stort antal spännande blockchain-projekt som har använt ZK endast för skalbarhet (vilket är coolt) men inte för Privacy (som är coolare). Å andra sidan har det också funnits många projekt som hävdar att de SKULLE använda ZK för integritet men i slutändan inte gjorde det. Anledningen till detta är enkel: att skapa integritetsskydd som bevarar smarta kontrakt är verkligen svårt och kräver i grunden en nedifrån och upp omdesign av hela arkitekturen, vilket är precis vad Aleo gjorde. 

Execution off-chain har också den intressanta effekten att det inte finns något BEHOV AV GAS på Aleo. Du kommer fortfarande att behöva transaktionsavgifter för att betala för blockutrymme, men det finns inga protokollnivåer per operationsavgifter för smart kontraktsutförande, vilket innebär att applikationer på Aleo har teoretiskt obegränsad körtid. Den enda gränsen är vad du kan konstruera beviset för, eller hur mycket du skulle vara villig att betala för att någon annan konstruerar beviset åt dig. 

Eftersom ZK proof konstruktion av beräkningar är så mycket dyrare än att bara köra den beräkningen normalt kommer det att finnas många applikationer som du antingen inte kunde eller inte skulle VILL skapa korrektur för på din bärbara dator hemma, det skulle helt enkelt ta för lång. Det kommer att finnas en marknad för delegerad beviskonstruktion till Provers, som driver mycket effektiva serverfarmar specifikt för att tillgodose detta behov. Ett grundläggande designbeslut som är helt unikt för Aleo är förmågan att delegera beviskonstruktion PÅ ETT SEKRETESSBEVARANDE SÄTT till externa provare. Vi förväntar oss att en sund marknad av Provers är avgörande för att få så mycket av internet som möjligt inom ZK, vilket var motivationen för en smart bootstrapping-mekaniker att få igång marknaden innan en hög efterfrågan från användarna ens existerar: myntbaspusslet. 

Myntbaspusslet gör det möjligt för Aleo-blockkedjan att prägla nya tokens för att köpa bevis från prover även när ingen annan är det. Om en Prover under en viss tid inte arbetar aktivt med ett betalt provjobb för en användare, kan de byta över sina maskiner till myntbaspusslet, där de tar fram enorma mängder "bevis för ingen", som de sedan skickar till validerare. Validatorn aggregerar alla bevis som Prover skapade, och sedan, på samma sätt som hur en gruvpool fungerar, dikterar antalet bevis som en Prover gjorde under en viss tidsperiod vilken andel av myntbaspusselbelöningen de tjänar för den givna tidsperioden. Vi förväntar oss att detta kommer att vara en spelförändring för att hjälpa till att stödja en stor marknad av Provers och förhoppningsvis till och med stimulera utvecklingen av specialiserade "ZK ASICs" för att maximera tillgången till Aleo och till ZK i allmänhet. 

Som tjänst för all denna ZK-magi har Aleo skapat en lågnivå-VM som kallas AVM för att kompilera datorkod till ZK-matte, och ett högnivåspråk som heter Leo som kompilerar till AVM. Aleo kommer också att ha ett on-chain programregister som gör det möjligt för smart kontraktskod att (valfritt) lagras direkt på kedjan för tillgänglighet och för att minimera risken för man-in-the-middle-attacker som lurar användare att signera på bedrägliga versioner av smarta kontrakt. Om du vill gräva mer i detta och skriva dina egna privata applikationer, se.

Sammanfattningsvis är Aleo en komplett omdesign av hur en smart kontraktsblockkedja ska fungera om du vill maximera integritet och decentralisering. En häpnadsväckande mängd helt ny och banbrytande forskning och arbete har lagts ner på att få Aleo att förverkliga detta mål. Även om det redan finns ett betydande antal projekt som lånar grossist från arbetet och forskningen som gick åt till att montera Aleo, för att verkligen kunna konkurrera längs dessa nivåer, skulle deras enda val vara att i huvudsak riva ner hela sin arkitektur och bygga om sig själva i bilden av Aleo. 

Om du vill veta mer om Aleo, samt delta i det slutliga testnätet, gå till Aleo.org

Tidsstämpel:

Mer från Trassande