Watchtowers در لایتنینگ

شبکه لایتنینگ (Lightning Network) به عنوان یک لایه دوم بر روی بلاکچین بیت‌کوین، با هدف افزایش مقیاس‌پذیری و کاهش هزینه‌های تراکنش‌ها طراحی شده است. با این حال، ماهیت خارج از زنجیره (off-chain) این شبکه، چالش‌های امنیتی خاصی را به همراه دارد، به ویژه زمانی که یکی از طرفین کانال پرداخت آفلاین باشد. در چنین شرایطی، خطر تلاش طرف مقابل برای تقلب با انتشار وضعیت قدیمی و باطل کانال به وجود می‌آید که می‌تواند منجر به سرقت وجوه شود.

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

در شبکه لایتنینگ پیاده‌سازی‌های مختلفی از نودها وجود دارد که به اجراگر معروفند. هر اجراگر لایتنینگ رویکرد متفاوتی برای ادغام و ارائه قابلیت‌های واچتاور اتخاذ کرده‌اند. دو مورد از برجسته‌ترین این اجراگرها، Core Lightning (CLN) و Lightning Network Daemon (LND) هستند. این مقاله به بررسی و مقایسه تفاوت‌های کلیدی در طراحی، معماری و ویژگی‌های واچتاور در این دو اجراگر می‌پردازد تا درک عمیق‌تری از رویکردهای متفاوت آن‌ها در تأمین امنیت شبکه لایتنینگ ارائه دهد.

پیاده‌سازی واچتاور در Core Lightning (CLN)

Core Lightning (CLN)، که پیش‌تر با نام C-Lightning شناخته می‌شد، یکی از اجراگرهای اصلی شبکه لایتنینگ است که به زبان C و Rust نوشته شده است. رویکرد آن به واچتاورها، بازتاب‌دهنده فلسفه معماری کلی آن است که بر ماژولار بودن و قابلیت توسعه‌پذیری از طریق پلاگین‌ها تأکید دارد.

• معماری ماژولار و رویکرد پلاگین

معماری CLN به شدت ماژولار است و به زیردیمون‌های مختلفی تقسیم می‌شود. این طراحی به توسعه‌دهندگان اجازه می‌دهد تا لایه‌های بیشتری از جداسازی بین کلاینت‌های مختلف و موانع اضافی در برابر سوءاستفاده‌ها اضافه کنند. در CLN، قابلیت واچتاور به طور عمده از طریق سیستم پلاگین قدرتمند آن ارائه می‌شود. پلاگین‌ها فرآیندهای فرعی هستند که توسط دیمون اصلی lightningd راه‌اندازی می‌شوند و می‌توانند به روش‌های مختلفی با آن تعامل کنند، از جمله افزودن گزینه‌های خط فرمان، اضافه کردن دستورات JSON-RPC، اشتراک در جریان رویدادها، و استفاده از Hooks برای تغییر رفتار داخلی نود.

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

• وضعیت فعلی و پلاگین‌های موجود

CLN خود به صورت بومی یک سرور واچتاور داخلی ارائه نمی‌دهد، بلکه از طریق پلاگین‌ها به سرویس‌های واچتاور خارجی متصل می‌شود. یکی از این پلاگین‌ها، کلاینت واچتاور است که با سرویس “Eye of Satoshi” یا هر واچتاور سازگار با BOLT13 کار می‌کند. این سازگاری با BOLT13 بر تعهد CLN به استانداردهای باز و قابلیت همکاری در شبکه لایتنینگ تأکید دارد. قابل ذکر است که “Eye of Satoshi” در حال حاضر از نودهای LND پشتیبانی نمی‌کند، زیرا LND یک API باز برای واچتاور ارائه نمی‌دهد و کاربران LND باید از کلاینت واچتاور خود LND استفاده کنند.

پلاگین TEOS (rust-teos) نمونه دیگری از یک سرویس واچتاور است که برای کاربران CLN در دسترس است. نصب این پلاگین نیازمند کامپایل Rust و کپی کردن فایل watchtower-client به دایرکتوری پلاگین‌های lightningd است. این نشان می‌دهد که در حالی که CLN انعطاف‌پذیری زیادی را ارائه می‌دهد، ممکن است برای راه‌اندازی و استفاده از قابلیت‌های واچتاور به دانش فنی بیشتری نیاز داشته باشد.

پیاده‌سازی واچتاور در Lightning Network Daemon (LND)

Lightning Network Daemon (LND)، اجراگر دیگری از شبکه لایتنینگ است که به زبان Go نوشته شده و به دلیل مستندات کاربرپسند و جامعه توسعه‌دهندگان فعال خود شناخته شده است. رویکرد LND به واچتاورها، با فلسفه “All in one” و یکپارچه آن همخوانی دارد.

