اثبات دانایی صفر روشی در رمزنگاری برای اثبات دانستن چیزی بدون افشای مستقیم اطلاعات دانسته شده است.
خلاصه
- اثبات دانایی صفر یک نوع رمزنگاری است که باعث مخفی ماندن جزئیات تراکنش میشود.
- این روش اولین بار در دهه 1980 میلادی توسط یک گروه از ریاضیدانان ابداع شد.
- زیکش اولین ارز دیجیتالی بود که از این تکنولوژی استفاده کرد اما بعداً سایر ارزهای دیجیتال هم به آن پیوستند.
در شبکههای بلاکچین مثل بیتکوین همه فعالیتهای اقتصادی بر روی یک دفتر کل ثبت میشود تا همه امکان مشاهده آن را داشته باشند. فروشندگان مواد مخدر در بازار زیر زمینی Silk Road به این دلیل دستگیر شدند که وزارت امنیت میهن ایالات متحده توانسته بود تراکنشهای آنها را پیگیری کند تا مبدا این فعالیتهای غیرقانونی را تشخیص دهد. البته فروشندگان مواد مخدر جزء تبهکارانی هستند که باید دستگیر شود اما اگر دولتی فاسد یا ناقض حقوق بشر باشد شرایط فرق میکند. ارزهای دیجیتال مثل بیتکوین زمانی امید به رهایی افراد از سلطه دولتها را ایجاد کرده بودند اما آیا بدون حریم خصوصی میتوان آزادی داشت؟ اینجاست که بحث دانایی صفر وارد عمل میشود.
در ادامه به شما خواهیم گفت که اثبات دانایی صفر چطور کار میکند، چه شخصی آن را ابداع کرد و در حال حاضر چگونه در حوزه بلاکچین و فراتر از آن پیاده سازی میشود.
اثبات دانایی صفر چیست؟
اثبات دانایی صفر روشی در رمزنگاری است که از آن برای اثبات دانستن چیزی بدون افشای اطلاعات دانسته شده استفاده میشود. این پروتکل باعث میشود که اطلاعات خصوصیِ در حال مبادله مخفی بمانند. اثبات دانایی صفر یک نوع روش اثبات غیرمستقیم است که به شما امکان میدهد به دیگران ثابت کنید اطلاعات سری خاصی را میدانید بدون اینکه لازم باشد این اطلاعات را برای دیگران افشاء کنید. در واقع شما این موضوع که واقعیت را میگویید، ثابت میکنید.
مفهوم: اثبات کننده و تایید کننده
در اثبات دانایی صفر دو نقش اصلی به نام اثبات کننده و تایید کننده وجود دارد. اثبات کننده باید ثابت کند که اطلاعات سری مورد نظر را میداند. تایید کننده باید بتواند راستگویی اثبات کننده را بررسی و تایید کند.
این پروتکل به این دلیل کارایی دارد که اثبات کننده کاری را انجام میدهد که تنها در صورت دانستن اطلاعات مورد نظر قادر به انجام آن خواهد بود. اگر اثبات کننده از حدس زدن استفاده کند در نهایت تستهای تایید کننده اشتباه او را مشخص میکنند. اما اگر اثبات کننده واقعاً اطلاعات سری مورد نظر را در اختیار داشته باشد، هر زمان که از او سوال میشود میتواند بدون مشکل این تست را پشت سر بگذارد. این شرایط مثل حالتی است که یک بانک یا مؤسسه مالی از شما درخواست میکند اطلاعات یا مدارک خاصی را ارائه کنید که اثبات کننده هویت شما هستند. در این شرایط شما به بانک نمیگویید که در حساب بانکی شما چه سپردهای قرار دارد و فقط به بانک میگویید که یکسری اطلاعات خاص را در اختیار دارید.
تاریخچهای مختصر
- 1985 – اولین اثبات دانایی صفر در مقالهای به نام «پیچیدگی دانش در سیستمهای اثبات تعاملی» توسط Shafi Goldwasser، Silvio Micali و Charles Rackoff نوشته شد.
- 2012 – Alessandro Chiesa و تیمی از محققان اصطلاح zk-SNARKs را ابداع کردند.
- 2016 – زیکش شروع به کار کرد و تبدیل به قوی ترین ارز دیجیتال از نظر حریم خصوصی شد که از پروتکل zk-SNARKs استفاده میکند.
ویژگی خاص این پروتکل
زیکش (Zcash) اولین کاربرد گسترده از این پروتکل در دنیای ارزهای دیجیتال بود. این کوین پیگیر گریز (یا متمرکز بر حریم خصوصی) از یک نوع اثبات دانایی صفر به نام zk-SNARKs مخفف « Zero-Knowledge Succinct Non-Interactive Argument of Knowledge» استفاده میکند. در پروتکل اثبات دانایی صفر معمولی که بررسی کردیم، اثبات کننده و تایید کنندهها باید چند دور با هم در تعامل باشند تا تایید کننده از صداقت اثبات کننده مطمئن شود. در zk-SNARKs این اثباتها پیچیده تر هستند. اما از طرفی SNARKs این امکان را فراهم کرده که اثباتها بهره وری بیشتری داشته باشند و از دیتای کمتری استفاده کنند – این ویژگی در شبکههای بلاک چین که در آنها بحث حافظه و مصرف فضا اهمیت زیادی برای حفظ عملکرد هموار شبکه دارد بسیار مهم است.
آیا میدانستید؟
در پروتکلهای مبتنی بر zk-SNARKs باید تنظیماتی قابل اطمینان برای شروع به کار سیستم وجود داشته باشد. اطلاعات مورد استفاده در شروع به کار پروتکل – اگر در دست افراد نامناسبی قرار بگیرد – امکان به خطر انداختن و خراب کردن کل سیستم پس از پیاده سازی آن را دارند. در زیکش هنگام راهاندازی سیستم از کلید خصوصی استفاده شد و کامپیوترهای تولید کننده آنها در مراسمی خاص نابود شدند.
سایر ویژگیهای متمایز این پروتکل
مرحله تنظیمات قابل اطمینان یکی از آسیب پذیریهای این پروتکل محسوب میشود چون کاربران باید اعتماد کنند که اطلاعات مورد استفاده در این فاز به صورت کامل نابوده شدهاند. برای رفع مشکلات zk-SNARK، پروتکل zk-STARKs ابداع شد. zk-STARKs یک نوع اثبات دانایی صفر است که نیازی به مرحله تنظیم ندارد و ادعا شده که مقیاس پذیری و بهره وری آن بیشتر از zk-SNARKs است.
StarkWare شرکتی است که ابزارها و نرمافزارهای zk-STARKs را تولید میکند تا به افزایش مقیاس پذیری و تقویت حریم خصوصی بلاکچینها کمک کند. Alessandro Chiesa یکی از محققینی که در ساختن پروتکل zk-SNARKs سهیم بود، در طراحی این پروتکل هم نقش داشته است.
کارهای قابل انجام با اثبات دانایی صفر
Aztec پروژهای است که هدف آن ادغام اثبات دانایی صفر در شبکه فعلی اتریوم با ایجاد قراردادهای هوشمند مبتنی بر حریم خصوصی است. این قراردادهای هوشمند که کاملاً خصوصی هستند برای ایجاد توکنهای خصوصی اتریوم و همچنین سازمانهای غیرمتمرکز قابل استفاده هستند. آپگرید استانبول اتریوم به طور ویژه برای کاهش هزینههای پیاده سازی پروتکلهای اثبات دانایی صفر مثل پروژه Aztec طراحی شد.
بلاکچینهای دیگری هم به بحث حریم خصوصی پرداختهاند از جمله ترون که یک نسخه از k-SNARKs را در شبکه خودش پیاده سازی کرد هر چند همه تراکنشهای آن کاملاً خصوصی نیستند.
آینده
در پلتفرمهای متمرکزی مثل فیسبوک، آمازون و گوگل دادههای کاربران جمع آوری شده برای سود آوری شرکتهای بزرگ و تغییر رفتار کاربران نسبت به تبلیغات مورد استفاده قرار میگیرند. در شبکههای بلاکچین کاملاً باز، اطلاعات فعالیتهای کاربران ثبت شده و در دسترس عموم قرار دارند. اثبات دانایی صفر راهی برای ایجاد شبکههایی شفاف و عمومی است که از مردم در برابر ناظران و پویش کنندههای عصر دیجیتال محافظت میکند.