یک قرارداد هشلاک با محدودیت زمانی (Hashed Timelock Contract یا HTLC) نوعی قرارداد هوشمند است که در کاربردهای بلاکچین استفاده میشود. این قرارداد ریسک طرف مقابل را با ایجاد یک سپرده امانی (escrow) مبتنی بر زمان کاهش میدهد که برای باز شدن به یک گذرواژه رمزنگاریشده نیاز دارد.
بهطور عملی، این بدان معناست که فرد دریافتکننده وجه در یک تراکنش باید دو اقدام انجام دهد تا به وجوه دسترسی پیدا کند: گذرواژه صحیح را وارد کند و پرداخت را در یک بازه زمانی مشخص مطالبه نماید. اگر گذرواژه اشتباه وارد شود یا وجوه در آن بازه زمانی مطالبه نشود، دسترسی به پرداخت از بین میرود.
نکات کلیدی
- قرارداد هشلاک با محدودیت زمانی (HTLC) ریسک طرف مقابل را در قراردادهای هوشمند غیرمتمرکز کاهش میدهد، زیرا بهطور مؤثر یک سپرده امانی مبتنی بر زمان ایجاد میکند که از یک گذرواژه رمزنگاریشده استفاده میکند.
- این نوع قرارداد هوشمند دریافتکننده پرداخت را ملزم میکند که آن را در یک دوره زمانی مشخص تأیید کند، در غیر این صورت پرداخت از دست میرود.
- پرداختها با استفاده از HTLC شرطی هستند و به همین دلیل مزایای کارایی برای تراکنشهای بلاکچین دارند. این ویژگی، HTLCها را به یک ابزار اساسی در شبکه لایتنینگ تبدیل میکند.
درک قراردادهای هشلاک با محدودیت زمانی (HTLCs)
یک قرارداد هشلاک با محدودیت زمانی (HTLC) از چندین عنصر موجود در تراکنشهای ارزهای دیجیتال استفاده میکند. بهعنوان مثال، تراکنشهای HTLC از چندین امضا شامل کلید خصوصی و عمومی برای تأیید و اعتبارسنجی تراکنشها بهره میبرند.
با این حال، دو عنصر هشلاک و قرارداد زمانی (timelock) HTLC را از تراکنشهای استاندارد با قراردادهای هوشمند متمایز میکنند.
هشلاک (Hashlock)
اولین عنصر، هشلاک است. یک هشلاک نسخه هششده – یا بهطور رمزنگاری درهمریخته – از یک کلید عمومی است که توسط فرد آغازکننده تراکنش تولید میشود. کلید خصوصی مربوطه سپس برای باز کردن هش اصلی استفاده میشود.
در HTLC، طرف آغازکننده یک کلید ایجاد میکند و آن را هش میکند. هش در یک پیشتصویر (pre-image) ذخیره میشود که در طول تراکنش نهایی فاش میگردد.
HTLCها طوری برنامهریزی میشوند که پس از گذشت یک بازه زمانی مشخص یا پس از تولید تعداد مشخصی بلاک منقضی شوند و بدین ترتیب یک تاریخ و زمان پایان مشخص ایجاد میشود.
مهم: برای انجام یک تراکنش با استفاده از HTLC، هر دو طرف باید کانالهایی با یکدیگر باز کنند. این کار معمولاً با استفاده از کیف پول، صرافی، یا هر دو انجام میشود.
تایملاک (Timelock)
دومین عنصر مهم HTLC، تایملاک است. دو نوع تایملاک مختلف برای اعمال محدودیت زمانی در قراردادهای HTLC استفاده میشود:
CheckLockTimeVerify (CLTV):
از یک مبنای زمانی برای قفل و آزادسازی ارز دیجیتال استفاده میکند. این یعنی محدودیتهای زمانی بهطور سختکدی تعریف میشوند و سکهها تنها در یک تاریخ و ساعت مشخص یا در ارتفاع بلاک خاص آزاد میشوند.
مبادلات اتمی (atomic swaps) – معاملات بینزنجیرهای میان ارزهای دیجیتال – معمولاً با استفاده از HTLC انجام میشوند.
شبکه لایتنینگ بیتکوین (LN) نیز از HTLCها استفاده میکند.
CheckSequenceVerify (CSV):
این نوع وابسته به زمان نیست؛ در عوض از تعداد بلاکهای تولیدشده بهعنوان معیاری برای پیگیری زمان نهایی شدن تراکنش استفاده میکند.
فرایند در یک قرارداد هشلاک با محدودیت زمانی
فرض کنید آلیس میخواهد بیتکوین خود را با لایتکوین باب مبادله کند. یک تراکنش HTLC معمولی میان آنها به این شکل انجام میشود:
- آلیس یک هش از کلید خصوصی لایتکوین خود ایجاد میکند و آن را برای باب میفرستد. او همچنین یک پیشتصویر از هش با ایجاد یک تراکنش اسمی میسازد. این پیشتصویر به او کمک میکند تا تراکنش را تأیید و نهایی کند.
- باب هم یک هش از کلید خود ایجاد میکند و آن را برای آلیس میفرستد. او نیز یک پیشتصویر با انجام یک تراکنش اسمی (در لایتکوین) میسازد.
- وقتی آلیس تراکنش لایتکوین باب را دریافت میکند، آن را با استفاده از کلید اصلی که قبلاً در پیشتصویر در اختیار اوست، امضا میکند. باب نیز به همین صورت از کلید خصوصی خود برای باز کردن تراکنش آلیس استفاده میکند.
- زمانی که آلیس و باب کلیدهایشان را وارد کرده و با تراکنش موافقت میکنند، قرارداد هوشمند آن را اجرا میکند. هیچکدام نمیتوانند پس از اجرا تراکنش را تغییر دهند، و این باعث میشود امکان فریب دیگری از طریق لغو سریع مبادله از بین برود.
قرارداد تایملاک چیست؟
قرارداد تایملاک نوعی قرارداد هوشمند است که در یک بلاکچین تعبیه میشود و تراکنش را در یک زمان مشخص اجرا میکند. این قراردادها در HTLC و کانالهای پرداختی که به زمانبندی خاص نیاز دارند، استفاده میشوند.
آیا بیتکوین قرارداد هوشمند دارد؟
در ابتدا، بلاکچین بیتکوین قادر به اجرای قراردادهای هوشمند نبود. با این حال، ارتقای Taproot در سال 2021 امکان استفاده از قراردادهای هوشمند در تراکنشها را برای این بلاکچین فراهم کرد.
قرارداد هوشمند چیست؟
یک قرارداد هوشمند برنامهای است که روی یک بلاکچین ذخیره میشود و زمانی که شرایط خاصی برآورده شود اجرا میگردد.
هزینه یک قرارداد هوشمند چقدر است؟
در بلاکچین اتریوم، پیادهسازی یک قرارداد هوشمند نیازمند مصرف گس (Gas) است که هزینه آن با Gwei (واحد کوچکتر از اتر) پرداخت میشود. بسته به پیچیدگی قرارداد، هزینه میتواند به میلیاردها Gwei برسد. قراردادهای سادهتر مانند یک مبادله ساده بسیار ارزانتر هستند.















نظرات کاربران