بررسی دقیق فناوری بلاکچینبلاکچینبیت کویندسته بندی نشدهمقالات تخصصی

شبکه لایتنینگ (Lightning network) قسمت سوم: تکمیل کار

انتظار می رود که شبکه لایتنینگ (Lightning Network)، یکی از نوآوری های فناوری محوری باشد که بر روی بیت کوین اجرا شود. لایه پرداخت، تقریبا یک سال پیش توسط Joseph Poon و Tadge Dryja معرفی شد. این لایه پرداخت تضمین کرده که از بی نهایت تراکنش خارج از زنجیره یا همان off-chain که بین کاربران انجام می شود پشتیبانی کند؛ همچنین اطمینان داده در حالی که از امنیت ارائه شده توسط شبکه بیتکوین چیزی کم نشود، این تراکنش ها تقریبا بدون هزینه باشند.

به گزارش کوین ایران به نقل از Bitcoin Magazine، در حال حاضر حداقل سه شرکت در حال کار بر روی پیاده سازی شبکه لایتنینگ هستند. اما غیر از این خط مقدم کوچک، تعداد کمی هستند که درک کرده اند چگونه “آینده ی پرداخت های خرد” می تواند قابلیت های بیت کوین را افزایش دهد.

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

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

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

حال آن ها می خواهند که یک HTLC به این کانال اضافه کنند (مفهوم HTLC در قسمت دوم توضیح داده شد). این کار به منظور ایجاد اطمینان از آن است که اگر کرول بیت کوین را در ازای “ارزش” از باب بگیرد، باب هم می تواند از آلیس بیت کوین خود را بگیرد.

مانند مراحل قبل، آلیس و باب با ساختن یک تراکنش تعهد کار خود را شروع می کنند. این تراکنش های تعهد از جهات زیادی به تراکنش های تعهد قبلی شباهت دارد. این تراکنش ها شامل یک خروجی نرمال و یک خروجی به آدرسی چند امضایی که دارای قفل زمانی CSV است می شود؛ همچنین این تراکنش ها دارای یک قفل هش خاص هستند. در قسمت اول درباره قفل های زمانی توضیح داده شد. همانند مراحل قبل، آلیس و باب به تبادل مقدار قدیمی “ارزش” خود با یکدیگر می پردازند؛ آن ها این کار را به جهت نامعتبر ساختن کانال قبل انجام می دهند. به محض تبادل، هم آلیس و هم باب می توانند نیمه تراکنش تعهد خود را امضا کرده و آن را به بلاکچین بفرستند.

همه موارد به جز یک مورد آشنا هستند چرا که قبلا در مورد آن ها صحبت کردیم. تراکنش های تعهد آلیس و باب حالا شامل یک خروجی جدید می شود که یک بیت کوین ارزش دارد؛ این امر حساب را 5-4-1 می کند؛ یعنی 4 بیت کوین برای آلیس، 5 عدد برای باب و یکی هم برای خروجی جدید.

این خروجی جدید در واقع HTLC است و سه راه هم برای قفل گشایی آن وجود دارد.

راه های قفل گشایی این HTLC

اول آنکه این خروجی جدید (در تراکنش های تعهد آلیس و باب)، در صورتی بیت کوین را آزاد می کند که امضای باب و “ارزش” در تراکنش بعدی آن وجود داشته باشد. از این رو، مهم نیست که آیا آلیس یا باب تراکنش تعهد را امضا و منتشر کرده باشند؛ چراکه تنها باب می تواند قفل این خروجی را باز کند و البته در صورتی که “ارزش” را داشته باشد. اما یک تفاوت کوچک بین دو تراکنش تعهد وجود دارد؛ اگر باب کانال را بفرستد، یک قفل زمانی CSV درگیر بازی است. در نتیجه او مجبور است تا به اندازه 1000 بلاک منتظر بماند. (اگر آلیس کانال را بفرستد، باب می تواند سریعا این بیت کوین را بگیرد).

دلیلی که باب باید 1000 بلاک منتظر بماند به چیزی که قبلا شاهد آن بودیم شباهت دارد؛ این کار به آلیس اجازه می دهد تا در صورت تلاش باب برای امضا و انتشار حالت کانال قبلی، این بیت کوین را بگیرد. اینجا جایی ست که دومین راه قفل گشایی این بیت کوین ظاهر می شود. آلیس می تواند در صورت ارائه “ارزش” جدید به باب، سرمایه را “بدزدد”.

