Zero-Knowledge Proof (ZKP) i Blockchain Explained

By rik

I en värld där övervakning närmast har blivit vardagsmat, där olika institutioner ständigt granskar information om individer, har den resulterande bristen på integritet aktualiserat behovet av en ny typ av teknisk lösning.

Blockkedjan, ibland kallad distribuerad ledger-teknik, är ett decentraliserat system som omvälver det traditionella sättet att hantera data. Denna teknik har skapat betydande förändringar, men dess kapacitet är inte oändlig.

Nu introduceras en ny aktör på scenen: Zero-Knowledge Proof (ZKP). Om du har hört talas om ZKP men inte riktigt förstår dess innebörd och funktion, har du kommit rätt.

Nollkunskapskryptering har framhållits som det ledande protokollet för att stärka säkerheten, men är det tillräckligt kraftfullt? Kan det vara den lösning världen väntat på? Denna artikel försöker besvara dessa och andra relaterade frågor.

Vad är ett Zero-Proof Knowledge Protocol?

Nollkunskapsbevis är en ny kryptografisk metod där en part (bevisaren) kan intyga att ett påstående är sant för en annan part (verifieraren), utan att röja mer information än själva det faktum att påståendet är giltigt.

Bevissystemet omfattar bevisaren, verifieraren och själva utmaningen. Alla parter behöver offentligt demonstrera äganderätt eller kunskap, samtidigt som de döljer känslig information.

Enkelt uttryckt, kan det nollsäkra protokollet användas för att övertyga någon om att du vet eller har åstadkommit något, utan att avslöja den exakta hemligheten.

Låt oss anta att du vill ta ett lån men inte vill lämna ut dina ekonomiska uppgifter till banken. Banken kan då använda Zero-Knowledge-bevis för att fastställa din ekonomiska historik – inklusive betalningar, bosättningsbevis, kreditvärdighet eller fastighetsinnehav – utan att få tillgång till specifika detaljer om dessa tillgångar.

Protokollet utvecklades först 1985 av tre forskare från MIT: Shafi Goldwasser, Silvio Micali och Charles Rackoff, i en forskningsrapport med titeln ”Kunskapskomplexiteten hos interaktiva bevissystem”. Flera decentraliserade finansprotokoll (DeFi) använder redan ZKP för att garantera förbättrad säkerhet och integritet för användare av deras tjänster för utlåning, upplåning och handel.

Flera Layer 1-blockkedjor, som Zcash och Polygon, har redan ZKP-baserade integrationer eller Zero-Knowledge Ethereum Virtual Machines (zkEVM). Det finns stora förhoppningar bland entusiaster inom blockchain och Web 3.0 att ZKP kommer att ha en avgörande roll i takt med att användningen av deras applikationer ökar.

Egenskaper för ett Zero Knowledge Proof

Zero-Knowledge-metoden blir särskilt användbar när informationen är omfattande och bevisaren anser att verifieraren inte behöver full tillgång till den.

I sådana fall ger bevisaren matematiska bevis som bara de kan generera, vilka verifieraren kan använda för att bekräfta påståendets riktighet. Det är dock omöjligt att rekonstruera den underliggande informationen från detta bevis.

Tänk dig ett högt berg som delar av din stad, men där det finns en tunnel med två ingångar som binder samman stadens båda ändar. Du är ensam om att känna till den hemliga koden för de låsta dörrarna i tunnelns båda ändar.

Om du begärde betalning i förskott av dem som ville använda tunneln, är det självklart att de först vill ha bevis på att du verkligen kan koden innan de litar på dig.

De intresserade skulle kunna få bevis om de stod vid tunnelns ingång och såg dig gå in i ena änden och komma ut i den andra.

Det finns tre väsentliga egenskaper hos ett nollsäkert kunskapsprotokoll:

  • Fullständighet: Verifieraren måste vara säker på att bevisaren har den information som krävs för att styrka påståendet.
  • Sundhet: Det är omöjligt att förfalska påståendet. Det finns inget sätt att övertyga verifieraren om att bevisaren har informationen om så inte är fallet.
  • Nollkunskap: Ingen mekanism gör det möjligt att erhålla annan information än påståendets äkthet. Personuppgifter eller innehållet i informationen förblir anonyma.

Olika typer av Zero Knowledge Proofs

Det finns två huvudtyper av ZKP:

Interaktiva Zero-Knowledge Proofs

I denna typ av Zero-Knowledge Proof sker flera interaktioner mellan bevisaren och verifieraren. Detta beror på att verifieraren kan ifrågasätta bevisarens svar upprepade gånger tills de är helt övertygade.

Eftersom de processer som används i denna typ av ZKP bygger på matematisk sannolikhet, måste bevisaren antingen övertyga den specifika verifieraren eller upprepa processen för flera verifierare genom ett antal steg relaterade till det aktuella faktumet.

Icke-interaktiva Zero-Knowledge Proofs

I denna typ av ZKP sker ingen direkt interaktion mellan bevisaren och verifieraren. Verifieraren har endast en möjlighet att bekräfta det bevis som bevisaren tillhandahåller.

