شیر یا خط فصل ششم - قسمت پنجم

شبکه‌ی لایتنینگ راهکار مقیاس‌پذیری شبکه‌ی بیتکوین (۳)


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

🇬🇧 English Summary

The Lightning Network scaling episode covers Bitcoin’s Layer 2 payment channels. Part 3 of Shir Ya Khat’s Lightning Network series (S06E05) walks through the practical mechanics of Bitcoin’s Layer 2 scaling solution, beginning with how to close a payment channel—either cooperatively (both nodes agree and broadcast to layer one) or via a unilateral “force close” that relies on relative and absolute time-locks, HTLCs, watchtowers, anchor outputs, and CPFP fee-bumping to guard against fraud. The hosts survey the state of the network (roughly 34,000 nodes, 86,000 channels, ~$106M capacity, plus many private/unannounced nodes) and the main node implementations—LND (Lightning Labs, Go), Core Lightning/C-Lightning (Blockstream, C), and Eclair (ACINQ, Scala)—alongside newer Rust efforts like LDK (Spiral) and Electrum’s built-in node. They compare wallets in depth, distinguishing custodial options (Wallet of Satoshi, Blue Wallet, Strike, El Salvador’s Chivo) from non-custodial ones like Phoenix, Breez (with podcasting-2.0 streaming sats and point-of-sale features), Muun (which uses submarine swaps rather than true Lightning), and Eclair Mobile, while explaining inbound liquidity and routing constraints. The episode also details the peer-to-peer gossip protocol—node announcements, channel announcements, and channel updates—and how source-based routing builds the network graph from advertised capacity. Finally, it explains how the Taproot upgrade (Schnorr signatures and MAST) improves Lightning by making 2-of-2 multisig funding and closing transactions indistinguishable from ordinary transactions for privacy and lower fees, and previews future protocol work like PTLCs and BOLT 12 static invoices/offers.

توضیحات اپیزود

اپیزود با نگاهی به وضعیت فعلی شبکه‌ی لایتنینگ آغاز می‌شود؛ در زمان ضبط (ژانویه‌ی ۲۰۲۲) شبکه حدود ۳۴ هزار نود و ۸۶ هزار کانال دارد و ظرفیت شبکه (Network Capacity) در حدود ۱۰۶ میلیون دلار است. بچه‌ها تأکید می‌کنند که این آمار تصویر کاملی نیست، چون بخش بزرگی از نودها و کانال‌ها به‌صورت خصوصی و پنهان از دید عموم فعالیت می‌کنند و همین موضوع اندازه‌گیری واقعی ظرفیت و میزان استفاده از شبکه را دشوار و پیچیده می‌کند.

محور اصلی نیمه‌ی نخست اپیزود، نحوه‌ی بستن کانال است. برای خرج کردن پول روی لایه‌ی اول (که معادل بستن کانال است) یک مسیر واحد وجود ندارد؛ ساده‌ترین راه بستن همکاری‌شده یا Cooperative Close است که در آن دو طرف با هم توافق می‌کنند و تراکنش در همان اولین بلاک تأیید می‌شود. اما وقتی طرف مقابل آفلاین است یا احتمال تقلب وجود دارد، باید بتوانیم بدون نیاز به طرف دوم کانال را ببندیم؛ این همان بستن یک‌طرفه یا Force Close (یونی‌لترال / نان‌کوپریتیو) است که در آن آخرین کامیتمنت منتشر می‌شود و بسته به قرارداد اولیه، خروجی طرف منتشرکننده تا مدتی (مثلاً ۷۵۰ یا ۲۰۰۰ بلاک) قفل زمانی می‌ماند تا فرصت جلوگیری از تقلب برای طرف دیگر فراهم شود.

نیمه‌ی دوم اپیزود کاملاً کاربردی است: از پیاده‌سازی‌های نود لایتنینگ تا کیف پول‌های موبایلی روزمره معرفی می‌شوند، تفاوت والت‌های حضانتی و غیرحضانتی روشن می‌شود، ساختار نود لایتنینگ و پروتکل گاسیپ توضیح داده می‌شود و در انتها اثر آپگرید تپروت بر لایتنینگ بررسی می‌شود؛ از جمله بهبود حریم خصوصی و کاهش کارمزد باز و بستن کانال با کمک امضای شنور.

نکات اصلی بحث‌شده

بستن کانال و جزییات فنی آن

  • بستن همکاری‌شده (Cooperative Close): دو طرف با هم درخواست بستن می‌دهند و تراکنش در نخستین بلاک تأییدکننده نهایی می‌شود.
  • بستن یک‌طرفه (Force Close): وقتی طرف مقابل حاضر نیست، منتشرکننده آخرین کامیتمنت خود را می‌فرستد و خروجی‌اش مشمول یک بازه‌ی زمانی (تایم‌لاک) می‌شود تا امکان تقلب گرفته شود.
  • دو نوع تایم‌لاک: قفل زمانی نسبی روی تراکنش‌های کامیتمنت (از زمان انتشار باید چند بلاک صبر کرد تا خرج شود، چه برای بستن و چه برای واکنش به تقلب) و قفل زمانی مطلق روی خروجی‌های HTLC، چون کسی که فقط از کانال ما برای مسیریابی استفاده کرده نمی‌تواند نامحدود منتظر بماند و تکلیف تراکنشش باید تا بلاک مشخصی روشن شود.

