بلاکچینها شبکههای رایانهای غیرمتمرکزی هستند که اطلاعات و موجودی حساب کاربران را در دفتر کل دیجیتال نگهداری میکنند. بلاکچینها به جای اتکا به نهادهای متمرکز، از الگوریتم اجماع غیرمتمرکز استفاده میکنند تا قبل از تایید بهروزرسانیهای پیشنهادی برای دفترکل، به یک توافق جمعی در خصوص این بهروزرسانیها دست یابند. نتیجه این فرایند، ایجاد یک الگوی پردازشی با حداقل نیاز به اعتماد است. این الگوی پردازشی برای حفظ سابقه و خودکارسازی تعاملات چندجانبه است. بدین ترتیب، این الگو غیرقابل دستکاری، معتبرتر، بیطرفتر و شفافتر از محیطهای پردازشی سنتی است. در این مقاله به این میپردازیم که تعامل پذیری بلاکچین چیست، چه اهمیتی دارد و انواع راهکارهای تعاملپذیری کدامند. در ادامه توضیح میدهیم که پروتکل تعامل پذیری بین زنجیرهای (CCIP) چگونه به گسترش عملکرد اوراکلها میپردازد تا از پیامرسانی اطلاعات بین زنجیرهها پشتیبانی کند. با میهن بلاکچین همراه باشید.
اهمیت تعامل بین بلاکچینهای مختلف
در حال حاضر بلاکچینها همانند رایانههایی هستند که امکان اتصال به اینترنت را ندارند. این رایانهها فاقد قابلیت ارتباط با سایر بلاکچینها یا APIهای خارجی هستند. به این محدودیت، مشکل اوراکل (Oracle) گفته میشود و نه تنها مانعی بر سر تعامل بلاکچینها با سیستمهای سنتی است، بلکه از تعامل پذیری بین بلاکچینها نیز جلوگیری میکند. با توجه به رشد بلاکچینهای لایه اول مختلف، پروتکلهای تعاملپذیری یک زیرساخت بسیار مهم برای تبادل اطلاعات و توکنها بین بلاکچینها محسوب میشوند.
تعامل پذیری بلاکچین چیست؟
به قابلیت بلاکچینها در زمینه ارتباط با سایر بلاکچینها، تعامل پذیری بلاکچین گفته میشود. بنیان و اساس تعاملپذیری بلاکچین، پروتکلهای پیامرسانی بین زنجیرهای است که به بلاکچینها امکان میدهند تا اطلاعات سایر بلاکچینها را بخوانند و یا اطلاعات مدنظر خود را بر روی سایر بلاکچینها بنویسند.
پروتکلهای پیامرسانی بین زنجیرهای (Cross-chian Messaging Protocols) از ایجاد و توسعه برنامههای غیرمتمرکز بین زنجیرهای پشتیبانی میکنند. بدین ترتیب، یک برنامه غیرمتمرکز واحد میتواند در چندین قرارداد هوشمند که در چندین بلاکچین مختلف اجرا شده است به فعالیت بپردازد. برنامههای غیرمتمرکز بین زنجیرهای با برنامههای غیرمتمرکز چند زنجیرهای فرق میکنند. یک برنامه غیرمتمرکز چند زنجیرهای اغلب اوقات به اجرای یک برنامه در چندین بلاکچین مختلف میپردازد، اما هر مورد متشکل از مجموعهای از قراردادهای هوشمند جداگانه است که هیچگونه ارتباطی با سایر بلاکچینها ندارد.
اما از طرف دیگر، برنامههای غیرمتمرکز که از پروتکلهای پیامرسانی بین زنجیرهای بهره میبرند میتوانند حوزه عملکرد محدودی اتخاذ کنند. برای مثال، پلهای توکن فقط بدین منظور به وجود آمدهاند تا انتقال توکنهای موجود در بلاکچین مبدا به بلاکچین مقصد را امکانپذیر سازند. هرچند، پروتکلهای پیامرسانی اطلاعات اختیاری (Arbitrary Data Messaging Protocols) عملکرد بین زنجیرهای بیشتری ارائه میدهند. این پروتکلها میتوانند از برنامههای غیرمتمرکز پیچیدهتر نظیر صرافیهای غیرمتمرکز، بازارهای پول غیرمتمرکز، توکنهای NFT، سازمانهای مستقل غیرمتمرکز (DAO) و انواع مختلف برنامههای بین زنجیرهای قابل شخصیسازی پشتیبانی کنند.
اهمیت قابلیت همکاری در بلاکچین
حوزه کنونی وب۳ بیش از پیش در حال تبدیل شدن به یک عرصه چند زنجیرهای و چند لایهای است. هماکنون بیش از ۱۰۰ بلاکچین لایه اول وجود دارد و تعداد شبکههای لایه دوم و سوم که بر بستر بلاکچینهای لایه اول قرار دارند در حال افزایش است. شبکههای لایه دوم و سوم، بلاکچینهای جداگانهای هستند که بخشی از امنیت خود را به شبکههای لایه اول متکی کردهاند. در این خصوص میتوان به رولآپها (Rollup) اشاره کرد.
افزایش تعداد شبکههای لایه اول و دوم به دلیل نحوه طراحی فناوری بلاکچین و اکوسیستمهای بلاکچین است. بلاکچینها با بهینهسازی پروتکلهای خود و پشتیبانی از ویژگیهای خاص، در حال رقابت با یکدیگر هستند تا توسعهدهندگان و برنامههای بیشتری را به سمت خود جذب کنند.
این موضوع اغلب باعث میشود بعضی از ویژگیها حفظ شده و بعضی دیگر از ویژگیها حذف شوند. برای مثال، بعضی از بلاکچینها بیشتر از راندمان (Throughput) و ترکیبپذیری (composability) بر روی غیرمتمرکزسازی (Decentralization) و سانسورناپذیری (Censorship Resistance) معطوف هستند، در حالی که سایر بلاکچینها حفظ حریم خصوصی را در دستور کار خود قرار دادهاند.
بلاکچینها با اجرای پروتکلهای اجماع، محیطهای اجرایی و راهکارهای ذخیرهسازی اطلاعات مختلف به بهینهسازی خود میپردازند. این موارد به توسعهدهندگان یک دید کلی از هزینه، پویایی، عملکرد، در دسترس بودن اطلاعات، امنیت، اقتصاد کریپتویی (Cryptoeconomics) و تاثیرات زیست محیطی بلاکچین مدنظر ارائه میدهند. علاوه بر این بلاکچینها ممکن است با پشتیبانی از زبانهای برنامهنویسی مختلف، تمرکز بر کاربردها و مناطق خاص و توسعه ارزشها و برندهای منحصربهفردی که به محبوب شدن آنها در نزد کاربران میانجامد، با یکدیگر تفاوت داشته باشند.
یکی از مهمترین تفاوتها در موارد بهینهسازی بلاکچینها پیرامون ایده و نظر آن بلاکچین در خصوص نحوه مقیاسپذیری اکوسیستم خود میچرخد. بعضی از ایدههای مقیاسپذیری عبارتند از:
- در اختیار داشتن یک بلاکچین لایه اول با عملکرد سطح بالا که از تمام برنامهها در صنایع مختلف پشتیبانی کند.
- در اختیار داشتن یک بلاکچین لایه اول با سطح غیرمتمرکزسازی بالا که از طریق شبکههای مقیاسپذیری لایه دوم و سوم، از طیف وسیعی از برنامههای شخصیسازیشده پشتیبانی کند.
- داشتن یک برنامه و یا قرارداد هوشمند که بر بستر بلاکچین لایه اول یا شبکه لایه دوم خارجی اجرا میشود.
با توجه به وجود طیف وسیعی از اکوسیستمهای بلاکچین، ذکر این نکته از اهمیت ویژهای برخوردار است که تمام این محیطهای درون زنجیرهای متمایز میتوانند با یکدیگر تعامل برقرار کنند. این نکته به ویژه برای توسعهدهندگانی مهم است که خواستار توسعه برنامههای بین زنجیرهای یا ماژولار هستند. این برنامهها یک وضعیت جهانی و نقدینگی یکپارچه را در چندین محیط درون زنجیرهای حفظ میکنند.
این موضوع برای بخش دیگری از توسعهدهندگان نیز مهم است. توسعهدهندگانی که در صدد بهرهمندی از داراییها و ویژگیهای منحصربهفرد هر بلاکچین هستند. پروتکلهای تعاملپذیری بلاکچین برای آن دست از سیستمهای سنتی نیز مهم است که نیازمند بکاندهای موجود خود برای تعامل با بلاکچینهای مختلف هستند.
پروتکلهای تعاملپذیری از موارد مهم و اساسی برای توسعه لایههای انتزاعی بلاکچین هستند. این لایهها به برنامههای غیرمتمرکز و بکاندهای سنتی امکان میدهند تا از طریق یک راهکار میانافزار (Middleware) بلاکچین با تمام محیطهای درون زنجیرهای تعامل برقرار کنند. بدون لایه انتزاعی بلاکچین، سیستمهای وب ۲ و برنامههای غیرمتمرکز مجبور میشوند تا برای هر تعامل بین زنجیرهای که از آن بهره میبرند، لایههای جداگانه و مختص به خود ایجاد کنند. این موضوع به شدت زمانبر است و منابع بسیار زیادی مصرف میکند و فرایند پیچیدهای محسوب میشود.
انواع مختلف راهکارهای تعامل پذیری بلاکچین
بهترین روش برای دستهبندی راهکارهای تعاملپذیری بلاکچین بر اساس محبوبترین تعاملات بین زنجیرهای است.
تبادل توکن عبارت است از معامله یک توکن در زنجیره مبدا و دریافت یک توکن متفاوت در زنجیره مقصد. تبادل توکن بین زنجیرهای معمولا از طریق پروتکلهای تبادل اتمی (Atomic Swap) و یا بازارسازهای خودکار (AMM) بین زنجیرهای محقق میشود. بازارسازهای خودکار به تفکیک استخرهای نقدینگی در هر بلاکچین میپردازند تا تبادل توکنها میسر شود.
عملکرد بریجها شامل قفل کردن (Locking) و سوزاندن (Burning) توکنها از طریق قرارداد هوشمند در زنجیره مبدا و آزادسازی (Unlocking) یا صدور (Minting) توکنها از طریق یک قرارداد هوشمند دیگر در زنجیره مقصد است. پلهای توکنی به داراییهای مختلف امکان میدهند تا در بین بلاکچینها انتقال یابند و با ایجاد نقدینگی بین زنجیرهای، کاربرد توکن را افزایش دهند. سه نوع مکانیزم مختلف برای مدیریت توکنها وجود دارد که پلهای توکنی را به وجود میآورند. این مکانیزمها عبارتند از:
- پلهای قفل کردن و صدور توکن:
این پلها، توکنها را در قرارداد هوشمندی در زنجیره مبدا قفل میکنند و سپس نسخه رپد (Wrapped) توکن مدنظر در زنجیره مقصد صادر میشود. به این توکنها اغلب اوقات داراییهای واسطه (Bridged) گفته میشود. برعکس این موضوع نیز صادق است و توکنهای رپد در زنجیره مقصد سوزانده میشوند تا توکنهای اصلی در زنجیره مبدا آزاد شوند.
- پلهای سوزاندن و صدور توکن:
این پلها، توکنهای موجود در زنجیره مبدا را میسوزانند و سپس با صدور توکن، همان توکن را در زنجیره مقصد صادر میکنند.
- پلهای قفل کردن و آزادسازی توکن:
این پلها، توکنهای موجود در زنجیره مبدا را میسوزانند و سپس همان توکن را از استخر نقدینگی در زنجیره مقصد آزاد میکنند. این پلهای توکنی معمولا از طریق برنامههای تشویقی نظیر به اشتراکگذاری درآمدها به جذب نقدینگی در دو سمت پل میپردازند.
پرداختهای بومی شامل برنامهای در زنجیره مبدا است که پرداخت دارایی بومی در زنجیره مقصد را فعال میکند. همچنین پرداختهای بین زنجیرهای را نیز میتوان با دارایی بومی زنجیره مبدا و بر اساس اطلاعات بلاکچین دیگر انجام داد. اکثر این پرداختها اغلب معرف نوعی از تسویه هستند و ممکن است بر اساس اطلاعات بلاکچین یا حتی رویدادهای خارجی باشند.
فراخوانی قرارداد عبارت است از فراخوانی قرارداد هوشمند اجراشده در زنجیره مقصد توسط قرارداد هوشمند دیگری که در زنجیره مبدا است. این فراخوانی بر اساس اطلاعات موجود در زنجیره مبدا صورت میگیرد. چند فراخوانی قرارداد مختلف را میتوان با یکدیگر ترکیب کرد تا برنامه بین زنجیرهای پیچیدهتری را تشکیل داد. این برنامه میتواند شامل تبادل توکن و ایجاد پل باشد.
پلهای قابل برنامهنویسی توکن عبارت است از ترکیب پل توکنی و پیامرسانی اختیاری که طی آن، به محض انتقال توکنها از زنجیره مبدا به زنجیره مقصد، یک فراخوانی قرارداد اجرا میشود. این موضوع در یک تراکنش رخ میدهد و عملکردهای سودمندتر بین زنجیرهای نظیر سهامگذاری، تبادل و واریز توکن به قرارداد هوشمند موجود در زنجیره مقصد را امکانپذیر میسازد.
انواع روشهای تعامل پذیری در بلاکچین
به منظور پشتیبانی از تعاملات بین زنجیرهای، ۴ راهکار تعامل پذیری رایج برای تایید وضعیت بلاکچین مبدا و انتقال تراکنش به بلاکچین مقصد وجود دارد. دو مورد از این عملکردها (بررسی وضعیت و واسطهها) از موارد کلیدی و مهم برای انجام اکثر تعاملات بین زنجیرهای محسوب میشوند. در ادامه این راهکارها را مورد بررسی قرار میدهیم.
تایید وب ۲
تایید وب ۲ (Web2 Validation) در واقع به زمانی گفته میشود که کاربر از سرویس وب ۲ برای اجرای تراکنش بین زنجیرهای استفاده میکند. رایجترین مثال در خصوص این مورد، استفاده از صرافیهای متمرکز برای تبادل توکنها است. در این مورد، کاربر صرفا داراییهای خود را به آدرسی در زنجیره مبدا وارد میکند که این آدرس تحت کنترل صرافی است. سپس کاربر همان توکنها یا توکنهای دیگری (از طریق تبادل در صرافی) به آدرسی در زنجیره مقصد که تحت کنترل خود کاربر است برداشت میکند.
تایید وب ۲ میتواند گزینه مناسب و آسانی برای تراکنشهای شخصی محسوب شود و مستلزم تخصص و مهارت فنی اندکی است. هرچند، این مورد برای پشتیبانی از برنامهها و کاربردهای بین زنجیرهای مفید نیست و مستلزم اعتماد به نهاد متمرکز است. علاوه بر این، این مورد محدود به بلاکچینهای تحت پشتیبانی صرافی است.
تایید خارجی
تایید خارجی (External Validation) به زمانی گفته میشود که مجموعهای از نودهای تاییدکننده برای تایید وضعیت بلاکچین مبدا مورد استفاده قرار میگیرند و پس از فراهمآمدن مجموعهای از معیارهای مشخص، تراکنش در زنجیره مقصد را فعال میکنند.
اگرچه رویکردهای بسیار زیادی در خصوص اجماع مبتنیبر کمیته نظیر محاسبات چند نهادی، شبکههای اوراکل غیرمتمرکز، قراردادهای چندامضایی و غیره وجود دارد، اما تمام این رویکردها شامل نودهایی هستند که به انجام محاسبات برون زنجیرهای با حداقل نیاز به اعتماد میپردازند. گفتنی است که این محاسبات به صورت درون زنجیرهای تایید شدهاند.
تایید خارجی معمولا مستلزم این است که بخش عمدهای از نودهای تاییدکننده خارجی باید صادقانه عمل کنند تا صحت و اعتبار تعاملات بین زنجیرهای حفظ و محقق شود. هرچند، میتوان از روشهای دیگری نظیر شبکههای ضدکلاهبرداری (Anti-Fraud Networks)، استفاده از بریجهای آپتیمیستیک (Optimistic Bridge Validation) و استیکینگ (Cryptoeconomic Staking) برای کاهش سطح نیاز به اعتماد بهره برد.
علیرغم مساله نیاز به اعتماد به نودها، در حال حاضر تایید خارجی تنها روش عملی برای فراخوانی قرارداد بین زنجیرهای و بین بعضی از بلاکچینهای خاص است. تایید خارجی همچنین به شدت رایج بوده و شکل تعمیمپذیری از محاسبات بین زنجیرهای است که پشتیبانی از کاربردهای بین زنجیرهای پیچیدهتر را فراهم میسازد.
تایید داخلی
تایید داخلی (Local Validation) به زمانی گفته میشود که طرفین یک تعامل بین زنجیرهای به بررسی وضعیت یکدیگر میپردازند. اگر هر دو طرف وضعیت یکدیگر را تایید کنند، تراکنش بین زنجیرهای انجام میشود. این موضوع به تراکنشهای بین زنجیرهای همتا به همتا منجر میشود. اغلب اوقات به تبادلهای بین زنجیرهای که از تایید داخلی استفاده میکنند، تبادلهای اتمی (Atomic Swaps) گفته میشود.
تایید داخلی از طریق تبادلهای اتمی با توجه به فرضیات منطقی بلاکچین به سطح بسیار اندکی از اعتماد نیاز دارد، زیرا یا تبادل رخ میدهد یا هر دو تراکنش ناموفق بوده و انجام نمیشوند. هرچند، این موضوع به انواع مختلف فراخوانیهای قرارداد بین زنجیرهای تعمیمپذیر نیست و با نقاط ضعفی نظیر مشکل فراخوانی غیرعمد (Inadvertent Call Option Problem) همراه است. این مشکل در واقع شرایطی است که طرف دوم تبادل اتمی میتواند اقدام به انجام تبادل کند یا نکند. بدین ترتیب اختیار فراخوانی غیرعمد برای مدت مشخص به او ارائه میشود. در نتیجه، تایید داخلی عمدتا در پروتکلهای نقدینگی بین زنجیرهای شامل استخرهای نقدینگی استفاده میشود که به طور مستقل در هر زنجیره وجود دارند.
تایید بومی
تایید بومی (Native Validation) زمانی است که بلاکچین مقصد در تعامل بین زنجیرهای، وضعیت بلاکچین مبدا را بررسی میکند تا تراکنش را تایید کرده و سپس تراکنش بعدی را در زنجیره خود اجرا کند. تایید بومی معمولا با اجرای کلاینت سبک زنجیره مبدا در ماشین مجازی زنجیره مقصد یا اجرای هر دو زنجیره در کنار یکدیگر صورت میپذیرد.
تایید بومی به اقلیت درستکار یا فرض همگام متکی است که طی آن، حداقل یک واسطه (Relayer) باید در یک کمیته حضور داشته باشد (اقلیت درستکار) یا در صورت ناکام ماندن کمیته، کاربر باید تراکنش خود را انتقال دهد. تایید بومی در میان تعاملات بین زنجیرهای به کمترین سطح اعتماد نیاز دارد، اما گرانترین نوع تایید است و انعطافپذیری کمتری در زمینه توسعه ارائه میدهد و برای بلاکچینهایی با ماشینهای وضعیت مشابه مناسب است. به عنوان مثال میتوان به تعامل بین اتریوم و شبکههای لایه دوم مبتنی بر ماشین مجازی اتریوم یا در بین بلاکچینهای مبتنی بر SDK کازموس (Cosmos) اشاره کرد.
پروتکل قابلیت همکاری متقابل زنجیرهای (CCIP)
به منظور همراه شدن و پاسخ به تقاضای روزافزون برای راهکارهای تعاملپذیری بلاکچین، در حال حاضر چین لینک پروتکل قابلیت همکاری متقابل زنجیرهای (CCIP) را توسعه میدهد. CCIP یک استاندارد متن باز جدید برای ارتباطات بین زنجیرهای شامل پیامرسانی اختیاری و انتقال توکن است. CCIP در صدد فراهم ساختن ارتباط همگانی بین شبکههای بلاکچین از طریق یک رابط کاربری واحد، ساده و زیبا است. علاوه بر این، CCIP در صدد یکپارچهسازی با سایر سرویسهای اوراکل در چارچوب بریجهای قابل برنامهنویسی است تا از تعاملات بین زنجیرهای بسیار پیچیده پشتیبانی کند.
با توجه به افزایش روزافزون تعداد اکسپلویتها و نفوذپذیریهای بین زنجیرهای، ذهنیتی که اولویت آن امنیت است بر روی CCIP اعمال شده است. توسعه CCIP توسط بعضی از بهترین متخصصان امنیت رایانهای و رمزنگاری جهان نظیر آری جولز (Ari Juels)، دن بونه (Dan Boneh)، لورنز برایدنباخ (Lorenz Breidenbach) و داهلیا مالکی (Dahlia Malkhi) حمایت و پشتیبانی میشود.
چند مورد از بهبودهای امنیتی بر روی CCIP اعمال شده است. این بهبودها شامل شبکه ضدکلاهبرداری است که فعالیتهای خرابکارانه را رصد میکند، پردازش اوراکل غیرمتمرکز از جانب طیف وسیعی از اپراتورهای نودهای باکیفیت با سوابق عملکرد درون زنجیرهای و پروتکل گزارشدهی برون زنجیرهای (OCR) انجام میشود. تاکنون امنیت صدها میلیارد دلار در شبکههای اصلی بلاکچین با استفاده از این روش تامین شده است.
رشد وب ۳ از طریق تعامل پذیری بلاکچین
تعاملپذیری بلاکچین بخش مهمی از گامهای بعدی در عرصه روبهرشد وب ۳ است. پروتکلهای تعاملپذیری نظیر CCIP نه تنها میتوانند ایجاد برنامههای پیچیده را تسهیل سازند تا این برنامهها به عنوان یک نهاد واحد و یکپارچه در کل شبکههای بلاکچین عمل کنند، بلکه میتوانند به رشد و شکوفایی شرکتها، سازمانها و دولتها کمک کنند تا این نهادها از یک رابط کاربری واحد به طور ایمن به فضا و عرصه درون زنجیرهای دسترسی داشته باشند. این دو عملکرد، در توسعه نسل بعدی برنامههای غیرمتمرکز نقش بسیار مهم و کلیدی ایفا میکنند.
نتیجه گیری
در این مقاله به تعریف تعامل پذیری بلاکچینها، اهمیت آنها در رشد حوزههای مختلف به خصوص حوزه وب۳ و همچنین انواع مختلف راهکارهای تعامل پذیری و تعاملات بین زنجیرهای پرداختیم. موضوع دیگری که در این مقاله پرداختیم این بود که پروتکل تعامل پذیری بین زنجیرهای (CCIP) چگونه به گسترش عملکرد اوراکلها میپردازد تا از پیامرسانی اطلاعات بین زنجیرهها پشتیبانی کند. نظر شما درمورد تعامل پذیری بلاکچین چیست؟ نظرات خود را با ما به اشتراک بگذارید.