عناوینی که در این مقاله می خوانید
مطلبی که همواره در جامعه ارزهای دیجیتال مطرح بوده است، مقیاسپذیری (Scalability) و صرفهجویی در تراکنشهای کوچک (ریزپرداختها) است. یکی از راهحلهای نوآورانه برای رفع مشکل مقیاسپذیری، منتقل کردن تراکنشها از شبکه اصلی به لایه دوم است
شبکه لایتنینگ (Lightning Network) برای پیادهسازی راهحل منطقی مذکور در بلاک چین بیت کوین طراحی شده است. هزاران نفر از سراسر جهان نودهای لایتنینگ را راهاندازی کردهاند تا زیرساخت کافی را برای فعالیت این شبکه تأمین کنند؛ اما این شبکه با چالشهایی از جمله مسدود شدن کانالها (Channel Jamming) مواجه است.
در حال حاضر، شبکه لایتنینگ به عنوان راهحل محبوب برای مقیاسپذیری بیت کوین شناخته میشود؛ اما با وجود ایرادات و مشکلاتی که وجود دارد، اگر بیت کوین برای پرداختهای روزانه به طور گسترده استفاده شود، باید برای رفع این مشکلات اقداماتی انجام شود. یکی از این مشکلات، راهحلی برای حملاتی با نام «بستن کانال» یا مسدود کردن کانال (Channel Jamming) است که با تهدید امنیت و سلامت این شبکه مواجه میشود.
در این مقاله، قصد داریم به زبان ساده به شرح انواع حملاتی که ممکن است بر روی شبکه لایتنینگ صورت گیرد، بپردازیم تا افرادی که از این شبکه استفاده میکنند، با این مسئله بیشتر آشنا شوند. همچنین، اهمیت این موضوع و روشهای پیشگیری از چنین حملاتی نیز در ادامه مطلب بررسی میشود. شما را به همراهی با ما تا انتهای این مقاله دعوت میکنیم.
چیستی و انواع حملات «بستن کانال» یا «چنل جمینگ» چیست؟
یکی از حملاتی که ممکن است بر روی شبکه لایتنینگ صورت گیرد، این است که مهاجم با ارسال تعداد زیادی تراکنش به آدرس خود، کانال پرداخت را به مشکل بیفتاند و از طریق این روش آن را مسدود کند.حمله بستن کانال یا Channel Jamming، یکی از حملات ممکن بر روی شبکه لایتنینگ است. برای درک این حمله، ابتدا باید با روش کار شبکه لایتنینگ آشنا شویم.
شبکه لایتنینگ: یک لایه دوم بر روی بلاکچین اصلی بیت کوین
شبکه لایتنینگ، یک لایه دوم بر روی بلاکچین اصلی بیت کوین است که با ایجاد کانالهای پرداختی خرد، تراکنشها را در خارج از شبکه اصلی به صورت سریع و با هزینه کمتری انجام میدهد. برای انجام هر تراکنش، نیاز به وجود دو طرف یعنی فرستنده و گیرنده است که در اینجا به آنها اشاره میشود.
در شبکه لایتنینگ، با ایجاد آدرس چندامضایی و ارسال مقداری بیت کوین، فرستنده و گیرنده ابتدا یک کانال پرداختی دوطرفه ایجاد میکنند. این کانال در واقع با ثبت تراکنش باز در قالب موجودی قفل شده در بلاک چین اصلی بیت کوین شکل میگیرد. کاربران میتوانند بیت کوین قفل شده را در هر تعداد تراکنشی که میخواهند، در شبکه لایتنینگ به طرف دیگر کانال ارسال کنند.
بعد از اتمام تراکنشها، فرستنده و گیرنده کانال را میبندند و تسویه حساب میکنند. هنگامی که کانال بسته شود، تراکنش تسویه حساب به بلاک چین اصلی ارسال میشود و باعث میشود تراکنشی که در ابتدا روی بلاک چین اصلی بیت کوین انجام شده بود، نهایی و بسته شود.
حمله بستن کانال در شبکه لایتنینگ
حال که شما با نحوه کار شبکه لایتنینگ آشنا شدید، به توضیح حمله بستن کانال میپردازیم. این حمله زمانی رخ میدهد که یک کاربر مخرب تراکنش یا تعداد زیادی تراکنش را از طریق یک کانال ثالث به خود ارسال میکند، اما رشته محرمانه تراکنشها را ارسال نمیکند. در چنین شرایطی، تراکنش یا تراکنشهای ارسالی این کاربر در کانال پرداخت به حالت معلق میافتند. این کار باعث تکمیل ظرفیت کانال و قفل شدن نقدینگی یا تجمع تراکنشهای ناتمام در آن کانال میشود. حمله بستن کانال به جهتی شبیه به حمله DDoS یا محرومسازی از سرویس است.
دو روش برای انجام چنل جمینگ وجود دارد
1-در روش مسدودسازی ظرفیتی (Amount Jamming)، مهاجم بخشی از ظرفیت کانال هدف را قفل میکند. به عبارت دیگر، در هر کانالی که در شبکه لایتنینگ ایجاد میشود، مقدار مشخصی بیت کوین را میتوان به آن انتقال داد که به آن ظرفیت کانال میگوییم. در این نوع از حملات، مهاجم تراکنش ناتمام را با حداکثر ظرفیت قابل پردازش در کانال ارسال میکند و باعث تکمیل ظرفیت و قفل شدن آن میشود.
2-مسدودسازی تعدادی (Slot Jamming)، که در حوزه بیت کوین به کار میرود، به محدودیت تعداد تراکنشهای ناتمام هر کانال اشاره دارد. مهاجم در این نوع از حملات، تعداد زیادی تراکنش ناتمام را به کانال ارسال میکند تا محدودیت پرداختهای معلق را پر کند. هر کانال در این حالت، تنها میتواند ۴۸۳ تراکنش معلق در هر جهت را داشته باشد که این محدودیت به دلیل مسائل فنی در حوزه تعداد تراکنشهای بیت کوین اعمال شده است. در صورتی که تعداد تراکنشهای معلق به حداکثر برسد، کانال دیگر قابلیت پردازش تراکنشهای بیشتر را نخواهد داشت.
هر دو نوع حمله چنل جمینگ، به بسته شدن کانال هدف منجر میشود، اما فرایند مسدودسازی، در حمله کم هزینهتر است تا حمله با ظرفیت بالا. مهاجم برای انجام هر دو حمله، به موجودی بیت کوین نیاز دارد، اما تراکنشهای کم حجم برایش ارزانتر از تراکنش با ظرفیت کل کانال هستند.
علت حمله به چنل جمینگ چیست؟
دلایل مختلفی وجود دارد که مهاجمان را به انجام حملات و بستن کانالها ترغیب میکند. یکی از این دلایل میتواند حمله به شبکه بیت کوین باشد. مهاجمی که دارای چنین انگیزهای است، میتواند با این نوع حمله، تمام کانالهای شبکه را مسدود کند و باعث از کار افتادن بخش قابل توجهی از شبکه شود. برای انجام چنین حمله گستردهای، سرمایه زیادی لازم است، اما باید توجه داشت که شبکه بیت کوین در حال رشد و تبدیلشدن به یک جایگزین برای سیستمهای مالی دولتی است و باید به عنوان یک احتمال دست کم گرفته نشود.
یکی از دلایل دیگر برای حمله و قطع کانال، میتواند رقابت با فروشگاههای رقیب باشد. بسیاری از فروشگاههای جهان از شبکه لایتنینگ به عنوان ابزار پرداختی استفاده کردهاند و به دلیل کارایی بالا، از آن استقبال زیادی شده است. برای رقابت با فروشگاه رقیب، ممکن است یک فروشگاه تلاش کند با سفارش چنل جمینگ علیه رقیب، آن را از بازار خارج کند. این اقدام میتواند باعث بارگیری هزینههای بالای کارمزد برای فروشگاه خود شود و همچنین با مسدود کردن کانال پرداخت، مشتریان رقیب را به فروشگاه خود هدایت کند.
گردانندگان شبکه لایتنینگ میتوانند از چنل جمینگ در برابر یکدیگر استفاده کنند. این ممکن است به این صورت باشد که یکی از گردانندگان نود، برای مسدود کردن کانالهای ارتباطی رقیب خود (که با نود مشابهی متصل هستند)، از چنل جمینگ استفاده کند. با این کار، اتصالات نود مورد حمله، تراکنشهای خود را به نود مهاجم منتقل میکنند و اعتبار آن نود خدشهدار میشود.
چرا مسدود کردن کانال برای شبکه لایتنینگ اهمیت بسیاری دارد؟
احتمال حمله جمینگ به کانالهای شبکه لایتنینگ، ناشی از محدودیتهای فنی شبکه وابسته است. برای جلوگیری از این خطر، راهحل اصلی، برطرف کردن ایرادهای فنی پروتکل و محدودیتهای موجود است.
با اعمال تغییراتی در پروتکل شبکه لایتنینگ، میتوان محدودیت تراکنشهای معلق را افزایش داد. برای این کار، میتوان ساختار تراکنشهای درونزنجیرهای شبکه لایتنینگ را طوری اصلاح کرد که تعداد تراکنشهای بیشتری در آن جای گیرد یا خودِ بلاکچین بیتکوین طوری اصلاح شود که از ورودیهای بیشتری برای تراکنشهای مربوط به شبکه لایتنینگ پشتیبانی کند.
وجود چنل جمینگ میتواند برای طرفداران بیت کوین به عنوان یک خطر جدی مطرح شود. بسیاری انتظار دارند که بیت کوین سقوط کند یا حداقل آسیب کوتاهمدتی ببیند و چنل جمینگ میتواند از طریق آسیبپذیریهای موجود در شبکه لایتنینگ ایجاد شود.
بدون اینکه برای پیشرفت و آزمونوخطا فرصتی از دست دهیم، نباید فراموش کنیم که این شبکه هنوز جای پیشرفت و آزمونوخطا بیشتری دارد. همانطور که دانش ما از امنیت و مشکلات مقیاسپذیری بیشتر میشود، پروتکل لایتنینگ هم به بلوغ خود ادامه میدهد و استحکام بیشتری مییابد.
راههای پیشگیری از حملات بستن کانال چیست؟
یکی از عوامل کاهش انگیزه برای انجام حملات، هزینه های مالی و فرصتی مرتبط با عوامل خارجی است. هر حمله هزینه ای دارد و مهاجمان تنها زمانی به آن حمله می کنند که سود آن از هزینه های آن بیشتر باشد.
هزینه اصلی حمله “بستن کانال” برای مهاجم، بیت کوینهایی هستند که باید در اختیار داشته باشد و همچنین باید کارمزد دو تراکنش (تراکنش بازکردن و تراکنش بستن کانال) را در بلاکچین بیت کوین، پرداخت نماید.
موضوع هزینه در فرایند مسدودسازی تعدادی چندان مطرح نیست؛ زیرا میتوان ۴۸۳ تراکنش را با حداقل مقدار بیت کوین برای هر تراکنش انجام داد. به عنوان مثال، اگر هر تراکنش را با ۱۰ ساتوشی هزینه بگیریم، مجموع هزینه ۴۸٬۳۰۰ ساتوشی (۰.۰۰۰۴۸۳ بیت کوین) خواهد بود که مقدار کوچکی است.
با این حال، برای مسدود کردن ظرفیتی که در آن باید کل ظرفیت یک کانال یا در صورت گسترش، ظرفیت چندین کانال مسدود شود، هزینه بسیار زیادی نیاز است که میتواند انگیزه حمله را کاهش دهد. البته اگر مهاجم انگیزه جدی داشته باشد، هزینه نیز مهم نخواهد بود.
برای جلوگیری از حملات، راهکارهایی برای بستن کانال ارائه شده است که نیاز به تغییرات در پروتکل شبکه لایتنینگ یا بلاک چین بیت کوین دارند. یکی از راه حل ها، افزایش حداکثر تراکنش های معلق برای هر کانال است.
در این حالت، هزینه انجام حمله چنل جمینگ برای مهاجم بیشتر خواهد شد؛ زیرا باید تعداد بیشتری تراکنش ارسال کند. با این حال، این راهکار احتمال حمله را کاملا از بین نمیبرد؛ بلکه آن را کمتر میکند.
راهکار جدید برای کاهش تعداد تراکنشهای معلق، این است که دو نوع محدودیت برای تراکنشها در نظر گرفته شود. این محدودیتها شامل یک محدودیت برای تراکنشهای کوچک و یکی برای تراکنشهای بزرگتر است. لازم به ذکر است که مقادیر کوچک بیت کوین در بلاکچین انتقال داده نمیشوند و باید مبلغ انتقال بیشتر از کارمزد تراکنش شبکه باشد تا کارمزد از آن کسر شود. برای مقادیر بسیار کوچک بیت کوین، اصطلاح Dust به کار میرود.
محدودیت ۴۸۳ تراکنشی برای تراکنشهای کمتر از داست، معنای خاصی ندارد؛ زیرا این مقدار بیت کوین در شبکه اصلی انتقال پذیر نیست. بنابراین، به نظر میرسد منطقی است که این محدودیت تنها برای تراکنشهایی که بیشتر از داست هستند اعمال شود. اگر چنین محدودیت دوگانهای اعمال شود، دیگر نمیتوان با مسدود کردن تعدادی از تراکنشهای کوچک، مسیر تراکنشهای سنگین را مسدود کرد؛ به عبارت دیگر، برای مسدود کردن تراکنشهای حجیم، مهاجم باید حداقل ۴۸۳ تراکنش با مبلغ زیاد تولید کند.محدودیت هزینه حمله، باعث افزایش امنیت کانال میشود. با این حال، این راهکار تأثیر چشمگیری بر فرایند مسدودسازی ظرفیتی ندارد.
Antoine Riard و Gleb Naumenko پیشنهاد دادهاند که کارمزد تراکنشها بر اساس مدت زمانی که از ارسال تا انجام تراکنش توسط کاربران طول میکشد، تعیین شود. به عبارت دیگر، زمانی که برای انجام تراکنش صرف میشود، به واحدهای زمانی تقسیم شده و برای هر واحد زمانی، میزان کارمزد تعیین میشود. این به معنای این است که هر چه زمانی که تا انجام تراکنش طول میکشد بیشتر باشد، کارمزد بیشتری برای فرستنده تراکنش اعمال خواهد شد. این ممکن است باعث شود که تراکنشهایی که طول انجامشان بیشتر است، برای کاربران هزینهبر باشند.
یکی از راهکارهای جلوگیری از حملات اغلاق کانال، نصب افزونهای است که برای نودها طراحی شده است. با نصب این افزونه بر روی نرمافزار خود، نودها حجم تراکنشهایی که از آنها عبور میکند را محدود کرده و از حملات انبوهی از تراکنشهای غیرمجاز جلوگیری میکنند. همچنین، این افزونهها به نودها این امکان را میدهند که سقف تعداد تراکنشها را برای نودهایی که به آنها اعتماد دارند، افزایش دهند.
خلاصهبندی
شبکه لایتنینگ، یکی از راهکارهای بزرگ مقیاس پذیری بیت کوین است که به صورت لایه دوم روی بلاک چین قرار گرفته است. با این حال، این شبکه با برخی ریسکها همراه است، از جمله حمله به بستن کانال یا چنل جمینگ که احتمالا اتفاق بیفتد.
در این مقاله، به بررسی حملات این دسته پرداختیم و روش اجرا و انواع آن را شرح دادیم. علاوه براین، راه حلهای پیشنهادی برای پیشگیری از آن نیز مورد بررسی قرار گرفت.
همانطور که اشاره شد، راهکارهای ممانعت از حملات جمینگ در شبکه لایتنینگ دو دسته اند، یکی مربوط به بهبود پروتکل لایتنینگ و دیگری به بهبود پروتکل بلاکچین بیت کوین است. این راهکارها باعث سخت شدن حملات جمینگ و جلوگیری از آسیب دیدن شبکه میشوند، اما از برطرف شدن کامل ریسک این حملات با حفظ ساختار بدون نیاز به مجوز شبکه لایتنینگ، ناممکن است.
باید توجه داشت که روشهایی برای جلوگیری از چنل جمینگ وجود دارند، اما این روشها محدودیتهایی دارند و تنها میتوان آنها را بر روی پروتکل شبکه و نودها استفاده کرد. البته راهحلهای اصلی نیازمند تحقیقات و بررسی مباحث گستردهتری هستند. باید دید که جامعه بیت کوین و شبکه لایتنینگ چگونه سعی میکنند به رفع این مشکل بپردازند تا این ارز دیجیتال همواره به رشد و گسترش خود ادامه دهد.
نظرات کاربران