• رویکرد یکپارچه و “All in one”

LND از نسخه 0.7.0 به بعد، قابلیت اجرای یک واچتاور خصوصی و نوع‌دوست (altruist watchtower) را به عنوان یک زیرسیستم کاملاً یکپارچه در خود LND پشتیبانی می‌کند. این بدان معناست که هم قابلیت سرور واچتاور و هم کلاینت واچتاور به صورت بومی درون LND تعبیه شده‌اند. کاربران می‌توانند LND خود را برای عمل به عنوان یک واچتاور پیکربندی کنند و همچنین می‌توانند آن را به عنوان یک کلاینت واچتاور فعال کنند تا تراکنش‌های جبران خسارت نقض (justice transactions) رمزگذاری شده را به واچتاورهای دیگر پشتیبان‌گیری کند.  

پیکربندی واچتاور در LND نسبتاً ساده است و از طریق فایل پیکربندی lnd.conf و دستورات lncli انجام می‌شود. برای فعال‌سازی سرور واچتاور، کافی استwatchtower.active=1 را در فایل پیکربندی اضافه کنید. به همین ترتیب، برای فعال‌سازی کلاینت واچتاور wtclient.active=1 باید فعال شود. LND همچنین از رابط‌های شنیداری قابل تنظیم و پشتیبانی از خدمات پنهان Tor برای واچتاورها برخوردار است.

مقایسه

تفاوت‌های بین واچتاور در Core Lightning (CLN) و Lightning Network Daemon (LND) به طور عمیقی ریشه در فلسفه‌های معماری و اهداف توسعه هر یک از این اجراگرها دارد. در حالی که هر دو به هدف مشترک افزایش امنیت شبکه لایتنینگ از طریق نظارت بر کانال‌ها می‌پردازند، رویکردهای آن‌ها در دستیابی به این هدف متفاوت است.

• معماری

CLN و LND از نظر زبان برنامه‌نویسی و ساختار معماری تفاوت‌های اساسی دارند. CLN به زبان C و Rust نوشته شده و از یک معماری کاملاً ماژولار با مدل پلاگین بهره می‌برد. این ماژولار بودن به معنای تقسیم شدن CLN به زیردیمون‌ها است که هر بخش مسئول یک جنبه بسیار خاص از عملکرد کلی است. این طراحی امکان سفارشی‌سازی عمیق و افزودن قابلیت‌های جدید از طریق پلاگین‌ها را فراهم می‌کند، به طوری که توسعه‌دهندگان می‌توانند پلاگین‌های خود را برای عملکردهای مختلف بنویسند و منتشر کنند. این سطح از ماژولار بودن در CLN، امکان تغییر و بازسازی دیمون اصلی را فراهم می‌آورد، به عنوان مثال، جایگزینی بخش‌های سنگین‌تر که حافظه و CPU زیادی مصرف می‌کنند.  

در مقابل، LND به زبان Go نوشته شده و دارای معماری یکپارچه‌تر (monolithic) است. اگرچه LND دارای یک API RPC است که به کاربران امکان سفارشی‌سازی برخی از قابلیت‌ها را می‌دهد و همچنین دارای HTLC interceptors است که می‌توانند HTLC‌های فوروارد شده و درخواست‌های gRPC را رهگیری کرده و عملکرد سفارشی اضافه کنند، اما این سطح از ماژولار بودن که توسط پلاگین‌های CLN ارائه می‌شود را ندارد. برخی از کارهایی که پلاگین‌های CLN امکان‌پذیر می‌سازند، بدون بازنویسی و کامپایل مجدد کد منبع LND قابل انجام نیستند. این تفاوت در معماری، به طور مستقیم بر نحوه پیاده‌سازی و تعامل با واچتاورها در هر دو پلتفرم تأثیر می‌گذارد.  

• پیاده‌سازی واچتاور

تفاوت‌های معماری CLN و LND به رویکردهای متمایز آن‌ها در پیاده‌سازی واچتاور منجر شده است. CLN، با تأکید بر ماژولار بودن، قابلیت واچتاور را عمدتاً از طریق پلاگین‌های سمت کلاینت ارائه می‌دهد. این پلاگین‌ها به نودهای CLN اجازه می‌دهند تا به سرویس‌های واچتاور خارجی متصل شوند، مانند Eye of Satoshi که با استاندارد BOLT13 سازگار است. این رویکرد به کاربران CLN انعطاف‌پذیری بیشتری در انتخاب ارائه‌دهنده واچتاور می‌دهد و امکان استفاده از سرویس‌های تخصصی مانند TEOS را فراهم می‌آورد که به صورت یک پلاگین Rust برای CLN در دسترس است. این مدل، با تکیه بر اکوسیستم پلاگین، به CLN اجازه می‌دهد تا از توسعه جامعه بهره‌مند شود و راهکارهای واچتاور متنوعی را پشتیبانی کند.  

