به زبان ساده، قفل زمانی در بیت کوین نوعی قرارداد اولیه هوشمند هستند که به طور کامل یا جزئی مانع از تایید یک معامله خاص توسط ماینرها میشود تا زمانی که شرایط خاصی برآورده شود. در این مقاله از آکادمی کمال قزلباش به صورت جامع به این موضوع پرداختیم.
قفل زمانی در بیت کوین چیست؟
در کریپتوکارنسی، قفل زمانی (یا زمان قفل) یک مکانیسم محدودیتی است که در تراکنشهای رمزنگاری تعبیه شده است که زمان واقعی یا ارتفاع بلوک را برای تأیید تراکنش در شبکه بلاک چین تعیین میکند. این را به عنوان عملکردی برای زمانبندی تراکنشها در نظر بگیرید.
قفل زمانی در بلاک چین چیست؟
تایملاکها یکی از کاربردیترین قابلیتهای بیتکوین هستند که به شما این امکان را میدهند تا اقدامات را براساس یک سری پارامترها برنامهریزی کنید و در نتیجه بیتکوین را بهتر از پول، یک پول دیجیتال کاملاً قابل برنامهریزی کنید.
از توابع نوآورانه ای که بیت کوین دارد به نام Timelock معروف است . این ابزاری است که برای ایجاد و تعیین شرایط خاصی که تحت آن تراکنش ها ممکن است اعتبار سنجی شوند، خدمت می کند .
Un time lock o time lock نوعی قرارداد اولیه هوشمند است که به ارتفاع بلوک یا زمان خاصی اشاره دارد که ممکن است یک تراکنش خاص توسط ماینرها در بلاک چین گنجانده شود.
به طوری که تا زمانی که این شرایط برآورده شود، به عنوان نوعی بلوک یا محدودیت مطلق در مصرف بیت کوین های خاص عمل می کند .
قفل زمانی را می توان بر اساس زمان واقعی یا ارتفاع بلوک خاص تنظیم کرد.
بنابراین زمانی که آن زمان یا آن ارتفاع بلوک در قفل زمانی تعریف شد، ماینرها میتوانند تراکنش را در هش درخت مرکل وارد کنند و آن را به آخرین بلوک بلاک چین اضافه کنند. و در این زمان ممکن است معامله تایید شود.
طبقه بندی قفل زمانی در بیت کوین
Timelocks توسط خالق آن، ساتوشی ناکاموتو ، به نرم افزار اصلی بیت کوین اضافه شد .
آنها در همه تراکنش ها وجود دارند حتی اگر اکثر آنها از این تابع استفاده نکنند، بنابراین زمان مسدود کردن پیش فرض به شکل 0x00000000 (0) یا 0xFFFFFFFF (4294967295) است.
با این حال، برای آن دسته از تراکنش هایی که در آن قفل زمانی استفاده می شود، مهم است که بدانید که دارای 3 ویژگی مهم است. آنها چیستند: مکان ، جهت گیری و معیارها .
محل
همانطور که قبلاً اشاره کردیم، Timelocks را می توان در تراکنش ها پیدا کرد حتی اگر از این ویژگی استفاده نشود. و همچنین می توانند در فیلمنامه ها گنجانده شوند. هر دو بسیار شبیه هستند، اما عملکردهای کاملا متفاوتی را انجام می دهند.
در تراکنشها، قفلهای زمانی به این معنی است که تا زمانی که به زمان معینی نرسد یا به ارتفاع بلوک مشخصی نرسد، نمیتوان آن را تأیید کرد، اگرچه امضاهای دیجیتال و اسکریپتهای آن بله معتبر هستند.
در حالی که زمان قفل در اسکریپت ها تعیین می کند که آیا یک اسکریپت معتبر است یا خیر. بنابراین در تمام معاملاتی که یک خروجی صرف می شود، می توان شرایط ایجاد کرد.
برخلاف مسدود کردن تراکنش ها، آنها فقط آن تراکنش خاص را محدود می کنند. از این رو محل قفل های زمانی اهمیت دارد تا بتوانند عملیات مربوطه را انجام دهند.
گرایش
قفل های زمانی مطلق یا نسبی زمانی وجود دارد . اولی به ما اجازه می دهد تا بلوک را بر اساس زمان مشخصی تعریف کنیم. بنابراین میتوانیم لحظهای را انتخاب کنیم که بلوک در آن به پایان میرسد.
در حالی که قفل زمان نسبی به ما امکان می دهد زمان مشخصی را تعریف کنیم که از تأیید خروجی های قبلی باید سپری شود. هر دو گزینه برای تعریف فواصل زمانی لازم برای پردازش تراکنش توسط شبکه بیت کوین بسیار مفید هستند.
متریک
در بیت کوین دو راه برای اندازه گیری زمان وجود دارد: شماره بلوک و مهر زمانی . بنابراین می توانیم از هر دو برای ایجاد قفل زمانی استفاده کنیم.
هنگامی که یک قفل زمانی بر اساس یک شماره بلوک ایجاد می شود، ماینرها باید انتظار داشته باشند که به آن شماره بلوک برسند. این به منظور تأیید و تأیید عملیات و گنجاندن آن در یک بلوک جدید.
برعکس، زمانی که قفل زمانی بر اساس مهر زمانی تنظیم میشود، استخراجکنندگان منتظر میمانند تا زمان تعیینشده در چند ثانیه سپری شود. به عبارت دیگر زمان مشخصی برای اعتبار بخشیدن به معامله می رسد. این با علامت زمان یونیکس اندازه گیری می شود .
انواع قفل زمانی در بیت کوین
امروزه بیت کوین در حال حاضر 4 راه برای ایجاد قفل یا قفل زمانی دارد . دو مورد از این ابزارها در سطح تراکنش و دو مورد دیگر در سطح اسکریپت هستند. بیایید هر یک از آنها را ببینیم.
1.nLockTime
این یک انسداد زمان مطلق در سطح تراکنش است . این تنها قفل زمانی است که در نسخه اصلی نرم افزار بیت کوین موجود بود . زمانی که گره ها. تراکنش های با nLockTime برابر یا بیشتر از ارتفاع بلوک فعلی را مجددا ارسال یا تضعیف نکرد .
بنابراین تراکنش ها تا زمانی که به بلوک ایجاد شده نرسیدند اعتبار سنجی نشدند. در این قفل ها زمان به صورت اعداد صحیح 32 بیتی بدون علامت بیان می شود.
اگر عدد کمتر از 500 میلیون باشد، به عنوان ارتفاع بلوک تعبیر می شود. برعکس، اگر بیشتر از 500 میلیون باشد، به عنوان علامت زمان یونیکس در نظر گرفته می شود.
در نسخه 0.1.6 بیت کوین، تفسیر nLockTime به گونه ای تنظیم شد که امکان قفل گذاری مبتنی بر زمان را نیز فراهم کند .
سپس، با شروع بلوک 31001، محدودیتهای nLockTime به عنوان قاعدهای فعال شدند که برای پذیرش بلوک نیز اعمال میشد.
بعداً، در جولای 2016، قفلهای مبتنی بر زمان تغییر کردند تا بهجای مهر زمانی بلوک، بر روی میانگین زمان گذشته کار کنند.
یک nLockTime می تواند یک تراکنش را تا 9.500 سال با استفاده از اعداد بلوک و 2.106 سال با استفاده از مهرهای زمانی مسدود کند.
اگرچه هر تراکنش در حال حاضر حاوی تابع nLockTime است، اما اکثر کیف پول ها آن را روی 0 از پیش تنظیم کرده اند. این بدان معناست که تراکنش ها می توانند در هر بلوکی از زنجیره اعتبار سنجی شوند.
2.nتوالی
این یک قفل زمان نسبی در سطح تراکنش است . این قفل ها در اواسط سال 2016 به سافت فورک 68 BIP وارد شدند . در آن از اعداد ترتیبی برای ایجاد قفل های زمانی نسبی در سطح تراکنش استفاده می شود.
این به یک ورودی اجازه می دهد تا اولین زمانی را که می تواند به یک بلوک اضافه شود مشخص کند. بسته به مدت زمانی که خروجی صرف شده توسط آن ورودی در یک بلوک در بلاک چین گنجانده شده است.
هنگام اعمال nSequence چندین شرایط زمانی مختلف را می توان در یک تراکنش تنظیم کرد. بنابراین، برای معتبر بودن معامله، باید همه شرایط وجود داشته باشد. و اگر این اتفاق نیفتد، کل معامله رد می شود.
برخلاف nLockTime، nSequences فقط از 18 بیت از مجموع 32 بیت استفاده می کند، بنابراین 14 بیت برای پیاده سازی های بعدی رزرو شده است. و از آن 18 بیت در حال استفاده، 16 بیت برای رمزگذاری زمان مسدود شدن در نظر گرفته شده است.
بنابراین قفلهای nSequence به 65.535 واحد بلوک محدود میشوند و تنها 18 ساعت در ثانیه است.
3.CheckLockTimeVerify
همچنین با حروف اول آن به عنوان CLTV شناخته می شود. مسدود کردن زمان مطلق در سطح اسکریپت است .
جزئیات آن در سافت فورک 65 BIP است و در اواخر سال 2015 توسط توسعه دهنده پیتر تاد به شبکه معرفی شد. این پیشنهاد امکان انجام معامله ای را فراهم می کند که در آن تاریخ خاصی که در آن لازم الاجرا می شود را می توان مشخص کرد (یعنی تاریخی که گیرنده می تواند از وجوه ارسال شده استفاده کند).
یکی از توابع پیشرفته ای که CTLV اجازه می دهد، تغییر پارامتر احراز هویت یک آدرس چند امضایی است.
به عنوان مثال، اگر یک آدرس چند امضایی با طرح 2 از 3 ایجاد شده باشد، CLTV می تواند پارامتر مذکور را تحت معیارهای خاصی به طرح 1 از 3 تغییر دهد.
به این ترتیب، فرد می تواند وجوه را تحت شرایط خاص و توافق شده قبلی بازیابی کند. که به دلیل قابلیت برنامه ریزی پول بیت کوین در تراکنش تعریف می شود.
نتیجه گیری
در نتیجه قفل زمانی بیتکوین یک ویژگی حیاتی است که به افراد این امکان را میدهد که شرایط خاصی را برای انجام یا تصویب تراکنشها تعیین کنند و تا زمانی که این شرایط برآورده نشوند، اجرای تراکنش به تعویق میافتد. این ابزار از اهمیت زیادی برخوردار است، زیرا به افراد این امکان را میدهد تا تراکنشها را با شرایط مشخص و در زمانهای دلخواه انجام دهند.
اگر در زمینه سرمایه گذاری در بیت کوین سوالی دارید، میتوانید با مشاوران ما به صورت رایگان در ارتباط باشید.
همانطور که میدانیم موفقیت در معاملات بازار ارزهای دیجیتال همانند تمامی حرفه های تخصصی دیگر، نیازمند مهارت و تجربه بسیاری است. با توجه به اینکه بسیاری از افراد زمان کافی برای فراگیری دانش مربوط به فعالیت در بازار را ندارند اما همچنان تمایل به کسب سود از این بازار را به عنوان شغل دوم خود دارند، آکادمی کمال قزلباش با ارائه خدمتی کارآمد برای کمک به این دسته از عزیزان در رابطه با آموزش ارز دیجیتال تلاش کرده است. کاربران میتوانند از خدمات ما به عنوان چراغ راه مسیر موفقیت خود در این بازار استفاده کنند. و در صورت تمایل به سرمایه گذاری در ارزهای دیجیتال و یا آموزش ارز دیجیتال در ارومیه با مشاورین ما به صورت کاملا رایگان در ارتباط باشید.