پروتکل اثبات دانش صفر چیست؟
آشنایی با پروتکل اثبات دانش صفر
اثبات دانش صفر(Zero-Knowledge Proof)، یک پروتکل دیجیتالی است که بدون استفاده از پسورد و یا هر اطلاعات اضافی دیگری، امکان به اشتراک گذاری داده در میان دو طرف را ایجاد میکند.
اثبات دانش صفر که معمولا با عنوان ZKP شناخته میشود، فرآیند احراز هویت دیجیتالی را بدون استفاده از پسورد و یا دادههای حساس تسهیل میکند. درنتیجه، امکان در معرض خطر قرار گرفتن اطلاعات در سمت گیرنده و فرستنده وجود ندارد.
علاقهمندان به این تکنولوژی میتوانند بدون ارائهی محتوای تعاملات خود به یک واسطه، در سطح بالایی از امنیت با یکدیگر ارتباط برقرار کنند.
ایدهی اصلی پروتکل اثبات دانش صفر برای نخستین مرتبه در سال ۱۹۸۵ مطرح شد، در این مقطع زمانی شفی گلدوسر(Shafi Goldwasser)، چالز رکوف(Charles Rackoff) و سیلویو میکالی(Silvio Micali) مفهوم «پیچیدگی دانش» را ارائه کردند. این مفهوم به اصول بنیادی پروتکل اثبات دانش صفر تبدیل شده است.
اثبات دانش صفر و یا پروتکل دانش صفر در رمزنگاری روشی است که در آن یک طرف(اثبات کننده) میتواند بدون ارائهی اطلاعات دیگری برای طرف مقابل(تایید کننده) ثابت کند که کلمهی رمز را میشناسند.
درک مفهوم پروتکل دانش صفر به کمک یک مثال ساده
جین ژاک کویزکوارتر(Jean-Jacques Quisquater) به همراه سایر نویسندگان در مقالهای با عنوان «چگونه میتوان پروتکلهای اثبات دانش صفر را به کودکان توضیح داد(How to Explain Zero-Knowledge Protocols to Your Children)» اصول اصلی مفهوم اثبات دانش صفر را ارائه کردند. در این مثال پگی(در سمت اثبات کننده) و ویکتور(در سمت تایید کننده) طرفین شرکت کننده در پروتکل اثبات دانش صفر هستند.
در این داستان پگی از یک کلمهی رمز برای باز کردن درب اسرارآمیز در یک غار استفاده میکند. غار به شکل حلقه است که ورودی در یک سمت قرار دارد و درب اسرار آمیز سمت دیگر را مسدود میکند. ویکتور قصد دارد دریابد که آیا پگی از کلمهی رمز اطلاع دارد یا خیر. اما پکی فردی محافظهکار است و قصد ندارد دانستههای خود(کلمهی رمز) را برای ویکتور و یا دیگران آشکار سازد.
آنها مسیرهای سمت چپ و راست غار را با حروف A و B نامگذاری میکنند. در ابتدا در حالی که پگی وارد غار شده است، ویکتور خارج از غار منتظر میماند. پگی یکی از مسیرهای A یا B را طی میکند، در حالی که ویکتور مجاز به دانستن انتخاب وی نیست. سپس ویکتور وارد غار میشود و نام مسیر بازگشت پگی را فریاد میزند(یکی از مسیرهای A وB که توسط ویکتور بهطور تصادفی انتخاب میشود و پگی باید از مسیر اعلام شده به سمت ورودی بازگردد). با توجه به این موضوع که پگی کلمهی رمز را میداند در صورت لزوم درب اسرارآمیز را گشوده و در مسیر اعلام شده قرار خواهد گرفت.
کاهش شانس انتخاب تصادفی
با این وجود، در صورتی که وی از کلمهی اسرار آمیز مطلع نباشد تنها قادر به بازگشت از همان مسیر رفت میباشد. در این حالت با توجه به این موضوع که ویکتور میتواند بهطور تصادفی هر یک از مسیرهای A و B را انتخاب کند، پگی در حدس زدن مسیر صحیح ۵۰ درصد شانس دارد. در صورتی که آنها این فرآیند را چندین مرتبه تکرار کنند شانس قرار گرفتن پگی در مسیر صحیح به شدت کاهش خواهد یافت(به عنوان مثال در صورتیکه فرآیند ۲۰ مرتبه تکرار شود شانس حدس زدن صحیح مسیر 1 میلیونیوم درصد محاسبه میشود). بنابراین درصورتی که پگی بهطور پیدرپی در مسیر صحیح ظاهر شود میتوان نتیجه گرفت که وی از کلمهی رمز اطلاع دارد.
کاربرد نوآوری اثبات دانش صفر
اثبات دانش صفر معمولا توسط سازمانهای دولتی برای تعیین منشاء دادههای مشخص استفاده میشوند، در حالی که آنها مجبور به افشای چگونگی و محل دستیابی به دادهها نیستند.
از زمان معرفی اثبات دانش صفر تاکنون این نوآوری در طیف گستردهای از حوزههای دیجیتالی استفاده شده است. به عنوان مثال، محققان از این فنآوری برای ایجاد مکانیسمهای جدید احراز هویت که در آنها دادههای حساس کاربران درخواست نمیشود، استفاده کردهاند.
در همین راستا، چند نمونه از پلتفرمهای احراز هویت وجود دارند که امکان تشخیص وجود گواهینامهی رانندگی معتبر را برای دیگر افراد و سازمانها همانند سازمانهای مجری قانون ایجاد میکند.
به همین ترتیب، دولتها میتوانند بدون جاسوسی و یا بازرسی فهرست تجهیزات، از اثبات دانش صفر به منظور سنجش توانایی هستهای مراکز نظامی سراسر جهان استفاده کنند. در ماه جولای سال جاری، سازمان پروژههای تحقیقاتی پیشرفتهی دفاعی ایالات متحدهی آمریکا(DARPA) در بیانیهای از فعالیت بر روی پروژهی جدیدی به نام SIEVE خبر داده است. این پروژه بدون اینکه ایالات متحدهی آمریکا را به افشاء روش دستیابی به اطلاعات مجبور کند، از پروتکل اثبات دانش صفر برای تعیین منشاء دادههای به شدت محرمانه استفاده میکند.
آیا میتوان پروتکل اثبات دانش صفر را با پلتفرمهای بلاکچینی ترکیب کرد؟
پروتکل اثبات دانش صفر مزایای فراوانی را به سیستمهای ساخته شده بر پایهی بلاکچین پیشنهاد میکند. به عنوان مثال، با استفاده از رمزگذاری اطلاعات در سطح بالا این پروتکل به افزایش شدید امنیت تراکنشها کمک میکند.
این پروتکل را میتوان بهسادگی در چهارچوب اکوسیستم بلاکچین مورد استفاده قرار داد. بهویژه، از این پروتکل میتوان در تایید تراکنش رمزارزها بدون افشاء دادههای حساس(همانند منشاء تراکنشها، گیرنده و ارزش دارایی جابجا شده) استفاده کرد.
زیکش(Zcash)، محصول واقعی به کارگیری تکنولوژی اثبات دانش صفر محسوب میگردد. در حقیقت زیکش از روش تکرار پروتکل اثبات دانش صفر استفاده میکند که zk-SNARKs نامیده میشود. در نتیجه، در حالی که امکان تایید تراکنشها با استفاده از قوانین اجماع شبکهی زیکش وجود دارد، تراکنشهای درون شبکه بهطور کاملا محرمانه ارسال میشوند.
زوکریتز(ZoKrates) جعبه ابزار دیجیتالی است که امکان تایید محاسبات در برنامههای کاربردی غیر متمرکز را به کمک پروتکل اثبات دانش صفر و با استفاده از زبان برنامهنویسی سولیدیتی(Solidity)(زبان برنامهنویسی شیگرا که برای ایجاد قراردادهای هوشمند در بلاکچین اتریوم استفاده میشود) ایجاد میکند.
با وجود پتانسیل پروتکل اثبات دانش صفر در تغییر روش تایید اطلاعات در سیستمهای مدیریت دادههای کنونی میتوان نتیجهگیری کرد که این تکنولوژی همچنان در مراحل ابتدایی رشد قرار دارد و در آینده شاهد عرضهی محصولات کاربردی و کارآمدی که از این تکنولوژی استفاده میکنند، خواهیم بود.
مزایا و معایب نوآوری اثبات دانش صفر
اثبات دانش صفر با وجود تسهیل ارسال تراکنشها، نیاز به استفاده از پسورد را بهطور کامل حذف میکند. این پروتکل امکان ارسال اطلاعات در میان دو طرف گیرنده و فرستنده را بدون استفاده از پسورد و یا افشاء اطلاعات مرتبط با فرستنده فراهم میکند. در نتیجه بسیاری از خطرات استفاده از سیستم احراز هویت با استفاده از پسورد را حذف میکند. اثبات دانش صفر به تقویت امنیت پرداختهای آنلاین، تراکنشهای آنلاین و حسابهای کاربری عمومی در فضای ابری کمک میکند.
پروتکل اثبات دانش صفر با وجود مزایایی که ارائه میدهد معایبی را نیز دارا است. زمانی که آغازگر یک تراکنش کُد منبع(Source Passcode) را فراموش کند، تمامی دادههای مرتبط با تراکنش از بین خواهد رفت.
برگشت به صفحهی اصلی کریپتوپدیا