شبكه لايتنينگ

۱۵ بازديد

فناوري لايتنينگ (Lightning) يكي از موضوعات جذاب در زمينه بهبود عملكرد بلاك چين در شبكه بيت كوين و نيز برخي ديگر از ارزهاي ديجيتال است كه مي‌تواند كاربردهايي فراتر در حوزه‌هاي غير از تراكنش مالي نيز داشته باشد. در اين مقاله مي‌خواهيم به بررسي فناوري لايتنينگ به زبان ساده بپردازيم. اگر با مفهوم بلاك چين آشنايي نداريد، خوب است ابتدا مطلب تحت عنوان «بلاك چين به زبان ساده» را مطالعه بفرماييد.
مقدمه‌اي بر بلاك چينفرض كنيد يك نفر مقداري بيت كوين برايتان مي‌فرستد. شما آن را چند ساعت بعد دريافت خواهيد كرد و همچنين فرستنده بايد كارمزدي بالا را نيز براي اين تراكنش بپردازد. اين مساله يكي از اصلي‌ترين موانع در برابر مقياس‌پذيري (گسترش) بيت كوين و يا برخي ديگر از ارزهاي ديجيتال مبتني بر بلاك چين است.
به همين دليل است كه هر راه‌حلي كه بتواند اين مشكل را حل كند، مي‌تواند بسيار ارزشمند باشد. شبكه لايتنينگ يكي از اين راه‌حل‌ها است. اما پيش از بررسي شبكه لايتنينگ ابتدا بايد درك بهتري از مساله داشته باشيم.
چرا بلاك چين ها كند هستند؟بلاك چين را همانند يك پوشه دربردارنده اطلاعات مربوط به تراكنش‌ها در نظر بگيريد. در اين پوشه، چندين صفحه (بلوك) وجود دارد. هر صفحه (بلوك) داراي فهرستي از تراكنش‌هاي صورت گرفته است. به محض اينكه يك صفحه از تراكنش‌هاي انجام يافته پر شد (بلوك تكميل شد)، بايد به پوشه اضافه شود. سپس تراكنش‌هاي بعدي روي برگه (بلوك) بعدي نوشته مي‌شود.
پيش از اينكه يك صفحه (بلوك) به پوشه (بلاك چين) اضافه شود، يك فرآيند پردازشي صورت مي‌گيرد تا همه اطمينان يابند محتواي موجود در آن معتبر است. اين فرآيند پردازش براي هر بلوك در بلاك چين بيت كوين حدود ۱۰ دقيقه زمان مي‌برد.
فرض كنيد يك بيت كوين براي دوست‌تان به اسم جواد مي‌فرستيد. اين تراكنش تقريبا به شكل زير ثبت مي‌شود.

در واقع، اطلاعات فرستنده، گيرنده، ميزان بيت كوين انتقال يافته و كارمزد و نيز برخي اطلاعات ديگر از تراكنش ثبت مي‌شود.
كارمزد تراكنشدر هنگام انجام تراكنش بايد كارمزدي نيز پرداخت كنيد. هدف از اختصاص اين كارمزد، تشويق استخراج‌كنندگان (ماينرها) به بررسي هر چه سريع‌تر تراكنش شما و قرار دادن آن در بلوك است. هيچ كارمزد ثابت و شمخصي براي اين كار وجود ندارد. در اقع اين به خودتان بستگي دارد كه براي سريع فرآيند، چقدر حاضريد كارمزد بپردازيد. هر قدر اين كارمزد بيشتر باشد، تراكنش نيز سريع‌تر به انجام مي‌رسد.
در هر لحظه، چندين تراكنش وجود دارد كه بايد بر روي صفحه (بلوك) ثبت شود.

ميانرها (رايانه‌هايي كه در شبكه بيت كوين فعاليت دارند) تعيين مي‌كنند كدام تراكنش بايد پيش از بقيه در بلوك فعلي قرار گيرد. آنها براي اين كار ابتدا به سراغ تراكنش‌هايي كه پاداش (كارمزد) بالاتري دارند مي‌روند. در واقع تراكنش‌هايي كه كارمزد بيشتري دارند، زودتر از بقيه در بلوك قرار مي‌گيرند.

اگر چندين تراكنش، كارمزدي بالاتر از كارمزد تراكنش شما داشته باشند، تراكنش‌تان مدتي در صف انتظار مي‌ماند. اين مدت مي‌تواند بين چند دقيقه تا چند ساعت و حتي چند روز باشد. هر قدر كارمزد بيشتري بپردازيد، تراكنش‌تان نيز سريع‌تر مورد پردازش قرار مي‌گيرد و در بلوك ثبت مي‌شود.

