شبکه لایتنینگ (Lightening Network) بیت کوین چگونه کار می‌کند؟ قسمت سوم؛ شبکه‌ای از کانال های پرداخت

در قسمت اول با قراردادهای هش شده با هش و زمان یا HTLC آشنا شدیم و گفتیم که این ویژگی موجود در تراکنش های بیت کوین در شبکه لایتنینگ و مبادلات بین زنجیره ای از نوع Atomic Swap کاربرد دارد. در قسمت دوم دیدیم که چگونه دو نفر در شبکه لایتنینگ (Lightening Network) می‌توانند با ایجاد یک کانال پرداخت بین خودشان، مبادلات خارج از بلاکچین (Off-Chain) با سرعتی بسیار بالا و کارمزد بسیار کم و بدون نیاز به وجود اعتماد بین طرفین، انجام دهند.

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

شبکه‌ای از کانال های پرداخت

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

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

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

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

۱- حمید که گیرنده این بیت کوین هاست ابتدا یک عدد رندم به نام Secret Key تولید می‌کند و هش آن را محاسبه می‌کند

۲- حمید هش Secret Key مرتبط به این تراکنش را برای فرستنده که ساراست می‌فرستد

۳- سارا یک تراکنش HTLC به عنوان تراکنش تعهدی درست می‌کند، این تراکنش یک تراکنش دو امضا است که سارا یک امضای آن را انجام می‌دهد. همچنین او با استفاده از هش Secret Key حمید یک قفل هش (Hash Lock) بر روی آن ایجاد می‌کند که تنها با Secret Key حمید قابل باز شدن است. قفل زمانی (Time Lock) هم باعث می شود در صورت انتشار این تراکنش در شبکه بیت کوین، بعد از استخراج تعدادی بلاک، خروجی آن توسط سارا قابل خرج کردن می‌شود.

۴- سارا این تراکنش تعهدی را برای پیام ارسال می‌کند و مسیر انتخابیش را برای دیگر گره ها تعیین می‌کند

۵- سارا هش Secret key حمید که مرتبط به این تراکنش است را برای پیام می‌فرستد

۶- پیام یک تراکنش HTLC ایجاد می‌کند و با استفاده از هش Secret Key حمید یک قفل هش (Hash Lock) بر روی آن ایجاد می‌کند که تنها با Secret Key  حمید باز می‌شود و یک قفل زمانی (Time Lock) هم بر روی آن می‌گذارد و امضای خودش که یکی از دو امضای مورد نیاز است را بر روی آن قرار می‌دهد

۷- پیام تراکنش تعهدیش را برای فرناز ارسال می‌کند

۸- پیام هش Secret Key حمید را برای فرناز ارسال می‌کند

۹- فرناز یک تراکنش HTLC ایجاد می‌کند و با استفاده از هش Secret Key حمید یک قفل هش (Hash Lock) بر روی آن ایجاد می‌کند که تنها با Secret Key  حمید باز می‌شود و یک قفل زمانی (Time Lock) هم بر روی آن می‌گذارد و امضای خودش که یکی از دو امضای مورد نیاز است را بر روی آن قرار می‌دهد

۱۰- فرناز تراکنش تعهدیش را برای حمید که گیرنده نهایی است ارسال می‌کند

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

حمید که گیرنده نهایی تراکنش است بعد از گرفتن تراکنش تعهدی فرناز، موجودی کیف پول لایتنینگ او به اندازه ۲ بیت کوین افزایش می‌یابد. سپس حمید Secret Key خودش را برای فرناز می‌فرستد، به این ترتیب فرناز می‌فهمد که تراکنش به دست نفر بعدی که حمید است، رسیده است و او هم این Secret Key را برای پیام و پیام هم برای سارا می فرستد تا سارا هم بعد از دریافت Secret Key حمید متوجه شود که مقدار انتقالیش به دست گیرنده نهایی که حمید است رسیده است. در این فرآیند هیچکس نمی‌فهمد که سارا و حمید فرستنده و گیرنده هستند و گره های انتقال دهنده (hop ها) فقط می دانند مقدار تراکنش را از کدام گره دریافت کرده اند و به کدام گره باید انتقال دهند، به این ترتیب محرمانگی (Privacy) فرستنده و گیرنده حفظ می‌شود.

