اثبات دانش صفر (ZKP) چیست؟ قسمت اول

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

مقدمه ای بر لزوم اثبات دانش صفر

در شبکه های بلاکچین مانند بیت کوین ، تمام فعالیت های مالی در یک دفتر عمومی ثبت می شود، تا همه ببینند. فروشندگان مواد مخدر در جاده ابریشم (Silk Road) که در معاملات خود از بیت کوین استفاده می کردند، دستگیر شدند. زیرا وزارت امنیت داخلی توانست ردپای معاملات آنها را شناسایی کند. درست است که فروشندگان مواد مخدر باید دستگیر شوند.

  • اما آیا استفاده ار بیت کوین حریم خصوصی را نقض می کند؟
  • دارایی های رمزنگاری مانند بیت کوین یک بار قول آزادی از سلطه خودسرانه دولت ها را داده بودند . اما آیا آزادی بدون حریم خصوصی وجود دارد؟

طی چند سال گذشته ، ما به دسترسی بانک های بزرگ و سایر سازمان ها در استفاده از اطلاعات شخصی مردم عادت کرده ایم. و به مرور زمان “علامت سبز رضایت” به مکانیزم هایی داده ایم. که از اطلاعات شخصی برای کمک به ما استفاده می کنند.

اما فناوری Blockchain ظهور کرد و کاملاً همه چیز را تغییر داد.

فناوری Blockchain ویژگی های مختلفی مانند شفافیت ، تغییر ناپذیری ، عدم تمرکز و دفتر توزیع شده را به وجود آورد. که کاربران را قادر می سازد، به صورت ناشناس عمل کرده .و معاملات را با امنیت بالایی انجام دهند.

بلاکچین به زبان ساده به کاربران امکان کنترل حریم خصوصی را می دهد.

اما ، آیا بلاکچین واقعاً در انجام این کار موفق بوده است؟

در یک کلمه ، جواب منفی است.

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

حریم خصوصی در اثبات دانش صفر
حریم خصوصی در اثبات دانش صفر

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

اطلاعات حساس کاربر ذخیره شده در شبکه Blockchain فقط محرمانه است و ناشناس نیست!!

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

  • آیا شبکه های Blockchain واقعاً باید ناشناس باشند؟
  • چگونه Blockchain می تواند ناشناس بودن و محافظت از حریم خصوصی بیشتری را به کاربران خود ارائه دهد؟
  • آیا بلاکچین وب 3.0 می تواند بر کسب و کار تأثیر بگذارد؟

این همان جایی است که اثبات دانش صفر وارد می شود.

در سیستم های متمرکز مانند فیس بوک ، آمازون و گوگل ، داده های کاربران برای سودآوری فروخته می شود. تا بتواند رفتار کاربران را از طریق تبلیغات دنبال کند. در شبکه های کاملاً باز بلاکچین ، تمام فعالیت های کاربر ثبت شده و عمومی است. آنچه اثبات دانش صفر ارائه می دهد . یک شبکه عمومی و شفاف است که از مردم در برابر snoopers، peepers و creepers  محافظت می کند.

تاریخچه اثبات دانش صفر

این روش برای اولین بار در دهه 1980 توسط گروهی از ریاضیدانان توسعه یافت.

  • در سال  1985  اولین اثبات دانش صفر در مقاله ای به نام “پیچیدگی اثبات دانش  در سیستم های تعاملی” توسط توسعه دهندگان Shafi Goldwasser ، Charles Rackoff و Silvio Micali نوشته شد. آنها نشان دادند که اثبات برخی خصوصیات یک عدد بدون افشای عدد یا اطلاعات اضافی در مورد آن امکان پذیر است. در این مقاله همچنین یافته قابل توجه ریاضی که تعاملات بین یک اثبات کننده و یک تأیید کننده می تواند. مقدار اطلاعات مورد نیاز برای اثبات قضیه داده شده را کاهش دهد.
  • در سال  2012 Alessandro Chiesa و تیمی از محققان اصطلاح zk-SNARK ها را ابداع کردند.
  • در سال  2016 Zcash منتشر شد و به عنوان پرکاربردترین رمزنگاری محرمانه برای استفاده از zk-SNARK ها تبدیل شد.
بیشتر بخوانید : مزایا و محدودیت های بلاکچین

مفهوم اثبات دانش

در اثبات دانش صفر ، نقش های اساسی اثبات کننده(prover ) و تایید کننده(verifier) هستند. اثبات کننده باید ثابت کند که آنها راز را می دانند. تأیید کننده باید بتواند تأیید کند که حقیقت را می گوید.

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

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

مثال اول : کودکان و آب نبات ها

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

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

باب چهار جعبه قابل قفل شدن در اتاق قرار می دهد ، با این فرض که تعداد  آب نبات های دریافتی یکی از اعداد 10 ، 20 ، 30 و 40 باشد. او بر روی هر جعبه مقدار متناسب با تعداد آبنبات  را، برچسب گذاری می کند.

سپس ، باب کلید جعبه ای را که تعداد آب نبات های  خودش را مشخص می کند. نگه می دارد .(باب 30 عدد آب نبات دارد) و کلیدهای جعبه های دیگر را دور می اندازد. و از اتاق خارج می شود.

اثبات بدون افشا
اثبات بدون افشا

حالا ، آلیس با 4 قطعه کاغذ کوچک وارد اتاق شده و روی یکی از آنها “+” می نویسد . در حالی که روی بقیه  “-” می نویسد. در اینجا ، “+” نشان دهنده تعداد آب نبات های او است.در حالی که “-” نشان دهنده سایر مقادیر است.او قطعه کاغذ را با علامت “+” در یک جعبه (آلیس 20 آب نبات دارد) و “-” در بقیه جعبه ها قرار می دهد. و از اتاق خارج می شود.

حالا ، باب دوباره وارد اتاق شده و در جعبه ای که کلید آن را دارد  باز میکند. سپس ، بررسی می کند که آیا جعبه دارای یک قطعه کاغذ با علامت “+” یا علامت “-” است. اگر علامت “+” باشد ، او متوجه می شود که آلیس تعداد آب نبات های مساوی دارد.

تأیید کننده باید بتواند تأیید کند که حقیقت را می گوید.
تأیید کننده باید بتواند تأیید کند که حقیقت را می گوید.

همانطور که گفتیم آلیس 20 عدد آب نبات و باب دارای 30 عدد آب نبات است . مشخص است که اگر باب در جعبه ای که کلید آن را دارد ، علامت “-” پیدا می کند. می فهمد که هر دو تعداد آب نبات یکسان ندارند.

در همان لحظه ، آلیس دوباره وارد اتاق می شود .و علامت “-” را در دست باب پیدا می کند .و می فهمد که تعداد آب نبات مختلفی دارند.

روشی ساده بدون پیچیدگی!!

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

برای مطالعه ادامه مقاله به قسمت دوم مراجعه کنید.

منبع: factcoins.com