شیر یا خط - فصل سوم - قسمت دوم

لایتنینگ٫ سگویت و پشت‌پرده بیتکوین کش


اگر بخواهیم بفهمیم شبکه لایتنینگ چیست و چرا اصلاً به وجود آمد، ناچاریم کمی به عقب برگردیم؛ به دعوای بلاک‌سایز، به مشکلی به نام transaction malleability، به سافت‌فورک سگویت و به روزهایی که بیتکوین کش از بیتکوین جدا شد. در این اپیزود تلاش می‌کنیم این زنجیره تاریخی و تکنیکال را از ابتدا تا امروز کنار هم بگذاریم، درباره نحوه کار کانال‌های پرداخت آف‌چین حرف بزنیم، به محدودیت‌ها و نگرانی‌های شبکه لایتنینگ بپردازیم و در آخر گپی با دوستان ایران رسکیو بیت بزنیم.

🇬🇧 English Summary

This episode of the Shir ya Khat podcast traces the history of Bitcoin’s Lightning Network and the scaling debates that made it possible, beginning with the pre-2017 block size war between big-block advocates (Bitcoin Unlimited) and those favoring smaller transactions. The hosts explain SegWit (Segregated Witness, BIP 141), the June 2016 soft fork that separated signature/witness data from transactions to fix transaction malleability—a flaw exploited in incidents like the Mt. Gox collapse and, critically, a prerequisite for Lightning since payment channels depend on stable transaction IDs—along with weight units, the four-million-weight-unit block limit, the ECDSA Lower-S/Higher-S signature issue, and the UASF (User Activated Soft Fork, BIP 148) that let economic nodes pressure miners, killing the SegWit2x compromise and spawning the Bitcoin Cash fork in August 2017. It then details how the Lightning Network works as a Bitcoin Layer 2 for cheap, instant micropayments: opening multisig channels with locked funds, exchanging sequence-numbered off-chain transactions between parties (illustrated with Alice and Bob), timelock scripts like CheckSequenceVerify and CheckLockTimeVerify, watchtowers that guard against fraudulent channel closes, and routing/hops across a network of roughly 17,000 nodes and 28,000 channels with about 838 BTC capacity. The discussion covers Lightning’s history—Joseph Poon’s proposal, Blockstream’s 2018 mainnet launch, testing on Litecoin, a March 2018 DDoS attack—plus sidechains, Stellar (Jed McCaleb’s Ripple fork), and trade-offs around decentralization, scalability, channel-capacity limits, hot-wallet risk, and hub centralization. The hosts also raise long-term concerns about miner incentives as block rewards halve and on-chain fees rise, and the regulatory question of whether running a Lightning node makes one a money transmitter under FinCEN, the Bank Secrecy Act, KYC/AML rules, or a Canadian MSB. Finally, they survey real-world Lightning wallets and services—Eclair, Blue Wallet, Zap, C-Lightning, Casa Node, tippin.me, Bitrefill, CoinGate, OpenNode, and ZigZag—and close by promoting iranrescuebit.com, a crypto-donation campaign channeling international aid to Iranian flood victims despite banking sanctions.

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

ریشه ماجرا به «بلاک‌سایز دیبیت» برمی‌گردد؛ بحثی که تقریباً از پیش از آگوست ۲۰۱۷ و به مدت حدود دو سال ادامه داشت. مسئله اصلی اسکیلیبیلیتی بود: بیتکوین پیش از فعال شدن سگویت تنها در حد هفت تراکنش در ثانیه ظرفیت داشت، در حالی که شبکه‌هایی مثل ویزا در حد چهار هزار تراکنش در ثانیه کار می‌کردند. دو راه‌حل کلی مطرح بود؛ یکی افزایش حجم بلاک از یک مگابایت به دو مگابایت و بیشتر که مشکل را موقتاً حل می‌کرد اما دوباره بازمی‌گشت، و دیگری کاهش حجم تراکنش‌ها تا تراکنش بیشتری در هر بلاک جا بگیرد — همان کاری که سگویت انجام داد. سگویت یا Segregated Witness در واقع یک Bitcoin Improvement Proposal با شماره BIP141 است که در ژوئن ۲۰۱۶ معرفی شد و برای حل مشکل transaction malleability طراحی شد؛ مشکلی که اجازه می‌داد هر کسی بخش کوچکی از دیتای یک تراکنش را تغییر دهد و بدون آنکه ورودی و خروجی عوض شود، فقط شناسه تراکنش (Transaction ID) تغییر کند. این ویژگی در هک‌هایی مثل مانت‌گاکس نقش داشت.