فرض کنیم آلیس سعی در تقلب و انتشار این کانال بعد از منقضی شدن آن داشته باشد؛ در اینصورت باب می تواند این بیت کوین را با استفاده از “ارزش” آلیس، از آن خود کند.

سوم آنکه همانند تمام HTLC ها، هر دو تراکنش تعهد شامل تامر زمانی CLTV برای بازگشت به آلیس هم می شود؛ فرض کنیم باب برای مثال تا دو هفته “ارزش” را ارائه نکند (شاید مثلا نتوانسته آن را از کارول بگیرد)؛ در اینصورت آلیس می تواند بیت کوین های خود را پس بگیرد. برای این مورد اگر آلیس یا باب کانال را بفرستند، اهمیتی ندارد.

با تمام این موارد به کجا می رسیم؟

understanding the lightning network 1 86x220 شبکه لایتنینگ (Lightning network) قسمت سوم: تکمیل کار

باب و آلیس هر دو یک تراکنش تعهد نیمه معتبر دارند. اگر آلیس تراکنش تعهد خود را به بلاکچین بفرستد، سریعا 5 بیت کوین برای باب می فرستد. علاوه بر این، او می تواند به مدت 1000 بلاک منتظر بماند و  4 بیت کوین برای خود بگیرد. در ادامه، باب دو هفته زمان دارد تا “ارزش” را ارائه کند و بیت کوین موجود در “خروجی HTLC” را بگیرد. (اگر طی دو هفته این کار را نکند، آلیس می تواند این بیت کوین را بگیرد).

در این میان باب می تواند تراکنش تعهد خود را هر وقت خواست منتشر کند و 4 بیت کوین برای آلیس بفرستد. سپس باید 1000 بلاک منتظر بماند تا 5 بیت کوین دیگر از یک آدرس، و یک بیت کوین دیگر از خروجی HTLC بگیرد. (آن یک بیت کوین را در صورت ارائه “ارزش” می تواند بگیرد؛ اگر زی دو هفته این کار را نکند، آلیس آن را می گیرد).

اگر آلیس یا باب سعی کنند در آینده تقلبی کنند و این کانال که منقضی شده را امضا و منتشر کنند، هر دو می توانند دیگری را بلاک کرده و تمام بیت کوین ها کامال را بدزدند.

تنظیم وضعیت

در این نقطه از کار، برای باب اطمینان حاصل شده که در ازای ارائه “ارزش”، بیت کوین خود را می گیرد. تمام کاری که او باید انجام دهد، امضا و انتشار تراکنش تعهدی است که از آلیس گرفته؛ البته باید “ارزش” را در تراکنش متعاقب جای داده و آن را نیز امضا و منتشر کند.

آلیس این را می داند، پس راهی برای آنکه بر سر باب کلاه بگذارد وجود ندارد. به همین منظور، هر دوی این افراد تنها می توانند خارج از کانال به توافق برسند؛ باب می تواند “ارزش” را به آلیس دهد؛ و آلیس توافق کند که وضعیت کانال را به حالت نرمالی که HTLC و زمان پایان مشخص نداشته باشد بروزرسانی کند.

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

understanding the lightning network 2 184x220 شبکه لایتنینگ (Lightning network) قسمت سوم: تکمیل کار

بستن کانال

قدرت واقعی شبکه لایتنینگ اینجاست؛ تقریبا تمام مواردی که در این سه مقاله توضیح داده شد، هیچ وقت نیازی به استفاده از بلاکچین بیت کوین ندارند.

اگر آلیس و باب بخواهند کانال را بصورت “صلح آمیز” ببندند، می توانند به سادگی یک تراکنش از تراکنش بازگشایی اصلی بسازند تا همه چیز را از زمان تراکنش بازگشایی از بین ببرد. از این “تراکنش بستن”، هر کدام سهم خود از این کانال را با توجه به آخرین وضعیت کانال بر میدارد.

understanding the lightning network 3 275x220 شبکه لایتنینگ (Lightning network) قسمت سوم: تکمیل کار

مشخصا این بدان معناست که اگر آلیس بخواهد کانال را ببندد، می تواند در این مرحله به راحتی یک تراکنش برای پرداخت به خود بسازد؛ و در ادامه به خودش 4 بیت کوین به به باب 6 بیت کوین بدهد. از باب هم بخواهد که تراکنش را امضا و منتشر کند. از آنجایی که هیچ دلیلی برای باب جهت عدم انجام این کار وجود ندارد، او نیز همکاری کرده و کانال بسته می شود.

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

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

 

نوشته های مشابه

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

3 + نه =

همچنین ببینید

بستن
بستن