Vad är Zero Knowledge Proof (ZKP)?
Zero Knowledge Proof (ZKP) är ett sätt att bevisa att något är sant utan att avslöja det som ligger bakom. Tänk att visa att du kan ett lösenord utan att skriva det, eller bekräfta att du är över 21 utan att visa ditt födelsedatum. Lite magi men med matematiska rötter.
ZKPs döljer allt, så de är för smygande beteenden. Inte riktigt. En Zero Knowledge Proof (ZKP) bevisar ett specifikt påstående som du definierar, och verifieraren kan ändå kontrollera det noggrant utan att se dina hemligheter.
Hur Zero Knowledge Proof (ZKP) fungerar
En snabb genomgång med ett vänligt exempel. Du vill bevisa att du har tillräckliga medel för en handel utan att avslöja ditt saldo.
- Steg 1: Du väljer ett påstående, till exempel "mitt saldo är minst X", och förbinder dina dolda uppgifter med hjälp av slump.
- Steg 2: Du skapar ett bevis utifrån de dolda uppgifterna plus offentlig information, utformat så att matematiken stämmer.
- Steg 3: Du skickar beviset till en verifierare, inte hemligheten.
- Steg 4: Verifieraren kör en kontroll som antingen accepterar eller avvisar. Ingen titt på ditt saldo.
- Steg 5: Om det accepteras kan vem som helst kontrollera samma bevis senare utan att behöva kontakta dig igen.
Under huven lutar det mot seriös kryptografi. Ja, matematiken håller koll på kvittona.
Varför Zero Knowledge Proof (ZKP) är viktigt
Varför ska du bry dig? Tre snabba aspekter.
- Fördel: Bevisa det du behöver och behåll resten för dig själv. Färre läckor, mindre risk.
- Perspektiv: Appar som använder minimal data känns moderna, som Rolex möter Reddittrådar. Dela endast vad som är nödvändigt.
- Relevans: Du kommer att se ZK i rollups, privata överföringar och identitetskontroller på varje seriös blockchain.
När du hör att en app använder ZK, fråga två saker. Vad exakt bevisas, och krävdes en betrodd uppsättning? Om du bryr dig om datakontroll fungerar ZK också bra ihop med starka sekretessrutiner utanför själva beviset.
Viktiga egenskaper hos Zero Knowledge Proof (ZKP)
Vad som gör det särskilt, enkelt uttryckt.
- Privat: Verifierare får veta att påståendet är sant utan att få reda på din hemlighet.
- Koncis: Bevis kan vara små och snabba att kontrollera, även i blockkedjan.
- Snabbt: Verifiering är lättare än att räkna om hela din beräkning.
- Sammansättbart: Du kan stapla bevis eller slå ihop många kontroller till ett.
- Skalbart: Detta hjälper skalbarhet genom att flytta tungt arbete bort från verifierare samtidigt som korrektheten bevaras.
Variationer
Olika varianter passar olika uppgifter.
- SNARKs: Korta bevis, snabb verifiering, kräver vanligtvis en betrodd uppsättning.
- STARKs: Ingen betrodd uppsättning, större bevis, lämplig för postkvantforskning.
- Bulletproofs: Bra för intervallkontroller, vanligt vid privata belopp.
- Sigma: Klassisk interaktiv stil, som lärs ut i många kurser.
ZKP säkrar inte din app på egen hand. Om ditt påstående är för svagt eller din uppsättning slarvig kan beviset fortfarande vara korrekt men ändå värdelöst. Utforma påståendet med omsorg.
Exempel
En stad håller en omröstning där väljare bevisar att de är berättigade och inte röstat än, medan deras identiteter hålls dolda från den offentliga sammanräkningen.
Kul fakta
Det klassiska partytricket för att förklara ZK använder två identiskt färgade bollar och ett blindtest för att visa att du kan skilja dem åt utan att avslöja vilken som är vilken. Nördigt men det funkar.
Sammanfattning
Kort sagt är Zero Knowledge Proof (ZKP) ett bevis utan att dela för mycket, så du kan säga "jag kan bevisa det utan att visa det".
