الگوریتم اثبات دانش صفر

با پیشرفت تکنولوژی، مقیاس فعالیت‌های مخرب نیز بزرگ‌تر شده و این موضوع امنیت و مدیریت پروتکل‌ها را به یکی از مهم‌ترین مباحث دنیای بلاک چین و فرآیند پردازش تراکنش‌ها تبدیل کرده است. الگوریتم اثبات دانش صفر یکی بهترین روش های حفظ امنیت بلاک چین و شبکه های غیر متمرکز است.

با اینکه فناوری بلاک چین به تنهایی امنیت امور مرتبط با این حوزه را تا حد زیادی تامین می‌کند، برای حفظ ایمنی تراکنش‌ها و استانداردهای محافظتی شبکه به گزینه‌های دیگری نیز نیاز داریم. در چنین شرایطی، روش الگوریتم اثبات دانش صفر (Zero Knowledge Proof) یا ZKP بسیار به کار می‌آید.

صنعت رمزنگاری ارزهای دیجیتال و کریپتوکارنسی از ابتدا با فناوری بلاک چین میان کاربران این حوزه شناخته شده است، اما در حقیقت معرفی الگوریتم اثبات دانش صفر به توسعه بیشتر آن کمک شایانی کرد.

الگوریتم اثبات دانش صفر (Zero Knowledge Proof) چیست؟

اثبات دانش صفر یک فناوری رمزنگاری است که به کمک آن در طول فرآیند انجام تراکنش‌ها هیچ اطلاعات اضافه‌ای درز نمی‌کند. در حقیقت در این پروسه تنها اطلاعاتی رد و بدل می‌شود که شخص فرستنده و تاییدکنندگان (یعنی دو سمت تراکنش) از آن اطلاع دارند. ایده کلی پشت اثبات دانش صفر این است که کاربر بتواند به یک کاربر دیگه ثابت کند از مقدار مشخصی اطلاع کامل دارد، بدون اینکه هیچ اطلاعات اضافه و حساس دیگری را لو بدهد.

به بیان ساده‌تر می‌توان گفت الگوریتم اثبات دانش صفر روش یا الگویی است که در آن یکی از طرفین (که در اینجا اثبات‌کننده نامیده می‌شود) می‌تواند حقانیت و درستی اطلاعات مشخصی را به اطلاع طرف دوم (یا همان تاییدکننده) برساند، اما در طول این فرآیند هیچ اطلاعات اضافه‌ای را بروز ندهد.

الگوریتم اثبات دانش صفر

با اینکه از فناوری الگوریتم دانش صفر برای بهبود عملکرد تکنولوژی بلاک چین استفاده می‌شود، گفتنی است که پروتکل ZKP حدودا 40 سال زودتر از توسعه دفتر کل توزیع شده بلاک چین طراحی و ساخته شده بود. این روش اولین بار توسط چند نفر از محققان MIT به نام سیلویو میکالی (Silvio Micali)، شافی گولدواسر (Shafi Goldwasser) و چارلز راکوف (Charles Rackoff) در دهه 1980 میلادی معرفی شد.

مزایا و معایب الگوریتم اثبات دانش صفر

درست مثل هر تکنولوژی دیگری، الگوریتم اثبات دانش صفر نیز مجموعه‌ای از مزایا و معایب است. در ادامه این موارد را نام می‌بریم.

مزایا

  • سادگی: نیاز به هیچ روش رمزنگاری پیچیده‌ای ندارد.
  • حفظ حریم شخصی: با جلوگیری از لو رفتن اطلاعات شخصی کاربر در بلاک چین‌های عمومی، حریم شخصی وی را حفظ می‌کند.
  • امنیت: امنیت اطلاعات را با جایگزینی روش‌های اثبات مالکیت قدیمی و بیهوده بالا می‌برد.
  • مقیاس پذیری: نرخ تایید تراکنش و مقیاس پذیری شبکه را بالا می‌برد.

