HTLC و یا قرارداد هَش با محدودیت زمانی چیست؟

HTLC چیست؟

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

اتمیک سواپ معاملات متقابل زنجیره ای بین ارزهای دیجیتال اغلب با استفاده از HTLC ها انجام می شود. علاوه بر این شبکه لایتینگ بیت کوین (LN) نیز از HTLC ها استفاده می کند.

نکات کلیدی

  • یک قرارداد HTLC با ایجاد موثر سپرده گذاری مبتنی بر زمان، خطر طرف مقابل را در قراردادهای هوشمند غیر متمرکز کاهش می دهد.
  • این نوع قرارداد هوشمند مستلزم آن است که گیرنده پرداختی در مدت زمان معینی آن را تصدیق کند و یا آن را فسخ کند.
  • پرداخت با استفاده از HTLC مشروط است و بنابراین مزایای کارآیی برای معاملات بلاکچین را دارد. این ویژگی HTLC ها را به یک ابزار اساسی که توسط شبکه لایتینگ استفاده می شود تبدیل می کند.
undefined

نحوه عملکرد قرارداد HTLC چگونه است؟

در قرارداد HTLC از چندین عنصر معاملات ارزهای دیجیتال موجود استفاده می شود. به عنوان مثال تراکنش های HTLC از چندین امضا که شامل یک کلید خصوصی یا عمومی است برای تأیید و اعتبار تراکنش ها استفاده می کند. اما دو عنصر وجود دارد که HTLC را از معاملات استاندارد ارزهای دیجیتال و یا قراردادهای هوشمند معمولی متمایز می کند.

اولین عنصر hashlock است. یک hashlock یک نسخه هش شده یا مخلوط شده از کلید عمومی است که توسط ایجاد کننده یک معامله تولید می شود. سپس کلید خصوصی مرتبط برای باز کردن قفل هش اصلی استفاده می شود. در HTLC طرف اصلی یک کلید تولید کرده و آن را هش می کند. هش در پیش تصویری ذخیره می شود که متعاقباً در هنگام معامله نهایی فاش می شود. HTLC ها طوری برنامه ریزی شده اند که پس از مدت زمان معینی یا تعداد بلاک های تولید شده منقضی شده و تاریخ خاتمه شناخته شده ای ایجاد شود.

دومین عنصر مهم HTLC قفل زمانی است. برای تعیین محدودیت زمانی در قراردادهای ایجاد شده با استفاده از HTLC از دو تایمر مختلف استفاده می شود. اولین مورد آن CheckLockTimeVerify (CLTV) است. از قفل زمانی برای قفل و انتشار بیت کوین استفاده می کند. این بدان معناست که محدودیت های زمانی به صورت کدگذاری شده و کوین ها تنها در زمان و تاریخ خاصی و یا ارتفاع مشخصی از اندازه بلاک منتشر می شوند.

مورد دوم CheckSequenceVerify (CSV) است که وابسته به زمان نیست اما در عوض از تعداد بلاک های تولید شده به عنوان معیاری برای پیگیری زمان نهایی شدن معامله استفاده می کند.

نمونه های واقعی از HTLC

فرض کنید سینا می خواهد بیت کوین خود را با لایت کوین با نیما معامله کند. یک معامله معمولی HTLC بین آنها به شرح زیر انجام می شود:

سینا از کلید خصوصی خود یک هش تولید می کند و آن را در بلاکچین لایت کوین به نیما ارسال می کند. او همچنین با ایجاد یک تراکنش اسمی یک تصویر پیش از هش ایجاد می کند. این پیش تصویر به او کمک می کند تا معامله را تأیید و نهایی کند.

نیما همچنین یک هش از کلید خود تولید کرده و آن را برای سینا ارسال می کند. علاوه بر این او با انجام یک معامله اسمی در لایت کوین با سینا یک پیش تصویر ایجاد می کند.

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