پروتکل Zk-SNARK چیست؟ تکنولوژی افزایش حریم خصوصی در بلاکچین
پروتکل Zk-SNARK از جمله فناوریهای بسیار جالب در زمینه اثبات اعتبار و حریم خصوصی است که در آن، هیچگونه اطلاعاتی افشا و منتقل نمیشود. این پروتکل، به طرفین یک تراکنش امکان میدهد تا بدون افشای اطلاعات مربوط به هویت و دارایی خود، مالکیت دادههای خود را اثبات کنند. از آنجا که بسیاری از شرکتها علاقه ندارند اطلاعات تراکنشهای آنها به بیرون درز کند، استفاده از این پروتکل بسیار محبوب شده است. در این مقاله قصد داریم علاوه بر آشنایی با تکنولوژی Zk-SNARK، با مفهوم مکانیسم اثبات دانش صفر (ZKP) نیز آشنا شویم.
منظور از اثبات دانش صفر (ZKP) چیست؟
برای اینکه با مفهوم پروتکل Zk-SNARK آشنا شویم، بهتر است ابتدا به مفهوم اثبات با دانش صفر بپردازیم. این مفهوم ابتدا در دهه ۱۹۸۰ بهصورت تئوری مطرح شد و بیانگر روشی برای تایید اعتبار است که در آن نیازی به انتشار اطلاعات نیست. در این روش، یک طرف تراکنش (اثباتکننده) میتواند بدون اینکه اطلاعاتی فراتر از اعتبار خود تراکنش فاش کند، تایید کننده را نسبت به اعتبار آن متقاعد کند. برای مثال، با درنظرگرفتن هش یک عدد تصادفی، اثباتکننده میتواند تایید کننده را قانع کند که واقعاً عددی با این مقدار هش موجود است. (بدون اینکه نشان دهد واقعاً آن عدد چیست)
تصور کنید شما قصد ورود به یک سایت را دارید . ابتدا باید رمز عبور خود را وارد کنید یا در واقع در اختیار صاحبان سایت قرار دهید تا آنها اعتبار آن را تایید کنند. حال اگر روشی باشد که بدون نیاز به ارسال رمز عبور، به صاحب سایت اطمینان دهید که رمز صحیح را دارید، در حفظ حریم خصوصی خود، گامی مهم برداشتهاید. در این شرایط، رمز عبور یا اطلاعات تراکنش شما در جایی ذخیره نشده و امکان هک و کلاهبرداری به حداقل میرسد. جزئیات محاسبات این روش بسیار پیچیده است.
تعریف پروتکل Zk-SNARK
پروتکل Zk-SNARK یکی از پروتکلهای مبتنی بر اثبات دانش صفر است که در آن، کاربران قادرند بدون نیاز به تعامل بین اثباتکننده و تایید کننده اطلاعات، ثابت کنند که اطلاعات ارزشمندی را دارند. Zk-SNARK، مخفف عبارت Zero-Knowledge Succinct Non-Interactive Argument of Knowledge یا گواه اثبات دانش صفر غیرتعاملی است. در بیشتر پروژههای رمزنگاری، تراکنشها توسط خود شبکه تایید را رد میشوند. برای مثال، شبکه بررسی میکند که آیا انجامدهنده تراکنش، مقدار دارایی مورد نیاز را دارد یا خیر؛ همچنین کلید خصوصی صحیح را برای اثبات اینکه دارایی متعلق به اوست بررسی میکند.
پروتکل Zk-SNARK اطلاعاتی از جمله، فرستنده، گیرنده، مقدار تراکنش و آدرس IP را در یک تراکنش پنهان میکند. این پروتکل برای این پنهانکاری، به معادلات ریاضی پناه میبرد. در حقیقت، کلیه اطلاعات در تراکنش برای تایید به محاسبات ریاضی تبدیل میشوند. با این کار، برای تایید اطلاعات، نیازی به افشای آنها نیست؛ بلکه در اینجا با حلکردن معادلات، تراکنشها تایید اعتبار میشوند.
مزایای تکنولوژی Zk-SNARK
در این بخش قصد داریم به مزایای ویژه پروتکل Zk-SNARK بپردازیم. از جمله مهمترین مزایای این پروتکل، حفظ حریم خصوصی بالای آن است. این پروتکل، اطلاعات بسیار مهم را محفوظ نگه میدارد و در آن نیازی به ارتباط گسترده بین دو طرف تراکنش نیست. شاید بتوان گفت، تنها چیزی که در این پروتکل برای تایید اعتبار نیاز است، یک درخواست از طرف اثباتکننده به تایید کننده است. جالب است بدانید که تأیید اطلاعات در این پروتکل، تنها چند میلیثانیه طول میکشد و این بسیار شگفتانگیز است. همچنین، ZK-SNARK ها، توان عملیاتی بسیار خوبی دارد و در صورت استفاده از آن، نرخ گس کمتر خواهد بود. در ادامه به کاستیهای این پروژه خواهیم پرداخت.
معایب فناوری ZK-SNARK
شاید پروتکل ZK-SNARK، یک پروژه بینقص به نظر برسد، اما در حقیقت اینطور نیست. واقعیت این است که چالشهایی در این زمینه وجود دارد. برای مثال، درصورتیکه کاربری به کلید خصوصی در پروتکل دسترسی پیدا کند، امکان دارد تا برای جعل توکن اقدام کند. این جعل میتواند با ارائه اسناد نادرست برای تاییدکنندگان یا گواه اثبات اعتبار جعلی انجام شود. تلاشهایی برای جلوگیری از این کار صورتگرفته است. ارز دیجیتال زد کش، یکی از رمزارزهاییست که از این پروتکل استفاده میکند. این شبکه بهگونهای طراحی شده تا جعل توکن را به حداقل برساند. یکی دیگر از کاستیهای این پروتکل، احتمال شکست از محاسبات کوانتومی است.
چه رمزارزهایی از ZK-SNARK استفاده میکنند؟
در حال حاضر، محبوبیت پروتکل ZK-SNARK بسیار افزایشیافته است. دو پروژه معروف از ارز دیجیتال، یعنی ZCASH و PIVX، از این پروتکل استفاده میکنند. زد کش، به طور ویژه از ZK-SNARK بهره میبرد. این شبکه ارز دیجیتال، بر اساس الگوریتم اثبات کار عمل میکند. این در حالی است که PIVX از اثبات سهام بهره میبرد. بااینوجود، هر دوی این پروژهها جزو پروژههای محبوب در زمینه ZK-SNARK هستند.
پروژه زد کش، از جمله پروژههای بسیار ایمن در میان ارزهای دیجیتال است. این شبکه، امنیت تراکنشها را با استفاده از پروژه ZK-SNARK تضمین کرده است. زد کش با کمک این پروتکل قادر است، هر چیزی که در یک تراکنش موجود است را پنهان کند و به کاربران کمک میکند تا هرچه بیشتر ناشناس باقی بمانند.
ارتباطی بین ZK-SNARK و ZK-Rollup
جالب است بدانید که اثبات دانش صفر تنها در ZK-SNARK کاربرد ندارد. در دنیای ارزهای دیجیتال، این مکانیسم در فناوری رایج ZK-Rollup نیز استفاده میشود. این روش را میتوان راهکاری مؤثر برای بهبود مقیاسپذیری اتریوم و نیز افزایش بازدهی پردازشها در نظر گرفت. ZK-Rollup، تعدادی از تراکنشها را در یک بسته جمعآوری کرده و آنها را برای تایید اعتبار در خارج از زنجیره اصلی نگه میدارد. با این کار، محاسبات ریاضی برای تایید اعتبار در خارج از زنجیره اصلی صورت میگیرد و این کار به بهبود مقیاسپذیری کمک میکند. پس از آنکه محاسبات در خارج از زنجیره اصلی انجام شدند، آنها را در قالب یک تراکنش واحد، به لایه اصلی بلاکچین، انتقال میدهد. انواع مختلفی از رولآپ در دنیای بلاکچین وجود دارد. بهعنوانمثال، در مدل رولآپ خوشبینانه (Optimistic)، فرض میکنند که تراکنشها تا زمانی که نادرست بودن آنها ثابت نشود، معتبر هستند. از طرفی zk-Rollup ها، بهسرعت تراکنشها را تأیید میکنند و مدارک اعتبار رمزنگاری را تولید میکند. اثباتها را میتوان با استفاده از ZK-SNARK یا نوع دیگری از فناوری اثبات دانش صفر یعنی ZK-STARK، تولید کرد.
تفاوت Zk-STARK با ZK-SNARK
تاکنون نسبت به اهمیت و نحوه کار ZK-SNARK اطلاعات کسب کردیم. در این بخش قصد داریم پیرامون ZK-STARK و تفاوت آن با ZK-SNARK بپردازیم. ZK-STARK، همچون روش ZK-SNARK مبتنی بر اثبات دانش صفر است؛ با این تفاوت که در این روش، نیازی به تنظیمات تصادفی نیست. همین ویژگی، امنیت استارک را از اسنارک بیشتر میکند. علاوه بر این، استفاده از استارک، سرعت تأیید و مقیاسپذیری را افزایش میدهد. بهتر است بدانید که استارکها میتوانند مثل اسنارکها، بخشی از تراکنش را برای انجام محاسبات و تایید اعتبار، به بیرون از زنجیره اصلی انتقال دهند تا توان عملیاتی شبکه افزایش یابد. با این شرایط، به دلیل اینکه از اسنارکها زودتر از استارکها در دنیای بلاکچین استفاده شدهاند؛ همچنان محبوبیت بیشتری دارند. علاوه بر این، در اسنارکها پیچیدگی کمتری در محاسبات به چشم میخورد.
آینده پروتکل Zk-SNARK
در حال حاضر پروتکل Zk-SNARK بیشتر روی خصوصیسازی تراکنشهای مالی در ارزهای دیجیتال تمرکز کرده است. خوب است بدانید که این را نمیتوان تنها کاربرد این پروتکل ارزشمند دانست. در آینده احتمال میرود از این پروتکل برای محافظت از اطلاعات و حریم خصوصی افرادی که چت آنلاین یا فعالیتهای آنلاین میکنند، استفاده کرد. این را میتوان نویدبخش استفاده از روشهای نوین برای حفظ حریم خصوصی در دنیای برنامههای غیرمتمرکز به شمار آورد.