در مقابل، LND یک رویکرد یکپارچه‌تر را در پیش گرفته است. قابلیت‌های سرور و کلاینت واچتاور به صورت بومی و به عنوان یک زیرسیستم کاملاً یکپارچه در LND تعبیه شده‌اند. این بدان معناست که یک نود LND می‌تواند هم به عنوان یک واچتاور برای سایر نودها عمل کند و هم از خدمات واچتاور داخلی خود یا واچتاورهای دیگر LND برای محافظت از کانال‌های خود استفاده کند. این رویکرد “All in one” در LND، تجربه کاربری ساده‌تری را فراهم می‌کند، زیرا نیازی به نصب پلاگین‌های جداگانه یا جستجوی سرویس‌های خارجی پیچیده نیست. LND در ابتدا بر واچتاورهای altruistic تمرکز داشت، اما برنامه‌هایی برای پیاده‌سازی واچتاورهای پاداش‌دهنده نیز دارد. این رویکرد LND را قادر می‌سازد تا به سرعت ویژگی‌ها را پیاده‌سازی کند و یک تجربه واچتاور یکپارچه را برای کاربران خود ارائه دهد.  

• حریم خصوصی و تمرکززدایی

فلسفه‌های طراحی متفاوت CLN و LND پیامدهای مهمی برای حریم خصوصی و تمرکززدایی در شبکه لایتنینگ دارند. CLN با تأکید بر ماژولار بودن و استفاده از پلاگین‌ها، به طور طبیعی به سمت یک اکوسیستم واچتاور غیرمتمرکزتر و متنوع‌تر سوق پیدا می‌کند. این امکان انتخاب از میان چندین ارائه‌دهنده واچتاور یا حتی اجرای واچتاور شخصی، خطر تمرکز را در دست تعداد کمی از سرویس‌دهندگان بزرگ کاهش می‌دهد. علاوه بر این، CLN در منطق پرداخت خود، حریم خصوصی را در اولویت قرار می‌دهد. استفاده از تکنیک‌هایی مانند Route Randomization و Shadow Route، اطلاعات کانال را از واچتاور مبهم می‌کند و به سمت یک سیستم نظارت واقعاً کور (blind monitoring) حرکت می‌کند. این رویکرد با اصول اصلی بیت‌کوین در زمینه مقاومت در برابر سانسور و حداقل اعتماد همسو است.  

در مقابل، LND، با وجود محبوبیت و سهم بالای خود در شبکه، ممکن است به طور ناخواسته به تمرکزگرایی در خدمات واچتاور کمک کند. اگر اکثر کاربران به واچتاورهای داخلی LND تکیه کنند، این می‌تواند منجر به نقاط تمرکز شود.

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

نتیجه‌گیری

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

تحلیل مقایسه‌ای بین Core Lightning (CLN) و Lightning Network Daemon (LND) نشان می‌دهد که هر دو اجراگر، قابلیت واچتاور را ارائه می‌دهند، اما رویکردهای آن‌ها به طور اساسی توسط فلسفه‌های معماری متمایزشان شکل گرفته است. LND یک راهکار یکپارچه و “All in one” را ارائه می‌دهد که سهولت استفاده و پذیرش گسترده را در اولویت قرار می‌دهد. واچتاورهای آن به عنوان یک زیرسیستم داخلی عمل می‌کنند و تجربه کاربری ساده‌ای را برای راه‌اندازی و مدیریت فراهم می‌آورند. این رویکرد به LND کمک کرده است تا سهم غالب در شبکه را به دست آورد و به سرعت ویژگی‌های جدید را پیاده‌سازی کند، هرچند ممکن است به طور ناخواسته به سمت تمرکز خدمات واچتاور سوق پیدا کند.  

در مقابل، CLN از معماری ماژولار و مبتنی بر پلاگین خود بهره می‌برد تا قابلیت واچتاور را عمدتاً از طریق پلاگین‌های کلاینت که به سرویس‌های خارجی و اغلب سازگار با BOLT13 متصل می‌شوند، ارائه دهد. این رویکرد، انعطاف‌پذیری و قابلیت سفارشی‌سازی بیشتری را فراهم می‌کند و یک اکوسیستم واچتاور باز و متنوع را ترویج می‌دهد که با اصول تمرکززدایی و حریم خصوصی بیت‌کوین همسو است. در حالی که ممکن است نیاز به دانش فنی بیشتری برای راه‌اندازی داشته باشد، این مدل به کاربران امکان می‌دهد تا کنترل بیشتری بر انتخاب و عملکرد واچتاور خود داشته باشند.

منابع: