non-interactive zero-knowledge proof
Főnév
non-interactive zero-knowledge proof (tsz. non-interactive zero-knowledge proofs)
- (informatika) A non-interactive zero-knowledge proof (NIZKP) — magyarul: nem-interaktív nullaismeret-bizonyítás — egy olyan kriptográfiai eljárás, amelyben a bizonyító egyetlen üzenetet küld az ellenőrzőnek, és ezzel bebizonyítja egy állítás igazát anélkül, hogy bármit elárulna a bizonyítás tárgyáról. A nem-interaktív változat különösen fontos, mivel nincs szükség oda-vissza kommunikációra, így könnyebben alkalmazható decentralizált rendszerekben, blokkláncokon, offline környezetekben.
🧠 Alapötlet
A klasszikus (interaktív) ZKP protokollban a bizonyító és az ellenőrző többször kommunikálnak: a bizonyító válaszokat ad az ellenőrző véletlenszerű kihívásaira. A nem-interaktív változatban viszont nincs ilyen párbeszéd. Ehelyett a bizonyító előállít egy bizonyítékot, amit bárki bármikor ellenőrizhet.
Ez a megközelítés többek között a Fiat–Shamir transzformációval érhető el.
🔄 Fiat–Shamir transzformáció
Ez egy eljárás, amely interaktív protokollokat alakít át nem-interaktívvá. A lényege:
- Az ellenőrző véletlenszerű kihívásait a bizonyító egy kriptográfiai hashfüggvénnyel helyettesíti.
- Ezáltal az egész kommunikációs folyamatot a bizonyító “szimulálja”.
Egyszerű séma:
- A bizonyító létrehoz egy „elköteleződést” (commitment).
- Egy hashfüggvénnyel előállítja a kihívást (challenge).
- Válaszol a kihívásra.
- Együtt: {commitment, challenge, response} = bizonyítás.
Az ellenőrző ezután újraszámolja a kihívást a hashfüggvényből, és ellenőrzi, hogy az megfelel-e a válaszhoz.
🛠 Példa: Schnorr-féle NIZKP
Cél: Alice be akarja bizonyítani, hogy ismeri -et, amelyre teljesül:
1. Paraméterek:
- : ismert publikus paraméterek.
- : a publikus érték.
- : titkos ismeret.
2. Bizonyítás (a bizonyító oldalon):
- Válassz egy véletlen
- Számítsd ki:
- Kihívás kiszámítása: (hashfüggvény)
- Számítsd ki:
- Bizonyítás:
3. Ellenőrzés:
- Számítsd újra
- Ellenőrizd:
📌 Tulajdonságok
| Tulajdonság | Magyarázat |
|---|---|
| Non-interaktív | Nincs kérdés–válasz ciklus. |
| Publikusan ellenőrizhető | Bárki ellenőrizheti a bizonyítékot. |
| Zero-Knowledge | Nem derül ki semmi a titokról. |
| Egyetlen üzenet | Hatékony offline és blokklánc környezetekben. |
🧮 Tipikus alkalmazások
- Blokkláncok (pl. zk-SNARK, zk-STARK)
- Digitális aláírás típusú protokollok
- Anonim hitelesítés (pl. Selective Disclosure: “18+ vagyok, de nem árulom el a születési dátom”)
- Verifiable computation (igazolom, hogy helyes a számításom, anélkül, hogy megmutatnám)
📦 zk-SNARK (Succinct Non-interactive Argument of Knowledge)
A legelterjedtebb NIZKP technológia:
- Succinct: Rövid bizonyítás (<1 kB)
- Non-interactive: Egyetlen üzenet
- Argument: A hitelesség a számítási korláton alapul
- of Knowledge: Tényleges ismeretet bizonyít
Hátránya: szükséges egy trusted setup (megbízható inicializálás).
🔐 zk-STARK (Scalable Transparent ARgument of Knowledge)
Modern változat, nincs szüksége trusted setup-ra, kvantumbiztos:
- Transzparens: Nincs rejtett előkészület
- Skálázható: Nagy méretű számításokra is alkalmas
- Kvantumbiztonság: Nem törhető kvantumszámítógéppel
🚀 Előnyök és kihívások
✅ Előnyök:
- Skálázható decentralizált rendszerekhez.
- Adatvédelmet biztosít.
- Hatékony: offline, késleltetett érvényesítés is lehetővé válik.
❌ Hátrányok:
- Bonyolultabb beállítások (pl. SNARK-nál trusted setup)
- Komplex matematikai háttér (elliptikus görbék, polinomok)
- Teljesítménybeli kompromisszumok
🧾 Összegzés
| Fogalom | Rövid leírás |
|---|---|
| NIZKP | Egy üzenetes ZKP, nincs interakció |
| Fiat–Shamir | Hashfüggvény alapú kihívás szimuláció |
| zk-SNARK | Kompakt, gyors, de trusted setup kell |
| zk-STARK | Kvantumbiztos, transzparens, nagyobb méret |
| Használat | Blockchain, hitelesítés, adatvédelem |
- non-interactive zero-knowledge proof - Szótár.net (en-hu)
- non-interactive zero-knowledge proof - Sztaki (en-hu)
- non-interactive zero-knowledge proof - Merriam–Webster
- non-interactive zero-knowledge proof - Cambridge
- non-interactive zero-knowledge proof - WordNet
- non-interactive zero-knowledge proof - Яндекс (en-ru)
- non-interactive zero-knowledge proof - Google (en-hu)
- non-interactive zero-knowledge proof - Wikidata
- non-interactive zero-knowledge proof - Wikipédia (angol)