سگویت با جدا کردن بخش امضا یا همان witness از خود تراکنش این مشکل را حل کرد و چون تراکنش‌ها همچنان در کلاینت‌های قدیمی معتبر می‌ماندند، یک سافت‌فورک محسوب می‌شد. در جولای ۲۰۱۷ ماینرها سیگنال دادند که می‌خواهند سگویت را اضافه کنند و در آگوست ۲۰۱۷ سگویت فعال شد؛ درست در همان بازه بود که بیتکوین کش هم به وجود آمد، چون بخشی از کامیونیتی سگویت را قبول نداشت و بلاک‌های بزرگ‌تر می‌خواست. پیش از فعال شدن سگویت، پروپوزال دیگری به نام سگویت‌تو‌ایکس (SegWit2x) مطرح شد که چیزی میان سگویت و خواسته بیتکوین کش بود، اما چون بیتکوین کش زودتر از ددلاین فورک کرد و بحث UASF یا User Activated Soft Fork مطرح شد، سگویت‌تو‌ایکس در نهایت کنسل و پیاده‌سازی نشد. امروز حدود ۴۰ درصد تراکنش‌های بیتکوین سگویتی هستند.

بخش دوم اپیزود به شبکه لایتنینگ اختصاص دارد. ایده لایتنینگ را جوزف پون و چند نفر دیگر در سال ۲۰۱۶ در قالب یک وایت‌پیپر مطرح کردند، اما پیاده‌سازی آن منتظر ماند تا سگویت فعال شود؛ چون لایتنینگ به ثابت ماندن Transaction ID وابسته است و بدون حل شدن malleability امکان‌پذیر نبود. حدود ژانویه ۲۰۱۸ بلاک‌استریم یکی از اولین پیاده‌سازی‌ها را روی مین‌نت انداخت و پس از آن پیاده‌سازی‌های متفاوتی شکل گرفت. در ادامه اپیزود درباره نحوه کار کانال‌ها، محدودیت‌های شبکه، واچ‌تاورها، نگرانی درباره فی ماینرها پس از هالوینگ، بحث رگولیشن و لایسنس نودها و در نهایت والت‌ها و سرویس‌های لایتنینگ صحبت می‌کنیم.

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

سگویت و مشکل ملیبیلیتی

  • سگویت (Segregated Witness) همان BIP141 است که در ژوئن ۲۰۱۶ معرفی شد.
  • مشکل transaction malleability اجازه می‌داد شناسه تراکنش تغییر کند بدون آنکه ورودی و خروجی عوض شود؛ خود شبکه بیتکوین به این خاطر پول کسی را از دست نمی‌داد، اما سرویسی مثل مانت‌گاکس که ویدرا را روی Transaction ID پیاده کرده بود دچار مشکل شد.
  • سگویت بخش امضا (witness) را از تراکنش جدا کرد و آن را در قالب یک مرکل‌تری جداگانه قرار داد؛ به همین دلیل یک سافت‌فورک بود چون تراکنش‌ها در کلاینت‌های قدیمی هم معتبر می‌ماندند.
  • یکی از فیکس‌های ملیبیلیتی روی منحنی ECDSA و بحث Lower S و Higher S بود، اما این به‌تنهایی کافی نبود چون مدل‌های مختلفی برای ملیبل کردن تراکنش وجود داشت (مثلاً تبدیل پوش‌دیتا)؛ راه‌حل کامل خارج کردن کل امضا از تراکنش توسط سگویت بود.
  • بحث malleability اولین بار خیلی پیش‌تر و در حدود سال ۲۰۱۲ توسط افرادی مثل گرگ مکسول و پیتر تاد مطرح شده بود و به‌عنوان یک مسئله شناخته‌شده در کامیونیتی بیتکوین جا افتاده بود.

واحد وزن و ظرفیت بلاک

  • امروز واحد محاسبه به‌جای مگابایت، ویت یونیت (Weight Unit) است و یک بلاک بیتکوین می‌تواند تا چهار میلیون ویت یونیت داشته باشد.
  • تراکنش‌های سگویتی ویت یونیت کمتری مصرف می‌کنند، به همین دلیل حجم بلاک می‌تواند از یک مگابایت رد شود؛ در عمل تا حدود دو مگابایت هم ثبت شده و در تئوری در حالت آزمایشگاهی تا حدود ۳٫۸ مگابایت ممکن است.

