رمز ۱۱۸مرحلهٔ پایه، درس ۱۸ از ۲۲ بلاکچین و فناوری
لایهٔ ۱ و لایهٔ ۲ در بلاکچین چه فرقی دارند
این درس به زبان ساده توضیح میدهد که لایهٔ ۱ و لایهٔ ۲ بلاکچین چه فرقی دارند، رولآپ و لایتنینگ چگونه کار میکنند و پل و شبکهٔ اشتباه چه خطری دارند.
پیشنیاز رمز ۱۱۱ کارمزد شبکه (Gas Fee) چیست و چرا تغییر میکند
لایهٔ ۱ خود شبکهٔ اصلی بلاکچین است، مثل بیتکوین یا اتریوم؛ جایی که تراکنشها با اجماع نودها ثبت و نهایی میشوند. لایهٔ ۲ شبکهای است که روی لایهٔ ۱ ساخته میشود، بخش بزرگی از کار را بیرون از زنجیرهٔ اصلی انجام میدهد و فقط خلاصه یا نتیجهٔ نهایی را به آن برمیگرداند. نتیجه، تراکنش ارزانتر و سریعتر است؛ اما کاربر علاوه بر امنیت لایهٔ ۱، به درستی طراحی و اجرای لایهٔ ۲ هم تکیه میکند.
این درس بخشی از مسیر بلاکچین و فناوری است و فرض میکند با مفهوم بلوک و زنجیره آشنا هستید. اگر هنوز نیستید، پیش از ادامه بلاکچین چیست به زبان ساده را بخوانید. هدف این صفحه فهم معماری و فرضهای امنیتی است، نه معرفی یا مقایسهٔ شبکهها برای استفاده؛ هیچ شبکهای در این متن توصیه نمیشود.
مشکل مقیاسپذیری؛ چرا لایهٔ ۲ ساخته شد
هر بلوک ظرفیت محدودی دارد و شبکه در هر بازهٔ زمانی فقط تعداد مشخصی بلوک میسازد. وقتی تقاضا از این ظرفیت بیشتر شود، کاربران برای جا گرفتن در بلوک بعدی با هم رقابت میکنند و ابزار این رقابت، کارمزد شبکه است. نتیجه همان چیزی است که در دورههای شلوغی میبینید: صف طولانی تراکنشها و کارمزدی که گاهی از مبلغ انتقال بیشتر میشود. سازوکار این صف را در درس تأیید تراکنش بلاکچینی دیدهاید.
چرا ظرفیت بلوک را بهسادگی بزرگتر نمیکنند؟ بانک تسویه بینالملل در بولتن شمارهٔ ۵۶ خود در سال ۲۰۲۲ این مسئله را با مفهومی به نام «سهگانهٔ مقیاسپذیری» توضیح میدهد: بلاکچینهای بدون مجوز همزمان فقط دو ویژگی از سه ویژگی امنیت، تمرکززدایی و مقیاسپذیری را دارند [۱]. به بیان همین بولتن، حفظ انگیزهٔ اعتبارسنجها به ازدحام و کارمزد بالا میانجامد و کاربران را به سمت زنجیرههای تازهتری میبرد که ظرفیت بیشتری دارند، ولی به قیمت تمرکز بیشتر و امنیت ضعیفتر [۱].
بزرگ کردن بلوک یعنی هر نود باید دادهٔ بیشتری دریافت، بررسی و نگهداری کند. این کار سختافزار گرانتری میخواهد و بهتدریج تعداد کسانی را که میتوانند نود مستقل اجرا کنند کم میکند؛ یعنی از تمرکززدایی میکاهد. ایدهٔ لایهٔ ۲ راه سومی است: شبکهٔ اصلی را کوچک و قابلاجرا نگه داریم و بخش بزرگ کار را به لایهای روی آن منتقل کنیم که فقط نتیجه را برای ثبت نهایی بفرستد.
سهگانه یک چارچوب فکری است
سهگانهٔ مقیاسپذیری قانون ریاضی نیست؛ چارچوبی برای فهم بدهبستانهاست. هر طراحی تازه، از جمله هر لایهٔ ۲، را میتوان با این پرسش سنجید: برای ظرفیت بیشتر، از کدام ویژگی و به چه اندازه کوتاه آمده است؟
لایهٔ ۱ یعنی شبکهٔ اصلی
لایهٔ ۱ بلاکچینی است که به هیچ شبکهٔ دیگری برای امنیت خود تکیه نمیکند. سازوکار اجماع خودش را دارد، مثل اثبات کار یا اثبات سهام، ارز بومی خودش را دارد که کارمزد با آن پرداخت میشود، و دفتر نهایی تراکنشها روی همین شبکه نوشته میشود. بیتکوین و اتریوم دو نمونهٔ شناختهشدهٔ لایهٔ ۱ هستند.
برای لایهٔ ۲، شبکهٔ اصلی دو نقش کلیدی دارد:
- لایهٔ تسویه: نتیجهٔ نهایی کار لایهٔ ۲، یعنی اینکه در پایان چه کسی چه مقدار دارایی دارد، روی لایهٔ ۱ ثبت میشود و از آن پس همان قطعیت لایهٔ ۱ را دارد.
- مرجع داوری: اگر میان کاربر و لایهٔ ۲ اختلافی پیش بیاید، قواعدی که روی لایهٔ ۱ اجرا میشوند تعیین میکنند چه کسی درست میگوید.
یک تشبیه ساده، که از خود ماست و تنها برای فهم بهتر است: لایهٔ ۱ مثل دفتر اسناد رسمی است؛ کند و پرهزینه، ولی آنچه در آن ثبت شود مرجع نهایی است. لایهٔ ۲ مثل دفتر حساب جاری میان چند طرف است که در طول ماه دهها معامله را در خود نگه میدارد و در پایان فقط ماندهحساب نهایی را به دفتر رسمی میبرد. هرچه این دفتر حساب به دفتر رسمی وفادارتر طراحی شده باشد، اعتماد لازم به گردانندهٔ آن کمتر است.
زنجیرههای دیگری هم هستند که خود را لایهٔ ۱ مستقل معرفی میکنند و ظرفیت بالاتری دارند. طبق همان تحلیل بانک تسویه بینالملل، این ظرفیت بیشتر معمولاً با تمرکز بیشتر و امنیت ضعیفتر همراه است [۱]. پس «لایهٔ ۱ بودن» بهتنهایی نشانهٔ امنیت بالا نیست؛ باید دید آن شبکه کدام ویژگی را فدا کرده است.
رولآپها؛ خوشبینانه و دانشصفر
رولآپ (Rollup) یکی از شکلهای رایج لایهٔ ۲ در اتریوم است. طبق توضیح ethereum.org، رولآپ تراکنشها را دستهدسته خارج از زنجیره اجرا میکند و بهجای ارسال تکتک تراکنشها، فقط خلاصهٔ تغییرات را به شبکهٔ اصلی میفرستد [۲]. هزینهٔ ثبت یک دسته میان همهٔ تراکنشهای آن تقسیم میشود و به همین دلیل سهم هر کاربر کوچکتر است. منطق این کار روی لایهٔ ۱ با قرارداد هوشمند پیاده میشود.
پرسش اصلی این است: شبکهٔ اصلی از کجا بداند خلاصهای که رولآپ فرستاده درست است؟ پاسخ به این پرسش، رولآپها را به دو خانواده تقسیم میکند.
رولآپ دانشصفر (ZK-rollup)
رولآپ دانشصفر همراه خلاصهٔ تغییرات یک «اثبات اعتبار» رمزنگاریشده هم منتشر میکند و انتشار همین اثبات است که آن را از رولآپ خوشبینانه جدا میکند [۲]. قرارداد روی لایهٔ ۱ این اثبات را بررسی میکند؛ اگر اثبات معتبر نباشد، دسته پذیرفته نمیشود. به زبان ساده، درستی محاسبه بهجای اعتماد، با ریاضی نشان داده میشود.
رولآپ خوشبینانه (Optimistic Rollup)
رولآپ خوشبینانه فرض میکند تراکنشها معتبرند و برای دستهها اثبات اعتبار منتشر نمیکند [۲]. برای جبران این خوشبینی، طراحی این رولآپها معمولاً یک دورهٔ اعتراض دارد: در این مدت هر ناظری میتواند با ارائهٔ «اثبات تقلب» نشان دهد که خلاصهای نادرست ثبت شده است. امنیت این مدل به این فرض بستگی دارد که دستکم یک ناظر صادق و فعال وجود داشته باشد.
| ویژگی | رولآپ خوشبینانه | رولآپ دانشصفر |
|---|---|---|
| فرض پایه | تراکنشها معتبرند مگر خلافش ثابت شود | درستی هر دسته با اثبات نشان داده میشود |
| اثبات اعتبار برای هر دسته | منتشر نمیشود | منتشر میشود |
| دلیل معطلی در خروج به لایهٔ ۱ | انتظار برای پایان دورهٔ اعتراض | زمان تولید و بررسی اثبات |
دنکون؛ وقتی تصمیم لایهٔ ۱ هزینهٔ لایهٔ ۲ را عوض میکند
بخش مهمی از هزینهٔ رولآپ، هزینهٔ ثبت داده روی شبکهٔ اصلی است. طبق پرسشهای متداول ethereum.org، ارتقای «دنکون» در ۱۳ مارس ۲۰۲۴ روی شبکهٔ اصلی اتریوم فعال شد و با EIP-۴۸۴۴ (پروتو-دنکشاردینگ) «بلاب»های موقت داده را معرفی کرد [۳]. بلابها ذخیرهٔ داده را برای رولآپها ارزانتر و در نتیجه کارمزد لایهٔ ۲ را کمتر میکنند؛ این دادهها حدود ۱۸ روز (دقیقاً ۴۰۹۶ اپاک) در شبکه در دسترس میمانند و بعد حذف میشوند [۳].
درس این نمونه برای شما ساده است: هزینه و رفتار لایهٔ ۲ مستقل از لایهٔ ۱ نیست. تغییری در شبکهٔ اصلی میتواند اقتصاد همهٔ رولآپهای روی آن را جابهجا کند.
شبکهٔ لایتنینگ در بیتکوین
بیتکوین قرارداد هوشمند پیچیدهای مثل اتریوم ندارد و لایهٔ ۲ آن مسیر دیگری رفته است. طبق توضیح River، شبکهٔ لایتنینگ (Lightning Network) پروتکلی در لایهٔ دوم بیتکوین است که تراکنشهای خارج از زنجیره را ممکن میکند [۴].
سازوکار آن بر «کانال پرداخت» استوار است. دو طرف یک کانال باز میکنند و هر تعداد تراکنش که بخواهند انجام میدهند، بدون اینکه آنها را در بلاکچین ثبت کنند؛ وقتی کار تمام شد کانال را میبندند و تقسیم نهایی موجودی ثبت میشود [۴]. چون این پرداختها در بلاکچین ثبت نمیشوند و به ماینینگ نیاز ندارند، سریع و ارزاناند [۴].
چند نکتهٔ معماری که از همین سازوکار نتیجه میشود:
- باز و بسته کردن کانال روی زنجیرهٔ اصلی انجام میشود. این دو مرحله تراکنش عادی بیتکویناند و کارمزد و زمان تأیید معمول شبکه را دارند.
- لایتنینگ خلاصهٔ تراکنشها را منتشر نمیکند. برخلاف رولآپ، پرداختهای میانی اصلاً به زنجیره نمیرسند؛ فقط وضعیت آغاز و پایان کانال ثبت میشود.
- کیف پول باید کانال را زیر نظر داشته باشد. چون تقسیم نهایی موجودی هنگام بستن کانال ثبت میشود، نرمافزار کیف پول باید مراقب باشد که کانال با وضعیت نادرست بسته نشود.
به همین دلیل لایتنینگ بیشتر برای پرداختهای کوچک و پرتکرار ساخته شده است، نه برای جایگزین کردن کامل زنجیرهٔ اصلی.
بهای ارزانتر شدن؛ فرضهای امنیتی تازه
لایهٔ ۲ کارمزد را کم میکند، اما این ارزانی رایگان به دست نمیآید. در لایهٔ ۱ شما عمدتاً به سازوکار اجماع و کد خود شبکه اعتماد میکنید. در لایهٔ ۲ فهرست چیزهایی که باید درست کار کنند بلندتر میشود:
- درستی کد قراردادها: منطق رولآپ و پل روی قراردادهای هوشمند اجرا میشود و خطای برنامهنویسی در آنها میتواند دارایی کاربران را در معرض خطر بگذارد.
- اپراتور یا مرتبکنندهٔ تراکنشها: در بسیاری از طراحیها یک نهاد ترتیب تراکنشها را تعیین میکند. اگر این نهاد از کار بیفتد یا تراکنشی را نپذیرد، باید دید کاربر راه مستقلی برای خروج به لایهٔ ۱ دارد یا نه.
- کلیدهای ارتقا: اگر گروهی بتواند قرارداد لایهٔ ۲ را بدون مهلت کافی تغییر دهد، امنیت عملاً به درستکاری همان گروه وابسته میشود.
- ناظران و در دسترس بودن داده: رولآپ خوشبینانه به ناظر صادق نیاز دارد و هر رولآپی به این نیاز دارد که دادههای لازم برای بازسازی وضعیت در دسترس بماند.
پس پاسخ کوتاه به پرسش «لایهٔ ۲ امن است؟» این است: امنیت لایهٔ ۲ برابر است با امنیت لایهٔ ۱ بهعلاوهٔ فرضهایی که خودش اضافه کرده است. این همان بدهبستانی است که سهگانهٔ مقیاسپذیری از آن سخن میگوید؛ ظرفیت بیشتر، بدون هیچ هزینهای در امنیت یا تمرکززدایی، به دست نمیآید [۱].
ارزانتر به معنای امنتر نیست
کارمزد پایین فقط دربارهٔ هزینهٔ تراکنش چیزی میگوید، نه دربارهٔ امنیت دارایی شما. پیش از سپردن دارایی به هر لایهٔ ۲، مستندات رسمی آن را دربارهٔ اثباتها، کلیدهای ارتقا و راه خروج اضطراری بخوانید و فقط مبلغی را منتقل کنید که از دست دادنش زندگی شما را مختل نکند.
انتقال بین لایهها و خطر شبکهٔ اشتباه
دارایی برای رفتن از لایهٔ ۱ به لایهٔ ۲ و برگشتن از آن، از «پل» (Bridge) عبور میکند. پل دارایی را در یک طرف قفل میکند و معادل آن را در طرف دیگر در اختیار شما میگذارد. چون قرارداد پل دارایی بسیاری از کاربران را یکجا نگه میدارد، هدف جذابی برای مهاجمان است و هر ضعف در کد یا مدیریت کلیدهای آن میتواند همهٔ کاربران را همزمان متضرر کند.
برگشت از لایهٔ ۲ به لایهٔ ۱ هم گاهی کند است. همانطور که در بخش رولآپها دیدید، شبکهٔ اصلی باید پیش از آزاد کردن دارایی از درستی وضعیت مطمئن شود؛ در مدل خوشبینانه با گذشت دورهٔ اعتراض و در مدل دانشصفر با بررسی اثبات. در لایتنینگ، خروج یعنی بستن کانال با یک تراکنش روی زنجیرهٔ اصلی.
خطر رایجتر برای کاربر تازهکار، انتخاب شبکهٔ اشتباه است. شبکهٔ اصلی اتریوم و بسیاری از لایههای ۲ آن آدرس کیف پول همشکل دارند؛ یعنی یک آدرس ممکن است در چند شبکه معتبر به نظر برسد. اگر دارایی را در شبکهای بفرستید که مقصد آن را پشتیبانی نمیکند، بازگرداندن آن ممکن است پیچیده، پرهزینه یا ناممکن باشد.
پیش از هر انتقال، نام شبکه را دو بار بخوانید
آدرس درست با شبکهٔ نادرست همچنان به از دست رفتن دارایی میانجامد. تراکنش روی بلاکچین برگشتپذیر نیست و هیچ پشتیبانی نمیتواند آن را از طرف شما لغو کند.
پیش از انتقال میان لایهها
- نام شبکه را در مبدأ و مقصد مقایسه کنید؛ همشکل بودن آدرس کافی نیست.
- در مستندات مقصد بررسی کنید که همان شبکه و همان دارایی را برای واریز پشتیبانی میکند.
- نخست مبلغ آزمایشی کوچکی بفرستید و پس از رسیدن آن، بقیه را منتقل کنید.
- نشانی پل را فقط از مستندات رسمی همان شبکه بردارید، نه از پیام، تبلیغ یا نتیجهٔ جستوجو؛ صفحههای جعلی رایجاند و راه تشخیص آنها را در راهنمای پرهیز از کلاهبرداری ارز دیجیتال آوردهایم.
- پیش از انتقال بدانید برگشت دارایی به لایهٔ ۱ چقدر طول میکشد، تا در شرایط اضطراری غافلگیر نشوید.
- مقداری از ارز بومی شبکهٔ مقصد را برای پرداخت کارمزد در نظر بگیرید؛ بدون آن نمیتوانید دارایی منتقلشده را جابهجا کنید.
فهم تفاوت لایهٔ ۱ و لایهٔ ۲ به شما کمک میکند پیش از هر انتقال بپرسید: نتیجهٔ نهایی کجا ثبت میشود، درستی آن چگونه ثابت میشود و اگر گردانندهٔ لایهٔ ۲ از کار بیفتد، راه بازگشت شما چیست.
خودتان را بسنجید
لایهٔ ۲ به اندازهٔ لایهٔ ۱ امن است؟
نه لزوماً. لایهٔ ۲ برای ثبت نهایی به لایهٔ ۱ تکیه میکند، اما علاوه بر آن به درستی کد قراردادهای خودش، رفتار اپراتور و سازوکار ارتقای سیستم هم وابسته است. پس امنیت آن از امنیت لایهٔ ۱ بهعلاوهٔ فرضهای تازهای تشکیل میشود که باید جداگانه سنجیده شوند.
پل (Bridge) چیست و چه ریسکی دارد؟
پل سازوکاری است که دارایی را در یک شبکه قفل میکند و معادل آن را در شبکهٔ دیگر در اختیار شما میگذارد. چون قرارداد پل دارایی بسیاری از کاربران را یکجا نگه میدارد، هر خطا در کد یا در کلیدهای مدیریتی آن میتواند به از دست رفتن دارایی همهٔ کاربران آن پل بینجامد.
چرا انتقال از لایهٔ ۲ به لایهٔ ۱ طول میکشد؟
لایهٔ ۱ باید پیش از آزاد کردن دارایی، از درستی وضعیت لایهٔ ۲ مطمئن شود. در رولآپ خوشبینانه این اطمینان با گذشت یک دورهٔ اعتراض به دست میآید و در رولآپ دانشصفر با تولید و بررسی اثبات اعتبار. مدت دقیق را مستندات رسمی هر شبکه تعیین میکند.
لایتنینگ برای چه کاری مناسب است؟
لایتنینگ برای پرداختهای کوچک و پرتکرار بیتکوین طراحی شده است؛ جایی که ثبت تکتک پرداختها روی زنجیرهٔ اصلی کند و پرهزینه است. برای نگهداری طولانیمدت مبلغ بزرگ، ساختار سادهتر زنجیرهٔ اصلی معمولاً قابلفهمتر است.
منابع
- Blockchain scalability and the fragmentation of crypto مشاهدهٔ منبع Blockchain scalability and the fragmentation of crypto
- Zero-knowledge rollups | ethereum.org مشاهدهٔ منبع Zero-knowledge rollups | ethereum.org
- Cancun-Deneb (Dencun) FAQ | ethereum.org مشاهدهٔ منبع Cancun-Deneb (Dencun) FAQ | ethereum.org
- What is the Lightning Network? | River Learn - Bitcoin Technology مشاهدهٔ منبع What is the Lightning Network? | River Learn - Bitcoin Technology