
شبکه لایتنینگ چیست؟
شبکه لایتنینگ یا صاعقه یکی از راهکارهای بهبود مقیاسپذیری در بلاک چینهاست برای ادامه مطلب با مجله ارز دیجیتال همراه شوید .
ایده شبکه لایتنینگ (به انگلیسی Lightning Network) توسط Thaddeus Dryja و Joseph Poon در یک white paper در سال ۲۰۱۵ ارسال شد.
این ایده مبتنی بر شبکهای است که در بالای بلاکچین بیتکوین قرار میگیرد و میتواند مقیاسپذیری بالا، هزینه کم و پرداختهای آنی را برای بلاکچین به همراه داشته باشد.
شرح بیشتر شبکه لایتنینگ
در حالیکه ویزا میتواند هر ثانیه ۲۰۰۰ تراکنش را پردازش کند، بیتکوین فقط قادر به پردازش ۷ تراکنش در ثانیه است. شبکه لایتنینگ یک پروژه جاهطلبانه برای حل این مشکل است.
با لایتنینگ، بیتکوین نیز به سرعتی مشابه سرعت ویزا و مسترکارت میرسد.
با وجودیکه بیتکوین یک سیستم غیرمتمرکز است، با لایتنینگ نتورک به یک شبکه متمرکز تبدیل میشود و در دستان گردانندگان دره سیلیکون (Silicon Valley) قرار میگیرد.
بنابراین با پیادهسازی لایتنینگ نتورک، شبکه بیتکوین در اختیار استخراجکنندگان (ماینرها) نخواهد بود و به جای آنها، اپراتورهای نود (node operators) وظیفه پردازش تراکنشها را خواهند داشت.
این کار با وجودیکه کارآمدی بیشتری دارد ولی خطر دزدیده شدن بیتکوینها توسط چند نفر را افزایش میدهد.
البته دهها و صدها شرکت میتوانند روی شبکه لایتنینگ کار کنند.
زمانی که طرح اولیه بیت کوین در سال ۲۰۰۸ میلادی توسط ساتوشی ناکاموتو ارائه شد، شخصی به نام جیمز دونالد (James A. Donald) اولین کامنت را در رابطه با این طرح ارسال کرد که عنوان مینمود ” برداشت من از طرح پیشنهادی شما این است که به اندازه کافی مقیاسپذیر نیست ! ” یازده سال از آن زمان میگذرد و همچنان مقیاسپذیری بزرگترین مشکل شبکه بیتکوین و سایر ارزهای دیجیتال است. شبکه لایتنینگ (Lightning Network) یا صاعقه راهکاری برای حل این مشکل است. با وب سایت سیگنال همراه باشید تا بیشتر با شبکه لایتنینگ و نحوه عملکرد آن آشنا شوید.
مقیاسپذیری بیتکوین چیست؟
به بیان ساده مقیاسپذیری به معنی حفظ عملکرد طبیعی شبکه با افزایش تعداد کاربران و میزان تراکنشها است. بیتکوین (BTC) از زمان به وجود آمدن توانایی پردازش تنها ۷ تراکنش در ثانیه را داشت. اگرچه این مقدار در سالهای اولیه با توجه به کم بودن تراکنشها کافی بود، اما با افزایش تعداد کاربران عدم مقیاسپذیری بیتکوین به یکی از مشکلات اساسی تبدیل شد که افزایش زمان لازم برای تایید تراکنشها و افزایش کارمزدها را در پی داشت.
اگر بیتکوین قصد تبدیل شدن به سیستم پرداختی اول دنیا را دارد باید توانایی رقابت با سایر رقبا را داشته باشد، اما در حال حاضر حتی به آنها نزدیک هم نشده است. برای درک بهتر این موضوع کافی است تعداد ۷ تراکنش بیتکوین در هر ثانیه را با میانگین تعداد تراکنشهای شبکه پرداخت ویزا (Visa) که ۲۴,۰۰۰ تراکنش در هر ثانیه است، مقایسه کنید.
در سالیان گذشته علاقهمندان و توسعهدهندگان بیتکوین به دنبالی راهکارهای متفاوتی مانند افزایش سایز بلاک، کوچکتر کردن تراکنش ها و … برای بهبود مقیاسپذیری بیتکوین بودهاند، اما هنوز به اجماع و نتیجه نهایی نرسیدهاند. به همین دلیل در حال حاضر چندین هارد فورک (Hard Fork) و سافت فورک (Soft Fork) از شبکه اصلی بیتکوین ایجاد شدهاست. با این حال یکی از راهکارهایی که هنوز در مرحله آزمایش است و ممکن است کارساز باشد، ایده شبکه لایتنینگ است.
شبکه لایتنینگ به زبان ساده
در گذشته ارسال تلگراف سریعترین و بصرفهترین راهکار برای برقراری ارتباط از راه دور بود. برای انجام این کار باید به نزدیکترین اداره پست محلی خود میرفتید، فرمی را پر میکردید و هزینه تلگراف را بر مبنای تعداد کلماتی که در آن استفاده شده بود پرداخت میکردید. سپس پیام شما به نزدیکترین اداره تلگراف و پس از آن اداره تلگراف بعدی و … تا رسیدن به مقصد ارسال میشد. بعد از آن یک پستچی تلگراف را به گیرنده میرساند.
در این حالت افراد زیادی برای ارسال یک پیام ساده درگیر میشدند و شما برای ارسال پیام خود نیاز به پرداخت مقداری کارمزد داشتید. این ساختار بسیار شبیه به ساختار فعلی شبکه بیتکوین است. در چنین ساختاری شبکه لایتنینگ مانند استفاده از speed-dial در تلفن همراه است که در این حالت کافی است تا برای تماس با دوستتان فقط عدد ۱ را شمارهگیری نمایید تا تلفن او زنگ بخورد.
شبکه لایتنینگ راهکاری لایه دوم (Second Layer) برای حل مشکل مقیاسپذیری است که با استفاده از مکانیسم قراردادهای هوشمند (Smart Contracts) به کاربران امکان ساخت کانالهای پرداختی شخصی و برون زنجیرهای (Off-Chain) را روی شبکه بیتکوین میدهد. این شبکه امکان انجام تراکنشها با سرعت بیشتر و هزینه کمتر را نسبت به حالت عادی فراهم میکند.
یکی از مشکلات اصلی بلاکچین این است که تمامی تراکنشها و اطلاعات مرتبط با آن در بلاک ها ثبت میشود؛ در نتیجه در هنگام شلوغی شبکه زمان تایید تراکنشها و کارمزدها افزایش مییابد. اما در شبکه لایتنینگ به این دلیل که انجام تراکنشها به خارج از زنجیره اصلی انتقال مییابد، هنگام انجام تراکنشها توسط دو فرد نیازی به ثبت تمامی تراکنشها در بلاکچین نیست.
در عوض شبکه لایتنینگ لایهای دیگر روی بلاکچین بیتکوین اضافه میکند که به کاربران امکان ایجاد کانالهای پرداختی دو نفره (P2P) را میدهد. این کانالها تا زمانی که به آنها نیاز باشد میتوانند وجود داشته باشند و به این دلیل که بین دو فرد ایجاد شدهاند تا زمانی که این دو فرد کانال پرداختی را نبندند تراکنشها بصورت عمومی در بلاکچین منتشر نمیشود. بنابراین انجام تراکنشها توسط شبکه لایتنینگ تقریبا آنی و با کمترین هزینه ممکن اتفاق میافتد. در این روش دو کاربر برای انجام تراکنشهای خود نیازی صرف وقت برای تایید بلاک توسط استخراجگران و کارمزد آنها ندارند و در نتیجه هزینه انتقال پول آنها نیز تا حد زیادی کاهش مییابد.
کاربران در شبکه لایتنینگ با استفاده از سیاهه یا اینویس (Invoice) فعالیت میکنند. سیاهه لایتنینگ شامل تمامی اطلاعات لازم به منظور انجام یک تراکنش توسط کاربر است.
شبکه لایتنینگ اولین بار به عنوان راهکاری برای حل مشکل مقیاسپذیری بیتکوین ارائه شد، اما با گذشت زمان ارزهای دیجیتال دیگری همچون استلار (XLM) و لایت کوین (LTC) و ریپل (XRP) نیز کار بر روی توسعه و استفاده از این شبکه را آغاز نمودند.
تاریخچه شبکه لایتنینگ
مفهوم لایتنینگ از زمان ظهور بیتکوین وجود داشته است. در آن زمان از ایجاد کانالهایی برای مبادله بیتکوین میان دو فرد صحبت میشد، بصورتی که نیازی به اطلاع دیگران از این تراکنش و تایید آن توسط سایر افراد نبود.
کانال پرداختی چیست؟
کانال های پرداختی ابزاری برونزنجیرهای هستند که موازی با بلاکچین اصلی کار میکنند. در این کانالها با استفاده از قراردادهای هوشمند دو نفر میتوانند تعدادی نامحدود تراکنش را داخل کانال پرداختی بدون نیاز به ثبت تراکنشهای جزئی روی بلاکچین اصلی انجام دهند.
منظور از برون زنجیرهای این نیست که تراکنشهای شما از ساختار بلاکچین خارج میشود؛ بلکه بیت کوینهای شما تا زمانی که کانال پرداختی باز باقی میماند در یک آدرس چند امضایی ثبت شده در بلاکچین قرار دارند.
زمانی که دو کاربر بخواهند به مبادلات بین خود خاتمه دهند، با بستن کانال تراکنشی را به بلاکچین ارسال میکنند و آخرین وضعیت موجودی هر یک از حساب ها در بلاکچین ثبت میشود. البته تراکنش دیگری نیز زمان ایجاد کانال بین دو کاربر بر روی بلاکچین ثبت میشود که در آن مقدار قرار گرفته شده از سوی هر نفر مشخص میشود.
در حالت کلی شبکه لایتنینگ طی سه مرحله به ترتیب زیر عمل میکند:
۱) ایجاد کانال پرداختی
برای باز کردن یک کانال ارتباطی در شبکه لایتنینگ، ابتدا دو کاربری که میخواهند با هم در ارتباط باشند باید مقداری وجه در یک کیف پول چند امضایی (Multi-sig Wallet) به عنوان ودیعه بگذارند. این تراکنش مانند یک تراکنش معمولی در لایه اول (بلاکچین اصلی) عمل میکند و پس از اینکه آدرس کیف پول چند امضایی در بلاکچین اصلی منتشر شد و تراکنش توسط ماینرها تایید شد، کانال پرداختی بصورت رسمی ایجاد میشود.
در طول زمانی که کانال پرداختی باز است وجوه ودیعه گذاشته شده در کیف پول چند امضایی قفل میشوند و امکان برداشت آنها وجود ندارد. در تصویر بالا مثالی را میبینید که در آن فرودو قصد ایجاد کانال پرداختی با کافی شاپ مورد علاقه خود را دارد:
در شبکه لایتنینگ از کیف پول و آدرسهای چند امضایی استفاده میشود. آدرس چند امضایی این قابلیت را میدهد که برای انجام تراکنش به کلید خصوصی هر دو نفر نیاز باشد.
بنابراین هرکدام از طرفین کلید خصوصی جداگانهای برای کیف پول چند امضایی دارد که به منظور تایید و امضای کلیه تراکنشها از آن استفاده میشود. بنابراین وجوه زمانی به گردش در میآیند که دو کاربر با استفاده از کلیدهای خصوصی خود تراکنشها را آغاز کنند.
۲) آغاز تراکنشها
حال هرکدام از طرفین میتوانند بصورت نامحدود با یکدیگر معامله کنند. تمامی تراکنشهایی که در کانال پرداختی اتفاق میافتد نیاز به امضای دیجیتال طرفین توسط کلیدهای خصوصیشان در کیفپول چند امضایی دارد.
بعد از هر تراکنش هرکدام از طرفین ترازنامه بروزرسانی شدهای را امضا میکند تا مانده حساب هریک در کیف پول چند امضایی نمایش داده شود سپس یک کپی از این ترازنامه در اختیار هرکدام از طرفین قرار میگیرد. این کانال پرداختی تا زمانی که طرفین مایل باشند باز میماند.
به بیان سادهتر ساز و کار شبکه لایتنینگ مانند این است که شما و دوستتان حساب و کتاب خود را روی یک کاغذ مینویسید و پس از انجام جمع و تفریق و محاسبه مانده حساب هر طرف یا شما مبلغی به دوستتان پرداخت میکنید یا او به شما پرداخت میکند.
۳) بستن کانال پرداختی
لایتنینگ در حقیقت مجموعهای از کانالهای پرداختی است که از قراردادهای هوشمند برای اطمینان از اینکه شبکه به صورت غیرمتمرکز اداره میشود، استفاده میکند.
زمانی که معاملات دو طرف تمام شد میتوانند کانال پرداختی را ببندند؛ به این صورت که تراکنش نهایی توسط این دو شخص با استفاده از کلیدهای خصوصی تایید شده و موجودی نهایی هرکدام در بلاکچین اصلی ثبت میگردد. بنابراین اگر اختلاف نظری وجود داشته باشد هر یک از طرفین با استفاده از آخرین ترازنامه میتوانند موجودی نهایی را مشاهده کنند و در نتیجه اگر اشتباهی رخ داده باشد حسابها بصورت درست بروزرسانی شوند.
چگونگی دسترسی به شبکه لایتنینگ و استفاده از آن
برای اینکه شخصی بتواند از شبکه لایتنینگ استفاده کند، باید یک node لایتنینگ راهاندازی کرده باشد. راهاندازی نود لایتنینگ نیاز به مقدار زیادی فضای حافظه خالی (بیش از ۱۲۵ گیگابایت) برای دانلود تاریخچه تمامی تراکنشهای بیتکوین دارد.
کسی که قصد راهاندازی نود لایتنینگ را دارد باید به منابع محاسباتی و الکترونیکی زیادی دسترسی داشته باشد. در واقع راهاندازی نود لایتنینگ برای افراد فنی هم میتواند سخت باشد و به همین دلیل است که اکثر مردم از شبکه لایتنینگ استفاده نمیکنند.
راه حل سادهتر برای استفاده از شبکه لایتنینگ استفاده از کیف پولهای لایتنینگ بیتکوین است. این کیف پولها به دلیل اینکه تازه کار خود را آغاز کرده اند اکثرا در مراحل اولیه توسعه هستند، اما به دلیل کارمزدهای پایین شبکه لایتنینگ و سرعت بالای آن میتوانند مورد توجه قرار گیرند. از بهترین کیفپول های لایتنینگ بیتکوین میتوان به اسپارک (Spark)، اکلیر (Eclair) و زپ (Zap) اشاره نمود.
آیا کاربران برای ارتباط با سایر افراد باید کانال جدید ایجاد کنند؟
یکی از مزایای شبکه لایتنینگ این است که کاربران میتوانند بدون نیاز به ایجاد کانال پرداختی جدید با هرکسی که به شبکه کانالهای پرداختی آنها متصل است ارتباط برقرار کنند. به عنوان مثال اگر فرودو قصد معامله با باب را داشته باشد اما کانال پرداختی با او ایجاد نکرده باشد میتواند با استفاده از یکی از کانالهای پرداختی شبکه خود یعنی سم که قبلا با باب کانال پرداختی ایجاد کرده بصورت غیرمستقیم در ارتباط باشد.
این بدین معنی است که فرودو میتواند توسط یک واسط (سم) با باب به معامله بپردازد و از آنجایی که از لحاظ تئوری تمامی افراد در شبکه بیتکوین به یکدیگر متصل هستند، پس این مورد یکی از مزایای اصلی شبکه لایتنینگ است.
اما در مثال قبلی سم node واسطه شبکه است و باید همیشه آنلاین باشد تا بتوان از آن به عنوان واسط استفاده کرد. اما اگر او آفلاین باشد چه میشود؟
لایتنینگ یک سازوکار درونی مبتنی بر قراردادهای هوشمند به نام HTLC یا «قراردادهای زماندار هششده» دارد که به کاربران اجازه میدهد در صورتی که یکی از نودهای واسط به مشکل خورد یا آفلاین شد بتوانند به صورت یکطرفه کانال پرداختی را ببندند. همچنین قراردادها دارای ارزش زمانی هستند و به همین دلیل اگر نود سم آفلاین باشد، فرودو همیشه میتواند بیتکوین هایش را پس از گذشت یک بازه زمانی پس بگیرد.
مزایا و معایب شبکه لایتنینگ
مزایا
افزایش سرعت انجام تراکنشها بصورت تقریبا آنی به واسطه کانالهای پرداختی دو طرفه
کاهش کارمزدها
افزایش مقیاس پذیری؛ زیرا از ساختار برون زنجیرهای استفاده میکند که در نتیجه از ترافیک تراکنش های شبکه بیت کوین کاسته میشود
مناسب برای انجام معاملات خرد
معایب
برای انتقال مبالغ بالا مناسب نیست؛ چون انتقالات از طریق واسطهها انجام میشود و در مبالغ بالا در صورتی که واسطه ها پول کافی نداشته باشند انتقال انجام نمیشود.
در صورتی که فرد دریافتکننده آفلاین باشد نمیتواند مبلغ ارسالی را دریافت کند.
افراد باید بطور مستمر بلاکچین بیتکوین را رصد کنند تا از عدم سرقت بیتکوین ها در کانالهای پرداختی اطمینان حاصل کنند.
شفافیت اطلاعاتی کمتری نسبت به بلاکچین اصلی دارد. به علت ساختار برون زنجیره ای شبکه لایتنینگ فقط تراکنش و موجودی نهایی در بلاکچین اصلی ثبت میشود و باقی تراکنشهایی که در کانالهای پرداختی انجام میشود بصورت برون زنجیرهای ذخیره میشوند و در نتیجه شفافیت اطلاعاتی کمتری نسبت به حالت عادی دارد.
نتیجهگیری
از اولین روزهای ظهور بیتکوین و سایر ارزهای دیجیتال عدم مقیاسپذیری مناسب همواره یکی از مشکلات اساسی بوده است. شبکه لایتنینگ با فراهم آوردن بستری در لایه دوم و بصورت برونزنجیرهای تا حد زیادی این مشکل را برطرف نموده و باعث افزایش سرعت تراکنشها و کاهش کارمزدها شده است.