ZK-STARK : روشی مطمئن در برابر کامپیوترهای کوانتومی

در این مطلب به سراغ روش نسبتا جدید رمزنگاری دانایی صفر موسوم به ZK-STARK می‌رویم تا ببینیم این سیستم چه برتری‌هایی نسبت به ZK-SNARK دارد و چطور می‌تواند به شبکه‌های بلاک چینی کمک کند تا روشی قابل اتکا را در اختیار کاربر قرار دهند. علاوه بر این، با توجه به ظهور کامپیوترهای کوانتومی خواهیم دید که آیا این دستگاه‌ها می‌توانند بلاک چین را تهدید کنند یا نه.

0 81

نوبت آن است که به سراغ مشکلات این فناوری ZK-SNARK برویم و نوآوری جدیدی که در زمینه رمزنگاری‌های روش دانایی صفر به وجود آمده را بررسی کنیم؛ روشی که تحت عنوان آرگومان‌های شفاف و مقیاس‌پذیر دانایی صفر یا به اختصار ZK-STARK شناخته می‌شود.

ZK-SNARK ها چندین مشکل زیربنایی دارند که منجر به کاهش تکیه بر روش رمزنگاری دانایی صفر در بلاک چین‌ها و سایر کاربردهای احتمالی از این فناوری می‌شود:

۱. مرحله قابل اعتماد راه‌اندازی ممکن است در معرض خطر قرار بگیرد (فرض همیشگی ما این است که در صورت استفاده از سیستم ZK-SNARK، مرحله راه‌اندازی ایمن باشد)

۲. مقیاس پذیری ZK-SNARK ها قابل بهبود است، چون با افزایش زمان اجرا، زمان لازم برای ایجاد و خصوصا تایید اثبات‌ها باید بهینه‌سازی شود.

۳. رمزنگاری ZK-SNARK در مقابل حملاتی که از سوی کامپیوترهای کوانتومی انجام می‌شود آسیب‌پذیر است.

اکنون بگذارید هر یک از موارد بالا را به تفصیل برای شما بشکافیم و آن‌ها را با ZK-STARKها مقایسه کنیم.

مرحله قابل اعتماد راه‌اندازی

چه می‌شود اگر دولت یا یک نهاد قدرتمند سعی کند طرفین درگیر در راه‌اندازی سیستم ZK-SNARK را به اشتراک پارامترهای راه‌اندازی این سیستم ترغیب کند؟ اگر این نهاد قدرتمند موفق باشد، می‌تواند در سیستمی که به طور کلی ایمن و قابل اعتماد شناخته می‌شود، اثبات‌های دروغین بسازد. برای مثال، اگر کشوری بخواهد انتخابات ریاست جهموری را با بلاک چینی انجام دهد که برای اثبات رای‌ها از سیستم ZK-SNARK استفاده می‌کند، نهادهای مختلف انگیزه‌های متنوعی برای کشف پارامترهای راه‌اندازی و تغییر نتیجه‌ی انتخابات خواهند داشت. این نهادها با ایجاد اثبات‌های دروغین می‌توانند مسیر انتخابات را تغییر دهند.

بزرگ‌ترین مشکل روش ZK-SNARK این است که کاربران باید به صورت ضمنی به مرحله‌ی راه‌اندازی و طرفینی که در این فرآیند دخیل هستند اعتماد داشته باشند. بنابراین کاربران سیستم هرگز نخواهند فهمید که سیستم در هنگام راه‌اندازی در معرض خطر قرار گرفته است یا نه. وقتی از یک سیستم در خصوص امری استفاده می‌شود که محرک‌های زیادی برای تغییر مسیر آن وجود دارد، همواره کسانی پیدا می‌شوند که به دنبال تغییر مسیر آن باشند.