معایب

  • محدودیت: پروتکل‌های ZKP معمولا به معادلات ریاضیاتی و جواب‌های عددی وابسته هستند. در صورتی که بخواهیم از هر روش دیگری استفاده کنیم باید به معادلات ریاضی و عددی ترجمه شود.
  • نیازمندی به قدرت پردازش بالا: هر تراکنش متکی به اثبات دانش صفر حدود 2000 پردازش مستقل دارد که هر کدام از آن‌ها نیز نیازمند زمان هستند.
  • خطر از دست رفتن داده: اگر سازنده یک تراکنش اطلاعاتش را فراموش کند، تمام داده‌های مرتبط با آن از دست می‌روند.
  • آسیب پذیری: احتمال آسیب پذیری این تکنولوژی در برابر فناوری‌های پیشرفته همچون پردازش کوانتومی وجود دارد.

اثبات دانش صفر چه انواعی دارد؟

الگوریتم دانش صفر در حقیقت دو نوع بنیادی و متفاوت از همدیگر دارد که در ادامه آن‌ها را توضیح می‌دهیم.

الگوریتم اثبات دانش صفر تعاملی

این نوع از الگوریتم شامل مجموعه‌ای از عملیات‌ها و فرآیندها است که هر اثبات‌کننده برای اینکه به تاییدکننده ثابت کند که اطلاعات مشخصی را در اختیار دارد، باید آن‌ها را به انجام برساند. معمولا بیشتر فعالیت‌ها و عملیات‌هایی که اثبات‌کننده باید در الگوریتم اثبات دانش صفر تعاملی انجام دهد شامل معاملاتی در مبحث احتمالات و ریاضیات هستند.

الگوریتم اثبات دانش صفر غیرتعاملی

الگوریتم اثبات دانش صفر غیرتعاملی به هیچ گونه تعامل میان اثبات‌کننده و تایید‌کننده نیاز ندارد و اثبات مالکیت اطلاعات در مراحل بعد به انجام می‌رسد. این نوع از الگوریتم به نرم افزار یا سخت افزار جانبی و مستقل از سیستم اجراکننده الگوریتم نیاز دارد.

تمام الگوریتم‌های اثبات دانش صفر سه پیش‌نیاز بسیار مهم دارند:

  • کامل بودن: اگر جواب عملیاتی درست باشد، تاییدکننده می‌تواند با اطمینان اعلام کند که اثبات‌کننده مالکیت اطلاعات مذکور در عملیات را در اختیار دارد.
  • درستی: جواب عملیات نمی‌تواند مورد دستکاری و خرابکاری قرار بگیرد و زمانی که اثبات‌کننده اطلاعات الزامی را در اختیار نداشته باشد، تاییدکننده گول نمی‌خورد.
  • دانش صفر: تاییدکننده نمی‌تواند هیچ اطلاعات اضافه‌ای جز اینکه جواب عملیات صحیح است یا خیر، در اختیار داشته باشد. جزئیات اطلاعات و داده‌های شخصی دیگر طرفین عملیات ناشناخته باقی می‌ماند.

الگوریتم اثبات دانش صفر چه موارد استفاده‌ای دارد؟

الگوریتم اثبات دانش صفر برای کاربرانی که می‌خواهند به اطلاعات و داده‌های خود تسلط بالایی داشته باشند انعطاف و حق انتخاب را به ارمغان می‌آورد. در نتیجه طبیعی است که ترکیب فناوری اثبات دانش صفر و بلاک چین، موارد استفاده متعددی داشته باشند. در ادامه چند مورد از این استفاده‌ها را معرفی و بررسی می‌کنیم.

استفاده الگوریتم اثبات دانش صفر

تراکنش‌های خصوصی

نگرانی‌های متعددی که در زمینه امنیت و مالکیت داده در دنیای بلاک چین وجود داشت موجب شد کمپانی EY راه حل‌های بلاک چینی و الگوریتم اثبات دانش صفر را به بازار کریپتو عرضه کند. در سال 2019 کمپانی EY یک پروتکل ZKP عمومی به نام Nightfall را راه اندازی کرد که اجازه می‌دهد شرکت‌ها در حین انجام تراکنش‌های ایمن و خصوصی بر بستر بلاک چین‌های ایمن، حریم شخصی خود را حفظ کنند.

این کمپانی به عنوان بخشی از هزینه 100 میلیون دلاری خود در زمینه توسعه‌های بلاک چینی، روی فناوری دیگری به نام Starlight نیز کار می‌کند که یک کامپایلر جدید است. نایت‌فال و استارلایت هر دو به منظور ایجاد امنیت بیشتر برای کابران شبکه‌های بلاک چینی ساخته شده‌اند.

