حفظ حریم خصوصی با استفاده از zk-SNARK و zk-STARK (شماره 1)
حفظ حریم خصوصی همیشه به عنوان یک ویژگی ارزشمند در جامعه رمزارزها تلقی می شود زیرا اکثر دارندگان دارایی های رمزنگاری شده نمی خواهند دارایی ها و سابقه معاملات آنها برای بقیه آشکار باشد. در میان تکنیک های رمزنگاری مختلف با هدف حفظ حریم خصوصی برای بلاک چین ها ، اثبات zk-SNARK و zk-STARK دو نمونه قابل توجه هستند. در این مقاله قصد بررسی آنها را داریم.
روشهایzk-SNARK (zero-knowledge succinct non-interactive argument of knowledge) و zk-STARK (zero-knowledge succinct transparent argument of knowledge) دو روش متداول برای دست یابی به هدف حفظ حریم خصوصی افراد هستند.
روش zk-SNARK در حال حاضر درZcash ، سامانه پرداخت مبتنی بر بلاک چین بانک JP Morgan و … به عنوان یک راهکار برای احراز هویت ایمن مشتریان در سرورها استفاده میشود. با وجود اینکه در حالی که zk-SNARKs پیشرفت خوبی داشته است ، روش zk-STARK اکنون به عنوان نسخه جدید و بهبود یافته پروتکل معرفی میشود و بسیاری از اشکالات قبلی zk-SNARKs را برطرف میکند.
قبل از معرفی zk-SNARK و zk-SNARKs به معرفی zk-proof میپردازیم که پایه هر دو مفهوم است. Zk-proof در رمزنگاری روشی است که طرف (اثباتکننده) میتواند به طرف (تصدیقکننده) ثابت کند گزارهی ارائهشده صحیح است. این روش فقط صحت گزاره را تصدیق میکند و هیچ اطلاعات اضافهای را بجز این حقیقت که گزاره واقعاً صحت دارد ارسال نمیکند. شاید تصور چنین امری مشکل به نظر بیاید. برای روشن شدن بیشتر این موضوع به یک مثال میپردازیم.
یک غار حلقه ای شکل با یک ورودی واحد و یک درب جادویی تصور کنید که دو مسیر جانبی را از هم جدا میکند. برای گذر از درب جادویی ، باید کلمات مخفی درست را زمزمه کنید. بنابراین در نظر بگیرید که آلیس (زرد) می خواهد به باب (آبی) ثابت کند که می داند کلمات مخفی چیست - در حالی که هنوز آنها را مخفی نگه می دارد. برای انجام این کار ، باب موافقت می کند که در خارج منتظر بماند ، در حالی که او وارد غار میشود و تا انتهای یکی از دو مسیر ممکن راه میرود. در این مثال ، او تصمیم می گیرد مسیر 1 را طی کند (شکل 1). پس از مدتی ، باب از ورودی عبور می کند و فریاد می زند که می خواهد آلیس از کدام طرف ظاهر شود (در این مورد مسیر 2) (شکل 2). اگر آلیس واقعاً کلمات رمز را بداند ، با اطمینان از مسیری که باب میخواهد ظاهر می شود (شکل 3).
کل فرایند ممکن است چندین بار به عنوان راهی برای تأیید اینکه آلیس از روی شانس راه درستی را انتخاب نکرده است ، تکرار شود.این مثال مفهوم zk-proof را نشان میدهد که بخشی از پروتکل های zk-SNARK و zk-STARK هستند که در مطالب بعدی به این دو مفهوم خواهیم پرداخت.