بشر در طول تاریخ همواره به دنبال بهترین ابزار برای پرداخت و انجام معاملاتش بوده است. در حال حاضر، بخش اعظمی از پرداختها با پول فیات صورت میگیرد. با ظهور بیت کوين به عنوان یک کلاس جدید پول، تحول زیادی در سیستمهای مالی ایجاد شد؛ البته خود بیتکوین با توجه به کارمزد نسبتا بالا، برای خریدهای کوچک و روزمره خیلی مناسب نبود. پس از مدتی، شبکه لایتنینگ به منظور پوشش این ضعف به وجود آمد. اگر ما پرداختی به یک فروشنده انجام دهیم، اثبات پرداخت در شبکه لایتنینگ چگونه انجام میشود؟ چه رسیدی میتوانیم به او نشان دهیم؟ آندرس آنتونوپولوس متخصص حوزه ارزهای دیجیتال در ویدئوی زیر به این سوال پاسخ داده است.
شبکه لایتنینگ چیست؟
با وجود رشد و پیشرفت بیتکوین در سالهای اخیر، یک نقطه ضعف بیش از گذشته به چشم آمد؛ این مشکل چیزی جز مقیاسپذیری نیست. شبکه بیتکوین توانایی پردازش ۳ الی ۷ تراکنش در ثانیه را دارد و این به هیچعنوان نمیتواند نیازهای روزانه ما را پوشش دهد. به علاوه کارمزد تراکنشهای Bitcoin، امکان استفاده از آن برای پرداختهای روزانه و کوچک را از ما میگیرد.
برای حل این مشکلات، شبکه لایتنینگ ایجاد شد. لایتنینگ یک راه حل لایه دو و بیرون از زنجیره (Off-Chain) محسوب میشود. این شبکه با ایجاد کانالهای پرداخت، تراکنش با سرعت بالا و کارمزد کم، بین دو یا چند نفر را میسر میسازد. به این ترتیب میتوان برای پرداختهای خرد روزانه هم از بیتکوین استفاده کرد.
شبکه لایتنینگ فقط هنگام بستن و بازکردن کانالها، اطلاعات را روی بلاکچین اصلی بیتکوین ثبت میکند. اگر علاقه دارید تا اطلاعات بیشتری در مورد این شبکه به دست آورید، مقاله زیر را ببینید.
هش یا شناسه تراکنش چیست؟
وقتی یک پرداخت پول صورت میگیرد، داشتن یک رسید برای اثبات آن ضروری است. در سیستمهای پرداخت سنتی، هر زمان که تراکنشی را از طریق خودپردازها، سایتها یا اپلیکیشنهای مختلف انجام میدهیم، رسید و شناسه پرداخت دریافت میکنیم. این رسید در مواقع وقوع اختلاف و درگیری، پرداخت ما به طرف مقابل را اثبات میکند.
در دنیای رمزارزها، با توجه به ماهیت غیرمتمرکز و مشخص نبودن هویت افراد، نیاز به یک شناسه برای پیگیری و رصد تراکنشها اهمیت بیشتری پیدا میکند. با انجام هر تراکنش و اضافه شدن آن به بلاکچین یک رمزارز، شناسهای منحصر به فرد به آن اختصاص میکند.
به این شناسه که مجموعهای از حروف و اعداد است، هش تراکنش یا شناسه تراکنش (Transaction ID) گفته شده و به اختصار TxID نشان داده میشود. با جستجوی هش تراکنش در مرورگرهای بلاکچینی، میتوان جزئیات و وضعیت یک تراکنش را بررسی کرد.
اثبات پرداخت در شبکه لایتنینگ چگونه است؟
آنتونی میگوید وقتی شما پرداختی را در شبکه لایتنینگ انجام میدهید، در حال اجرای یک قرارداد قفل زمانی هش (HTLC) هستید. برای درک بهتر، مثال زیر را در نظر بگیرید.
در شبکه لایتنینگ آلیس یک کانال با باب، باب یک کانال با کارول و کارول یک کانال با دیو دارد (دیگر نیازی نیست که آلیس یک کانال مستقیم با دیو باز کند). آلیس میخواهد پرداختی به دیو داشته باشد. آلیس ابتدا به دیو اطلاع میدهد که میخواهد مقداری پول برای او بفرستد. دیو برای اینکه پرداخت را بپذیرد، باید یک عدد تصادفی R تولید کند. او R را پیش خودش نگه میدارد، اما آن را هش میکند که فرض کنیم نتیجه آن H میشود. در نهایت H را برای آلیس میفرستد.
آلیس با مشخص کردن مسیر کانالها و ارسال یک تراکنش به باب میگوید که اگر بتوانی در عرض ۳ روز مقدار اولیه H را به دست آورده و قفل هش را باز کنی، به تو پول میدهم. در اصل آلیس تراکنشی را امضا میکند که یک قفل زمانی سه روزه و یک قفل هش دارد و فقط باب میتواند در مدت زمان مشخص شده، R را پیدا کرده، قفل هش را باز و این تراکنش را نقد کند؛ در صورت پایان این مهلت، فقط خود آلیس توانایی نقد کردن را دارد. این تراکنش یک قرارداد قفل زمانی هش نامیده میشود و به آلیس اجازه میدهد تا یک قول مشروط به باب بدهد؛ در عین حال اطمینان حاصل کند که اگر باب هرگز متوجه نشود R چیست و زمان مقرر پایان یابد، سرمایهاش به خودش برمیگردد.
باب که میداند فقط اگر R را بداند میتواند از آلیس پول بگیرد، به کارول میگوید که اگر بتوانی در عرض ۲ روز مقدار اولیه H را پیدا کنی، به تو پول خواهم داد؛ باز هم یک قفل زمانی و یک قفل هش.
کارول هم همین کار را میکند و یک HTLC میسازد که اگر دیو بتواند R را در عرض ۱ روز پیدا کند، به دیو پول میدهد.
دیو که خودش از ابتدا R را تولید کرده است، میتواند قفل هش را باز کند و با توجه به قرارداد هوشمند مطمئن است که اگر آن را به کارول بگوید، پولش را میگیرد. پس R از دیو به کارول، از کارول به باب و سرانجام از باب به آلیس رسیده و پرداخت تکمیل میشود. به این ترتیب میتوان گفت زمانی که آلیس R را در اختیار داشته باشد، میتواند اثبات کند که پرداخت را انجام داده است.
آیا تا به حال از شبکه لایتنینگ استفاده کردهاید؟ تجربیات خود را با کاربران ما به اشتراک بگذارید.