برنامه نویسی

مدارک دانش صفر – انجمن DEV

سپر zcash

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

در این مقاله سعی می کنم با یک مثال اساسی توضیح دهم که Zero Knowledge Proof چیست و کجا برای مبهم کردن تراکنش استفاده می شود. ایده Zero Knowledge Proof فقط نابغه است، این یکی از نمونه هایی است که ریاضیات می تواند برای برخی افراد بسیار جالب باشد. یک ایده ساده، که می تواند بسیار مفید باشد. پس بیایید آن را حفاری کنیم.

مشکل

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

[Gulolio]: Tyushka من یک سوال دارم و می خواهم در مورد آن فکر کنید و به من بگویید که آیا این امکان پذیر است یا خیر. خوب؟

[Tyushka]: اوفف دوباره رفتیم، پس تعجب کن این سوال جدید چیست؟

[Gulolio]: من می بینم که شما بسیار علاقه مند هستید. عجله نکنید، سوال به این صورت است:

توانایی خود را برای باز کردن این در قفل شده بدون اینکه نشان دهید چگونه این کار را انجام می دهید یا اینکه آیا کلیدها را دارید نشان دهید.

tyushka-talk

[Gulolio] باشه یه کمکی بهت می کنم بیایید تصور کنیم در غاری به شکل حلقه هستید.

[Tyushka] چی؟ یک غار؟ می خواهی من در غار باشم؟

[Gulolio]: Xaxaxaxaxa (این در روسی هاهاها است)، нет، нет، нет. فقط تصورش کن، باشه؟ این غار با دری در وسط تقسیم شده است. به گونه ای که غار دارای مسیر است آ و یک مسیر ب.

من برای شما چند تصویر می کشم تا درک بهتری پیدا کنید. Смотри(نگاه کن!!):

طرح غار

[Gulolio]: حالا تصور کنید داخل غار هستید و من شما را در کدام مسیر ندیدم. خوب؟ و من در ورودی غار هستم، مانند این نقاشی شگفت انگیز که توسط یک فرد بزرگسال انجام شده است. حالا برگردیم به سوال اصلی چگونه به من نشان می دهی که کلیدهای باز کردن در را در اختیار داری، بدون اینکه به من نشان دهی که کلید را داری؟ و با توجه به اینکه من بیرون از غار هستم و شما را در کدام مسیر هستید ندیدم. چگونه می توانید به من ثابت کن که شما کلیدها را دارید؟

[Tyushka]: من هیچ ایده ای ندارم 😐، چگونه باید این کار را انجام دهم؟ اگر حداقل می دانستید که در کدام مسیر قرار خواهم گرفت، می توانید از من بخواهید که از مسیر مخالف از غار خارج شوم. منظورم اینه که اگه وارد بشم آ و من می توانم به خارج از غار بروم اما از مسیر ب، پس بدیهی است که من کلیدها را دارم. اما اینطور نیست. ایده را به من نشان بده، من مشکوک هستم که این به ریاضی مربوط می شود 😑. متنفرم!!!

[Gulolio]: و شما درست می گویید، راهی وجود دارد که الف را تشکیل نمی دهد “اثبات” اما “برهان احتمالی”. من سعی می کنم برای شما توضیح دهم، اما به کمک و همکاری شما نیاز دارم، خوب؟

اگر ما در همان سناریو باشیم و من خارج از غار باشم، درست است؟ و من به شما زنگ می زنم و به شما می گویم:
تیوشکا، در مسیر B از غار خارج شوید.

احتمال اینکه بتوانید آن را انجام دهید چقدر است؟ که در واقع می توانید از آن مسیر از غار خارج شوید.

[Tyushka]: برای آن من می گویم که احتمال ½، برای رفتن به مسیری که من مشخص کرده اید.

[Gulolio]: خوب، حالا اگر این آزمایش را 40 بار تکرار کنیم، احتمال اینکه در هر آزمایش بتوانید از مسیری که من مشخص کردم برگردید چقدر است. هر دو الف یا ب.

[Tyushka]: خب در این صورت، 🥲 تقریباً هیچ شانسی وجود ندارد، صادقانه بگویم. اگر کلیدها را نداشته باشم، پس شانس من است


2^(-40) = 1/1099511627776 = 0.0000000000009094

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این غیرممکن است، هیچ راهی وجود ندارد که بتوانم هر بار از مسیر درست برگردم.

[Gulolio]: دقیقاً، اینطوری به من ثابت می‌کنی که کلیدها را داری. با توجه به اینکه اگر این آزمایش را 40 بار تکرار کنیم، احتمال اینکه هر بار بتوانید مسیر درست را طی کنید بسیار کم است. اگر موفق به انجام این کار شدید، می توانم بدون هیچ مشکلی فرض کنم که شما در واقع کلید را دارید. اگر متوجه شدید، به این ترتیب، نه لازم است به من نشان دهید که می توانید در را باز کنید و نه اینکه کلیدها را دارید. به همین دلیل است که ریاضیات عالی است!

مورد استفاده

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

اگر در مورد این فناوری کنجکاو هستید، توصیه می کنم این مقاله را در مورد zk-SNARKS از سند رسمی بخوانید. ما می توانیم انگیزه های مختلفی برای استفاده از بلاک چین خصوصی تر برای تراکنش های خاص داشته باشیم، بستگی به شما دارد. به نظر من، استفاده از یک راه حل بلاک چین، کاملا غیرمتمرکز، بسیار بهتر از یک سرویس ترکیبی است. مثل همیشه، من به شما توصیه می کنم تحقیقات خود را انجام دهید، در پایان پول شما است.

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

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا