متوسط

الگوریتم zk-SNARK چیست؟ بررسی سازوکار تایید تراکنش‌ها بدون افشای اطلاعات

تاریخ انتشار:
۱۰ بهمن ۱۴۰۲
آخرین به‌روزرسانی:
۱۴ مهر ۱۴۰۵
مفاهیم ارز دیجیتالفائزه آذری
17,376
زمان مطالعه:
28 دقیقه

در دنیای بلاکچین، حفظ حریم خصوصی و تأیید صحت اطلاعات بدون افشای جزئیات آن‌ها اهمیت زیادی دارد. الگوریتم zk-SNARK یکی از فناوری‌های پیشرفته‌ای است که با استفاده از آن می‌توان ثابت کرد یک داده یا تراکنش معتبر است، بدون اینکه اطلاعات اصلی آن فاش شود.

الگوریتم zk-SNARK چیست؟ بررسی سازوکار تایید تراکنش‌ها بدون افشای اطلاعات

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

مفهوم اثبات دانش صفر یا Zero Knowledge Proof چیست؟

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

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

جادوی اثبات یک راز بدون فاش کردن اطلاعات تراکنش

وقتی این ایده‌ی جذاب را وارد دنیای ارزهای دیجیتال می‌کنیم، اتفاق بسیار جالب و کارآمدی می‌افتد. در شبکه‌های مالی سنتی یا حتی بسیاری از رمزارزهای معمولی، برای اینکه یک تراکنش (انتقال مالی یا جابه‌جایی دارایی بین دو نفر) تایید شود، سیستم باید تمام جزئیات را به دقت بررسی کند. سیستم باید بداند فرستنده کیست، چقدر پول در حساب خود دارد و گیرنده چه کسی است.

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

چرا شبکه‌های بلاک چین به اثبات دانش صفر نیاز دارند؟

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

  • اولین مشکل، حفظ حریم خصوصی کاربران است. هیچکس در دنیای واقعی دوست ندارد تمام مردم دنیا بدانند او چقدر سرمایه در حساب خود دارد یا پول‌هایش را برای چه کسانی می‌فرستد. شفافیت بیش از حد در بلاک‌چین، این حریم خصوصی را از بین می‌برد.
  • دومین مشکل، مسئله‌ی مقیاس‌پذیری (توانایی سیستم برای پردازش سریع تعداد زیادی درخواست به صورت همزمان) است. وقتی قرار باشد تمام کامپیوترهای فعال در شبکه، ریز به ریز اطلاعات هر تراکنش را بررسی و تایید کنند، سرعت شبکه به شدت پایین می‌آید و کارمزدها گران می‌شود.

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

انواع روش‌های اثبات دانش صفر در ارزهای دیجیتال

تکنولوژی اثبات دانش صفر در طول سال‌های گذشته پیشرفت کرده و امروز در پروژه‌های مختلف رمزارز به شکل‌های متفاوتی استفاده می‌شود. اگر بخواهیم این روش‌ها را به زبان ساده دسته‌بندی کنیم، به دو مدل اصلی و بسیار مهم می‌رسیم:

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

الگوریتم zk-SNARK چیست و چه هدفی دارد؟

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

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

بررسی عبارت zk-SNARK

نام zk-SNARK مخفف یک عبارت طولانی انگلیسی (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) است که هر بخش آن، یکی از ویژگی‌های مهم این تکنولوژی را توصیف می‌کند. برای درک عمیق‌تر، این کلمه‌ی پیچیده را به بخش‌های کوچکتر تقسیم می‌کنیم و هر کدام را به زبان ساده یاد می‌گیریم:

مفهوم Zero-Knowledge یا دانش صفر

بخش zk در ابتدای این کلمه، مخفف Zero-Knowledge به معنای دانش صفر است. این یعنی در طول فرایند تایید یک تراکنش، هیچ اطلاعات اضافه‌ای رد و بدل نمی‌شود و دانش شخص یا سیستم بررسی‌کننده از جزئیات تراکنش شما در حد همان صفر باقی می‌ماند. شبکه فقط یک پیام تایید دریافت می‌کند و می‌فهمد که کار شما قانونی و درست است، اما هرگز نمی‌فهمد شما چه کسی هستید یا دقیقا چقدر پول انتقال داده‌اید.