فورک بیتکوین کش، UASF و اقلیت نامتساهل

  • بیتکوین کش در آگوست ۲۰۱۷ فورک شد چون بلاک‌های بزرگ‌تر می‌خواست و سگویت را قبول نداشت.
  • در UASF یا User Activated Soft Fork، نه‌فقط ماینرها بلکه یوزرها هم می‌توانستند سیگنال بدهند که چه پروپوزالی را ساپورت می‌کنند.
  • نودهای اکانومیک (مثل اکسچینج‌ها یا درگاه‌های پرداخت) می‌توانستند بلاک‌هایی را که سگویت را ساپورت نمی‌کردند ریجکت کنند و به این ترتیب فشاری بر ماینرها بگذارند تا از ترس از دست دادن بلاک ریوارد به سمت سگویت بیایند.
  • این پویایی به بحث «اقلیت نامتساهل» (The Intolerant Minority) در کتاب Skin in the Game نوشته نسیم طالب اشاره دارد.

نحوه کار شبکه لایتنینگ

  • ایده لایتنینگ را جوزف پون و چند نفر دیگر در سال ۲۰۱۶ مطرح کردند و پیاده‌سازی آن به فعال شدن سگویت و حل شدن malleability وابسته بود.
  • برای باز کردن یک کانال، طرفین پول را در یک آدرس چنداِمضایی (multisig) قفل می‌کنند و پس از تأیید این تراکنش، کانال باز می‌شود.
  • طرفین (مثلاً الیس و باب) تراکنش‌ها را به‌صورت آف‌چین امضا و نگه می‌دارند و هر تراکنش یک سیکونس نامبر دارد؛ فقط تراکنش نهایی به شبکه ارسال می‌شود تا کانال بسته و حساب تسویه شود.
  • برای جلوگیری از ارسال تراکنش قدیمی، از تایم‌لاک اسکریپت‌هایی مثل CheckSequenceVerify و CheckLockTimeVerify استفاده می‌شود.
  • جمع‌بندی ساده: حجم زیادی تراکنش را آف‌چین میان خودمان انجام می‌دهیم و فقط یک تصویر حساب ابتدایی و یک تصویر حساب نهایی را روی شبکه منتشر می‌کنیم.
  • سگویت و لایتنینگ ابتدا روی لایت‌کوین فعال و تست شدند و بعد روی بیتکوین عمومی شدند.

شبکه‌های جانبی و تریدآف‌ها

  • بیتکوین میان دیسنترالایز و ضد سانسور ماندن از یک سو و مقیاس‌پذیری از سوی دیگر یک تریدآف دارد.
  • شبکه‌های جانبی (لایه دوم) اجازه می‌دهند فیچرها و اسکریپتینگ‌های جدید خارج از شبکه اصلی آزمایش شوند بدون آنکه به «مونوکالچر» بیتکوین آسیب برسد.
  • مزیت دیگر این است که مارکت بیتکوین فرگمنتد و تکه‌تکه نمی‌شود و همه چیز روی همان بیتکوین باقی می‌ماند.

محدودیت‌ها و آمار شبکه

  • طبق آمار مطرح‌شده، حدود ۱۷۰۰ نود با کانال باز و حدود ۲۸۰۰ کانال باز وجود دارد و ظرفیت کل شبکه در حد ۸۳۸ بیتکوین یا حدود ۸ میلیون دلار است.
  • میانگین ظرفیت کانال‌ها حدود ۲۷۰ دلار است، یعنی حجم تراکنش قابل ارسال به مینیمم کانال‌های مسیر محدود می‌شود.
  • در روز شروع شبکه این عدد در حد دو دلار بود و روند رشد ادامه دارد؛ به قول یکی از دوستان این محدودیتی «مصنوعی» است.
  • در مارچ ۲۰۱۸ یک حمله دیداس (DDoS) بزرگ بیش از نیمی از نودها را دان کرد؛ پیتر تاد پیش‌تر به این احتمال اشاره کرده بود و به دلیل معماری شبکه این امکان هنوز وجود دارد.
  • جد مک‌کلب که از فاندرهای ریپل بود و بعد استلار را ساخت، در مارچ ۲۰۱۸ اعلام کرد که پیاده‌سازی مشابهی روی استلار می‌خواهند.

واچ‌تاور و ریسک اعتماد

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

