شبکه لایتنینگ چیست؟

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

با استفاده از شبکه لایتنینگ ، می‌توانید با سرعت نور و در یک محیط بسیار امن تراکنش انجام دهید و در عین حال بلوک‌های زیادی را اشغال نکنید تا جا برای همه باشد.

اما واقعا شبکه لایتنینگ چیست ؟ و چگونه کار می‌کند؟

در ادامه با یوزبیت همراه باشید.

شبکه لایتنینگ

شبکه لایتنینگ چیست؟

روند انتقال دارایی و انجام تراکنش در بلاک‌چین سرعت کمی دارد و کند است; همچنین با افزایش تعداد افرادی که در بلاک‌چین تراکنش انجام می‌دهند، این شبکه، بلوک‌ها را برای پردازش در یک صف قرار داده تا ماینرها بر اساس مبلغ کارمزد تعیین شده، آنها را پردازش کنند. همین باعث می‌شود انجام تراکنش‌ها مقداری طول بکشد.

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

ایده لایتنینگ در واقع مشکلات کندی و مقیاس‎پذیری بلاک چین را حل کرده است.

شبکه لایتنینگ (Lightning Network) یا اصطلاحا “صاعقه”، با استفاده از راهکارهایی مشخص، به تراکنش ها سرعت بخشیده و مقیاس پذیری بلاک چین را افزایش می‌دهد.

شبکه لایتنینگ چگونه کار میکند؟

شبکه لایتنینگ را می‌توان معجزه‎ای برای بیت کوین نامید. زیرا با استفاده از شبکه لایتنینگ انتقال بیت کوین با سرعت بالایی انجام می‌شود. این یعنی دیگر نیاز نیست مبالغ خرد که نمی‌توانند کارمزد بالایی داشته باشند، برای تایید تراکنش زمان طولانی را به انتظار بنشینند. اگر بخواهید با پرداخت بیت کوین یک قهوه بخرید، نیازی نیست زمان زیادی را برای تایید تراکنش خود منتظر بمانید.

شبکه لایتنینگ

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

حال شبکه لایتنینگ بیت کوین تراکنش‌ها را خارج از این زنجیره انجام می‌دهد که اصطلاحا به آن آف‌چین (Off-Chain) می‌گویند. اما چطور این امر ممکن است؟

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

اما این کانال پرداختی چگونه و با چه شرایطی ایجاد می‌شود؟

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

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

یک صندوق را در نظر بگیرید که دو طرف معامله هر کدام مقدار مشخصی بیت کوین مثلا ۱ بیت کوین را درون آن قرار داده و هر کدام یک قفل به صندوق مذکور زده‎اند.

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

بسیار خب! فرستنده و گیرنده هر کدام ۱ بیت کوین در کانال قرار دادند و کانال پرداختی باز شد. فرستنده قصد دارد مقدار ۰٫۲ بیت کوین را برای گیرنده ارسال نماید. درخواست این تراکنش ایجاد می‌شود و مقدار ۰٫۲ بیت کوین از ۱ بیت‌کوینی که فرستنده در کانال قرار داده بود کسر شده و به مقدار ۱ بیت‌کوینی که گیرنده در کانال قرار داده بود اضافه می‌شود. یعنی پس از انجام تراکنش، فرستنده ۰٫۸ بیت کوین در کانال دارد و گیرنده ۱٫۲ بیت کوین!! حالا دو طرف میتوانند کانال ایجاد شده را ببندند و یا اگر معاملات دیگری دارند، کانال را باز گذاشته و هر زمان که خواستند دوباره معامله‎ای انجام دهند از آن استفاده کنند.

خب!! اینگونه مشکل سرعت با استفاده از لایتنینگ بیت کوین حل شد.

مشکل مقیاس پذیری چگونه حل میشود؟

شبکه لایتنینگ

فرض می‌کنیم دو فرد، به نام‎های ارسلان و مینا قصد دارند با هم مبادله کنند. ارسلان می‌خواهد مقدار ۱ بیت کوین برای مینا از طریق شبکه لایتنینگ بیت کوین انتقال دهد. هر دو نفر با قرار دادن ۲ بیت کوین بعنوان وثیقه، کانال پرداختی را باز می‌کنند. درخواست انتقال ۱ بیت کوین از کیف پول ارسلان به کیف پول مینا ایجاد شده و با سرعت بالا انجام می‌گیرد و کانال پرداختی نیز برای انجام معاملات بعدی باز می‌ماند.

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

برای انجام تراکنش با استفاده از شبکه لایتنینگ ، می‌توان به جای ایجاد کانال جدید، از کانال‌های موجود استفاده نمود.

نکته‌ای که در شبکه لایتنینگ حائز اهمیت است این است که چیزی بنام کیف پول لایتنینگ وجود ندارد. در این شبکه کاربران از فاکتور یا Invoice استفاده می‌کنند.

در فاکتور لایتنینگ اطلاعاتی نظیر مقدار انتقالی به ساتوشی، زمان ایجاد فاکتور، زمان انقضای فاکتور، کلید عمومی دریافت‌کننده و … وجود دارد.

شبکه لایتنینگ از دیدگاه فنی

اگر بخواهیم شبکه لایتنینگ بیت کوین را از نگاه فنی بررسی کنیم بهتر است که از مثال ارسلان و مینا استفاده کنیم.

