پیشینه
فناوری بلاکچین از زمان تولد بیتکوین در سال 2009 تاکنون پیشرفتهای زیادی داشته است. هرچند بیتکوین و اتریوم هنوز هم رمزارزهای غالب بازار هستند، ولی شبکههای بلاکچین مختلف متعددی با عملکردها و کاربردهای منحصربهفرد ارائه شدهاند. معماریهایمختلف بلاکچینها مانع از تعاملشان با هم میشود. رشد مداوم اکوسیستمهای بلاکچین، بهویژه دیفای، پر کردن شکاف بین بلاکچینهای مختلف را به مشکلی اساسی تبدیل کرده است.
استفاده از پلهای میانزنجیرهای راهحلی برای مشکل فوق است زیرا این برنامهها امکان انتقال داراییهایمختلف در بلاکچینهای متعدد را فراهم میکنند. قابلیت همکاری اطلاعات در برخی موارد با استفاده از پلهای زنجیرهای محقق شده است.
پل میانزنجیرهای، همچون پلی که دو طرف رودخانه را به هم متصل میکند، داراییها را بدون درز دارایی از یک زنجیره به زنجیرهای دیگر منتقل میکند و کاربران میتوانند از ویژگیهای منحصربهفرد شبکههای مختلف بلاکچین استفاده کنند. بعلاوه، برنامههای کاربردی از طریق این پلها میتوانند دادهها و اطلاعات را بین زنجیرههای مختلف انتقال دهند. پلهای میانزنجیرهای علاوه بر مزایایی که دارند، دچار برخی چالشها، بهویژه چالشهای امنیتی، نیز هستند. برای مثال، Poly Network سال 2021 هک شد و بیش از 600 میلیون دلار رمزارز از دست رفت. سال 2022 نیز تقریباً مقدار مشابهی رمزارز از شبکه Ronin (پل میانزنجیرهای اکسی اینفینیتی) سرقت شد. این موارد نشان میدهند که پلهای میانزنجیرهای به اقدامات امنیتی جامعتری برای حفاظت از داراییها و دادههای کاربران نیاز دارند.
در سالهای اخیر، شاهد پیشرفت چشمگیر برنامههای کاربردی مبتنی بر اثبات دانش صفر (ZKPها) بودهایم. ابزار کریپتوی قدرتمند ZKP از حریم خصوصی دادههای کاربران محافظت و اثربخشی راهحلهای مقیاسبندی Rollup را اثبات میکند. بعلاوه، ZKP نقشی حیاتی و منحصربهفرد نیز در طراحی پلهای میانزنجیرهای دارد. زنجیره هدف با استفاده از این گواههای مختصر میتواند حالت انتقال زنجیره مبدا را بهطور مؤثر تأیید کند و در نتیجه، ریسکهای شخص ثالث غیر مرتبط با زنجیره هدف و زنجیره مبدا را کاهش و امنیت پلهای میانزنجیرهای را بهبود دهد. امروز میخواهیم برخی پلهای میانزنجیرهای رایج را مرور میکنیم و با مطالعه چندین پل میانزنجیرهای مبتنی بر ZKP نحوه استفاده از فناوری ZKPدر پلهای میانزنجیرهای را توضیح دهیم.
انواع پلهای میانزنجیرهای
محقق حوزه کریپتو 0xjim پلهای میانزنجیرهای را بر اساس طراحی و مکانیسمهایشان به چهار دسته تقسیم کرده است: Team Human، Team Economics، Team Security، و Team Game Theory. بهویژه، زنجیرههای Team Human متمرکزتر هستند. برای مثال، شبکه Ronin Network شامل نه گره کامل است که توسط نهادهای شناخته شده عمومی اجرا میشوند. آنها از تأیید چند امضایی برای اثبات اعتبار یک تراکنش استفاده میکنند بهطوریکه پس از گذشت زمانی مشخص تراکنش تأیید میشود. این اعتباردهندهها در حالت عادی مشکلساز نیستند، ولی در رویکرد متمرکز ممکن است مورد حمله قرار بگیرند و به حفره امنیتی بزرگی تبدیل شوند. عدم مدیریت صحیح کلیدهای خصوصی فاجعهبار خواهد بود.
دسته بعدی Team Economics است که شامل مواردی نظیر Celer، Axelarو Thorchain میشود. این موارد شبیه مولتی سیگهای مبتنی بر اقتصاد توکنی هستند. زنجیرههای Team Economics، برای جلوگیری از اقدامات خرابکارانه، گرهها (تأییدکنندهها) را ملزم به سپردهگذاری توکن میکنند تا در صورت نقض تعهد از سپرده اعتباردهنده برداشت شود. بنابراین، این گرهها باید صحت تراکنشها را از نظر مالی صادقانه بررسی کنند.
دسته سوم Team Security شامل زنجیرههایی است از TEE یا MPC برای ایمنتر کردن انتقال بین زنجیرهها استفاده میکنند. برای مثال، همه گرهها برای حفظ حریم خصوصی و یکپارچگی مدیریت کلید خصوصی، تأیید لایت کلاینت (light client) خارج از زنجیره را در TEE همچون Intel SGX اجرا میکنند.
دسته چهارم Team Game Theory شامل LayerZero، Nomad و Synapse است. این پروتکلها پل زدن را به دو بخش مجزا تقسیم میکنند و مانع از هماهنگی بین این دو بخش انجام دهنده کار میشوند. در LayerZero، اوراکلها هدرهای بلاک را و رلهها اثبات تراکنشها را ارسال میکنند. این دو با هم وظایف یک لایت کلاینت آنچین را انجام میدهند.
همه چهار نوع پل فوق مبتنی بر تأیید غیر زنجیرهای و احراز هویت چندعاملی هستند. بهویژه، سه مورد اول اساساً از زنجیره/شبکه PoSخود بهعنوان شاهدی برای انتقال اطلاعات بین دو زنجیره عمومی استفاده میکنند. هرچند سریعتر، ارزانتر و مقیاسپذیرتر بودن این رویکرد اتصال پلها به زنجیرههای مختلف را آسانتر میکند، ولی کاربران و ارائهدهندگان نقدینگی مجبور به اعتماد کامل به صندوقها یا دادههای اعتبارسنجیهای خارجی خواهند بود. بهعبارتدیگر، امنیتشان به جای امنیت زنجیره مبدا یا زنجیره هدف به امنیت پل متکی است.
ZKP
در سالهای اخیر، شاهد رویدادهای ناگوار متعددی در پلهای میانزنجیرهای با خسارات مالی قابلتوجه بودهایم که حاکی از آسیبپذیری ناشی از اعتماد مضاعف به پلهای میانزنجیرهای است. در نتیجه، ایمنترین طرح پل میانزنجیرهای باید مستلزم حداقل اعتماد باشد؛ یعنی پل فقط ویژگیهای امنیتی دو زنجیره متصلبههم را بدون اعتماد به شخصی ثالث به ارث ببرد. راستیآزمایی درون زنجیرهای روشی مؤثر برای اعتماد حداقلی به پلهای میانزنجیرهای است. به بیان دقیقتر، زنجیره هدف اجماع زنجیره مبدا و همچنین شمول یا عدم شمول تراکنش مشخص شده در زنجیره مبدا را تأیید میکند. برای مثال، اعتبارسنجهای زنجیره هدف با اجرای یک لایت کلاینت زنجیره مبدا میتوانند ارسال ریشه مرکل را بررسی کنند و از دریافت امضای معتبر تراکنشها از اعتبارسنجهای زنجیره مبدأ مطمئن شوند. بااینحال، استفاده از این رویکرد به دلیل گران بودن اعتبارسنجیهای درون زنجیرهای دشوار است. اجرای یک لایت کلاینت برای زنجیرههای مبدأ مختلف ممکن است برای اعتبارسنجهای زنجیره هدف چالشبرانگیز باشد، و همچنین ممکن است برخی زنجیرههای هدف از طرح امضای مورداستفاده زنجیره مبدأ پشتیبانی نکنند. برای مثال، اعتبارسنجهای Ethereum PoS از امضاهای BLS استفاده میکنند و EVM پیشکامپایل منحنی BLS12-381 مورداستفاده در این امضاها را ندارد و در نتیجه اجرای Solidity چنین لایت کلاینتی بسیار پرهزینه میشود.
پیشرفتهای اخیر در سیستمهای ZKPمحاسبات قابل تأیید را مختصرتر کرده است. بعلاوه، ZKP، همچون نقش تغذیهکننده zk-SNARK در مقیاسگذاری پروژههای zkEVM، نقشی منحصربهفرد و حیاتی در طراحی پلهای میانزنجیرهای دارد. محاسبات قابل تأیید نیز میتوانند اثباتهای اعتبارسنجی برای حالتهای زنجیرهای ایجاد کنند، و این اثباتهای اعتبار اجماع لایت کلاینت را با هزینه کم و با کارایی بالا تأیید میکنند و در نتیجه، قابلیت همکاری با اعتماد حداقلی را ممکن میسازند. در واقع، پلهای میانزنجیرهای بهجای خاصیت دانش صفر از مختصر بودن ZKPها استفاده میکنند. ZKPها برای پلهای میانزنجیرهای از این حیث مشابه با اثبات اعتبار راهحلهای مقیاسگذاری Rollup هستند.
Succinct Labs
خب Succinct Labs و Gnosis مشترکاً پلی میانزنجیرهای مبتنی بر SNARK راهاندازی کردند تا قابلیت همکاری با اعتماد حداقلی بین هر دو زنجیره Ethereum PoS (مثلا Ethereum و Gnosis Chain) را ممکن سازند. برای این منظور لایت کلاینتی در قالب قرارداد هوشمند Solidity روی زنجیره مستقر کردند تا اثباتهای اعتبار را برای وضعیت زنجیره مبدأ از طریق ZKPهای مختصر ایجاد کنند. این رویکرد تأیید کارآمد لایت کلاینت را ممکن و برقراری ارتباطات میانزنجیرهای بین اتریوم و Gnosis Chain را تسهیل میکند و در نتیجه منجر به قابلیت همکاری با اعتماد حداقلی میشود. لایت کلاینت هدرهای بلاک اتریوم را در Gnosis بدون نیاز به مفروضات اعتماد اضافی ردیابی میکند و بالعکس. همچنین کمیتهای همگامساز متشکل از 512 اعتبارسنج اتریوم، که هر 27 ساعت بهطور تصادفی انتخاب میشوند، معتبر بودن وضعیت شبکه اتریوم را تأیید میکنند بهطوریکه وضعیت اتریوم با امضای هدر بلاک توسط حداقل دو سوم اعتبارسنجها معتبر تلقی میشود. در نتیجه، طرح فوق اساساً یک پل PoS است.
حال Succinct Labs از طریق یک لایت کلاینت و با استفاده از زبان برنامهنویسی Circomو سیستم اثباتکننده Groth16، zk-SNARK ها را تولید میکند و هزینه اعتبارسنجیهای درون زنجیرهای را کاهش میدهد. در نتیجه، لایت کلاینت به جای تأیید یک امضای تجمیع شده BLS کافی است فقط یک zkSNARK از Groth16 را تأیید کند. بعلاوه، لایت کلاینت باید اعتبارسنج کمیته همگامسازی را نیز ردیابی کند. اعتبارسنجیهای فعلی هدر بلاک حاوی هش SSZ کلید عمومی اعضای کمیته جدید را پس از انتخاب مجدد اعتبارسنجهای جدید توسط کمیته همگامسازی امضا میکنند. چون هش SSZاز SHA-256استفاده میکند پس SNARK-پسند نیست و نیاز به محاسبه محدودیتهای بسیار زیادی است.
در ادامه Succinct Labs مداری برای حل این مشکل ایجاد کرد که هش SSZ اعضای کمیته اعتبارسنج بعدی را به تعهد Poseidon SNARK-پسند مرتبط میساخت تا بعداً در زنجیره ذخیره و بهعنوان ورودی SNARK تأیید امضای BLS استفاده شود و اطمینان حاصل شود که امضای تأیید شده حقیقتاً از طرف اعتبارسنجهای کمیته همگامسازی ارسال شدهاند.
این فناوری هنوز در حال توسعه است و پل توکن شبکه آزمایشی برای نمایش بین اتریوم و Gnosis راهاندازی شده ولی هنوز از آن برای محافظت از داراییهای واقعی استفاده نشده است. بعلاوه، سطح امنیتی این فناوری هنوز به مطلوبی سطح اجماع اتریوم نمیباشد.
Electron Labs
پروتکل Electron Labs یک پروتکل میانزنجیرهای محافظ ارتباطات بین بلاکچینی از طریق لایت کلاینت ZKاست و هدفش اتصال اتریوم به اکوسیستم Cosmos (و همچنین سایر زنجیرههای EVM) با استفاده از پروتکلهای IBCو فناوری zk-SNARKاست. برخی پروژههای مشابه Electron Labs عبارتاند از Polymerو Gerege.
در Cosmos IBC معمولاً لایت کلاینتها را در قالب قراردادهایی هوشمند در زنجیره مبدأ و مقصد برای تأیید تراکنشهای میانزنجیرهای مستقر میکند. توسعهدهندگان نیز برای اتصال IBCبه اتریوم باید لایت کلاینت Tendermint را در اتریوم همچون یک قرارداد هوشمند Solidity اجرا کنند. بااینحال، این عملیات به دلیل نیاز به تأیید صدها امضای Ed25519و عدم وجود پیشکامپایلهای Ed25519 در اتریوم بسیار پرهزینه است. بنابراین، Electron Labs به جای تأیید مستقیم امضاهای Ed25519 در اتریوم از راه دیگری استفاده میکند: یک ZKP اعتبار امضای برونزنجیرهای ایجاد میکند و اثباتهای درون زنجیره را تأیید میکند.
ماژولهای لایت کلاینت درون زنجیرهای اتریوم، به جای تأیید کننده امضای Ed25519، شامل تأیید کننده ZK-Proof هستند. رله بهجای ارسال هدر لایت کلاینت کامل فقط اثبات اعتبار آن را ارسال میکند. Electron Labs دارای کتابخانهای مبتنی بر Circom است که اثباتهای zk-SNARK را برای دستهای از امضاهای Ed25519 تولید میکند و هزینه تأیید این امضاها در اتریوم را ارزانتر میکند.
پروژه Positron اولین پل Electron است که بین شبکه آزمایشی Goerli و شبکه آزمایشی NEAR مستقیماً ایجاد شده است. از این پل برای نمایش اجرای ZKP ها و لایت کلاینتهایدرون زنجیرهای استفاده میشود. محدودیت سرعت گرههای RPC طی آزمایش عمومی منجر به تأخیر در پردازش تراکنشهای Positron شد و صدها تراکنش چندین ساعت به تأخیر افتادند. این مشکل از آن زمان به بعد حل شده است.
zkBridge
بریج zkBridgeیک پل میانزنجیرهای غیرقابلاعتماد، بدون مجوز، قابل توسعه، جهانی و کارآمد است. هر گره در zkBridge میتواند آزادانه به شبکه بپیوندد، هدر بلاکها را رله، اثباتها را تولید، و پاداش مطالبه کند. به بیان دقیقتر، zkBridgeمتشکل از یک شبکه رله هدر بلاک و یک قرارداد به روز کننده است. رلهها هدرهای بلاک را در شبکه رله هدر بلاک از زنجیره مبدأ بازیابی میکنند، اثبات اعتبار هدرهای بلاک را تولید میکنند، و هدرها را همراه با اثباتها به قرارداد بهروزرسانیکننده ایجاد شده روی زنجیره مقصد ارسال میکنند. در قرارداد بهروزرسانیکننده، هدرهای بلاک مربوط به زنجیره مبدأ پس از تأیید اعتبارسنجیها توسط اثباتهای مربوطه ذخیره میشوند. بعلاوه، قرارداد بهروزرسانیکننده وضعیت لایت-کلاینت را نیز ذخیره میکند. این قرارداد پس از اضافه شدن هدر بلاکی جدید، وضعیت لایت-کلاینت را درست مثل سایر لایت کلاینتها زنجیره مبدأ بهروزرسانی میکند. قرارداد بهروزرسانیکننده تابعی را در اختیار برنامهها قرار میدهد تا از طریق آن برنامههای کاربردی زنجیره مقصد بتوانند هدر بلاک با ارتفاعی معین را در زنجیره مبدأ به دست آورند. این برنامههای کاربردی پس از دریافت اطلاعات هدر بلاک میتوانند اعتبارسنجی بیشتری انجام دهند و توابع مختص به خودشان را بسازند.
بریج zkBridge برای تولید سریع اثبات و کاهش هزینه اعتبارسنجی اثبات درون زنجیرهای از یک سیستم اثبات بازگشتی 2 لایه استفاده میکند. در لایه اول، پل از deVirgo، که نسخه توزیعشدهای از سیستم اثبات Virgo است، استفاده میکند. deVirgo برای موازیسازی بهینه اقدام به ترکیب sumcheck توزیعشده با تعهد چندجملهای توزیعشده میکند و در نتیجه، قادر است تولید اثبات را حین اجرا روی ماشینهای توزیعشده بهمراتب تسریع کند. zkBridgeدر لایه دوم از Groth16 استفاده میکند تا ثابت کند اثباتهایی که قبلا توسط deVirgo ایجاد شدهاند در واقع هدرهای بلاک مربوطه را اثبات میکند.
تاسیس
تاسیس آن آوریل 2018 با تمرکز روی توسعه فناوری ZK و با هدف حمایت و ترویج تحقیق و توسعه سیستمهای مدیریت پایگاه داده و رمزنگاری کاربردی بود تا راهحلهای فنی کاملی برای بلاکچینها و پروتکلها ارائه کند و بتوانند ZKPها را مطابق با نیاز خودشان تولید کنند. سرمایهگذاران حامی این پروژه عبارتاند از: سرمایهگذار نهادی برتر Polychain، پروتکلهای ZKپرطرفدار StarkWareو Mina Protocol.
اخیراً Foundation یک کامپایلر مدار زبان اصلی به نام zkLLVMفاقد zkVMمعرفی کرده است که میتواند کدهای اجرایی EVM موجود نوشته شده به زبان C++یا Rustرا کامپایل کند. توسعهدهندگان با استفاده از zkLLVM میتوانند خیلی سریع برنامههایی مانند zkRollup، zkBridge و zkOracle را با هزینه کم بسازند. بعلاوه، چون تولید اثباتهای SNARK/STARKS نیازمند توان محاسباتی زیادی است، Foundationبازار اثبات ZK(ZK Proof Market) را با هدف تسهیل کارها برای تیمها و برونسپاری برخی محاسبات خاص به اشخاص ثالث ایجاد کرد تا درخواستکنندگان اثبات (Proof Requesters) بتوانند درخواستهایاثبات را برای هر مدار از پیش تعریف شده منتشر و بازاری رقابتی با مناقصههای آزاد ارائه کنند. در نهایت، Proof Generatorهای Proof Market دستورات را اجرا میکنند و اثباتهای جدید تولید شده را برمیگردانند.
آنها قبلاً zkBridge را بین Mina-Ethereum و Solana-Ethereum ایجاد کرده بودند. توسعهدهندگان با استفاده از zkLLVM مستقیماً میتوانند کدهای زبانهای برنامهنویسی رایج مانند C++ و Rust را در مدارها کامپایل کنند، اثباتهای اجماع یا اثباتهای وضعیت لازم را ایجاد و zkBridge را راهاندازی کنند. برای مثال، Mina Protocol و Ethereum از zkLLVM برای تولید مدارهای اثبات-وضعیت کمکی Mina و تأییدکنندههای in-EVMاستفاده میکنند تا تأیید کمهزینه وضعیت Mina در EVM ممکن شود.
نتیجهگیری
امروز چند پروژه ساخت پلهای میانزنجیرهای با استفاده از فناوری ZKP را مرور کردیم. همه این پروژهها به دنبال یافتن راهی برای استفاده از ZKP برای ایجاد اثباتهای اعتبار برای یافتن تأیید اجماعی کارآمد و کمهزینه و در نتیجه ایجاد قابلیت همکاری با اعتماد حداقلی هستند. هرچند این پروژهها هنوز در مراحل ابتدایی و اغلب محدود به زنجیرههای خاصی هستند، ولی راهحلی نوآورانه برای حل مشکل قابلیت همکاری در بلاکچینها ارائه میکنند. معتقدیم پیشرفت فناوری ZKP منجر به ظهور راهحلهای میانزنجیرهای بیشتری با عملکرد امنیتی مناسب در صنعت بلاکچین خواهد شد.
منابع
منظور از بریج ها چیست
https://medium.com/coinmonks/what-i-talk-about-when-i-talk-about-bridges-429c16015774
اثبات بریج اجماع بین اتریوم و زنجیره Gnosis
https://blog.succinct.xyz/post/2022/10/29/gnosis-bridge/
استفاده از IBC در اتریوم با استفاده از ZK-Snarks
https://ethresear.ch/t/bringing-ibc-to-ethereum-using-zk-snarks/13634
zkBridge: پلهای میانزنجیرهای بدون نیاز به اعتماد عملی شدهاند
https://rdi.berkeley.edu/zkp/zkBridge/zkBridge.html
کامپایلر مدار zkLLVM
https://blog.nil.foundation/2023/02/02/circuit-compiler.html
به آسانی هر ارزی را معامله کنید
ما را دنبال کنید توییتر | کانال تلگرام | اینستاگرام
تماس با ما تیکت آنلاین | گروه تلگرام
درباره ما وب سایت | اطلاعیه ها | اپلیکیشن