مفهوم Succinct یا مختصر بودن حجم داده‌ها

حرف S در این عبارت مخفف کلمه‌ی Succinct به معنای مختصر و فشرده است. یکی از بزرگترین جذابیت‌های اسنارک همین ویژگی به شمار می‌رود. حجم تاییدیه‌ای که سیستم تولید می‌کند تا صحت تراکنش شما را نشان دهد، به شدت کوچک است (معمولا در حد چند صد بایت). به دلیل همین حجم بسیار کم، شبکه‌ی بلاک‌چین می‌تواند این تاییدیه را در کسری از میلی‌ثانیه بررسی کند. اگر بخواهیم مثال بزنیم، مثل این است که به جای خواندن یک کتاب هزار صفحه‌ای برای بررسی محتوای آن، فقط یک خلاصه‌ی یک خطی اما کاملا معتبر از آن را بخوانید و کل ماجرا را تایید کنید.

مفهوم Non-Interactive یا غیرتعاملی بودن فرایند

حرف N و I مخفف عبارت Non-Interactive به معنای غیرتعاملی هستند. در روش‌های قدیمی‌تر اثبات دانش صفر، تاییدکننده و اثبات‌کننده باید بارها و بارها با هم پیام رد و بدل می‌کردند تا در نهایت تاییدکننده قانع شود که اطلاعات درست است. اما در سیستم اسنارک، این فرایند غیرتعاملی شده است. یعنی شما فقط یک بار پیام تاییدیه‌ی خود را می‌فرستید و کار تمام می‌شود؛ دیگر نیازی به پرسش و پاسخ‌های طولانی و رفت و برگشت داده‌ها نیست. همین ویژگی سرعت پردازش تراکنش‌ها را به شدت بالا می‌برد.

مفهوم Arguments of Knowledge در تایید اطلاعات

در نهایت بخش ARK در انتهای نام این الگوریتم، مخفف عبارت Arguments of Knowledge است. این بخش به قدرت ریاضی و رمزنگاری (Cryptography: علم کدگذاری و پنهان‌سازی اطلاعات برای حفظ امنیت) در این سیستم اشاره دارد. معنای ساده‌ی این بخش این است که سیستم آن‌قدر از نظر محاسباتی قدرتمند طراحی شده که امکان تقلب در آن وجود ندارد. به زبان ساده، هیچکس نمی‌تواند یک تاییدیه‌ی جعلی بسازد، مگر اینکه واقعا آن اطلاعات یا پول را در اختیار داشته باشد.

بررسی عبارت zk-SNARK | صرافی کیف پول من

تاریخچه پیدایش و دلیل نیاز به راه‌اندازی پروتکل اسنارک

ایده‌ی اولیه‌ی اثبات دانش صفر به دهه‌ی 1980 میلادی برمی‌گردد، اما الگوریتم zk-SNARK که نسخه‌ی بهینه شده و کاربردی آن است، در اوایل دهه‌ی 2010 میلادی توسط گروهی از دانشمندان علوم کامپیوتر توسعه یافت. دلیل اصلی نیاز به چنین پروتکلی، حل مشکل بزرگی بود که در شبکه‌ی بیت‌کوین و سایر ارزهای دیجیتال اولیه وجود داشت.

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

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

الگوریتم zk-SNARK چگونه کار می‌کند؟

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

بررسی دو مفهوم کلیدی: اثبات‌کننده (Prover) و تاییدکننده (Verifier)