در روش ZK-STARK خبری از مرحله قابل اعتماد راه‌اندازی خارجی نیست و از تصادفی بودن (Randomness) صرفا برای اطلاعات عمومی استفاده می‌شود. استفاده عمومی از تصادفی بودن به‌ویژه برای کاربرانی اهمیت دارد که باید به این سیستم‌های اثبات دانایی صفر اعتماد کنند، در غیر این صورت یک نهاد قدرتمند می‌تواند از توان خود برای به دست آوردن پارامترهای راه‌اندازی و تولید اثبات‌های دروغین استفاده کند. با توجه به این که در سیستم‌های ZK-STARK از مراحل قابل اعتماد راه‌اندازیِ شخص ثالث خبری نیست و به جای آن از تصادفی بودنی استفاده می‌شود که به صورت عمومی قابل اعتبارسنجی است، این روش اعتمادی می‌سازد که سنجش‌پذیر است.

مقیاس پذیری

کسانی که توجه زیادی به چالش‌های فنی فضای بلاک چین دارند، حتما می‌دانند که مقیاس پذیری یکی از مهم‌ترین مباحث موجود در این حوزه است. اگرچه برای افزایش مقیاس بلاک چین روش‌های متنوعی وجود دارد که توضیح آن‌ها در این مقاله نمی‌گنجد، ولی همه این روش‌ها نقاط ضعف و قوت خاص خودشان را دارند. در سیستم‌های اثبات دانایی صفر، مقیاس پذیری از گستردگی سیستم و پذیرش پایدار آن اهمیت بیشتری دارد. ZK-STARKها نسبت به ZK-SNARKها از مقیاس پذیری بسیار بیشتری برخوردارند. بگذارید پیچیدگی محاسبات ZK-STARK را در مقایسه با ZK-SNARK به چهار دسته‌بندیِ مرتبط با مقیاس پذیری تقسیم کنیم:

۱. پیچیدگی مدار محاسبه (مدار محاسبه روشی استاندارد برای عبارت‌های چندجمله‌ای است که در آن امکان محاسبه‌ی جمع و ضرب وجود دارد): در سیستم‌های ZK-SNARK و ZK-STARK، کد لازم برای ایجاد برنامه‌های دانایی صفر به نحوی نوشته می‌شود که امکان تقسیم شدن به مدارهای مختلف و بعد پردازش شدن را داشته باشد. اساساً همین سادگیِ پیچیدگیِ مدارها در تناسب با کارآمدیِ محاسباتیِ آن‌هاست. در نمودار زیر، پیچیدگی محاسباتی اساساً با اندازه و ریزه‌کاری محاسبه‌های زیربنایی که از آن‌ها برای تولید اثبات استفاده می‌شود برابر است. (نمودار پیچیدگیِ زیر بر اساس پیچیدگیِ کلی سیستم و با تمرکز بر گذرگاه‌های ضرب به تصویر کشیده شده؛ برای مشاهده‌ی مرحله‌ی راه‌اندازی به صفحه ۱۱ از وایت پیپر ZK-STARK مراجعه کنید.)

۲. پیچیدگی ارتباطات (معمولا به عنوان مقدار ارتباطی تعریف می‌شود که برای حل مشکلی مشترک میان دو طرف از چندین طرف مختلف لازم است): با افزایش حجم محاسبات، پیچیدگی ارتباطات ZK-SNARK هم به شکل خطی افزایش می‌یابد، این در حالی است که در ZK-STARK با افزایش حجم محاسبات، پیچیدگی ارتباطات فقط به مقدار بسیار کمی بیشتر می‌شود. این مسئله یکی از برتری‌های اصلی ZK-STARK نسبت به ZK-SNARK است که در بحث راه‌اندازی تک‌مرحله‌ای اهمیت زیادی پیدا می‌کند. در حال حاضر SNARKها پس از مرحله‌ی راه‌اندازی و در هنگام اعتبارسنجی اثبات‌ها پیچیدگی ارتباطیِ کمتری نسبت به STARKها دارند.

۳. پیچیدگی اثبات‌گر: انجام فرآیند اثبات ZK-STARKها در هنگام افزایش اندازه‌ی محاسبات حدود ۱۰ برابر سریع‌تر از ZK-SNARKهاست.