حمید میتواند یا اقدام به بستن کانال پرداختیش با فرناز کند و تراکنش تعهدی که فرناز برای او فرستاده بود را در شبکه بیت کوین منتشر کند تا در بلاکچین هم ثبت شود و یا این کانال پرداخت را برای تراکنش های بعدی باز نگه دارد. برای بستن کانال پرداختی، حمید باید تراکنش تعهدی فرناز را که یک تراکنش HTLC با قفل هش (Hash Lock) است، با استفاده از Secret Key که خودش در ابتدا ساخته بود، باز نماید و امضای خودش که امضای دوم است را با استفاده از کلید خصوصیش (Private Key) بر روی این تراکنش ایجاد نماید و این تراکنش را در شبکه بیت کوین منتشر نماید تا در بلاکچین ثبت شود.

به این ترتیب دو نفر می‌توانند بدون نیاز به اعتماد کردن به یکدیگر تراکنش‌های برون زنجیره‌ای (Off-Chain Transaction) بر روی شبکه لایتنینگ (Lightening Network) انجام دهند و شبکه اصلی بیت کوین را برای پرداخت‌های کوچک درگیر ننمایند و به این ترتیب با افزایش سرعت انجام تراکنش ها مقیاس پذیری شبکه بیت کوین افزایش یابد. حل مشکل مقیاس پذیری، بیت کوین را یک قدم دیگر به پذیرش همگانی آن نزدیک می‌نماید.

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

لازم به ذکر است که همانطور که پیش تر هم گفته شد کل فرآیندهای توضیح داده شده، برای فهم بهتر شبکه لایتنینگ تا حدی ساده شده اند و به برخی جزئیات فنی تر اشاره نشد. هرجند باید گفت که تمام این فرآیندها توسط نرم افزار در کسری از ثانیه و به صورت خودکار انجام می‌شود. در حال حاضر چند کیف پول موبایلی همانند Blue Wallet که آموزش آن در سایت موجود است، یک رابط کاربری ساده با شبکه لایتنینگ (Lightening Network) ایجاد کرده اند و شما می توانید با استفاده از آن تراکنش های لایتنینگی با سرعت بسیار بالا و کارمزد بسیار کم انجام دهید. نکته دیگر هم این است که این فناوری کماکان در حال توسعه است و تا پذیرش گسترده آن در شبکه بیت کوین فاصله دارد و باتوجه به اینکه این شبکه برای پرداخت های کوچک طراحی شده اند پیشنهاد می‌شود از آن فقط برای انجام تراکنش‌های کوچک استفاده شود.

شبکه لایتنینگ (Lightening Network) بیت کوین چگونه کار میکند؟ قسمت اول: قراردادهای HTLC

شبکه لایتنینگ (Lightening Network) بیت کوین چگونه کار می‌کند؟ قسمت دوم؛ کانال‌های پرداخت

 


54321
امتیاز 5 از 2 رای

منبع میهن بلاکچین
ممکن است شما دوست داشته باشید

ارسال نظر

  اشتراک  
جدید ترین قدیمی ترین محبوب ترین
اطلاع از
علی

سلام لطفا در مورد اینکه تراکنش ها در لایتنینگ از نظر محرمانگی در چه حدی هست راهنمایی بفرمایید

ادمین سایت

با سلام
محرمانگى تراكنش هاى لايتنينگ از تراكنش هاى on-chain بيشتر است و ميزان اين محرمانگى با افزيش تعداد گره هاى انتقال دهنده (hopها) افزايش مي يابد. چون هر كدام از اين گره ها (همانطور كه در بخش سوم توضيح داده شد) نمى دانند گره قبل و بعدش انتقال دهنده و گيرنده هستند يا آنها هم فقط انتقال دهنده هستند. اما تراكنش هايى كه براى باز كردن و بستن كانال نياز هستند چون بايد بر روى بلاكچين ثبت شوند از لحاظ محرمانگى تفاوتى با تراكنش هاى عادى بيت كوين ندارند

عضویت در کانال تلگرام میهن بلاکچین