در هر سیستم مبتنی بر دانش صفر، ما همیشه دو طرف اصلی داریم که با یکدیگر در ارتباط هستند تا یک تراکنش را به سرانجام برسانند:

  • اثبات‌کننده یا Prover: شخصی یا نرم‌افزاری که ادعا می‌کند یک اطلاعات خاص مثل موجودی حساب کافی را در اختیار دارد و می‌خواهد این موضوع را ثابت کند، اما حاضر نیست جزئیات اطلاعاتش را نشان دهد.
  • تاییدکننده یا Verifier: شخص، شبکه یا سیستمی که وظیفه دارد درستی ادعای اثبات‌کننده را بسنجد و تایید کند، بدون اینکه از راز او باخبر شود.

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

مثال کاربردی برای درک مکانیسم اثبات دانش صفر در دنیای واقعی

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

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

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

جریان تایید تراکنش در سیستم اسنارک

برای اینکه مسیر یک تراکنش را در دنیای واقعی رمزارزها بهتر تجسم کنید، مراحل کار را به شکل یک جریان مرحله به مرحله بررسی می‌کنیم. وقتی شما می‌خواهید مقداری ارز دیجیتال را به صورت کاملا خصوصی ارسال کنید، این مراحل به ترتیب طی می‌شوند:

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

بررسی مزایا و معایب فناوری zk-SNARK

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

مزایای اسنارک برای امنیت، حریم خصوصی و مقیاس‌پذیری بلاک چین

الگوریتم اسنارک سه هدیه‌ی بسیار مهم برای شبکه‌های بلاک‌چینی به همراه آورده است که باعث شده پروژه‌های بزرگ به سمت استفاده از آن حرکت کنند. این سه مزیت اصلی عبارتند از:

  • حریم خصوصی بی‌نظیر: همان‌طور که قبلا اشاره کردیم، بزرگترین دستاورد این پروتکل، پنهان کردن جزئیات تراکنش است. شما می‌توانید با خیال راحت دارایی خود را جابه‌جا کنید بدون اینکه نگران باشید کسی در دفتر کل عمومی، آدرس یا موجودی کیف پول شما را ردیابی کند.
  • امنیت ریاضی و نفوذناپذیر: کدهای پشتوانه‌ی این سیستم بر اساس پیچیده‌ترین معادلات ریاضی طراحی شده‌اند. به زبان ساده، امکان تقلب یا ساختن یک تاییدیه‌ی جعلی در سیستم اسنارک تقریبا غیرممکن است، مگر اینکه شخص واقعا آن موجودی را در حساب خود داشته باشد.
  • مقیاس‌پذیری بالا: (Scalability: توانایی شبکه برای پردازش تعداد زیادی تراکنش در زمان کوتاه و با هزینه‌ی کم) از آنجایی که حجم تاییدیه‌های تولید شده در این روش بسیار کوچک است، شبکه‌ی بلاک‌چین به جای بررسی یک کوه از اطلاعات، فقط یک فایل چند بایتی را بررسی می‌کند. این ویژگی باعث می‌شود ترافیک شبکه کاهش یابد، سرعت تایید به شدت بالا برود و کارمزد تراکنش‌ها ارزان‌تر شود.

چالش‌ها و محدودیت‌های امنیتی اسنارک

با وجود تمام مزایای فوق‌العاده، الگوریتم اسنارک دو پاشنه‌ی آشیل یا نقطه‌ی ضعف مهم دارد که توسعه‌دهندگان دائما در تلاش برای رفع آن‌ها هستند.

مشکل راه‌اندازی اولیه و اعتماد یا Trusted Setup

بزرگترین چالش اسنارک، مرحله‌ای به نام راه‌اندازی اولیه یا Trusted Setup است. برای اینکه سیستم اسنارک شروع به کار کند، گروهی از سازندگان شبکه باید دور هم جمع شوند و مجموعه‌ای از پارامترها و کلیدهای رمزنگاری اولیه‌ را تولید کنند.

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

