تابع زمانی CLTV در بیت کوین
0

تابع زمانی CLTV در بیت کوین

بازدید : 1183

CLTV یا CheckLockTimeVerify یک قابلیت جالب برای زمان بلوک است که در بیت کوین وجود دارد. این تابع برای انجام تراکنش ها توسط اسکریپت ،یک زمانبندی موقت پیشرفته ای را طراحی کرده است. تابعی که به شما امکان می دهد اسکریپت های پیشرفته متناسب با زمان در بیت کوین را برنامه ریزی کنید.

توابع زمانی در بیت کوین

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

[irp posts=”10720″ name=”قرارداد هوشمند یا اسمارت کانترکت چیست؟”]

تابع CLTV در بیت کوین

یکی از این توابع به نام Check Lock Time Verify (CLTV) شناخته می شود ، که خروجی های مصرف نشده (UTXO) را قفل می کند و تا رسیدن به زمان از پیش تعیین شده نمی توان آنها را خرج کرد.

CLTV
تابع زمانی CLTV در بیت کوین

تابع CLTV از طریق فورک نرم BIP-0065 در هسته بیت کوین ادغام شد . که در آن توسعه دهنده آن پیتر تاد کدگذاری جدید (OP_CODE) OP_CHECKLOCKTIMEVERIFY را توصیف می کند. این ویژگی به تراکنش انجام شده در بیت کوین اجازه می دهد تا مسدود شود و تا رسیدن به تاریخ بلاک ، زمان یا ارتفاع مشخص قابل اجرا نباشد.

بنابراین ، تابع CLTV برای موارد مختلف استفاده در سیستم بیت کوین بسیار مفید و مثبت است. به عنوان مثال ، می توان برای آینده های مشخص ، از قبیل اجاره ، خدمات ، قرار ملاقات های پزشکی یا حتی یک ارث هوشمند در سایر موارد ، برنامه پرداخت های آینده را تعیین کرد.

به همین ترتیب ، این تابع به ویژه برای باز کردن گزینه های جدید پرداخت بسیار مهم است. به عنوان مثال ایجاد کانال های پرداخت به سبک CLTV. این کانالهای پرداخت ضمن حفظ امنیت و مزایای یک تراکنش معمولی که در این زنجیره اتفاق افتاده است ، امکان انجام تراکنش های خارج از بلاکچین را فراهم می کنند. علاوه بر این ، تابع CLTV همچنین امکان ایجاد گزینه های دیگری مانند بازپرداخت با محدودیت زمانی یا اعتبار را فراهم می کند. برنامه ها و موارد استفاده ای که این تابع دارد واقعاً بی پایان هستند.

تابع CLTV چگونه کار می کند؟

وقتی کاربر با کد OP_CHECKLOCKTIMEVERIFY تراکنشی را ایجاد و انجام می دهد ، خروجی های تراکنش مذکور فقط در لحظه تحقق شرط تعیین شده فعال می شوند و نه در لحظه انجام تراکنش. این بدان معناست که تراکنش موفقیت آمیز است اما ارزهای رمزپایه تا زمان مشخص مسدود می شوند.

کد OP_CHECKLOCKTIMEVERIFY به عنوان بخشی از یک اسکریپت بیت کوین اجرا می شود و برنامه نویسی آن براساس استفاده از زمان های UNIX (یونیکس تایم استامپ) یا در ارتفاعات بلوک در بلاکچین است. یعنی ایجاد یک شرط در هر یک از این پارامترها برای مقایسه با زمان فعلی ضروری است. بنابراین کد OP_CHECKLOCKTIMEVERIFY عنصر بالای پشته را با قفل زمان (nLockTime) که در تراکنش ایجاد شده است مقایسه می کند. اگر با انجام این مقایسه تأیید شود که شرط برآورده شده است ، می توان اسکریپت را اجرا کرد ، در غیر این صورت اسکریپت از کار می افتد.

در صورتی که یکی از موارد زیر اتفاق بیافتد اسکریپت اجرا نمی شود:

  • اینکه پشته خالی است و زمان مشخصی برای انجام مقایسه و تأیید کد وجود ندارد.
  • مقدار عنصر بالایی پشته کمتر از شرایط تعیین شده برای باز کردن قفل UTXO است. این نشان می دهد که زمان لازم برای باز کردن قفل تراکنش سپری نشده است.
  • اگر قفل زمان تنظیم شده در ارتفاع بلوک اندازه گیری شود و عنصر بالای پشته از اندازه گیری زمان (در چند ثانیه) استفاده کند یا بالعکس ، وضعیت خرابی دیگری رخ خواهد داد.

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

رابطه CLTV و nLockTime

CLTV و nLockTime هر دو تابعی هستند که به بیت کوین اجازه می دهند اقداماتی را که برای اجرای صحیح آن به زمان یا ارتفاع بلوک بستگی دارد ، برنامه ریزی کند. اما رابطه و دامنه هر دو بسیار فراتر است. از یک طرف ، nLockTime تضمین می کند که بیت کوین می تواند تراکنشها را برای انجام در یک ارتفاع بلاک مشخص (block time block) یا با مهر زمان (timestamp) برنامه ریزی کند. با استفاده از این تابع بیت کوین امکان برنامه ریزی پرداخت ها را با استفاده از این پارامترها فراهم می کند.

اما از طرف دیگر ، CLTV به شما امکان می دهد یک لایه تأیید و برنامه نویسی اضافی به nLockTime اضافه کنید. دلیل این امر آنست که CLTV nLockTime را می گیرد . و تأیید می کند که مجموعه ای کلی از شرایط برنامه ریزی شده برای فعال شدن آن وجود دارد . وضعیتی که با nLockTime اصلی بسیار ساده تر بود. CLTV حتی در صورت تحقق برخی شرایط می تواند برخی از شرایط اصلی تراکنش را تغییر دهد.

اجرا و پیاده سازی تابع CLTV

یکی از بزرگترین و مهمترین پتانسیلهای تابع CLTV اجازه ایجاد کانالهای پرداخت و اجرای صحیح آنها است. از طریق کانال های پرداخت می توان تراکنش های خرد را در خارج از بلاکچین ایجاد کرد. بدون نیاز به پرداخت هزینه های کارمزد زیادی برای هر یک از تراکنش ها و بدون پراکندگی در بلاکچین!

CLTV
اجرا و پیاده سازی تابع زمانی CLTV در بیت کوین

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

نتیجه مطلب

در بیت کوین توابع زمانی زیادی وجود دارند. یکی از این توابع به نام Check Lock Time Verify (CLTV) شناخته می شود . که خروجی های مصرف نشده (UTXO) را قفل می کند و تا رسیدن به زمان از پیش تعیین شده نمی توان آنها را خرج کرد.

 

0
0
برای پیشنهاد این مقاله به دیگر کاربران عزیز فکت کوینز روی دکمه زیر کلیک کنید
اشتراک در
اطلاع از

0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه نظرات
محل تبلیغ
coinex
محاسبه‌گر ارزهای دیجیتال
ارز معادل
تومان

محاسبه با مبلغ تتر : تومان

0
نظر خود را بنویسید !x