آینده فی ماینرها و هالوینگ

  • نگرانی مطرح‌شده این است که با کاهش بلاک ریوارد پس از هالوینگ‌های آینده و بالا رفتن فی شبکه، بستن و باز کردن کانال (که تراکنش آنچین است) پرهزینه شود.
  • در پاسخ گفته شد باز و بسته کردن کانال آنی نیست و حتی همان هفت تراکنش در ثانیه می‌تواند برای مدیریت کانال‌ها کافی باشد.
  • از منظر گیم تئوری، اگر ماین برای برخی ماینرها بی‌صرفه شود، دیفیکالتی پایین می‌آید و ماینرهای باقی‌مانده سود بیشتری می‌برند و سیستم به تعادل می‌رسد؛ اما نگرانی فلسفی درباره امنیت شبکه و انحصار در ماینینگ همچنان باقی است.
  • نکته‌ای مطرح شد که اگر نیمی از مردم دنیا بخواهند کانال باز کنند، شاید حتی چیزی حدود ۴۵۰ سال زمان ببرد؛ یعنی دید دقیقی از مقیاس‌پذیری آینده نداریم.

رگولیشن و لایسنس نودها

  • نودهای لایتنینگ از نظر فنی نیازی به لایسنس ندارند و هر کسی می‌تواند نود ران کند.
  • اما در آمریکا فینسن (FinCEN) هر موجودیتی را که به‌عنوان واسطه پول یا چیز باارزش را منتقل می‌کند money transmitter تعریف می‌کند و ممکن است رانندگی نود لایتنینگ مشمول این تعریف شود.
  • بحث دیگر Bank Secrecy Act یا BSA است که الزامات ضد پول‌شویی و KYC دارد؛ اما در لایتنینگ واسطه فقط دست چپ و راست را می‌بیند و نمی‌تواند مبدأ و مقصد نهایی پول را دنبال کند.
  • نظر شخصی مطرح‌شده این بود که این قوانین به‌دلیل سختی انفورس شدن احتمالاً در آینده تغییر خواهند کرد؛ کوین سنتر (Coin Center) در نیویورک در حوزه رگولیشن فعال است.

والت‌ها، نودها و سرویس‌ها

  • سایت lightningnetworkstores.com والت‌ها، سرویس‌ها و آمار شبکه را لیست کرده است.
  • والت‌هایی مثل اکلیر (Eclair)، بلو والت (BlueWallet) و زپ (Zap) یوزر اینترفیس خوبی دارند؛ برخی نود را خودشان نگه می‌دارند و برخی اجازه وصل شدن به نود شخصی را می‌دهند.
  • برای ران کردن نود شخصی پیاده‌سازی‌هایی مثل سی‌لایتنینگ و ال‌ان‌دی وجود دارد.
  • کازا نود (Casa Node) یک سخت‌افزار مبتنی بر رزبری‌پای است که به هر کسی اجازه می‌دهد بدون دانش تکنیکال زیاد یک نود لایتنینگ داشته باشد و به غیرمتمرکزتر شدن توپولوژی شبکه کمک می‌کند.
  • تیپینگ (Tippin.me) اجازه می‌دهد کاربران در توییتر با کارمزد ناچیز به هم تیپ بدهند و نقش مهمی در گسترش لایتنینگ داشت.
  • سرویس‌های دیگری مثل کوین‌گیت (CoinGate) و اوپن‌نود (OpenNode) به‌عنوان پیمنت پروسسر، بیت‌رفیل (Bitrefill) برای خرید ووچر و گیفت‌کارت، زیگ‌زگ (ZigZag) برای تبدیل لایتنینگ به بیتکوین آنچین، تورگارد (Torguard) برای وی‌پی‌ان و سرویس‌های ارسال اس‌ام‌اس هم مطرح شدند.

گفت‌وگو با ایران رسکیو بیت

  • در پایان اپیزود دوستان ایران رسکیو بیت درباره کمپین کمک به سیل‌زدگان صحبت کردند.
  • به دلیل تحریم‌ها کمک‌های بین‌المللی از طریق سیستم بانکی عملاً متوقف شده بود، به همین دلیل کمپینی برای جمع‌آوری رمزارز از سراسر دنیا راه افتاد.
  • در سایت iranrescuebit.com افراد می‌توانند از میان توکن‌ها و کوین‌ها یکی را انتخاب و پرداخت کنند؛ ترنزکشن‌ها و پروگرس‌بار به‌صورت شفاف نمایش داده می‌شود.
  • کمپین یک ماه ادامه دارد و پس از آن مبلغ جمع‌آوری‌شده به‌صورت شفاف و طبق تفاهم‌نامه از طریق هلال احمر به دست مردم آسیب‌دیده می‌رسد.

نتیجه‌گیری

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



۲۷ مرداد ۱۳۹۸

August 18 2019

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