Eftersom denna typ av ZKP är mer beroende av beräkningskraft än den interaktiva, är bevisaren skyldig att generera bevis som alla kan verifiera, vilket gör att verifieringsprocessen kan fortsätta till nästa steg.

Den icke-interaktiva ZKP kan kräva speciell programvara för att den ska fungera effektivt.

Tillämpning av Zero Knowledge Proof i blockkedjor

Blockkedjetekniken introducerade flera viktiga egenskaper som decentralisering, oföränderlighet, transparens och distribuerad reskontra, vilket gör det möjligt för användare att genomföra transaktioner med förstklassig säkerhet och agera anonymt.

Även om blockkedjan kan ha gett användarna kontroll över sin integritet, finns en känsla av att det inte har gjorts ordentligt, främst på grund av att blockkedjenätverk använder offentliga databaser. Alla med en internetanslutning kan komma åt nätverkets transaktionshistorik.

Detta innebär att flera detaljer kopplade till en användares transaktioner och plånboksuppgifter kan ses. Även om deras identitet är anonym, kommer tredje part fortfarande att kunna se dina offentliga nycklar.

Att skapa offentliga nycklar via kryptografiska tekniker kan skydda integriteten. Det finns dock tekniker som kan bryta igenom detta anonymitets- och integritetsskydd. Därför är det nödvändigt att tillämpa Zero-Knowledge Proof i blockkedjesystem för att uppnå följande resultat:

#1. Meddelanden

När människor utbyter meddelanden med end-to-end-kryptering är det alltid önskvärt att ingen annan än den avsedda parten får tillgång till de privata meddelandena. De berörda meddelandeplattformarna går så långt att de verifierar användarnas identitet mot servrarna och vice versa. Genom att implementera ZKP kan dock meddelandeplattformar bygga förtroende i meddelandesfären utan att behöva avslöja relevant användarinformation.

#2. Autentisering

ZKP:er kan användas för att underlätta överföring av känslig information, som autentisering, med högsta möjliga säkerhet. Blockkedjeplattformar kommer att kunna skapa säkra kanaler för användare att skicka sin information utan onödigt avslöjande, för att undvika risken för dataläckor.

Det bästa exemplet på integritetsbevarande transaktioner som aktiveras genom blockkedjan är Manta Networks decentraliserade applikation, MantaPay.

Denna DApp använder ZKP, som gör det möjligt för användare att utföra transaktioner på decentraliserade börser utan att behöva avslöja sin personliga identitet eller transaktionsdetaljer. Användare kan på så sätt behålla sin integritet när de använder plattformarna.

#3. Förvaringsskydd

Eftersom blockkedjor hanterar stora mängder data kan ZKP:er även vara till nytta för datalagring.

Nollkunskapsbevis integrerar protokoll som kan skydda känslig information förutom själva lagringsenheten. Dessutom kan ZKP:er även skydda åtkomstkanalerna för att ge användarna en sömlös och säker upplevelse.

#4. Skicka privata blockkedjetransaktioner

Huvudsyftet med att skicka privata blockkedjetransaktioner är att säkerställa att tredje part inte får tillgång till dem. De befintliga skyddsmetoderna har visserligen sina positiva aspekter, men de kan ha vissa kryphål. Det är här ZKP:er kommer in i bilden.

Om de implementeras på rätt sätt kommer ZKP att göra det omöjligt för någon att hacka, avlyssna eller avleda privata blockkedjetransaktioner.

Zcash använder till exempel Zero-Knowledge Transactions för att möjliggöra skyddade transaktioner. Dessa döljer avsändar- och mottagaradresser, utöver de berörda beloppen, från den offentliga blockkedjan och lägger till en extra säkerhetsnivå.

#5. Komplex dokumentation

ZKP:er har potential att kryptera data i stora bitar, vilket gör det möjligt för användare att bestämma vilka block de vill ge specifika användare tillgång till och begränsa andra. Detta koncept kan användas för att säkerställa att endast behöriga parter har tillgång till komplex dokumentation.

#6. Demokratiserande röstverifiering

En annan praktisk tillämpning av ZKP i blockkedjan är den demokratiska roll den kan spela för att kontrollera röster. Protokollet kan ge tillförlitliga svar för alla granskningsbara röstprocesser genom att registrera avgivna röster på en offentlig blockkedja.

Resultatet skulle bli en omröstningsprocess som eliminerar behovet av begränsningar och eventuella bekräftelser från tredje part. Nollkunskapsbevis skulle göra det möjligt för väljarna att styrka sin rätt att rösta samtidigt som man ser till att deras känsliga personuppgifter skyddas.

Väljare kan också använda ZKP för att kräva oföränderliga bevis på sin röst i den slutliga rösträkningen.

#7. Säkerhet för känslig information

ZKP kan också förbättra säkerheten när blockkedjan används för att hantera transaktioner genom att lägga till ett avancerat säkerhetslager till de block som innehåller känslig information.

Det kan handla om känslig bankinformation, som kredithistorik och kreditkortsuppgifter, så att mottagarna endast har tillgång till de nödvändiga blocken som kräver användarinformation. De andra blocken förblir skyddade.

#8. Tokenisering och verifiering av ägande

