با گسترش تکنولوژیهایی مانند بلاکچین و ارزهای دیجیتال، اهمیت حریم خصوصی نیز با گذشت زمان افزایش پیدا میکند. بااینکه در حال حاضر نیز بهجای اطلاعات شخصی شما از آدرسهای کیف پول استفاده میشود، اما این آدرسها قابلیت ردیابی دارند. اثبات دانش صفر یا Zero Knowledge Proof روشی برای افزایش حریم خصوصی در دنیای تکنولوژی است که در این مطلب قصد داریم به بررسی آن بپردازیم.
اثبات دانش صفر چیست؟
پروتکل ZK یا اثبات دانش صفر روشی برای تأیید اطلاعات بین دو طرف اثباتکننده و تأییدکننده است که در آن اثباتکننده باید ثابت کند که اطلاعاتی را در اختیار دارد، بدون اینکه اطلاعات را فاش کند.
فرض کنید میخواهید سؤالات کنکور را به کسی بفروشید (البته که کار خوبی نیست، فقط یه مثال ملموس برای درک دانش صفر هست)، باید ثابت کنید که جوابها را میدانید، اما نباید هیچ اطلاعاتی درباره جوابها بدهید. چراکه اگر جوابها را به اشتراک بگذارید دیگر فروش آنها بیمعنی میشود.
در اثبات دانش صفر اثباتکننده باید بتواند ثابت کند که بخش خاصی از اطلاعات را در اختیار دارد بدون اینکه درباره خود اطلاعات افشایی انجام دهد. این روشی است که رمزنگاران برای ارائه سطوح بالاتری از امنیت و حریم خصوصی این سیستمهای اثبات را ارائه میکنند.
تاریخچه و مفهوم دانش صفر
Shafi Goldwasser و Silvio برای اولین بار در سال 1985 در یک مقاله در دانشگاه MIT مفهوم اثبات دانش صفر را منتشر کرده و درباره آن توضیحاتی ارائه کردند. آنها ادعا کردند که میتوان اثبات کرد که درباره یک عدد اطلاعات کاملی داریم بدون اینکه خود عدد را بگوییم. آنها در این مقاله یافتههای ریاضی معنیداری را مطرح کردند که اتفاقات بین اثباتکننده و تأییدکننده را بررسی میکرد و نشان میداد که چطور تأییدکننده میتواند به اثباتکننده اعتماد کند بدون اینکه از محتوای اطلاعات کاملاً بیخبر باشد (دانش صفر به همین میگن، یعنی هیچ اطلاعاتی از داده اصلی نداریم).
نحوه کار اثبات دانش صفر
اثبات دانش صفر باید دو شرط اصلی یعنی کامل بودن و درستی را برآورده کند. کامل بودن اطلاعات مرتبط به سمت اثباتکننده است، اثباتکننده (کسی که اطلاعات را در اختیار دارد و باید بدون ارائه داده اصلی، ثابت کند که دادهها را در اختیار دارد) باید بتواند بدون نشان دادن اطلاعات اولیه و البته با درجه بالایی از اطمینان ثابت کند که اطلاعات مربوطه را در اختیار دارد. شرط درستی مربوط به بخش تأییدکننده است. تأییدکننده نیز باید بتواند به شکل قابلاعتمادی تعیین کند که آیا واقعاً اثباتکننده اطلاعات را در اختیار دارد یا خیر.
شرط اساسی دیگر دانش صفر است. یعنی باید بهطور کامل اثبات شود که هیچ اطلاعاتی در رابطه با داده اصلی بین اثباتکننده و تأییدکننده منتقل نشده است.
کاربردهای اثبات دانش صفر
اثبات دانش صفر در رابطه با برنامههایی کاربرد دارد که امنیت و حفظ حریم خصوصی در آنها اهمیت زیادی دارد. معمولاً سیستمهای احراز هویت از شواهد اثبات دانش صفر یا ZK برای تأیید اعتبار یا هویت اشخاص بدون افشای مستقیم اطلاعات آنها استفاده میکنند. بهعنوانمثال میتوان از اثبات دانش صفر برای تأیید این موضوع که یک نفر رمز عبور یک سیستم را دارد، بدون اینکه نیازی به افشای آن رمز عبور باشد، استفاده کرد.
کاربرد اثبات دانش صفر در ارز دیجیتال و بلاکچین
از برجستهترین موارد استفاده از اثبات دانش صفر یا ZK میتوان به استفاده از آن در دنیای ارزهای دیجیتال و فناوری بلاکچین اشاره کرد. برخی از ارزهای دیجیتال بهطور خاص روی حفظ حریم خصوصی تمرکز کردهاند. بهعنوانمثال میتوان به Zcash اشاره کرد که از نوعی اثبات دانش صفر شناختهشده برای استدلال مختصر و غیرتعاملی دانش صفر برای ایجاد میزان قابلتوجهی از حریم خصوصی استفاده میکند.
بلاکچین اتریوم نیز از زمان بهروزرسانی معروف خود به نام بیزانتیوم که در سال 2017 انجام شد از پرفشن های zk-SNARK برای ایجاد حریم خصوصی با دانش صفر استفاده میکند.
سخن پایانی- اثبات دانش صفر چیست و چه کاربردی دارد؟
همانطور که گفته شد اثبات دانش صفر یکی از مفاهیمی است که در دنیای ارز دیجیتال و تکنولوژی بسیار به کار میبرد. برای افزایش امنیت در عین حفظ اطلاعات و حفظ حریم شخصی از این روش استفاده میشود. دانش صفر به معنی این است که شخص تأییدکننده هیچگونه اطلاعاتی درباره داده اصلی به دست نمیآورد اما مطمئن خواهد شد که شخص اثباتکننده به این اطلاعات دسترسی دارد. شاید توضیح اثبات دانش صفر آسان باشد اما در عمل برای استفاده از کاربرد آن نیاز به عملیات پیچیده ریاضی وجود دارد.
اثبات دانش صفر (ZKP) چیست؟
اثبات دانش صفر یک روش رمزنگاری است که به یک طرف (اثباتکننده) اجازه میدهد به طرف دیگر (تأییدکننده) ثابت کند که یک قطعه از اطلاعات را بدون افشای خود اطلاعات میداند. بهعبارتدیگر، وجود اطلاعات یا دادههای خاص را بدون افشای خود دادهها اثبات میکند.
اثبات دانش صفر چگونه در بلاک چین کار میکند؟
در بلاک چین، ZKP برای اثبات مالکیت یا مالکیت دادهها یا داراییهای خاص بدون افشای اطلاعات حساس استفاده میشود. بهعنوانمثال، اثبات دانش صفر میتواند برای اثبات اینکه یک کاربر دارای مقدار مشخصی ارز دیجیتال در کیف پول خود است، بدون افشای مقدار دقیق یا آدرس کیف پول استفاده میشود. این امر حریم خصوصی و امنیت در شبکه بلاک چین را تضمین میکند.
مزایای استفاده از ZKP در بلاک چین چیست؟
استفاده از ZKP در بلاکچین چندین مزیت را به همراه دارد، از جمله:
افزایش حریم خصوصی و امنیت
کاهش خطر تقلب یا هک
بهبود کارایی و مقیاسپذیری
افزایش قابلیت همکاری بین بلاکچینهای مختلف
برخی از کاربردهای دنیای واقعی اثبات دانش صفر در بلاک چین چیست؟
ZKP چندین کاربرد عملی در بلاک چین دارد، از جمله:
اثبات مالکیت داراییهای دیجیتال، مانند ارز دیجیتال یا هویت دیجیتال
معاملات امن و خصوصی
پیشگیری از تقلب
مدیریت و ردیابی زنجیره تأمین
احراز هویت و مجوز دسترسی به دادههای حساس
آیا ZKP در بلاک چین محدودیتی ایجاد میکند؟
درحالیکه ZKP ابزار قدرتمندی برای افزایش حریم خصوصی و امنیت در بلاک چین است، محدودیتهایی نیز دارد. برخی از این موارد عبارتاند از:
پیچیدگی اجرا و تأیید
مسائل مربوط به عملکرد و مقیاسپذیری
احتمال سوءاستفاده توسط بازیگران بد
عدم استانداردسازی در بلاک چینهای مختلف
چند پروتکل محبوب ZKP مورد استفاده در بلاک چین چیست؟
برخی از محبوبترین پروتکلهای ZKP مورد استفاده در بلاک چین عبارتاند از:
zk-SNARKs (برهان مختصر و غیرتعاملی دانش صفر دانش)
سونیک
STARKs (استدلال شفاف مقیاسپذیر دانش)