آرتا رسانه

برنامه نویسی لایه دوم بلاکچین

برنامه نویسی لایه دوم بلاکچین در بستر اتریوم

لایه 2 (Layer 2) :

لایه 2 به هر شبکه، سیستم یا فناوری خارج از زنجیره (off-chain) اشاره دارد که روی یک بلاکچین (که به طور معمول به عنوان یک شبکه لایه 1 شناخته می‌شود) ساخته شده و به گسترش قابلیت‌های شبکه لایه پایه زیرین کمک می‌کند. شبکه‌های لایه 2 می‌توانند از هر بلاکچینی برای معرفی بهبودهایی مانند توان عملیاتی تراکنش بالاتر پشتیبانی کنند.

**الزامات کلیدی برای یک لایه 2:**

یکی از الزامات اصلی برای اینکه یک شبکه، سیستم یا فناوری به عنوان لایه 2 در نظر گرفته شود، این است که امنیت بلاکچینی را که روی آن ساخته شده است به ارث ببرد. داده‌های تراکنش باید به نحوی توسط شبکه بلاکچین زیربنایی تأیید و تایید شوند، نه مجموعه جداگانه‌ای از گره‌ها. به عنوان مثال، سایدچین‌ها (sidechains) اغلب به عنوان لایه 2 در نظر گرفته نمی‌شوند، زیرا آن‌ها معمولاً مکانیزم اجماع (consensus mechanism) و اعتبارسنج‌های (validators) خاص خود را مستقر می‌کنند که منجر به مجموعه متفاوتی از تضمین‌های امنیتی نسبت به زنجیره لایه پایه می‌شود.

مزایای لایه 2 برای بلاکچین‌ها

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

محدودیت‌های مقیاس‌پذیری بلاکچین :

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

سه‌گانه مقیاس‌پذیری بلاکچین (The Blockchain Scalability Trilemma)

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

لایه 2 و سهولت مقیاس‌پذیری (Layer 2 and Scalability Solutions) :

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

اجرا (Execution): پردازش تراکنش و توان عملیاتی. بر اساس تعداد محاسبات (که تراکنش‌ها زیرمجموعه‌ای از آن‌ها هستند) در ثانیه‌ای که یک بلاکچین می‌تواند پردازش کند، سنجیده می‌شود.

در دسترس بودن داده (Data Availability): نیازمندی‌های ذخیره‌سازی برای گره‌ها و اعتبارسنج‌های شبکه برای تراکنش‌ها، وضعیت و سایر داده‌ها. با واحدهای ذخیره‌سازی استاندارد مانند مگابایت، گیگابایت و غیره اندازه‌گیری می‌شود.

اجماع (Consensus):  توافق گسترده گره‌ها و اعتبارسنج‌ها در مورد وضعیت شبکه و ترتیب تراکنش‌ها. بر حسب تمرکززدایی و زمان نهایی شدن (time-to-finality) یا زمانی که طول می‌کشد تا همه گره‌ها در مورد یک تغییر حالت خاص به توافق برسند، اندازه‌گیری می‌شود.

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

نحوه عملکرد راه‌حل‌های لایه 2 (How Layer-2 Solutions Work) :

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

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

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

به طور مشابه، پیاده‌سازی قرارداد هوشمند زیربنایی می‌تواند بین لایه 2ها متفاوت باشد، اما توابع اصلی قرارداد هوشمند همیشه موارد زیر هستند:

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

یک روش خوب برای مفهوم‌سازی این دو دینامیک، بررسی دو نمونه از پیاده‌سازی‌های لایه 2 موجود – کانال‌های پرداخت و رول‌آپ‌ها است.

کانال‌های پرداخت (Payment Channels) :

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

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

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

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

پیمایش به بالا