در شبکه‌ی اسنارک هم این شاه‌کلید اولیه تولید می‌شود و کاربران باید به سازندگان شبکه اعتماد کنند که آن‌ها این اطلاعات حساس را نابود کرده‌اند. این موضوع یک چالش بزرگ است، زیرا شعار اصلی دنیای رمزارزها این است که نیازی به اعتماد به هیچ شخص ثالثی نیست؛ اما اسنارک در روز اول تولد خود، نیازمند اعتماد کاربران به چند انسان است.

میزان قدرت پردازشی مورد نیاز برای تولید اثبات

دومین چالش، نابرابری در میزان انرژی و زمانی است که برای اثبات کردن و تایید کردن نیاز داریم. در شبکه‌ی اسنارک، کار تاییدکننده بسیار راحت است و در کسری از ثانیه انجام می‌شود. اما کار اثبات‌کننده (یعنی سیستم یا شخصی که می‌خواهد ثابت کند اطلاعاتش درست است) بسیار سنگین است.

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

کاربرد zk-SNARK در دنیای ارزهای دیجیتال و وب 3

حالا که با تئوری این تکنولوژی جذاب آشنا شدیم، وقت آن است که ببینیم در دنیای واقعی چگونه از آن استفاده می‌شود. با ظهور وب ۳ (Web3: نسل جدید و غیرمتمرکز اینترنت که در آن کاربران مالک و کنترل‌کننده‌ی اطلاعات خود هستند)، نیاز به حفظ حریم خصوصی و همچنین افزایش سرعت شبکه‌ها بیشتر از همیشه احساس می‌شود. الگوریتم اسنارک در این فضا مانند یک آچار فرانسه‌ی قدرتمند و همه‌کاره عمل می‌کند که بسیاری از پروژه‌های بزرگ برای حل مشکلات خود به سراغ آن رفته‌اند.

نقش اسنارک در زی کش (Zcash) برای مخفی کردن فرستنده، گیرنده و مبلغ

ارز دیجیتال زی کش یکی از اولین و مهم‌ترین پروژه‌هایی بود که از الگوریتم اسنارک به صورت عملی استفاده کرد. هدف اصلی شبکه‌ی زی کش این بود که به کاربران اجازه دهد در صورت تمایل، تراکنش‌های خود را کاملا مخفی و ناشناس نگه دارند.

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

اسنارک در زی کش (Zcash) | صرافی کیف پول من

ارتباط استراتژیک zk-SNARK و راهکارهای لایه دوم اتریوم

یکی از بزرگترین مشکلات شبکه‌ی اتریوم، کندی و هزینه‌ی بالای کارمزدها در زمان شلوغی شبکه است. وقتی همه می‌خواهند به صورت همزمان از شبکه استفاده کنند، ترافیک سنگینی ایجاد می‌شود. برای حل این مشکل، راهکارهای لایه دوم (Layer 2: شبکه‌ها یا مسیرهای کمکی که روی بلاک‌چین اصلی ساخته می‌شوند تا بار پردازشی آن را کاهش دهند) به وجود آمدند.

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

نحوه فشرده‌سازی تراکنش‌ها به کمک فناوری ZK-Rollup

این فشرده‌سازی اطلاعات در شبکه‌های لایه دوم، توسط روش بسیار هوشمندانه‌ای به نام زی کی رول آپ (ZK-Rollup: فرایندی که صدها یا هزاران تراکنش را در یک بسته‌ی واحد جمع‌آوری و فشرده می‌کند) انجام می‌شود. برای اینکه مکانیسم این فناوری را بهتر درک کنید، به این مثال ساده توجه کنید:

یک ایستگاه عوارضی بزرگراه را در نظر بگیرید:

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

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

آشنایی با zk-STARK و تفاوت آن با الگوریتم اسنارک

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

الگوریتم zk-STARK چیست و چه تفاوتی با نسل قبلی خود دارد؟

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

درک مفاهیم مقیاس‌پذیر (Scalable) و شفاف (Transparent)

برای اینکه کلمه‌ی استارک را بهتر درک کنیم، بیایید دو ویژگی مهم آن یعنی شفافیت و مقیاس‌پذیری را بررسی کنیم:

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

