proof of knowledge
Főnév
proof of knowledge (tsz. proof of knowledges)
- (informatika) A Proof of Knowledge (PoK) – magyarul tudás-bizonyítás – a kriptográfiában egy olyan protokoll, amelyben a bizonyító meggyőzi az ellenőrzőt arról, hogy ismer egy adott titkos értéket (például egy jelszót, privát kulcsot vagy matematikai tanút), anélkül hogy felfedné azt.
Ez a fogalom szorosan kapcsolódik a zero-knowledge proof (ZKP) világához, de míg a ZKP célja az információ nullaismeretű bizonyítása, a PoK kifejezetten azt célozza, hogy az állítás nem csak igaz, hanem a bizonyító valóban ismeri is a titkos adatot.
🔍 Példa: Mi a különbség állítás és tudás között?
Egy állítást akkor is “be lehet bizonyítani”, ha véletlenül találgatsz. A Proof of Knowledge viszont azt követeli meg, hogy a bizonyító ténylegesen birtokolja a titkos információt.
🧠 PoK alapdefiníció
Egy protokoll Proof of Knowledge, ha:
- Tudás-extraktor létezik: bármely olyan bizonyító esetén, amely sikeresen meggyőzi az ellenőrzőt, létezik egy algoritmus (az extraktor), amely ténylegesen ki tudja nyerni a titkos tudást a bizonyító belső működése alapján.
- A bizonyítás helyessége a bizonyító tudásán alapul, nem pusztán szerencsén.
📚 Formálisabb definíció (szimulációs modell)
Legyen adott egy nyilvános állítás, pl.: „Tudom a értéket, amelyre teljesül: ”.
Ezután egy PoK protokoll:
- Olyan interakció a bizonyító és ellenőrző között, amely során:
- Teljesség: A helyes tudással rendelkező bizonyító meggyőzi az ellenőrzőt.
- Tudáskivonhatóság (Extractability): Ha egy (akár rosszindulatú) bizonyító gyakran sikeresen meggyőzi az ellenőrzőt, akkor létezik egy algoritmus, amely ki tudja nyerni a bizonyító által ismert -et.
🔐 Klasszikus példa: Schnorr Proof of Knowledge
A cél: bizonyítani, hogy a bizonyító ismeri -et, ahol , anélkül hogy elárulná -et.
Protokoll:
Commitment: A bizonyító választ egy véletlen -t, és kiszámolja:
Challenge: Az ellenőrző választ egy véletlen -t.
Response: A bizonyító válaszol:
Az ellenőrző ellenőrzi, hogy:
Miért Proof of Knowledge?
Mert ha a bizonyító két különböző kihívásra (mondjuk ) válaszol azonos -vel, akkor:
Tehát a titkos érték kiszámítható, azaz a bizonyító valóban ismerte azt.
🤝 Használati területek
| Terület | Felhasználás |
|---|---|
| Digitális aláírás | Az aláíró bizonyítja, hogy ismeri a privát kulcsot. |
| Hitelesítés | Bizonyítod a jelszó vagy kulcs ismeretét anélkül, hogy elküldenéd. |
| Zero-Knowledge Proof | A legtöbb ZKP egyben PoK is. |
| Blokklánc | Tranzakciók érvényesítése kulcsismeret alapján (pl. Zcash, zk-SNARK). |
| Secure Multi-Party Computation | Bizonyítás anélkül, hogy az adat kiszivárogna. |
📏 Összefoglaló: PoK jellemzői
| Tulajdonság | Leírás |
|---|---|
| Nem szivárogtat | A titkos tudás nem derül ki. |
| Bizonyítja a tudást | Nem csak az állítás igazát, hanem a tényleges tudást is. |
| Extraktorral definiálható | A titok visszanyerhető elég sikeres kommunikáció alapján. |
| Alapja sok digitális aláírásnak | Pl. DSA, Schnorr, ECDSA. |
| ZKP szoros rokona | Minden zero-knowledge proof egyben PoK is, ha extraktorral visszanyerhető a tudás. |
- proof of knowledge - Szótár.net (en-hu)
- proof of knowledge - Sztaki (en-hu)
- proof of knowledge - Merriam–Webster
- proof of knowledge - Cambridge
- proof of knowledge - WordNet
- proof of knowledge - Яндекс (en-ru)
- proof of knowledge - Google (en-hu)
- proof of knowledge - Wikidata
- proof of knowledge - Wikipédia (angol)