شبکه لایتنینگ (Lightning Network) چیست و عملکرد آن چگونه است؟
زمانی که طرح اولیه بیت کوین در سال 2008 میلادی توسط ساتوشی ناکاموتو ارائه شد، شخصی به نام جیمز دونالد (James A. Donald) اولین کامنت را در رابطه با این طرح ارسال کرد که عنوان مینمود ” برداشت من از طرح پیشنهادی شما این است که به اندازه کافی مقیاس پذیر نیست ! ” یازده سال از آن زمان میگذرد و همچنان مقیاس پذیری بزرگترین مشکل شبکه بیت کوین و سایر ارزهای دیجیتال است. شبکه لایتنینگ (Lightning Network) یا صاعقه راهکاری برای حل این مشکل است. با وب سایت سیگنال همراه باشید تا بیشتر با شبکه لایتنینگ و نحوه عملکرد آن آشنا شوید.
مقیاس پذیری بیت کوین چیست؟
به بیان ساده مقیاس پذیری به معنی حفظ عملکرد طبیعی شبکه با افزایش تعداد کاربران و میزان تراکنش ها است. ارز دیجیتال بیت کوین (BTC) از زمان به وجود آمدن توانایی پردازش تنها 7 تراکنش در ثانیه را داشت. اگرچه این مقدار در سالهای اولیه با توجه به کم بودن تراکنشها کافی بود، اما با افزایش تعداد کاربران عدم مقیاس پذیری بیت کوین به یکی از مشکلات اساسی تبدیل شد که افزایش زمان لازم برای تایید تراکنشها و افزایش کارمزدها را در پی داشت.
اگر بیت کوین قصد تبدیل شدن به سیستم پرداختی اول دنیا را دارد باید توانایی رقابت با سایر رقبا را داشته باشد، اما در حال حاضر حتی به آنها نزدیک هم نشده است. برای درک بهتر این موضوع کافی است تعداد 7 تراکنش بیت کوین در هر ثانیه را با میانگین تعداد تراکنشهای شبکه پرداخت ویزا (Visa) که 24,000 تراکنش در هر ثانیه است، مقایسه کنید.
در سالیان گذشته علاقه مندان و توسعه دهندگان بیت کوین به دنبالی راهکارهای متفاوتی مانند افزایش سایز بلاک، کوچکتر کردن تراکنش ها و … برای بهبود مقیاس پذیری بیت کوین بودهاند، اما هنوز به اجماع و نتیجه نهایی نرسیدهاند. به همین دلیل در حال حاضر چندین هارد فورک (Hard Fork) و سافت فورک (Soft Fork) از شبکه اصلی بیت کوین ایجاد شده است. با این حال یکی از راهکارهایی که هنوز در مرحله آزمایش است و ممکن است کارساز باشد، ایده شبکه لایتنینگ است.
شبکه لایتنینگ به زبان ساده
در گذشته ارسال تلگراف سریعترین و بصرفهترین راهکار برای برقراری ارتباط از راه دور بود. برای انجام این کار باید به نزدیکترین اداره پست محلی خود میرفتید، فرمی را پر میکردید و هزینه تلگراف را بر مبنای تعداد کلماتی که در آن استفاده شده بود پرداخت میکردید. سپس پیام شما به نزدیکترین اداره تلگراف و پس از آن اداره تلگراف بعدی و … تا رسیدن به مقصد ارسال میشد. بعد از آن یک پستچی تلگراف را به گیرنده میرساند.
در این حالت افراد زیادی برای ارسال یک پیام ساده درگیر میشدند و شما برای ارسال پیام خود نیاز به پرداخت مقداری کارمزد داشتید. این ساختار بسیار شبیه به ساختار فعلی شبکه بیت کوین است. در چنین ساختاری شبکه لایتنینگ مانند استفاده از speed-dial در تلفن همراه است که در این حالت کافی است تا برای تماس با دوستتان فقط عدد 1 را شمارهگیری نمایید تا تلفن او زنگ بخورد.
شبکه لایتنینگ راهکاری لایه دوم (Second Layer) برای حل مشکل مقیاس پذیری است که با استفاده از مکانیسم قراردادهای هوشمند (Smart Contracts) به کاربران امکان ساخت کانالهای پرداختی شخصی و برون زنجیرهای (Off-Chain) را روی شبکه بیت کوین میدهد. این شبکه امکان انجام تراکنشها با سرعت بیشتر و هزینه کمتر را نسبت به حالت عادی فراهم میکند.
یکی از مشکلات اصلی بلاک چین این است که تمامی تراکنشها و اطلاعات مرتبط با آن در بلاک ها ثبت میشود؛ در نتیجه در هنگام شلوغی شبکه زمان تایید تراکنشها و کارمزدها افزایش مییابد. اما در شبکه لایتنینگ به این دلیل که انجام تراکنشها به خارج از زنجیره اصلی انتقال مییابد، هنگام انجام تراکنشها توسط دو فرد نیازی به ثبت تمامی تراکنشها در بلاک چین نیست.
به بیان ساده ایده اصلی شبکه لایتنینگ بیت کوین (Bitcoin Lightning Network) به این صورت است که نیازی به ثبت تمامی تراکنشها در بلاکچین وجود ندارد.
در عوض شبکه لایتنینگ لایهای دیگر روی بلاک چین بیت کوین اضافه میکند که به کاربران امکان ایجاد کانالهای پرداختی دو نفره (P2P) را میدهد. این کانالها تا زمانی که به آنها نیاز باشد میتوانند وجود داشته باشند و به این دلیل که بین دو فرد ایجاد شدهاند تا زمانی که این دو فرد کانال پرداختی را نبندند تراکنشها بصورت عمومی در بلاک چین منتشر نمیشود. بنابراین انجام تراکنشها توسط شبکه لایتنینگ تقریبا آنی و با کمترین هزینه ممکن اتفاق میافتد. در این روش دو کاربر برای انجام تراکنشهای خود نیازی صرف وقت برای تایید بلاک توسط استخراجگران و کارمزد آنها ندارند و در نتیجه هزینه انتقال پول آنها نیز تا حد زیادی کاهش مییابد.
کاربران در شبکه لایتنینگ با استفاده از سیاهه یا اینویس (Invoice) فعالیت میکنند. سیاهه لایتنینگ شامل تمامی اطلاعات لازم به منظور انجام یک تراکنش توسط کاربر است.
شبکه لایتنینگ اولین بار به عنوان راهکاری برای حل مشکل مقیاس پذیری بیت کوین ارائه شد، اما با گذشت زمان ارزهای دیجیتال دیگری همچون استلار (XLM) و لایت کوین (LTC) و ریپل (XRP) نیز کار بر روی توسعه و استفاده از این شبکه را آغاز نمودند.
تاریخچه شبکه لایتنینگ
مفهوم لایتنینگ از زمان ظهور بیت کوین وجود داشته است. در آن زمان از ایجاد کانالهایی برای مبادله بیت کوین میان دو فرد صحبت میشد، بصورتی که نیازی به اطلاع دیگران از این تراکنش و تایید آن توسط سایر افراد نبود.
اما ایده اصلی شبکه لایتنینگ که به شکل امروزی وجود دارد در مقالهای توسط جوزف پون (Joseph Poon) و تادئوس دریجا (Thaddeus Dryja) در سال 2015 میلادی مطرح شد که می توانید نسخه اصلی آن را از لینک زیر دریافت نمایید:
دانلود مقاله The Bitcoin Lightning Network
در ژانویه 2018 شرکت بلاک استریم با استفاده از این ایده شبکه لایتنینگ را برای بیت کوین راهاندازی کرد. در حال حاضر توسعه این شبکه توسط شرکتهای بلاک استریم (Blockstream)، لایتنینگ لبز (Lightning Labs) و ACINQ براساس بازخوردهای کاربران شبکه بیت کوین انجام میشود.
شبکه لایتنینگ چگونه کار می کند؟
کانال پرداختی چیست؟
کانال های پرداختی ابزاری برونزنجیرهای هستند که موازی با بلاک چین اصلی کار میکنند. در این کانالها با استفاده از قراردادهای هوشمند دو نفر میتوانند تعدادی نامحدود تراکنش را داخل کانال پرداختی بدون نیاز به ثبت تراکنشهای جزئی روی بلاک چین اصلی انجام دهند.
منظور از برون زنجیرهای این نیست که تراکنشهای شما از ساختار بلاک چین خارج میشود؛ بلکه بیت کوینهای شما تا زمانی که کانال پرداختی باز باقی میماند در یک آدرس چند امضایی ثبت شده در بلاک چین قرار دارند.
زمانی که دو کاربر بخواهند به مبادلات بین خود خاتمه دهند، با بستن کانال تراکنشی را به بلاک چین ارسال میکنند و آخرین وضعیت موجودی هر یک از حساب ها در بلاک چین ثبت میشود. البته تراکنش دیگری نیز زمان ایجاد کانال بین دو کاربر بر روی بلاک چین ثبت میشود که در آن مقدار قرار گرفته شده از سوی هر نفر مشخص میشود.
در حالت کلی شبکه لایتنینگ طی سه مرحله به ترتیب زیر عمل میکند:
1) ایجاد کانال پرداختی
برای باز کردن یک کانال ارتباطی در شبکه لایتنینگ، ابتدا دو کاربری که میخواهند با هم در ارتباط باشند باید مقداری وجه در یک کیف پول چند امضایی (Multi-sig Wallet) به عنوان ودیعه بگذارند. این تراکنش مانند یک تراکنش معمولی در لایه اول (بلاک چین اصلی) عمل میکند و پس از اینکه آدرس کیف پول چند امضایی در بلاک چین اصلی منتشر شد و تراکنش توسط ماینرها تایید شد، کانال پرداختی بصورت رسمی ایجاد میشود.
در طول زمانی که کانال پرداختی باز است وجوه ودیعه گذاشته شده در کیف پول چند امضایی قفل میشوند و امکان برداشت آنها وجود ندارد. در تصویر بالا مثالی را میبینید که در آن فرودو قصد ایجاد کانال پرداختی با کافی شاپ مورد علاقه خود را دارد:
در شبکه لایتنینگ از کیف پول و آدرسهای چند امضایی استفاده میشود. آدرس چند امضایی این قابلیت را میدهد که برای انجام تراکنش به کلید خصوصی هر دو نفر نیاز باشد.
بنابراین هرکدام از طرفین کلید خصوصی جداگانهای برای کیف پول چند امضایی دارد که به منظور تایید و امضای کلیه تراکنشها از آن استفاده میشود. بنابراین وجوه زمانی به گردش در میآیند که دو کاربر با استفاده از کلیدهای خصوصی خود تراکنشها را آغاز کنند.
2) آغاز تراکنش ها
حال هرکدام از طرفین میتوانند بصورت نامحدود با یکدیگر معامله کنند. تمامی تراکنشهایی که در کانال پرداختی اتفاق میافتد نیاز به امضای دیجیتال طرفین توسط کلیدهای خصوصیشان در کیف پول چند امضایی دارد.
بعد از هر تراکنش هرکدام از طرفین ترازنامه بروزرسانی شدهای را امضا میکند تا مانده حساب هریک در کیف پول چند امضایی نمایش داده شود سپس یک کپی از این ترازنامه در اختیار هرکدام از طرفین قرار میگیرد. این کانال پرداختی تا زمانی که طرفین مایل باشند باز میماند.
به بیان سادهتر ساز و کار شبکه لایتنینگ مانند این است که شما و دوستتان حساب و کتاب خود را روی یک کاغذ مینویسید و پس از انجام جمع و تفریق و محاسبه مانده حساب هر طرف یا شما مبلغی به دوستتان پرداخت میکنید یا او به شما پرداخت میکند.
3) بستن کانال پرداختی
لایتنینگ در حقیقت مجموعهای از کانالهای پرداختی است که از قراردادهای هوشمند برای اطمینان از اینکه شبکه به صورت غیرمتمرکز اداره میشود، استفاده میکند.
زمانی که معاملات دو طرف تمام شد میتوانند کانال پرداختی را ببندند؛ به این صورت که تراکنش نهایی توسط این دو شخص با استفاده از کلیدهای خصوصی تایید شده و موجودی نهایی هرکدام در بلاک چین اصلی ثبت میگردد. بنابراین اگر اختلاف نظری وجود داشته باشد هر یک از طرفین با استفاده از آخرین ترازنامه میتوانند موجودی نهایی را مشاهده کنند و در نتیجه اگر اشتباهی رخ داده باشد حسابها بصورت درست بروزرسانی شوند.
چگونگی دسترسی به شبکه لایتنینگ و استفاده از آن
برای اینکه شخصی بتواند از شبکه لایتنینگ استفاده کند، باید یک node لایتنینگ راهاندازی کرده باشد. راهاندازی نود لایتنینگ نیاز به مقدار زیادی فضای حافظه خالی (بیش از 125 گیگابایت) برای دانلود تاریخچه تمامی تراکنشهای بیت کوین دارد.
کسی که قصد راهاندازی نود لایتنینگ را دارد باید به منابع محاسباتی و الکترونیکی زیادی دسترسی داشته باشد. در واقع راهاندازی نود لایتنینگ برای افراد فنی هم میتواند سخت باشد و به همین دلیل است که اکثر مردم از شبکه لایتنینگ استفاده نمیکنند.
راه حل سادهتر برای استفاده از شبکه لایتنینگ استفاده از کیف پولهای لایتنینگ بیت کوین است. این کیف پولها به دلیل اینکه تازه کار خود را آغاز کرده اند اکثرا در مراحل اولیه توسعه هستند، اما به دلیل کارمزدهای پایین شبکه لایتنینگ و سرعت بالای آن میتوانند مورد توجه قرار گیرند. از بهترین کیف پولهای لایتنینگ بیت کوین میتوان به اسپارک (Spark)، اکلیر (Eclair) و زپ (Zap) اشاره نمود.
آیا کاربران برای ارتباط با سایر افراد باید کانال جدید ایجاد کنند؟
یکی از مزایای شبکه لایتنینگ این است که کاربران میتوانند بدون نیاز به ایجاد کانال پرداختی جدید با هرکسی که به شبکه کانالهای پرداختی آنها متصل است ارتباط برقرار کنند. به عنوان مثال اگر فرودو قصد معامله با باب را داشته باشد اما کانال پرداختی با او ایجاد نکرده باشد میتواند با استفاده از یکی از کانالهای پرداختی شبکه خود یعنی سم که قبلا با باب کانال پرداختی ایجاد کرده بصورت غیرمستقیم در ارتباط باشد.
این بدین معنی است که فرودو میتواند توسط یک واسط (سم) با باب به معامله بپردازد و از آنجایی که از لحاظ تئوری تمامی افراد در شبکه بیت کوین به یکدیگر متصل هستند، پس این مورد یکی از مزایای اصلی شبکه لایتنینگ است.
اما در مثال قبلی سم node واسطه شبکه است و باید همیشه آنلاین باشد تا بتوان از آن به عنوان واسط استفاده کرد. اما اگر او آفلاین باشد چه میشود؟
لایتنینگ یک سازوکار درونی مبتنی بر قراردادهای هوشمند به نام HTLC یا «قراردادهای زماندار هششده» دارد که به کاربران اجازه میدهد در صورتی که یکی از نودهای واسط به مشکل خورد یا آفلاین شد بتوانند به صورت یکطرفه کانال پرداختی را ببندند. همچنین قراردادها دارای ارزش زمانی هستند و به همین دلیل اگر نود سم آفلاین باشد، فرودو همیشه میتواند بیت کوینهایش را پس از گذشت یک بازه زمانی پس بگیرد.
مزایا و معایب شبکه لایتنینگ
مزایا
- افزایش سرعت انجام تراکنشها بصورت تقریبا آنی به واسطه کانالهای پرداختی دو طرفه
- کاهش کارمزدها
- افزایش مقیاس پذیری؛ زیرا از ساختار برون زنجیرهای استفاده میکند که در نتیجه از ترافیک تراکنش های شبکه بیت کوین کاسته میشود
- مناسب برای انجام معاملات خرد
معایب
- برای انتقال مبالغ بالا مناسب نیست؛ چون انتقالات از طریق واسطهها انجام میشود و در مبالغ بالا در صورتی که واسطه ها پول کافی نداشته باشند انتقال انجام نمیشود.
- در صورتی که فرد دریافتکننده آفلاین باشد نمیتواند مبلغ ارسالی را دریافت کند.
- افراد باید بطور مستمر بلاک چین بیت کوین را رصد کنند تا از عدم سرقت بیت کوین ها در کانالهای پرداختی اطمینان حاصل کنند.
- شفافیت اطلاعاتی کمتری نسبت به بلاک چین اصلی دارد. به علت ساختار برون زنجیره ای شبکه لایتنینگ فقط تراکنش و موجودی نهایی در بلاک چین اصلی ثبت میشود و باقی تراکنشهایی که در کانالهای پرداختی انجام میشود بصورت برون زنجیرهای ذخیره میشوند و در نتیجه شفافیت اطلاعاتی کمتری نسبت به حالت عادی دارد.
نتیجه گیری
از اولین روزهای ظهور بیت کوین و سایر ارزهای دیجیتال عدم مقیاسپذیری مناسب همواره یکی از مشکلات اساسی بوده است. شبکه لایتنینگ با فراهم آوردن بستری در لایه دوم و بصورت برونزنجیرهای تا حد زیادی این مشکل را برطرف نموده و باعث افزایش سرعت تراکنشها و کاهش کارمزدها شده است.
با این وجود استفاده از این شبکه به علت پیچیدگی و عدم آگاهی افراد از چگونگی عملکرد آن کمتر مورد توجه قرار گرفته است. ما در این مقاله سعی کردیم به زبانی ساده شبکه لایتنینگ و نحوه عملکرد آن را برای شما توضیح بدهیم.
ممنونم از شما. در بین مطالب فارسی یکی از کاملترین ها بود
خیلی ممنون از اینکه اینمقاله رو به اشتراک گذاشتید