هدف از توسعه استارک و رفع مشکلات امنیتی اسنارک

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

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

جدول مقایسه جامع zk-SNARK و zk-STARK (بررسی سایز اثبات، کارمزد، سرعت و امنیت کوانتومی)

برای اینکه بتوانیم تفاوت‌های این دو فناوری را به شکلی روشن و مقایسه‌ای مرور کنیم، ویژگی‌های آن‌ها را در جدول زیر قرار داده‌ایم:

ویژگی‌های کلیدی

الگوریتم zk-SNARK

الگوریتم zk-STARK

نیاز به راه‌اندازی اولیه (Trusted Setup)

دارد (نیازمند اعتماد اولیه به سازندگان)

ندارد (کاملا شفاف و خودکار)

سایز اثبات و فایل تاییدیه

بسیار کوچک و فشرده (چند صد بایت)

نسبتا بزرگ‌تر و حجیم‌تر

میزان کارمزد در شبکه‌ی اتریوم

پایین‌تر (به دلیل حجم کمتر داده‌ها)

بالاتر (به دلیل حجم بزرگ‌تر اثبات)

مقاومت در برابر کامپیوترهای کوانتومی

ضعیف‌تر (قابل هک با تکنولوژی کوانتومی آینده)

بسیار قوی و مقاوم در برابر کوانتوم

وضعیت آینده‌ی پروتکل‌ zk-SNARK

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

  • تراکنش‌های مالی کاملا خصوصی: شما قادر خواهید بود برای خرید قهوه‌ی صبحگاهی خود از رمزارز استفاده کنید، بدون اینکه فروشنده بتواند کل تاریخچه‌ی خریدهای شما یا موجودی دقیق کیف پول شما را ببیند.
  • تایید هویت بدون افشای مدارک: در آینده‌ی اینترنت، می‌توانید به یک وب‌سایت ثابت کنید که بالای ۱۸ سال سن دارید یا شهروند یک کشور خاص هستید، بدون اینکه نیاز باشد تصویر کارت ملی یا تاریخ دقیق تولد خود را در آن سایت آپلود کنید.
  • ورود موسسات مالی سنتی: بانک‌ها و شرکت‌های بزرگ همیشه از شفافیت بیش از حد بلاکچین فراری بوده‌اند، چون نمی‌خواهند استراتژی‌های مالی آن‌ها لو برود. با تکامل پروتکل‌های دانش صفر، این موسسات می‌توانند با خیال راحت و با حفظ اسرار تجاری خود، وارد دنیای رمزارز شوند.

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

منابع و مراجع
3 مرجع
1
Aleo
2
Z.Cash
3
Investopedia
آیا محتوا مفید بود؟

سوالات متداول

دیدگاه‌های کاربران

تاکنون 6 کاربر در مورد این مقاله دیدگاه و تحلیل ثبت کرده‌اند
لیلی نوروزی
2 سال قبل
مرسی بابت توضیحاتتون
0
0
لیلی نوروزی
2 سال قبل
عالی بود مرسی
0
0
سامان پورسلطانی
2 سال قبل
مطلب بسیار آموزنده ممنون از اینکه کامل و به زبانی آسان ارایه شده
0
0
مصطفی قنبری خانقاه
2 سال قبل
عالی بود
0
0

افزودن دیدگاه

با ثبت‌نام در صرافی کیف پول من و ارسال تحلیل و نظر در سایت ارز دیجیتال رایگان هدیه بگیرید.
به این مطلب چند امتیاز می‌دهید؟
انتخاب کنید

دنبال آخرین اخبار بازار هستید؟

قیمت لحظه‌ای، رویدادها و تحلیل‌های روزانه را در اتاق خبر کیف پول مدیا دنبال کنید.

بریم به اتاق خبر

ویدئو رسانه

در بخش ویدئو رسانه، می‌توانید به آموزش‌ها، تحلیل‌ها و محتوای ویدیویی جذاب درباره ارزهای دیجیتال و خدمات ما دسترسی پیدا کنید.