اثبات دانش صفر (ZKP)
۱۴۰۵/۱/۲۸
یک اثبات دانش صفر (ZKP) یک پروتکل رمزنگاری است که در آن یک طرف (اثباتکننده) طرف دیگر (تأییدکننده) را متقاعد میکند که یک بیانیه درست است — بدون اینکه اطلاعات اضافی فراتر از حقیقت آن فاش شود. اثباتهای دانش صفر توسط شفی گلدواسر، سیلویو میکالی و چارلز رکاف در مقاله ۱۹۸۵ آنها "پیچیدگی دانش سیستمهای اثبات تعاملی" معرفی شدند — نتیجهای که جایزه گودل (۱۹۹۳) را برد و به جایزه تورینگ گلدواسر و میکالی (۲۰۱۲) کمک کرد.
سه ویژگی
هر سیستم اثبات دانش صفر دارای ویژگیهای زیر است:
- کامل بودن — اگر بیانیه درست باشد، یک اثباتکننده صادق میتواند یک تأییدکننده صادق را متقاعد کند
- صدا بودن — اگر بیانیه نادرست باشد، هیچ اثباتکننده متقلبی نمیتواند تأییدکننده را متقاعد کند (به جز با احتمال ناچیز)
- دانش صفر — تأییدکننده چیزی فراتر از حقیقت بیانیه یاد نمیگیرد؛ هیچ اطلاعاتی درباره چرا بیانیه درست است فاش نمیشود
شهود متعارف: اثبات اینکه شما یک رمز عبور را میدانید بدون اینکه رمز عبور را فاش کنید.
سیستمهای اثبات مدرن
- zk-SNARK (استدلال غیرتعاملی مختصر دانش) — اثباتهای بسیار کوچک (صدها بایت)، تأیید در زمان ثابت. ساختارهای کلاسیک (Groth16، PGHR13) نیاز به یک راهاندازی مورد اعتماد خاص مدار دارند؛ PLONK و Marlin از یک راهاندازی قابل بهروزرسانی جهانی استفاده میکنند؛ Halo 2 (توسعهیافته توسط شرکت الکتریک کوین برای Zcash) از یک تعهد چندجملهای بدون راهاندازی مورد اعتماد استفاده میکند.
- zk-STARK (استدلال شفاف مقیاسپذیر دانش) — معرفی شده توسط بن-ساسون و همکاران (۲۰۱۸). شفاف (بدون راهاندازی مورد اعتماد)، تنها به توابع هش متکی است و به طور قابل قبول پساکوانتومی امن است. اثباتها بزرگتر هستند (دهها تا صدها کیلوبایت). توسط StarkWare در Starknet و StarkEx استفاده میشود.
- Bulletproofs — اثباتهای کوتاه برد بدون راهاندازی مورد اعتماد. از سال ۲۰۱۸ توسط Monero برای مقادیر محرمانه استفاده میشود.
- Nova / HyperNova، Plonky2 / Plonky3 — سیستمهای SNARK تاشو و بازگشتی مدرن، بهینهسازی شده برای محاسبات افزایشی.
استفادهها در کریپتو
حریم خصوصی
- Zcash — تراکنشهای محافظتشده با استفاده از zk-SNARKs (Groth16 → Halo 2)
- شبکه Aztec، Aleo، Namada — قراردادهای هوشمند متمرکز بر حریم خصوصی
- Monero — Bulletproofs برای اثباتهای برد
- Tornado Cash — مخلوطسازی zk-SNARK (تحریمهای وزارت خزانهداری ایالات متحده به طور جزئی توسط دادگاه پنجم در سال ۲۰۲۴ لغو شد)
مقیاسپذیری — رولآپهای ZK
- zkSync Era، Starknet، Polygon zkEVM، Scroll، Linea — فشردهسازی هزاران تراکنش L2 به یک اثبات اعتبار واحد که به اتریوم ارسال میشود. این رولآپها از ZK برای اختصار استفاده میکنند، نه برای پنهان کردن دادهها.
هویت و اعتبارنامهها
- Worldcoin — اثبات هویت از اسکن عنبیه بدون فاش کردن خود اسکن
- zk-email — اثبات دریافت ایمیل بدون فاش کردن محتوای ایمیل
- Polygon ID، Semaphore — هویت زنجیرهای بدون تاریخچه کیف پول قابل پیوند
محاسبات قابل تأیید
- zkML (EZKL، Modulus Labs) — اثبات اینکه یک مدل هوش مصنوعی به درستی بر روی ورودیهای خاص اجرا شده است
- پردازندههای کمکی زنجیرهای (Axiom، Herodotus) — اثبات نتایج محاسبات خارج از زنجیره
تصور غلط رایج — "ZK" ≠ "خصوصی"
یک zk-rollup در نام خود "ZK" را تبلیغ میکند اما معمولاً حریم خصوصی کاربر را فراهم نمیکند. ویژگی دانش صفر در اینجا برای اختصار استفاده میشود — یک اثبات کوچک به بسیاری از تراکنشها گواهی میدهد — نه برای پنهان کردن دادهها. همه تراکنشها در رولآپ عمومی باقی میمانند. برای حریم خصوصی کاربر، طراحی اضافی مورد نیاز است (Aztec، Aleo).
