همگامسازی سریع و امن نودهای بیتکوین با فناوری Zero-Knowledge
همگامسازی سریع و امن نودهای بیتکوین با فناوری Zero-Knowledge SNARKs؛ نوآوری در مقیاسپذیری و امنیت شبکه
همگامسازی سریع و امن نودهای بیتکوین با فناوری Zero-Knowledge SNARKs، نوآوری در مقیاسپذیری، امنیت و تمرکززدایی شبکه رمزارز.

توسعهدهندهای راهکار جدیدی برای مقیاسپذیری بیتکوین ارائه کرده است که بر پایه بلاکچینهای مختصر و رمزنگاری صفر دانش (Zero-Knowledge Cryptography) طراحی شده است. این پیشنهاد، تلفیقی از فناوریهای توسعهیافته در پروژههای کریپتویی مانند کُدا (Coda) و فناوری zk-proofs است و منجر به ایجاد نوع نوینی از کلاینتهای بیتکوین شده است.
این کلاینتها قادر خواهند بود، به صورت تئوری، همزمان با ادامه فعالیت شبکه، تمامی زنجیره را در زمان واقعی همگامسازی و تأیید کنند، در حالی که حجم دادهها در طول زمان ثابت باقی میماند و محدودیتی در تعداد تراکنشها وجود نخواهد داشت. این سیستم، با تضمین امنیت کامل در تأیید صحت تراکنشها، سرعتی نزدیک به لحظه را ارائه میدهد.
از مهمترین مزایای این طرح، امکان پیادهسازی بدون نیاز به تغییر در نرمافزار فعلی بیتکوین است. در صورت موفقیتآمیز بودن، این راهکار میتواند بسیاری از نگرانیهای مربوط به مقیاسپذیری در جامعه بیتکوین را برطرف کند و گامی مهم در بهبود کارایی شبکه بردارد.
آشنایی سریع
بحث مربوط به مقیاسپذیری بیتکوین (Bitcoin) همواره یکی از چالشهای اصلی در فضای ارزهای دیجیتال بوده است. شواهد نشان میدهد که نگرانیهای مربوط به این موضوع حتی قبل از راهاندازی شبکه بیتکوین توسط ساتوشی ناکاموتو (Satoshi Nakamoto) مطرح شده بود.
در سال ۲۰۰۸، زمانی که ساتوشی ناکاموتو پروژه خود را در لیست پستی رمزنگاری اعلام کرد، یک سایفرپانک کانادایی به نام جیمز داندال (James Donald) اولین فردی بود که نظرات خود را درباره مقیاسپذیری سیستم بیان کرد. او در پیام خود هشدار داد که ساختار پیشنهادی ناکاموتو به نظر نمیرسد بتواند در برابر حجم تراکنشهای روزمره پاسخگو باشد. متن کامل اظهارنظر داندال نشان میدهد که نگرانیهای مربوط به محدودیتهای فنی و ظرفیت شبکه از همان ابتدا در کانون توجه قرار داشت.
در حال حاضر، نیاز مبرمی به توسعه سیستمی کارآمد در حوزه رمزارزها احساس میشود، اما بر اساس تحلیلهای موجود، طرح پیشنهادی فعلی به نظر نمیرسد بتواند در مقیاس مورد نیاز عمل کند. یکی از چالشهای کلیدی در تشخیص و جلوگیری از رویداد double spending، نیاز به دسترسی به تاریخچه تراکنشهای گذشته است. به طور ساده، برای شناسایی تراکنشهای تکراری و جلوگیری از هزینهکرد دوباره، هر نود باید به اکثر تراکنشهای قبلی مربوط به رمزارز مورد نظر دسترسی داشته باشد. این امر، در صورت پیادهسازی اولیه، مستلزم این است که هر نود تمامی تراکنشهای گذشته یا حداقل بخش قابل توجهی از آنها را در اختیار داشته باشد. در صورتی که صدها میلیون کاربر در حال انجام تراکنش باشند، این نیاز به پهنای باند بسیار بالا میانجامد، زیرا هر نود باید تمامی تراکنشها یا بخش عمدهای از آنها را در حافظه خود نگه دارد. این وضعیت، چالشی بزرگ در مقیاسپذیری شبکههای بلاکچین و رمزارزها محسوب میشود که نیازمند راهکارهای نوآورانه و بهبودهای فنی در ساختارهای توزیع شده است.
مباحث مربوط به مقیاسپذیری شبکه بیتکوین (Bitcoin) هماکنون یکی از چالشهای اصلی در توسعه این ارز دیجیتال است. سوال اصلی این است که چگونه شبکه بیتکوین میتواند به صورت مؤثر میزبان تعداد بالایی از کاربران باشد، در حالی که امنیت و اصول اولیه آن حفظ شود؟ در زمانهای اولیه، ساتوشی ناکاموتو (Satoshi Nakamoto) در پاسخ به دونالد (Donald) اشاره کرد که پیش از آنکه شبکه به حجم فعلی برسد، کاربران میتوانند از روش Simplified Payment Verification (SPV) برای بررسی دوبار خرج کردن استفاده کنند، که تنها نیازمند داشتن زنجیره هدرهای بلوکها است و حجم آن حدود ۱۲ کیلوبایت در روز است.
این پاسخ به طور گستردهای به عنوان دلیلی بر اعتقاد ناکاموتو بر امکانپذیری مقیاسپذیری در بستر لاینی (on-chain) تلقی میشود. با این حال، در حالی که ناکاموتو ظاهراً پشتیبانی خود را از روشهای مقیاسپذیری داخلی اعلام کرده است، جامعه کاربران تاکنون نتوانسته است به توافق قطعی درباره این موضوع دست یابد. این اختلاف نظر یکی از دلایل اصلی بروز هاردفورک و پیدایش ارز دیجیتال بیتکوین کش (Bitcoin Cash) محسوب میشود.
راهحلهای مقیاسپذیری خارج از زنجیره (off-chain) نیازمند اعتماد نمایندگیشده هستند، در حالی که راهحلهای درون زنجیره (on-chain) مستلزم فضای زیاد و احتمالا غیرپایدار هستند. اما سوال این است که آیا راهحلی جایگزین وجود دارد که بتواند بدون نیاز به تغییر در کدهای پایه، شبکه بیتکوین را به شکل موثرتری مقیاسپذیر کند؟
آیا راهی وجود دارد که فرآیند اعتبارسنجی کامل وضعیت زنجیره را کارآمدتر از اعتماد نمایندگیشده انجام داد، بدون آنکه نیاز به تغییرات بنیادی در ساختار فعلی باشد؟
ارتباط کدای
پروژه کودا (Coda) یکی از پروژههای نوآور در حوزه رمزارز است که هدف آن ارائه یک بلاکچین با اندازه ثابت است، صرفنظر از تعداد تراکنشها یا کاربران شبکه. این پروژه بر دو اصل اصلی تمرکز دارد: تمرکززدایی و مقیاسپذیری. به دلیل ساختار کوچک و ثابت بلاکچین، انواع مختلفی از کلاینتها میتوانند نود اعتبارسنجی را بر روی بلاکچین کودا اجرا کنند، از جمله کلاینتهای موبایلی که معمولاً دارای ظرفیت حافظه محدود هستند.
در پروتکل کودا ادعا شده است که «تمام بلاکچین را در یک اسنپشات کوچک به اندازه چند توییت فشرده میکند». این کار با بهرهگیری از zk-proofهای بازگشتی (recursive zk-proofs) محقق میشود. zk-proof یا اثبات بدون دانش، نوعی ابزار رمزنگاری است که امکان اثبات صحت اجرای یک عملکرد بدون نیاز به فاش کردن ورودی آن را فراهم میکند، به گونهای که صحت عملیات قابل تایید باشد بدون اینکه نیاز باشد ورودی عملیات فاش شود.
این نوع اثباتها به دلیل حفظ حریم خصوصی، در حوزه رمزارز بسیار ارزشمند هستند، بهویژه در پروژههایی که بر حریم خصوصی تمرکز دارند. یکی از ویژگیهای جالب zk-proofها این است که میتوانند هر نوع عملکردی را پیادهسازی کنند، از جمله اعتبارسنجی zk-proofهای دیگر یا خودشان. در این میان، zk-circuitهای که اثباتهای خود را تایید میکنند، به عنوان zk-recursive شناخته میشوند.
با بهرهگیری از zk-recursive، بلاکچین کودا قادر است به یک بلاکچین مختصر و فشرده دست یابد که اندازه آن در طول زمان تغییر نمیکند. در این ساختار، نودهای شبکه برای همگامسازی، تمام بلاکچین را دانلود و اعتبارسنجی میکنند، اما با استفاده از اثباتهای zk، حجم دادهها به حداقل میرسد و عملیات تایید سریعتر انجام میشود.
همگامسازی سریع و اعتبارسنجی کامل نودهای بیتکوین
پیشنهادی که توسط تایلر اسمیت منتشر شده، به شدت از پروتکل کُدا (Coda) الهام گرفته است، اما با رویکردی نوآورانه، ساخت یک پروتکل لایهبالا را پیشنهاد میدهد که بر روی بلاکچین بیتکوین (Bitcoin) قرار میگیرد و از زِدک Circuits (zk circuits) بهره میبرد.
در این ساختار، لایه دوم به حفظ امنیت شبکه بیتکوین که آزمایش خود را پس داده است، کمک میکند و در عین حال امکان تولید و انتشار اثباتها را فراهم میسازد. این اثباتها با پردازش بلوکهای استخراجشده و اجرای قوانین انتقال بیتکوین در قالب circuits زِدک صورت میگیرد. به بیان سادهتر، این شبکه ثانویه از بلوکهای تأیید شده و نهایی در شبکه بیتکوین بهره میبرد تا بر اساس آن، اجماع جدیدی شکل گیرد.
اسمیت این فرآیند را چنین توضیح میدهد: «کاربران به این شبکه متصل میشوند، هَش وضعیت تایید شده و معتبر را دانلود و بررسی میکنند و پس از آن، همزمان با همتایید شدن، وضعیت احراز شده و سالم را در اختیار دارند. کاربرانی که نیازمند دریافت بخشهایی از وضعیت شبکه هستند، میتوانند درخواست خود را از نودهای میزبان وضعیت در شبکه ارائه دهند.» این روند شباهت زیادی به همزمانسازی کامل نودهای شبکه (full node syncing) دارد، اما در لایه دوم، وضعیت شبکه با استفاده از اثباتهای زِدک به صورت recursive تأیید میشود.
این روش امکان این را فراهم میکند که کاربران بتوانند کل وضعیت زنجیره را به صورت کامل و امن تأیید کنند، چرا که فرآیند همزمانسازی در این حالت شامل دانلود و احراز هویت کل زنجیره است. همچنین، اثباتهای زِدک recursive سریع هستند و میتوانند در چند ثانیه، وضعیت کامل شبکه را در اختیار نودها قرار دهند. درک این پیشنهاد را میتوان به مفهوم «اثبات اثبات اثبات کار» تشبیه کرد.
در حال حاضر، این پروژه در مرحله ایدهپردازی اولیه قرار دارد، اما در صورت تولید نمونه عملی و قابل اجرا، که بر اصول تمرکززدایی و امنیت تأکید دارد، میتواند تحولی در فناوریهای لایهبالای شبکه بیتکوین باشد.
منبع: کریپتو.نیوز