قفل زمانی در بیت کوین روشی برای محدود کردن زمان تایید تراکنشها به حساب میآید که با تعیین تاریخ یا ارتفاع مشخصی از بلاک انجام میشود. به عبارت دیگر، قفل زمانی (Time Lock) را میتوان به عنوان یک قرارداد هوشمند ساده تلقی کرد که شرایط مشخصی برای تایید تراکنشها در نظر میگیرد و تا زمانی که این شرایط تحقق نیابد، اجازه تایید آن را به ماینرها نخواهد داد. برای کسب اطلاعات بیشتر در مورد نحوه عملکرد Time Lock در بلاکچین بیت کوین، با فارسی سواپ در ادامه این مقاله همراه باشید.
نحوه عملکرد قفل زمانی در بیت کوین
از آغاز فعالیت بیت کوین، تمامی تراکنشهای این شبکه حداقل شامل یک فیلد قفل زمانی بودهاند. نکته جالب این است که این فیلدها تا پیش از پیادهسازی چندین پیشنهاد بهبود بیت کوین (BIP) عملکرد خاصی نداشتند.
تراکنشهای بیت کوین دارای قفل زمانی سه ویژگی خاص دارند که شامل: مکان، هدف یا گرایش، و قانون میشود.
مشاهده قیمت بیت کوین در فارسی سواپ
مکان (Location)
قفلهای زمانی بر اساس مکان (در تراکنش یا اسکریپت) مشخص میشوند. با اینکه این قفلها به عنوان محدودیت محسوب میشوند، اما به دلایل مختلف قابل استفاده هستند. قفل زمانی در سطح تراکنش تضمینکننده عدم تایید آن تا زمان مشخصی به شمار میرود؛ حتی اگر امضاهای دیجیتال درست باشند. در مقابل، قفل زمانی در سطح اسکریپت باعث میشود که تا زمانی که تراکنش در حالت قفل شده باشد، امضاهای دیجیتال بررسی نشوند.
به این ترتیب، قفل در سطح تراکنش زمان اجرای آن را معین میکند و قفل در سطح اسکریپت اجرا شدن یا نشدن آن را مشخص مینماید.
مطالعه بیشتر: آشنایی با شبکه همتا به همتا (P2P)
هدف (Target) یا گرایش (Orientation)
قفلهای زمانی در بیت کوین میتوانند مطلق (Absolute) یا نسبی (Relative) باشند. قفلهای مطلق مانع از تایید تراکنش تا زمان مشخصی (مانند ۱ بعد از ظهر) میشوند. اما قفلهای نسبی بر اساس شمارش معکوس (Countdown) عمل میکنند و تنها پس از پایان آن، اجازه تایید تراکنش را میدهند. به عنوان مثال، اگر قفل نسبی یک تراکنش بر اساس یک شمارش معکوس ۲ ساعته باشد، این تراکنش درست پس از پایان ۲ ساعت قابل تایید خواهد بود.
معیار (Metric)
زمان در بلاکچین بیت کوین بر اساس دو معیار تعیین میگردد: شماره بلاک و زمانسنج بلاک (Timestamp). بنابراین، قفلهای زمانی میتوانند بر اساس شماره یک بلاک یا زمانسنج تاریخی آن ساخته شوند. تراکنش مربوطه نیز تا زمانی که بلاک مشخص شده استخراج نشود یا زمان معین نگذرد، قابل تایید نخواهد بود.
معرفی انواع قفل زمانی در بیت کوین