۴. پیچیدگی اعتبارسنج: با افزایش اندازه‌ی محاسبات، پیچیدگی اعتبارسنج‌های ZK-STARKها در مقایسه با ZK-SNARKها فقط به اندازه‌ی کمی افزایش می‌یابد. این مسئله در بحث راه‌اندازی تک‌مرحله‌ای اهمیت زیادی پیدا می‌کند. در حال حاضر بعد از مرحله راه‌اندازی، SNARKها نسبت به STARKها به زمان کمتری برای اعتبارسنجی نیاز دارند. مثلا زمان لازم برای اعتبارسنجی در STARKها ۵۰ تا ۱۰۰ میلی ثانیه است، در حالی که زمان لازم برای SNARKها حدود ۱۰ میلی ثانیه است.

تصویر زیر نموداری ساده از مقایسه‌ی پیچیدگی ارتباط میان ZK-STARKها و ZK-SNARKهاست که از وایت پیپر ZK-STARK برداشته شده است.

ZK-STARK : روشی مطمئن در برابر کامپیوترهای کوانتومی

نمودار بالا نشان می‌دهد که با افزایش پیچیدگی اثباتِ زیربنایی، ارتباطات لازم برای ZK-STARK در مقایسه با ZK-SNARK به منظور تکمیل محاسبات با شتاب خیلی کمتری افزایش می‌یابد. در ZK-SNARK، سطح ۱ تا ۶ به پیچیدگی مقدار محاسبه اشاره دارد (سطوح گذرگاه ضرب که در آن افزایش هر سطح حدودا معادل ۵۵ برابر سطح قبلی است). سطوح ۵ و ۶ در این نمودار نشان داده نشده‌اند چون حجم ارتباطات آن‌ها از ۱۰۰ گیگابایت فراتر می‌رود. خط مربوط به «زمان تایید پسا-پردازش» به زمانی اشاره دارد که SNARK در آن تایید شده است.

ZK-STARK : روشی مطمئن در برابر کامپیوترهای کوانتومی

نمودار بالا به سادگی به ما نشان می‌دهد که در هنگام افزایش پیچیدگی اثبات زیربنایی، زمان لازم برای تولید اثبات توسط ZK-STARK خیلی کندتر از ZK-SNARK افزایش می‌یابد. سطوح ۱ تا ۶ پیچیدگی مدار محاسبه را به تصویر می‌کشد (سطوح گذرگاه‌های ضرب که در آن افزایش هر سطح معادل ۵۵ برابر سطح قبلی است). سطح ۶ برای ZK-SNARK نشان داده نشده چون زمان لازم برای تکمیل فرآیند در آن سطح از ۱۰ ساعت فراتر می‌رود.

ZK-STARK : روشی مطمئن در برابر کامپیوترهای کوانتومی

نمودار فوق نشان می‌دهد که در هنگام افزایش پیچیدگی اثبات زیربنایی، زمان لازم برای تایید یک اثبات در ZK-STARK با شتاب بسیار کمتری نسبت به ZK-SNARK افزایش می‌یابد. سطوح ۱ تا ۶ به پیچیدگی مدار محاسبه اشاره دارد (سطوح گذرگاه‌های ضرب که در آن افزایش هر سطح معادل ۵۵ برابر سطح قبلی است). سطح ۶ برای ZN-SNARK نشان داده نشده چون زمان لازم برای تکمیل فرآیندهای این روش از ۱۰ ساعت بیشتر است. زمان تایید پسا-پردازشیِ ZK-STARK و ZK-SNARK به زمانی اشاره دارد که STARK/SNARK تایید شده باشد.

نمودارهای بالا از وایت پیپر ZK-STARK استخراج شده و یادداشت‌های آن هم برای مقایسه ساده میان ZK-SNARK و ZK-STARK از همین وایت پیپر به دست آمده است.

در سیستم‌های اثبات، اثبات‌گر باید قاعده‌ای را به اثبات برساند که بر اساس آن هر کسی بتواند صحت آن مدعا را مورد سنجش قرار دهد. برای مثال:

قاعده اثبات‌گر: آلیس می‌خواهد ثابت کند که مالک یک حساب بانکی در بانک Acme است.

اگر قاعده‌ی بالا را تجزیه کنید تا به منظور محاسبه و تولید اثبات بتوانید مداری از دانایی صفر داشته باشید، اثبات‌گر به شکل ریاضی این اثبات را به همراه کلید اعتبارسنج از نظر صحت بررسی می‌کند. این فرآیند (خصوصا فرآیند تایید) با استفاده از الگوریتم جدیدتری به نام Fast Reed-Solomon Interactive Oracle Proo تسریع شده است.

