سلام:)

سلام :)

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

‏اثبات دانایی صفر یا اثبات هیچ‌آگاهی روشی است برای صحت‌سنجی اطلاعات که سال ۱۹۸۲ توسط گلدواسر میکالی و راکف معرفی شد و کاربرد زیادی در مسائل امنیتی و همچنین علوم کامپیوتر به ویژه در زمینه احراز هویت و حفظ حریم خصوصی و مقیاس‌پذیری داره.

‏در الگوریتم اثبات دانایی صفر یا ZKP موضوع به زبان ساده اینه که فرد A چطور می‌تونه صحت اطلاعاتی که در اختیار داره رو به فرد B ثابت کنه بدون اینکه اطلاعات اصلی رو بهش بده. چیزی شبیه یک‌دستی زدن خودمونه.

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

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

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

‏نسل قدیمی و معروف استفاده از اثبات دانایی صفر رمزارز زی‌کش Zcash هست. زی‌کش از الگوریتم اثبات دانایی صفر اختصاصی با عنوان zk-SNARKs استفاده می‌کنه تا یک حریم خصوصی کامل رو برای تراکنش‌های شبکه خودش بوجود بیاره. شما در زی‌کش می‌تونید تراکنش‌های خصوصی و محافظت شده داشته باشید.

‏استفاده از ZKP برای Privacy ضعف‌هایی هم داره که مهمترینش مسئله سرعت و همچنین مقیاس‌پذیری هست. تعاملاتی که نیاز هست برای اثبات صحت اطلاعات یک تراکنش انجام بشه زیاد و نیازمند پردازش و صرف زمانه. به همین دلایله که انتخاب بین حفظ حریم خصوصی و سرعت یا مقیاس‌پذیری، تریدآف است‌.

‏توموچین (Tomo) هم قراره در پروتکل TomoP برای جلوگیری از Double Spending در تراکنش‌های خصوصی از تکنیک Bulletproofs که یک نوع الگوریتم ZKP هست استفاده کنه. البته توموچین در کنار Bulletproof برای Privacy از تکنیک‌های دیگه مثل RingCT و Stealth Address بهره می‌بره.

‏اما در نسل‌های جدید کاربرد الگوریتم‌های اثبات دانایی صفر فراتر از موضوع Privacy پیش رفته و در راهکارهای مقیاس‌پذیری هم کاربرد زیادی پیدا کرده. مثلا zk-Rollup که حتما به گوشتون خورده در واقع پروژه‌ای است برای مقیاس‌پذیر کردن اتریوم با zk-SNARKs که قبلا درباره‌ش توضیحاتی دادم.

‏پروژه Celer Network هم با همکاری StarkWare در حال پیاده‌سازی نسخه‌ای از ZK-Rollup است و به زودی این راهکار به پلتفرم دیفای Layer2.Finance اضافه خواهد شد.

‏شرکت StarkWare در زمینه توسعه الگوریتم‌های ZKP پیشرو هست و حالا الگوریتم اختصاصی خودش با عنوان zk-STARKs رو ارائه داده که در رقابت با zk-SNARKs است و نسبت به اون مزیت‌های زیادی داره.

‏پروژه Harmony One هم با همکاری Dusk روی سیستم‌های Zero Knowledge Proof کار می‌کنه. الگوریتم‌های اثبات دانایی صفر یا ZKP دیگری هم وجود داره مثل Hyrax و Aurora و Ligero که ممکنه در پروژه‌های کریپتو هم استفاده بشن.

کاربرد الگوریتم‌های ZKP لزوما برای تراکنش‌های Privacy نیست و نسل‌های جدید کاربردهای فراوانی در زمینه مقیاس‌پذیری دارن. از نظر من آنچه ترند بازار خواهد شد zk-Rollup و شاید zk-Starks باشد و یکی از دلایل علاقه من به پروژه Celer همین موضوعه.

⚠️ این مطلب توصیه به خرید یا فروش یا نگهداری رمزارز نیست. مسئولیت هرگونه تصمیم با شماست.

@cryptobyalireza