در حال حاضر، امکان ایجاد قفل زمانی برای بیت کوین از طریق چهار روش وجود دارد. دو مورد از این روشها در سطح تراکنش (nLocktime و nSequence) و دو مورد دیگر در سطح اسکریپت (CheckLockTimeVerify و CheckSequenceVerify) اجرا میشود.
nLocktime
nLocktime به عنوان اولین قفل زمانی در شبکه بیت کوین شناخته میشود. این مقدار زمان لازم برای اضافه شدن تراکنش به یک بلاک معتبر را نشان میدهد. البته nLocktime میتواند به دو شکل تفسیر شود:
- کمتر از ۵۰۰ میلیون: شماره بلاک که پس از آن، امکان اضافه شدن تراکنش به بلاک معتبر وجود خواهد داشت.
- بیشتر از ۵۰۰ میلیون: زمانسنج یونیکس (UNIX)، که زمان تایید تراکنش را مشخص مینماید.
این قفل زمانی میتواند با استفاده از زمانسنج یونیکس یا شماره بلاک، تراکنش را تا ۲۰۰۰ یا ۹۰۰۰ سال قفل کند.
nSequence
nSequence در سال ۲۰۱۶ به عنوان بخشی از سافت فورک BIP68 معرفی شد و نزدیکترین زمان ممکن برای اضافه شدن تراکنش به بلاک را نمایان میسازد. این قفل خصوصیات مشابهی با nLocktime دارد، اما تنها ۱۸ بیت از ۳۲ بیت خود را برای این منظور به کار میگیرد. ۱۴ بیت دیگر در حالت ذخیره باقی میمانند و از این ۱۸ بیت، ۱۴ بیت به تعیین زمان بلاک اختصاص داده شدهاند. این بدان معناست که قفل nSequence تنها برای ۶۵۵۳۵ بلاک یا ۱۸ ساعت (۶۴۸۰۰ ثانیه) قابل استفاده است.
زمانی که یک nSequence تنظیم میشود، میتوان چندین شرط زمانی را به طور همزمان تعیین کرد و تنها در صورتی که همه آنها برقرار شوند، تراکنش تأیید خواهد شد.
Check Lock Time Verify
در اواخر سال ۲۰۱۵ و به عنوان بخشی از سافت فورک BIP65، کد NOP2 به کد تراکنش CheckLockTimeVerify یا CLTV تغییر یافت. CLTV در سطح اسکریپت اجرا میشود و خروجی تراکنش را تا زمان یا رسیدن به یک ارتفاع بلاک مشخص، قفل میکند. دو کاربرد اصلی این قفل به شرح زیر است:
- مشخص کردن زمانی که تراکنش باید انجام شود.
- تغییر پارامترهای تأیید هویت با استفاده از آدرسهای چند امضایی برای بازیابی دارایی.
برای مثال، اگر یک آدرس چند امضایی بر پایه ۲ از ۳ امضا باشد، CLTV میتواند این پارامتر را به شرایط خاص به ۱ از ۳ امضا تغییر دهد تا دسترسی به دارایی امکانپذیر گردد. البته برای انجام این امر، باید شرایط لازم قبلاً توسط هر ۳ امضا تأیید شده باشند.
Check Sequence Verify
Check Sequence Verify یا CSV، بخشی از سافت فورک BIP68 است و نوعی قفل نسبی به شمار میرود. CSV بر اساس تعداد بلاکها عمل میکند. به عنوان مثال، با استفاده از CSV میتوان یک تراکنش را تا زمانی که ۶۵ هزار بلاک دیگر استخراج نشدهاند، قفل کرد. با توجه به میانگین زمان استخراج در شبکه بیت کوین، این قفل نسبی میتواند تراکنش را تقریبا تا ۴۶۰ روز قفل نماید.
اهمیت استفاده از قفل زمانی در بیت کوین

با به کارگیری قفل زمانی برای یک تراکنش بیت کوین، میتوان سطح حفاظت بیشتری را به دست آورد. به طور مثال، اگر رضا پس از خرید بیت کوین نگران وضعیت چند روز آینده باشد، او میتواند داراییاش را با یک قفل ۱۰ روزه به علی بفرستد. در این حالت، رضا میتواند تا پیش از پایان مدت قفل و تأیید تراکنش در شبکه بیت کوین، آن را لغو کند. اگر مشکلی برای رضا پیش آید، دارایی او پس از ۱۰ روز به علی خواهد رسید.
مشاهده قیمت اتریوم در فارسی سواپ
در مثالی دیگر، علی میتواند بیت کوینهای خود را با قفل یک ساله به ارثبرهایش منتقل کند. بدین ترتیب، در صورت فوت او، داراییها بدون نیاز به وکیل یا ارگانهای دولتی به کسانی که قبلاً مشخص شدهاند، منتقل میشود. همچنین، علی میتواند تا قبل از پایان یک سال تراکنش را لغو کند یا مدت قفل را تمدید نماید.
یکی از بزرگترین چالشهای استفاده از قفل زمانی، نیاز به مهارتهای فنی نسبتاً بالا است. به علاوه، قفل شدن داراییها برای مدت طولانی هم میتواند خطر بزرگی باشد چرا که ممکن است ساختار شبکه تغییر کند و داراییها غیرقابل استفاده گردند.
شما به عنوان کاربر دنیای ارزهای دیجیتال، در چه شرایطی احساس میکنید که استفاده از قفل زمانی برای بیت کوین ضروری باشد؟








اولین دیدگاه را بنویسید و گفتوگو را شروع کنید.