اپلیکیشن‌های پیام‌رسان

رمزنگاری سر به سر (End to End) در چند سال اخیر نقشی اساسی در خصوصی‌سازی ارسال پیام‌های دیجیتالی ایفا کرده است. اما اپلیکیشن‌های معمول پیام‌رسان از کاربران می‌خواهند اطلاعات خود را در یک سرور مرکزی ذخیره کنند. با استفاده از تکنولوژی الگوریتم اثبات دانش صفر اشخاص می‌توانند بدون درز دادن هر گونه اطلاعات شخصی، هویت خود را در سرور تایید کنند.

تبادل اسناد محرمانه

با استفاده از فناوری الگوریتم اثبات دانش صفر و بلاک چین کاربران می‌توانند اسناد خود را در کمال امنیت منتقل و تبادل کنند. ZKP این قابلیت را دارد که داده را در بخش‌های کوچک رمزنگاری کند و کاربر به این ترتیب می‌تواند بلاک‌های مشخص و داده‌های ذخیره شده در آن‌ها را کنترل و به نحوی دسترسی کاربرهای دیگر را محدود یا آزاد کند.

چه پروژه‌هایی از الگوریتم اثبات دانش صفر استفاده می‌کنند؟

زد کش (ZCash) در پی گسترش و توسعه زیرساخت‌های بلاک چین بیت کوین است. در حقیقت ZCash پروتکل ZK-SNARK را به شبکه بیت کوین اضافه کرده تا تمام داده‌های مربوط به تراکنش‌ها را در دفتر کل رمزنگاری کند و در عین حال مطمئن شود که هیچ دابل اسپندینگ یا دوباره خرج کردنی رخ نمی‌دهد.

یکی دیگر از پروژه‌هایی که از الگوریتم اثبات دانش صفر استفاده می‌کند ناگتس (Nuggets) نام دارد و هدف آن بهبود فرآیند خریدهای آنلاین برای کاربران این حوزه و خریداران است. به کمک این پروژه کاربر مالکیت کامل اطلاعات شخصی خود را دارد و تصمیم می‌گیرد که چقدر از آن می‌تواند با فروشگاه‌های آنلاین به اشتراک گذاشته شود. ایده کلی طراحان این پروژه بر مبنای متمرکز بودن پایگاه داده اطلاعات کاربران است که موجب ناامنی آن در برابر حملات هکرها می‌شود. البته نمی‌توان گفت پروژه ناگتس ایده‌ای نو یا خاص دارد، اما برای مخفی ساختن اطلاعات خصوصی تراکنش‌ از فناوری ZKP استفاده می‌کند.

از جمله پروژه‌های معروف دیگر که از الگوریتم اثبات دانش صفر استفاده می‌کنند می‌توان به NuCypher اشاره کرد که یک پروژه برای عرضه اولیه سکه (ICO) با تکیه بر رمزنگاری دوباره پراکسی است. ایده کلی این است که اگر کاربر تعدادی اسناد محرمانه داشته باشد و آن‌ها را با کلید خصوصی خود رمزنگاری کند، در مرحله بعد اگر بخواهد آن اسناد را با همکارش به اشتراک بگذارد باید کلید خصوصی خود را به وی بدهد، که در مواقع معمول این کار نباید انجام شود! اینجاست که رمزنگاری دوباره پراکسی‌ها به کار می‌آید.

به کمک فناوری نوسایفر، کاربر می‌تواند اسناد رمزنگاری شده را یک بار دیگر با استفاده از کلید عمومی کاربری دیگر رمزنگاری کند، به گونه‌ای که شخص دوم بدون نیاز به کلید خصوصی کاربر اول و تنها با استفاده از کلید خصوصی خود توانایی باز کردن رمز سند محرمانه را داشته باشد.