Blockkedjeplattformar kan också använda ZKP i processen för att tokenisera tillgångar och verifiera äganderätten. En användare kan till exempel bevisa äganderätten till en fastighet utan att avslöja sin personliga information offentligt.

Fördelar med att använda Zero-Knowledge Proof

Precis som alla nya tekniker medför användningen av ZKP en rad fördelar när de kombineras med blockkedjeprotokoll. Utöver den frihet och flexibilitet de erbjuder användarna, inkluderar fördelarna med att använda Zero-Knowledge Proof följande:

  • Enkelhet: Enkelheten är kanske den mest framträdande fördelen med ZKP. Användarna behöver inte lära sig hur man använder komplex programvara för att tillämpa de olika lösningar de erbjuder. Dessutom är ZKP:er helt säkra trots att de inte är krypterade, vilket innebär att de sömlöst kombinerar båda dessa aspekter.
  • Säkerhet: Zero-Knowledge Proof-protokoll är mycket säkra i sitt sätt att underlätta informationsutbyte. Detta innebär att användarna säkert kan interagera utan att behöva bemästra specifika koder eller analysmetoder.
  • Tidsbesparing: Med ZKP kan användarna spara den tid som annars skulle gå åt för att slutföra blockkedjetransaktioner, samtidigt som de erbjuder bra värde.
  • Sekretess: Att skydda och bevara användarnas integritet är en primär funktion hos ZKP:er. Eftersom användarna inte behöver dela känslig information, är det ett mycket privat protokoll.
  • Skydd: Användare av Zero-Knowledge Proof-protokoll känner till sin policy för informationsutbyte, vilket innebär att de håller undan enheter som begär deras personliga information utan goda skäl.

ZKPs vs. Multiparty Computation (MPC)

Vi har redan fastställt att ZKP:er använder en unik sträng för att bevisa riktigheten i ett uttalande som har ett offentligt värde, utan att avslöja detaljerna för den andra parten. Detta kan involvera den dolda strukturen i en kommunikation eller en hemlig nyckel som är relaterad till den publika nyckeln.

I blockkedjetransaktioner innebär detta att upphovsmannen till en transaktion kan dölja dess exakta värde, samtidigt som bevis lämnas på att en giltig transaktion har genomförts.

Flerpartsberäkning (MPC) å andra sidan, avser interaktiv kommunikation mellan flera parter. Detta gör det möjligt för dem att på ett säkert sätt beräkna en funktion av sina hemliga värden, samtidigt som detaljerna hålls privata.

Ett exempel skulle kunna vara tre parter som var och en har ett hemligt nummer. De vill beräkna summan av de tre numren utan att veta det hemliga numret som de andra parterna har. Resultatet blir en summa utan att avslöja enskilda tal.

Den viktigaste egenskapen hos MPC är att flera aktörer deltar. Var och en strävar efter att säkert utvärdera det hemliga värdet av sina partners funktioner, samtidigt som de ger sina partners samma möjlighet, utan att avslöja deras privata personliga värde.

Noll kunskapsbevis vs. Noll förtroende

Det som skiljer Zero-Knowledge Proofs från Zero Trust är verifieringsaspekten. Zero Trust-modellen kräver strikt identitetsverifiering för användarna och deras enheter innan de får tillgång till applikationer och konfidentiell data.

ZKP:er krypterar data på ett sätt som bara en behörig part kan få tillgång till. Identitetsverifiering är drivkraften i Zero Trust-mekanismen, medan kryptering är grundprincipen i Zero-Knowledge-protokollet.

Omfattningen skiljer också de två protokollen åt. Nätverkssäkerhet är i fokus för Zero Trust, medan datasäkerhet är hörnstenen i Zero Knowledge.

Zero Trust används för att säkerställa att endast en behörig och autentiserad enhet eller användare får tillgång till konfidentiella applikationer eller data. Zero Knowledge Proof skyddar personuppgifter genom att kryptera dem så att endast en behörig deltagare kan få tillgång till dem.

Slutgiltiga tankar

Nollkunskapsbeviset är kanske inte magiskt, men det har öppnat en ny och spännande gräns för blockkedjeteknik. Protokollet erbjuder en enorm potential för en rad applikationer där känslig information som identitetsbevis, lösenordsverifiering eller medlemskapsbevis kan krävas.

Eftersom ZKP:er fortsätter att få uppmärksamhet, tack vare sin skalbarhet och integritetsegenskaper, används de alltmer i blockkedjor, kryptovalutor och DeFi-applikationer. De förväntas även fortsätta att utöka sin roll i takt med att de spelar en allt viktigare roll i DApps ekosystem, där säkerhet, integritet och effektivitet är avgörande.

När de används som ett grundläggande verktyg inom kryptografi, kommer Zero-Knowledge Proof att hjälpa till att säkerställa datasäkerhet och bli den mångsidiga länken som kan ta blockkedjan och dess tillämpningar till en bredare publik. Blockkedjeoperatörer kan använda den senaste generationens ZKP:er för att dra nytta av dess många fördelar till ett överkomligt pris.

Kolla in den detaljerade guiden om Zero Trust Security för mer information.