# Zero Knowledge Proof آشنایی با 

By [tbmhdi](https://paragraph.com/@tbmhdi) · 2022-07-26

---

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

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

:برای درک بهتر روش اثبات دانش صفر یه داستان معروف هست بنام **غار علی بابا** که به شرح زیره

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

سارا از امیر میخواد که بیرون غار صبر کنه تا سارا از یکی از ورودی ها وارد غار بشه بعد از امیر میخواد تا بیاد و جلوی ورودی وایسه

خب, حالا از امیر میخواد یکی از ورودی هارو انتخاب کنه تا سارا از اونطرف خارج بشه و از اونجایی که سارا رمز در رو میدونه از هر طرف که امیر انتخاب کنه میتونه خارج بشه! بار اول که امیر یه خروجی رو انتخاب کنه 50 درصد احتمال داره که سارا رمز رو بدونه و 50 درصد احتمال داره امیر همون طرفی رو انتخاب کرده باشه که سارا ازش وارد شده و رمز رو ندونه. با چندبار انجام اینکار امیر کمکم اطمینان پیدا میکنه که سارا رمز رو میدونه و راست میگفته و اینجوری بدون اینکه سارا رمز رو به دوست پسر احمقش بگه بهش ثابت میکنه رمز رو میدونه! آخه غار جای اینکاراست؟

![غار علی بابا](https://storage.googleapis.com/papyrus_images/a7452006d7894983b8421779d4b8e899ea3d9fe8663db53bf1c66c2cf3449855.webp)

غار علی بابا

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

*   کامل بودن: اگر عبارت واقعاً درست باشد و هر دو کاربر قوانین را به درستی رعایت کنند، تأیید کننده بدون هیچ کمکی متقاعد می شود
    
*   صحت: در صورت نادرست بودن عبارت، تأیید کننده در هیچ سناریویی قانع نخواهد شد
    
*   دانش صفر: تأیید کننده در هر موردی اطلاعات بیشتری نمی داند
    

![سه ویژگی بالا ترجمه این عکس است](https://storage.googleapis.com/papyrus_images/c94ab955c399bf00ca1b8923ffcfe0afd0859403d5e8f7c80da38d7b01073f40.webp)

سه ویژگی بالا ترجمه این عکس است

### انواع اثبات دانش صفر

**روش تعاملی**

در روش تعاملی همونطور که از اسمش پیداست نیاز به تعامل بین تایید کننده و اثبات کننده است. به این صورت که ثابت کننده باید چالش هایی که توسط تایید کننده بوجود اومده رو پشت سر بزاره تا اطمینان تایید کننده رو جلب کنه

**روش غیر تعاملی**

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

### جمع‌بندی

در کل روش اثبات دانش صفر روشی امن برای تأیید اطلاعات مورد نیاز برای تکمیل تراکنش‌های ارزهای دیجیتال و تأیید هویت کاربرانه در حالی که داده‌های خصوصی رو پنهان نگه می‌داره و همونطور که میدونید این روز ها خیلی مورد توجه قرار گرفته و در آینده زیاد ازش میشنویم

### اگر حال نداری نخون مهم نیست

این مقاله بیشترش ترجمه مقاله های خارجیه و بخاطر اینکه این پلتفرم مزخرف از راستچین پشتیبانی نمیکنه از اصطلاح های انگلیسی بعضی از واژه ها استفاده نکردم تا چینش متن بهم نریزه و به همین خاطر ممکنه بعضی از چیزارو متوجه نشید پس شرمنده

---

*Originally published on [tbmhdi](https://paragraph.com/@tbmhdi/zero-knowledge-proof)*