ارسلان و مینا می‌خواهند برای اولین بار، با هم مبادله بیت‌کوین داشته باشند و به یکدیگر اعتماد ندارند. ارسلان قصد دارد مقدار ۰٫۲ بیت کوین برای میبنا ارسال کند و از آنجایی که در عین بی‎اعتمادی در معامله اول، قصد دارند در آینده نیز با هم معاملاتی را انجام دهند، پس یک کانال پرداختی ایجاد می‌کنند. هر کدام از آنها مقدار ۱ بیت کوین را به آدرس چند امضایی در بلاک چین اصلی می‌فرستند و با تایید این تراکنش توسط ماینرها و ثبت یک تراکنش روی بلاک چین اصلی کانال پرداختی ایجاد می‎شود.

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

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

نودهای لایتنینگ باید همیشه آنلاین باشند، در غیر اینصورت نمی‌توان از آنها بعنوان واسطه در شبکه لایتنینگ استفاده نمود.

نودهای نامطمئنی که ممکن است در حین انجام کار آفلاین شوند چطور؟

شبکه لایتنینگ دارای یک سیستم درونی مبتنی بر قراردادهای هوشمند است که با نام Hash Time Locked Contracts، یا باختصار HTLC که به معنی قراردادهای زمان‎دار هش شده است، می‌باشد.

این سیستم، به قراردادها یک ارزش زمانی اختصاص می‌دهد و اگر تراکنش موردنظر در زمان مشخص شده تایید نشد، کاربر می‌تواند کانال را بصورت یکطرفه بسته و بیت‌کوین‌های خود را پس بگیرد. یعنی اگر نودها آفلاین باشند و نتوانند تراکنش را در یک بازه زمانی مشخص تایید کنند، بیت‌کوین‌های انتقالی به فرستنده پس داده می‌شوند.

امنیت شبکه لایتنینگ

شبکه لایتنینگ به خودی خود و با ساز و کاری که دارد از بروز تقلب و کلاه‌برداری جلوگیری می‌کند.

این ساز و کار چگونه است ؟ 

شبکه لایتنینگ

ارسلان قصد دارد ۰٫۵ بیت کوین برای مینا ارسال کند. هر کدام از آنها با قرار دادن ۱ بیت‌کوین، کانال پرداختی را ایجاد کرده و انتقال را انجام می‌دهند. حال موجودی ارسلان ۰٫۵ بیت‌کوین، و موجودی مینا ۱٫۵ بیت کوین است. در اینجا اگر ارسلان قصد داشته باشد با تقلب ۱ بیت کوین اولیه خود را از مینا بگیرد، شبکه لایتنینگ تمام موجودی کانال، یعنی ۲ بیت کوین را به کیف‌پول شخصی مینا انتقال می‌دهد. شبکه لایتنینگ با این کار فرد متقلب را جریمه می‌کند.

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

وجود چنین جریمه‌هایی باعث شده تا افرادی که از شبکه لایتنینگ استفاده می‌کنند انگیزه‌ای برای تقلب و کلاه‌برداری نداشته باشند.

چگونه از شبکه لایتنینگ استفاده کنیم؟

به دو روش می‌توان به شبکه لایتنینگ متصل شد

 

راه‎اندازی نود لایتنینگ و نصب کیف پول لایتنینگ

راه اندازی نود لایتنینگ

راه‌اندازی نود لایتنینگ بیت کوین حتی برای افراد فنی نیز کاری پیچیده است زیرا قبل از اینکه بتوانید نود لایتنینگ راه‌اندازی کنید، باید فول نود بیت کوین باشید.

فعلا سه راه مختلف پیاده‌سازی برای راه‌اندازی نود لایتنینگ بیت کوین وجود دارد:

LND محصول Lightning Lab

C-Lightning  از Elements Project

eclair از ACINQ

کیف پول لایتنینگ بیت کوین

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

کیف پول Blue Wallet

این کیف‌پول، اولین کیف پول لایتنینگ برای IOS است و رابط کاربری جذابی دارد. نحوه عملکرد کیف پول Blue Wallet بصورت حضانتی یا امانی است. یعنی کاربر نمی‌تواند کنترل بیت‌کوین‌هایی که به کیف‌پول وارد می‌کند، را داشته باشد. بلکه شرکت بلو والت زحمت این کار را می‌کشد. این کیف‌پول هم اکنون برای اندروید نیز قابل دسترسی است.

کیف پول Eclair

این کیف‌پول که هم یک کیف‌پول عادی بیت کوین و هم یک کیف پول لایتنینگ است، یکی از محبوبترین کیف‌پول‌های لایتنینگ محسوب می‌شود. کیف پول eclair کنترل همه بیت‌کوین‌هایی که کاربر به این کیف‌پول وارد کرده را در اختیار خود کاربر قرار می‌دهد.

کیف پول eclair برای اندروید در دسترس است.

کیف پول lnd

این کیف‌پول که محصولی از شرکت Lightning Labs می‌باشد، در ویندوز، لینوکس و مک قابل استفاده است.

جمع‌بندی

لایتنینگ بیت کوین از روش برون‌زنجیره‌ای یا Off-Chain برای حل مشکل مقیاس پذیری بیت کوین استفاده می‌کند. با موفقیت کامل این پروژه، از ترافیک تراکنش‌های بیت‌کوین، بسیار کاسته خواهد شد.

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

در شبکه لایتنینگ ، برخلاف بلاک‌چین، اگر گیرنده آفلاین باشد، نمی‌تواند مبلغ ارسالی را دریافت نماید. برای انجام تراکنش در شبکه لایتنینگ حتما باید فرستنده، نود و گیرنده آنلاین باشند.

نظر شما در مورد ایده لایتنینگ و آینده این پروژه چیست؟

 

 

موسس یوزبیت | برنامه نویس و توسعه دهنده وب و بلاک چین | مهندس برق

جوابی بنویسید:

آدرس ایمیل شما به صورت عمومی منتشر نخواهد شد.

اسلایدر سایدبار