ه همين دليل است كه بلاك چين ها كند هستند. هر قدر بر تعداد كاربران بيت كوين افزوده شود، تعداد تراكنش‌ها بيشتر شده و سرعت شبكه پايين‌تر مي‌آيد. اين مساله، مانعي جدي در برابر مقياس‌پذيري يا همان گسترش بيت كوين يا ساير سيستم‌هاي مشابه مبتني بر بلاك چين است.
در اين ميان، شبكه لايتنينگ (Lightning) راه‌حلي بالقوه براي اين مساله به شمار مي‌رود.
شبكه لايتنينگ چيست؟اساس شبكه لايتنينگ بر اين استوار است كه لزومي ندارد همه تراكنش‌ها در بلاك چين ذخيره شوند.
فرض كنيد شما و يكي از دوستان‌تان دايما با همديگر تراكنش داريد. در برخي موارد او برايتان بيت كوين مي‌فرستد و گاهي نيز شما برايش بيت كوين ارسال مي‌كنيد. در اين صورت، لزومي ندارد همه اين تراكنش‌ها را در بلاك چين ثبت كنيد و در عوض مي‌توانيد آن را در جايي ديگر ثبت كنيد.
به زبان ساده اينكه لازم است يك كانال پرداخت (payment channel) بين خودتان و دوست‌تان ايجاد كنيد و ايجاد اين كانال را در بلاك چين ثبت كنيد. اكنون شما و دوست‌تان مي‌توانيد هر چند بار كه خواستيد از طريق اين كانال با هم تراكنش داشته باشيد. اين كانال مي‌تواند تا چند ساعت، چند روز، چند هفته يا حتي چندين سال همچنان باز باشد. تنها وقتي كه اين كانال دوباره در بلاك چين ثبت مي‌شود وقتي است كه بخواهيد آن را ببنديد. در اين صورت بايد وضعيت نهايي تراكنش‌هايي كه در اين كانال روي داده را بر روي بلاك چين ثبت كنيد.
با استفاده از اين شيوه حتي مي‌توانيد شبكه‌اي دربردارنده چندين كانال پرداخت ايجاد كنيد و در اين صورت نيازتان به بلاك چين كمتر خواهد شد. فرض كنيد سه كاربر با اسامي «علي»، «فرشته» و «امين» داريد. اگر علي و فرشته يك كانال پرداخت ميان خود داشته باشند و فرشته و امين هم براي پرداخت‌هاي بين خود يك كانال ديگر داشته باشند، در اين صورت علي مي‌تواند از طريق فرشته براي امين پول بفرستد.
فرض كنيد علي بخواهد ۲ بيت كوين براي امين بفرستد. در اين صورت كافي است فرشته ۲ بيت كوين براي امين بفرستد و علي ۲ بيت كوين به فرشته بدهكار شود.
اساس شبكه لايتنينگ به اين شكل است. از آنجا كه نيازي به ثبت هر تراكنش به صورت آني در بلاك چين نيست، تراكنش‌ها به شكل آني و با سرعت صاعقه (lightning) صورت مي‌گيرد. همان طور كه احتمال متوجه شديد، شبكه لايتنينگ كاملا بر اين كانال‌هاي پرداخت استوار است. حال بياييد به بررسي بيشتر اين الگو بپردازيم.
كانال پرداخت چيست؟كانال پرداخت مشابه يك صندوق امانات مشترك است كه دو نفر مقداري پول در آن گذاشته و آن را مي‌بندند.

اين اقدام براي گذاشتن مقدار مشخصي پول در يك صندوق مشترك بر روي بلاكك چين و به صورت يك «تراكنش آغازين» (Opening Transaction) ثبت مي‌شود. از اين نقطه به بعد است كه كانال پرداخت بين دو نفر ايجاد مي‌شود.
هدف از قرار دادن مقداري پول در يك صندوق و بستن آن اين است كه هيچ كس نتواند بدون حضور ديگري به اين پول دسترسي يابد. از اين پول براي تراكنش بين اين دو فرد استفاده مي‌شود.
تصور كنيد علي و فرشته در صندوق مشترك خود ۱۰ بيت كوين دارند. اگر علي بخواهد ۲ بيت كوين به فرشته بفرستد، چطور مي‌تواند اين كار را انجام دهد؟

مسلما بلافاصله اين صندوق را باز نمي‌كنند، زيرا مي‌خواهند همچنان به نقل و انتقال پول بين خود ادامه دهند.
فرض كنيد روز بعد نيز فرشته بخواهد يك بيت كوين براي علي بفرستد. در اين صورت او يك وعده مالكيت يكي از بيت كوين‌هايش را براي علي مي‌فرستد. پس از انجام اين دو تراكنش، جعبه باز مي‌شود و علي صاحب ۹ بيت كوين و فرشته صاحب ۱۱ بيت كوين خواهد بود.
براي درك بهتر نتيجه اين تراكنش، تصوير زير را ببينيد.



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

كانال پرداخت به اين صورت عمل مي‌كند. با اين وجود، كاربردهاي آن به مراتب گسترده‌تر است و توان واقعي آن وقتي مشخص مي‌شود كه چندين كانال پرداخت به صورت همزمان يك شبكه ايجاد كنند. اين شبكه را در اصطلاح «شبكه لايتنينگ» مي‌نامند.
شبكه لايتنينگ دقيقا چطور كار مي‌كند؟شبكه لايتنينگ به جاي انتقال مالكيت بيت كوين، وعده مالكيت آن را از يك كاربر به كاربري ديگر منتقل مي‌سازد. همين تغيير ساده مي‌تواند زمينه‌ساز تحولاتي بزرگ شود. بياييد اين بار نيز با يك مثال به بررسي آن بپردازيم.
فرض كنيد سه كاربر با نام‌هاي علي، فرشته و امين داريم. يك كانال پرداخت بين علي و فرشته وجود دارد (يعني مشابه مثال قبلي) و يك كانال ديگر نيز بين فرشته و امين تعريف شده است. همچنين علي و امين هيچ كانال پرداختي بين خود ندارند.
در اين وضعيت، اگر علي بخواهد ۲ بيت كوين براي امين بفرستد، مي‌تواند از كانال بين فرضته و امين براي اين كار استفاده كند. اما چطور؟
علي از فرشته مي‌خواهد وعده مالكيت ۲ بيت كوين را از طريق كانال پرداخت بين فرشته و امين براي امين بفرستد. در اين صورت، علي ۲ بيت كوين در كانال پرداخت بين خودش و فرشته به فرشته بدهكار مي‌شود.

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

منبع: شبكه لايتنينگ