علاوه بر شبکه‌هایی همچون ZCash، الگوریتم اثبات دانش صفر در تراکنش‌های خصوصی که نباید مقدار دارایی و مشخصات گیرنده و فرستنده در آن افشا شود نیز کاربرد دارد. شبکه‌های غیر متمرکز اورکل که اطلاعات برون‌زنجیره‌ای آفلاین را برای قراردادهای هوشمند سوار بر بلاک چین جمع آوری و به آن‌ها ارائه می‌کنند نیز می‌توانند از برخی مشخصات الگوریتم اثبات دانش صفر برای انتقال داده‌های برون زنجیره‌ای بدون برملا کردن اطلاعات خصوصی و مهم استفاده کنند.

الگوریتم Zero Knowledge Proof

یکی از پروتکل‌های اوراکل با محوریت حریم شخصی در اکوسیستم چین لینک (LINK) با نام دکو (DECO) از جمله پروژه‌هایی است که از الگوریتم اثبات دانش صفر بر بستر بلاک چین استفاده می‌کند. پروژه دکو با استفاده از HTTPS و TLS به عنوان ساده‌ترین و بنیادی‌ترین پروتکل‌های انتقال داده، این اطمینان را به کاربران خود می‌دهد که تمام داده‌ها خصوصی بمانند و به هیچ وجه توسط دیگران قابل ردیابی و دستکاری نباشند.

دکو از مدرن‌ترین نسخه TLS استفاده می‌کند که نیازی به هیچ سخت افزاری ندارد و بدون هر گونه تغییر از سمت سرور می‌تواند با سازگاری کامل نسبت به نسخه‌های قدیمی‌تر پروتکل اجرا شود. به این ترتیب نودهای اورکلی که به دکو مجهز شده باشند می‌توانند بدون برملا کردن اطلاعات درون زنجیره‌ای، صحت داده‌های درون سرورهای مطمئن را بررسی و تایید کنند. دیگر قراردادهای هوشمند مشابه دکو نیز می‌توانند شرایط آن را فراهم کنند که بانک‌ها و موسسات امور مالی وام‌های با پشتوانه کم بدهند، البته به این شرط که وام‌گیرنده قبلا اعتبار خود را اثبات کرده باشد.

در حقیقت وام‌گیرنده‌ها باید بدون اینکه اطلاعات شخصی یا حرفه‌ای خود را لو داده باشند، داده‌های هویتی لازم برای وام گرفتن را با استفاده از بایگانی‌های رسمی ارائه کنند.

پروتکل‌های غیر متمرکز مدیریت هویت همچون CanDID نیز این امکان را برای کاربران ایجاد می‌کنند که مشخصات دیجیتال خود را بدون نیاز به واسطه و شخص سوم مدیریت کنند. همچنین پلتفرم‌های فعال در حوزه دیفای می‌توانند با بررسی اعتبار کاربر در موسسه‌های معتبر، درباره دادن وام‌های با پشتوانه کمتر به اشخاص تصمیم گیری کنند.

سخن پایانی

الگوریتم اثبات دانش صفر (Zero Knowledge Proof) راهکاری ایمن برای اعتبارسنجی اطلاعات مربوط به تراکنش‌های کریپتوکارنسی و هویت کاربران در عین مخفی نگه داشتن اطلاعات خصوصی آن‌ها است. در مقایسه با دیگر راهکارهای رمزنگاری، روش اثبات دانش صفر یا ZKP الگوریتم ساده‌ای محسوب می‌شود و در اکثر مواقع هیچ احتیاجی به ارتباط برقرار کردن طرفین تراکنش ندارد.

الگوریتم‌های اثبات دانش صفر پتانسیل بالایی در کاهش هزینه‌های کاربران و همچنین حفظ حریم خصوصی آن‌ها دارند. علاوه بر این استفاده از آن راحت است و پروژه‌هایی که از الگوریتم Zero Knowledge Proof استفاده می‌کنند بسیار کارآمد هستند. پروژه‌ها و پروتکل‌های جدید در این حوزه می‌توانند با تکیه بر نسل آخر فناوری ZKP بدون هزینه‌های سرسام‌آور، کارایی محصول خود را بهبود دهند و همزمان هویت کاربران را مخفی نگه دارند. با رشد بیشتر پروژه‌های متکی به الگوریتم اثبات دانش صفر و شناخته شدن آن میان توسعه دهندگان حوزه بلاک چین، احتمالا در آینده کاربردهای بیشتری از این فناوری در شبکه‌های کریپتوکارنسی خواهیم دید.

تهیه شده در بیت 24