کارمزد بستن کانال

  • کارمزد بستن، در واقع کارمزد تراکنشی است که روی شبکه‌ی بیتکوین ثبت می‌شود و مقدار آن در همان فاندینگ ترنزکشن اولیه تعیین شده که هر طرف چه مقدار بپردازد.
  • در تراکنش‌های کانال معمولاً یک خروجی به نام انکر آوتپوت (Anchor Output) قرار می‌گیرد تا در صورت بالا بودن کارمزد شبکه بتوان با تکنیک CPFP به ماینرها انگیزه داد و کانال را به‌موقع بست.

نودها و پیاده‌سازی‌های لایتنینگ

  • سه پیاده‌سازی اصلی: Core Lightning (c-lightning) به زبان C از شرکت بلاک‌استریم، LND به زبان گو از لایتنینگ لبز (با مدیریت الیزابت استارک) و Eclair به زبان اسکالا از شرکت ACINQ.
  • پیاده‌سازی‌های دیگر: Electrum (توسط توماس فوگل‌مان، که نود لایتنینگ مستقل خود را در والت انتگره کرده) و پیاده‌سازی‌های به زبان راست مانند LDK (از شرکت اسپایرال / جک دورسی) که فیچرهای تازه‌تری دارند اما هنوز به پایداری و آمادگی پروداکشن LND و Core Lightning نرسیده‌اند.
  • نود لایتنینگ علاوه بر ارتباط با نود بیتکوین، وظیفه‌ی واچ‌تاور، مسیریابی و مبادله‌ی پیام‌های شبکه‌ی همتا‌به‌همتا را دارد. برخی فیچرها مثل واچ‌تاور، پشتیبانی از والت‌های سخت‌افزاری، PSBT یا دوال‌فاندد چنل در همه‌ی پیاده‌سازی‌ها موجود نیست (مثلاً Eclair واچ‌تاور داخلی ندارد).

پروتکل گاسیپ و مسیریابی

  • شبکه‌ی لایتنینگ یک شبکه‌ی پی‌تو‌پی با پروتکل گاسیپ است و نودها با سه پیام اصلی همدیگر را پیدا می‌کنند: Node Announcement (اعلام حضور یک نود)، Channel Announcement (اعلام باز شدن یک کانال، مهم برای بخش دریافت) و Channel Update (به‌روزرسانی وضعیت کانال).
  • نکته‌ی مهم: وضعیت لحظه‌ای بالانس دو طرف کانال به‌صورت ریل‌تایم منتشر نمی‌شود؛ فقط ظرفیت کانال اعلام می‌گردد و تخمین موجودی هر سمت حین مسیریابی و از طریق فرایند پروبینگ به دست می‌آید.

والت‌های حضانتی و غیرحضانتی

  • والت‌های حضانتی (Custodial) مثل Wallet of Satoshi، بلوو والت، استرایک و کیف پول دولت السالوادور بسیار ساده و سریع‌اند اما دارایی شما نزد شخص دیگری است و توصیه نمی‌شوند؛ در صورت اجبار فقط برای مبالغ کوچک.

معرفی کیف پول‌های لایتنینگی

  • فینیکس (Phoenix): بر پایه‌ی Eclair از ACINQ، فقط لایتنینگی، ساده و قدرتمند؛ با ارسال بیتکوین به آدرس آن، خودش کانال را می‌سازد و آماده‌ی پرداخت می‌شود (محدودیت inbound liquidity برای دریافت وجود دارد).
  • بریز (Breez): بر پایه‌ی LND، با ترفندی شبیه سابمارین سواپ همان ابتدا امکان پرداخت و دریافت را فراهم می‌کند، کنسول شبیه نود LND دارد و قابلیت‌های جذابی مثل بخش پادکست (پرداخت ساتوشی به‌ازای گوش دادن) و پوینت اوف سیل (دستگاه پوز برای فروشندگان) دارد.
  • مون والت (Muun): اصلاً کیف پول لایتنینگی نیست بلکه یک والت کاملاً آن‌چین است که با مفهوم سابمارین سواپ (نوعی اتمیک سواپ تراستلس) پرداخت‌های لایتنینگ را دریافت و ارسال می‌کند.
  • ایکلیر موبایل (Eclair): نخستین والت لایتنینگی اکوسیستم بیتکوین در ۲۰۱۸؛ فنی‌تر است و اجازه‌ی انتخاب دستی کانال و کارمزد و درخواست کانال از سرویس‌دهنده را می‌دهد. سیمپل بیتکوین والت و الکترام هم اشاره شدند.

