شبکه ی لایتینگ چیست؟ | در زمان های دور استفاده از تلگراف به عنوان موثر ترین و بهترین راه برقرای ارتباط از راه دور بود. برای انجام این کار کاربر باید به اداره پست محلی خود میرفت فرمی را پر می کرد و برای پیام خود با توجه به تعداد حروف هزینه ای پرداخت می کرد. سپس به نزدیک ترین دفتر تلگراف ارسال می شد و از آنجا هم پستچی آن را به آدرس مورد نظر می رساند.
فرستادن پیام های کوتاه به افراد مختلف، توجه عده ی زیادی را به خود جلب کرد و آن ها بابت ارسال این پیام ها باید مبالغی را نیز پرداخت می کردند. این در واقع شبیه وضعیت کنونی بیت کوین است. در این قیاس شبکه ی لایتنینگ شبیه فردی است که می خواهد با شماره گیری سریع و با زدن یک دکمه مثلا ۱ با دوست خود صحبت کند و با فشار دادن آن تلفن در حال زنگ زدن باشد.
به بیان ساده تر می توان گفت ایده ی پشت شبکه های لایتنینگ بیت کوین بر این اساس است که ما واقعا نیازی به ثبت تمامی تک تک تراکنش ها در بلاکچین نداریم.
در عوض، شبکه لایتنینگ یک لایه دیگر را به بلاکچین اضافه میکند و کاربران را قادر میسازد تا کانالهای پرداخت بین هر دو طرف را در آن لایه اضافی ایجاد کنند. این کانال ها تازمانی که استفاده می شوند، وجود دارند. از آنجایی که این کانال ها بین دو نفر ایجاد شده شده است، ترکنش ها سریع تر انجام می شوند و هزینه ی کارمزد کمتری دارند یا حتی رایگان انجام می شوند.
تاریخچه لایتنینگ
ایده لایتنینگ توسط جوزف پون و تادئوس دریجا از سال ۲۰۱۵ مطرح شد. شرکت بلاکاستریم نیز در ژانویه ۲۰۱۸ از ایده لایتنینگ استفاده کرد و شبکه آزمایشی آن را برای بیت کوین راه انداخت.
اما مفهوم لایتنینگ در حالت کلیتر قدمتی به اندازه خود بیت کوین دارد. این ایده به زمانی برمیگردد که از «کانالهای پرداختی» برای مبادله بیت کوین بین ۲ فرد صحبت میشد، به طوریکه دیگر نیاز نبود هیچکس از این مبادله اطلاع پیدا کند یا تراکنش توسط دیگران تایید شود.
راهحلهای دیگری مانند افزایش سایز بلاک نیز از گذشته مورد بحث بوده که در نهایت مشهورترین فورک حاصل از این بحثها، بیت کوین کش بود.
شبکه لایتنینگ چیست؟
از شبکه لایتنینگ یا صاعقه به عنوان راهکار لایه دوم (Second Layer) یا برونزنجیرهای (Off-Chain) یاد میشود. شبکه لایتنینگ بیت کوین امکان انجام تراکنشهای بسیار بیشتری را نسبت به حالت عادی میدهد. این شبکه به صورت برونزنجیرهای عمل میکند و نیازی به ثبت تمامی تراکنشها در بلاک چین نیست.
شبکه لایتنینگ یا هاردفورک یا سافتفورک نیست و از طرفی نیازی به اجماع بر روی بلاک چین بیت کوین، برای تایید تراکنشهای آن وجود ندارد. علاوه بر این لایتنینگ منحصر به بیت کوین نیست و برای سایر ارزهای دیجیتال مانند لایت کوین هم پیادهسازی شده است.
شبکه لایتنینگ چگونه کار میکند؟
اساس کار شبکه لایتنینگ، استفاده از «کانالهای پرداختی دوطرفه» است. کانالهای پرداختی همان «کیف پولهای چندامضایی» با قابلیتهای بهبود یافته هستند.
به همین خاطر زمان لازم برای انجام مبادله در شبکه لایتنینگ به اندازه ارتباط دو کیف پول با یکدیگر طول میکشد، نه بیشتر!
شاید عبارت «برونزنجیرهای» در ابتدا گیجکننده به نظر برسد و فکر کنید که بیت کوینهای شما از شبکه بلاک چین خارج میشوند و به فضای دیگری منتقل میگردند؛ اما در واقع اینگونه نیست و بیت کوینهای شما تا زمانی که کانال به صورت باز باقی بماند، در یک آدرس چندامضایی که در بلاک چین ثبت شده قرار خواهند داشت.
زمانی که دو کاربر بخواهند به مبادلات بین خود خاتمه دهند با بستن کانال، تراکنشی را به بلاک چین ارسال میکنند و آخرین وضعیت موجودی هر یک در بلاک چین ثبت میشود. البته تراکنش دیگری نیز زمان ایجاد کانال بین دو کاربر، بر روی بلاک چین ثبت میشود که در آن مقدار قرار گرفته از سوی هر نفر در کانال مشخص میشود.
به عبارت سادهتر لایتنینگ مانند این است که شما و دوستتان حساب و کتاب بین خودتان را روی کاغدی مینویسید و در زمان حلوفصل حساب، با جمع و تفریق هزینههای صرف شده توسط هر طرف، مبلغ مشخصی را یا شما به دوستتان پرداخت میکنید یا او به شما پرداخت میکند.
اما این مبادلات همواره بین شما و دوستتان که به او اعتماد دارید، نیست. احتمالا در بسیاری از موارد قصد مبادله با یک فرد غریبه را داشته باشید؛ اما در این مورد چگونه باید به او اعتماد کرد؟
پاسخ این است که زمان ایجاد کانال، هر یک از شما سپرده مشخصی که تقریبا مانند یک وثیقه عمل میکند را در کانال قرار میدهید. این سپرده باید مساوی یا بیشتر از مقداری که انتقال مییابد باشد.
لایتنینگ به زبان فنی
در توضیح فنی نحوه انجام تراکنشها در لایتنینگ، مجموعه سه بخشی اینفوگرافیک «شبکه لایتنینگ (Lightning Network) چگونه کار میکند؟» تهیه شده است. اما در ادامه نیز به اختصار به جزئیات فنی این شبکه میپردازیم.
برای توضیح بهتر از مثال سینا و شبنم که میخواهند تراکنشی در لایتنینگ انجام دهند، استفاده میکنیم.
سینا و شبنم به همدیگر اعتماد ندارند و قرار است که شبنم ۰.۲ بیت کوین به سینا بفرستد. این دو نفر در آینده قرار است تراکنشهای زیادی با یکدیگر داشته باشند و به همین خاطر کانال پرداختی ایجاد میکنند که هر کدام از آنها ۱ بیت کوین در این کانال به عنوان سپرده قرار میدهد.
هر کدام از آنها ۱ بیت کوین به آدرس چندامضایی (multisig) در بلاک چین اصلی میفرستد. به این ترتیب با تایید اولین تراکنش توسط ماینرها در لایه اول (بلاک چین بیت کوین)، کانال پرداختی ساخته میشود.
آدرس چند امضایی این قابلیت را میدهد که برای انجام تراکنش به کلید خصوصی هر دونفر نیاز باشد.
همین اتفاق در زمان بستن کانال و اعلام موجودی نهایی توسط سینا و شبنم هم انجام میشود.
لایتنینگ مجموعهای از کانالهای پرداختی است که از قراردادهای هوشمند برای اطمینان از اینکه شبکه به صورت غیرمتمرکز اداره میشود، استفاده میکند.
برای مثال اگر شبنم بخواهد به فاطمه بیت کوین بفرستد، این کار را به واسطه کانالهایی که از قبل وجود دارد میتواند انجام دهد. کانال پرداختی شبنم با سینا، سینا با سارا و سارا با فاطمه اجازه این کار را خواهد داد. اما به دلیل اینکه ماهیت روابط در شبکه بر پایه قراردادهای هوشمند است، شبنم نیاز ندارد که به سینا و سارا (به عنوان واسطهها) اطمینان کند.
سارا و سینا «نودهای لایتنینگ» هستند. این نودها باید همیشه آنلاین باشند تا بتوان از آنها به عنوان واسط در شبکه لایتنینگ استفاده کرد.
در مثال قبلی، سینا نمیتواند بیت کوینهای شبنم را بدزدد؛ چرا که طبق عملکرد قراردادهای هوشمند باید ابتدا مبلغ را به سارا بفرستد تا بتواند از شبنم بیت کوین بگیرد.
اما با مشکل نودهای نامطمئن چه میتوان کرد؟ در صورتی که یکی از نودها وسط کار آفلاین شوند چه اتفاقی میافتد؟
لایتنینگ یک سازوکار درونی مبتنی بر قراردادهای هوشمند به نام HTLC یا «قراردادهای زماندار هششده» دارد که به کاربران اجازه میدهد به صورت یکطرفه بتوانند کانال پرداختی را ببندند.
قراردادها دارای ارزش زمانی هستند و به همین دلیل اگر نود سینا یا سارا آفلاین شود، شبنم همیشه میتواند بیت کوینهایش را پس از گذشت یک بازه زمانی پس بگیرد.
تاریخچه تراکنشهای انجام شده بین شبنم و فاطمه که با نام «وضعیتهای تراکنشها» از آنها یاد میشود، به صورت خودکار توسط نرمافزار لایتنینگ حذف میشوند. اگر شبنم با دستکاری نرمافزار جلوی این کار را بگیرد و قصد ارسال یک «وضعیت قدیمی» به بلاک چین را داشته باشد که در آن حالت بیت کوینهایی که ارسال کرده را هنوز در اختیار دارد، نرمافزار فاطمه یا سرورهای طراحی شده دیگر جلوی این کار را میگیرند. آنها با رصد همیشگی تراکنشهای ارسالی به بلاک چین، اگر تراکنش شبنم را پیدا کنند در این صورت تمامی بیت کوینهای شبنم را در کانال گرفته و به فاطمه میدهند. این مجازات، انگیزه تقلب کردن را از شبنم میگیرد.
برخی از مزایای شبکه لایتنینگ
- لایتنینگ از راه کار برون زنجیره ای برای حل مشکل مقیاس پذیری استفاده می کند. در صورت موفقیت این شبکه، احتمالا از ترافیک تراکنش های شبکه بیت کوین کاسته می شود.
- یکی دیگر از مزایای لایتنینگ این است که سطح ناشناس ماندن کاربران را به مراتب بالاتر می برد و نیازی نیست که دو نفر کانال خود را در معرض دید افراد متعدد دیگر داخل شبکه قرار دهند. با آن که ممکن است بتوانید به بلاک چین نگاه کنید و متوجه شوید که تراکنشی یک کانال باز کرده است، ولی الزاما نمی توانید بفهمید داخل آن چه خبر است.
- لایتنینگ به وسیله کانال های پرداختی دوطرفه، امکان ارسال و دریافت آنی را فراهم می کند.
- یکی دیگر از مزایای شبکه لایتنینگ بیت کوین ، مقیاس پذیری آن است. بلاک های بیت کوین تقریبا هر ۱۰ دقیقه یک مرتبه ایجاد می شوند و تعداد تراکنش ها در هر ثانیه محدود است. بنابراین، برای این که تراکنش شما به موقع انجام شود باید با پرداختن کامزد بیشتر باید با سایر کاربران رقابت کنید.
- برای ماینرها اولین و مهم ترین چیز دستمزدشان است، بنابراین تراکنش های با کارمزد بالا را ابتدا در بلاک لحاظ می کنند. زمانی که هم زمان تعداد کاربر زیادی بیت کوین انتقال ندهند، واقعا مشکلی پیش نمی آید و شما می توانید کارمزد را پایین انتخاب کنید و تراکنش شما احتمالا در بلاک بعدی انجام خواهد شد.
- این شبکه برای پرداخت های خرد مناسب است.
- شبکه لایتنینگ برای ریز پرداخت ها بسیار جذاب تر است. کارمزد تراکنش های معمول، عملا فرستادن مقادیر اندک بیت کوین را در زنجیره اصلی غیر کاربردی می کند. اما در یک کانال، شما آزاد هستید به رایگان کمترین مقدار بیت کوین را انتقال دهید.
معایب و محدودیت های شبکه لایتنینگ
- برخلاف تراکنش های درون زنجیرهای، در صورتی که دریافت کننده آفلاین باشد نمی تواند مبلغ را دریافت کند.
- اعضای شبکه باید به طور مداوم بلاک چین بیت کوین را رصد کنند تا از خطر به سرقت رفتن بیت کوین های کانال های پرداختی در امان بمانند. البته این کار را برخی سرورها هم میتوانند انجام دهند.
- شبکه لایتنینگ بیت کوین برای مبالغ بالا مناسب نیست. از آن جا که این شبکه از کانال های پرداختی بین افراد ساخته شده است، امکان انتقال از طریق واسطه ها در صورتی که پول کافی در کانال شان نداشته باشند، وجود ندارد.
- باز کردن و بستن کانال های پرداختی نیازمند تراکنش های درونزنجیره ای است که نیازمند کارمزد و زمان نسبتا بیشتری است.
در نظر داشته باشید که تراکنش های بیت کوین در شبکه اصلی دو مشکل بزرگ دارند. یک این که کارمزد آن ها معمولا برای انتقال مبالغ خرد زیاد است و دوم این که زمان زیادی برای تایید شدن نیاز دارند. اما شبکه لایتنینگ با تمرکز بر روی این دو مشکل، امکان انجام تراکنش های سریع و کم هزینه را با بیت کوین فراهم می کند و افراد می توانند به راحتی از آن استفاده کنند.