رایانش کوانتومی

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

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

کامپیوترهای کوانتوم طوری طراحی می‌شوند که تمام همبستگی‌های میان کیوبیت‌ها را توصیف کنند؛ یعنی توان خروجی محاسبات را برای عملیات‌های خاص به اندازه‌ی ۲ به توان n افزایش می‌دهند (n = همبستگی به ازای هر کیوبیت در هر سیستم). برای مثال، ۲ کیوبیت = ۴ بیت کلاسیک، ۳ کیوبیت = ۸ بیت و ۲۰ کیوبیت = ۱٫۰۴۸٫۵۷۶ بیت. از آن‌جایی که کامپیوترهای کوانتوم می‌توانند در عملیات‌های خاص داده‌ها را به صورت موازی و سریال (مثل کامپیوترهای کلاسیک) پردازش کنند، سرعت پردازش برخی محاسبات، مثل جستجوی پایگاه‌های داده یا یافتن کلید خصوصی از روی کلید عمومی، به طرز چشمگیری افزایش می‌یابد.

چالش‌های رایانش کوانتومی برای بلاک چین‌ها

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

بسیاری از سیستم‌های رمزنگاری امروزی، مثل RSA یا ECDSA، قادر به تاب آوردن در برابر حملات کامپیوترهای کوانتومی نیستند. بیت کوین و اتریوم برای تولید کلیدهای خصوصی و عمومی از ECDSA (رمزنگاری منحنی بیضوی) استفاده می‌کنند. تصویر زیر به سادگی نشان می‌دهد که بیت کوین از چه فرآیندی برای تولید کلیدهای خصوصی، عمومی و آدرس‌های عمومی بهره می‌گیرد.

ZK-STARK : روشی مطمئن در برابر کامپیوترهای کوانتومی

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

الگوریتم Shor در وهله‌ی اول برای آدرس‌هایی که دوباره استفاده می‌شوند مشکل‌ساز است. کامپیوترهای کوانتومی برای آدرس‌هایی که از این الگوریتم استفاده نمی‌شود، به استفاده از الگوریتم Grover روی می‌آورند تا بتوانند با حل رمزنگاری SHA-256 یا SHA3-256 کلید عمومی را از روی هش کلید خصوصی به دست بیاورند. کامپیوترهای کوانتومی می‌توانند با صرف مدت زمانی به اندازه‌ی نصف کامپیوترهای کلاسیک این کلید عمومی را پیدا کنند. با این حال، در همین مدت زمان هم عمر بشر کفاف نمی‌دهد که به این کلید عمومی برسد. علاوه بر این، درخت مرکل (Merkle) در حال حاضر در برابر حملات کامپیوترهای کوانتومی آسیب‌پذیر به نظر نمی‌رسد.

هم‌اکنون متخصصان مشغول کارند تا الگوریتم‌هایی مثل رمزنگاری Lattice-based یا چندمتغیره بسازند که توانایی مقاومت در برابر کامپیوترهای کوانتومی را داشته باشد. این الگوریتم‌ها می‌توانند در آینده در بلاک چین‌هایی مثل بیت کوین و اتریوم جایگزین ECDSA شوند.

ZK-STARKها به جفت کلیدهای خصوصی-عمومی (مثل ECDSA) متکی نیستند، اما برای هشِ مقاوم در برابر برخورد از راهکارهای تعاملی (که الگوریتم Grover نمی‌تواند آن را بشکند)، و برای اثبات‌های غیرتعاملی از یک مدل تصادفیِ اوراکل (مدلی که معمولا به جای توابع هش رمزنگاریِ عمومی استفاده می‌شود و در آن برای خروجیِ اوراکل به مفروضاتی با درجه‌ی Randomness بالا نیاز است) استفاده می‌کنند، در نتیجه ZK-STARKها در حال حاضر در برابر حملات کامپیوترهای کوانتومی ایمن‌اند.