آپگرید تپروت و تأثیر آن بر لایتنینگ

  • تپروت (نسخه‌ی ۲۱ بیتکوین) بسته‌ای از تغییرات شامل امضای شنور و MAST است.
  • بهبود حریم خصوصی: با امضای شنور، تراکنش‌های فاندینگ و بستن کانال دیگر شبیه یک مالتی‌سیگ دو از دو دیده نمی‌شوند و از تراکنش‌های معمولی بیتکوین قابل تشخیص نیستند.
  • کاهش کارمزد: تبدیل مالتی‌سیگ دو از دو به تراکنشی شبیه سینگل‌سیگنیچر، سایز تراکنش و در نتیجه کارمزد باز و بستن کانال را کم می‌کند.
  • نیما با اسکرین‌شات نشان داد که مون والت چند روز پس از تپروت شروع به استفاده از آدرس‌های تپروتی (bc1p) و تراکنش‌های چند‌امضایی تپروتی کرده، به‌طوری‌که اکسپلورر دیگر چند‌امضایی بودن آن را تشخیص نمی‌دهد و کارمزد هم حدود ۱۵۰ ساتوشی کمتر شده است.
  • آینده: MAST امکان اسکریپت‌های خلاقانه‌تر مثل PTLC و تراکنش‌های مطرح‌شده توسط انتونی تاونز را ساده‌تر می‌کند؛ همچنین BOLT12 (مطرح‌شده توسط راستی راسل) با قابلیت‌هایی مثل این‌وویس ثابت و پرداخت تکرارشونده در حال آزمایش است. هر سه پیاده‌سازی اصلی (LND، Core Lightning و Eclair) انتگریشن تپروت را دارند.

نتیجه‌گیری

در این قسمت چرخه‌ی عمر کانال لایتنینگ با بررسی روش‌های بستن آن کامل شد و سپس لایه‌ی نرم‌افزاری این اکوسیستم، از نودها و پیاده‌سازی‌ها تا کیف پول‌های کاربری، معرفی گردید. آپگرید تپروت با دو دستاورد کلیدی حریم خصوصی و کاهش کارمزد، افق تازه‌ای پیش روی لایتنینگ گشوده و نشان می‌دهد این اکوسیستم چقدر پویا و پرشتاب است. در قسمت بعد درباره‌ی آینده‌ی لایتنینگ، چالش‌های آن و بحث آزاد («آتش آزاد») بیشتر صحبت خواهد شد.

لینک های این اپیزود:

قسمت‌های مرتبط

  • لایتنینگ - قسمت ۲ — قسمت قبلی همین مجموعه سریالی؛ در این اپیزود بحث تقلب و جریمه و توپولوژی شبکه که پیش‌نیاز مستقیم بستن کانال است را ادامه می‌دهد.
  • لایتنینگ - قسمت ۱ — قسمت اول همین مجموعه؛ معرفی لایتنینگ، ساخت کانال و تراکنش‌های آف‌چین که مبنای این اپیزود است.
  • مقیاس‌پذیری - قسمت ۲ — راهکارهای لایه دوم و مقیاس‌پذیری که لایتنینگ نمونه‌ی آن است در همین فصل بررسی شده.
  • مقیاس‌پذیری - قسمت ۱ — سرآغاز فصل ششم و طرح مسئله‌ی گلوگاه مقیاس‌پذیری که کل بحث لایتنینگ برای حل آن است.
  • سگویت و لایتنینگ — معرفی اولیه شبکه لایتنینگ و سگویت که پیش‌زمینه فنی این اپیزود محسوب می‌شود.
  • حریم خصوصی در بلاکچین — این اپیزود درباره‌ی بهبود پرایویسی با آپگرید تپروت در لایتنینگ صحبت می‌کند که به مفهوم حریم خصوصی مرتبط است.

زمان‌بندی فصل‌ها

  • 00:00 شروع
  • 02:30 خلاصه اپیزودهای قبلی
  • 05:30 آمار و وضعیت فعلی شبکه‌ی لاتنینگ
  • 08:00 نحوه‌ی بستن کانال لایتنینگ
  • 09:50 بستن کانال به روش همکاری شده یا Cooperative Close
  • 10:30 بستن کانال به روش یک طرفه یا Force Close و لزوم وجود این روش
  • 12:30 جزییات فنی بستن کانال به روش یک طرفه
  • 15:40 کارمزد بستن کانال‌ها چگونه محاسبه می‌شود؟
  • 18:55 نرم‌افزارهای مربوط به لایتنینگ (نودها‌‌٫ والت‌ها و …)
  • 22:50 انواع مختلف والت‌های لایتنینگی حضانتی یا Custodial غیر حضانتی یا Non-Custodial
  • 26:40 معرفی کیف پول‌های لایتنینگی
  • 36:54 زیرساخت‌های لازم برای راه‌ اندازی لایتنینگ
  • 38:10 نود لایتنینگ در شبکه‌ی لایتنینگ
  • 45:00 پیاده سازی‌های مختلف لایتنینگ
  • 50:45 آپگرید تپروت و تاثير آن بر لایتنینگ
  • 01:05:20 خلاصه اپیزود و پایان