کامپیوترهای کوانتومی هنوز تا رسیدن به مرحله‌ی بهره‌برداری فاصله‌ی زیادی دارند (پیش‌بینی‌ها از بازه‌ی زمانی ۲۰۲۶ تا ۲۰۳۵ خبر می‌دهد)، بنابراین فعلا لازم نیست نگران توانایی آن‌ها باشید. من در این مقاله از عبارت مقاوم در برابر کوانتوم و ضد کوانتوم استفاده کرده‌ام و آن را مثل ساعتی در نظر گرفتم که تا عمق خاصی در برابر آب مقاوم است، بنابراین تا زمانی که قابلیت‌های حقیقی کامپیوترهای کوانتومی مشخص نشده باید صبر کنیم. در حال حاضر نمی‌توان گفت که آیا الگوریتمی پیدا می‌شود که بتواند سیستم‌های رمزنگاری امروزی را دور بزند یا نه. پس تا زمانی که رایانش کوانتومی به واقعیت تبدیل نشود و کاربردهای عملی آن را نبینیم، نمی‌توانیم بگوییم که الگوریتم های رمزنگاری بیت کوین و اتریوم تغییر خواهند کرد یا نه.

وضعیت موجود و سخن پایانی

در حال حاضر ZK-SNARKها در رمز ارز Zcash موجود هستند و با استفاده از کتابخانه‌ی libSNARK می‌توانید با آن‌ها برنامه بسازید و در بلاک چین‌های خود استفاده کنید. ZK-STARK فناوری جدیدتری است که تاکنون در ظرفیت تولیدی بازار به کار گرفته نشده است. اخیرا شرکتی به نام StarkWare Industries به وجود آمده که می‌خواهد با استفاده از ZK-STARK به حل چالش‌های موجود بپردازد و این فناوری را تجاری‌سازی کند. بنابراین شاید بتوانیم از این فناوری در صنایع مختلف از جمله بلاک چین بیشتر استفاده کنیم.

ZK-STARKها مقیاس‌پذیر، شفاف و در حال حاضر در برابر کوانتوم مقاوم هستند و کارکردهای گسترده‌ای دارند. این مسئله باعث می‌شود بستر اعتمادسازی در این فناوری وجود داشته باشد، چون می‌توانیم آن را اعتبارسنجی کنیم. فناوری ZK-STARK می‌تواند به کمک حوزه‌هایی بیاید که مستلزم اعتماد هستند و محرک‌های بسیاری برای تقلب در آن‌ها وجود دارد؛ از جمله این حوزه‌ها می‌توانیم به موارد زیر اشاره کنیم:

۱. سیستم‌های رای‌گیری

۲. اجرای محاسبات و تایید نتایج آن، مثلا برای بررسی تراکنش‌های قبلی بلاک چین

۳. تایید امن اطلاعات، مثلا برای اثبات هویت

به نظر من Zcash در آینده در بلاک چین خود از مدل غیرتعاملیِ ZK-STARK استفاده خواهد کرد. علاوه بر این، ممکن است اتریوم هم در محاسبات قابل تایید و حتی شاید تراکنش‌های امن/ناشناس خود از ZK-STARK استفاده کند. حوزه‌ی اپلیکیشن‌های غیرمتمرکز هم مستعد استفاده از این فناوری است چون حریم خصوصی در آن اهمیت زیادی دارد.

ZK-STARK فناوری جذابی است که اجازه می‌دهد در سیستم‌های پردازشی به سطحی از اعتماد دست یابیم که تاکنون فاقد آن بودیم؛ اعتمادی که قابل تایید و عمومی است. این ایده از آن جهت اهمیت دارد که در صورت استفاده از سیستم اثبات ZK-STARK نهادهای مختلف با تمام انگیزه‌های بزرگی که برای جعل اطلاعات دارند، نمی‌توانند دست به انجام چنین اقداماتی بزنند. پیاده‌سازی و استفاده گسترده از این تکنولوژی زمان‌بر است، ولی مزایای آن بسیار چشمگیر خواهد بود و چیزی را می‌سازد که تاکنون نظیر آن را ندیده‌ایم: اعتمادی قابل تایید و سنجش در سیستمی که محرک‌های قدرتمندی برای دستکاری اطلاعات وجود دارد.

منبع

شاید از این مطالب هم خوشتان بیاید.

ارسال پاسخ

آدرس ایمیل شما منتشر نخواهد شد.