قفل زمانی (Time Lock) بیت کوین چیست؟
قفل زمانی (Time Lock) در بیت کوین یک ویژگی است که به کاربران امکان میدهد تراکنشهای خود را به صورت مشروط در زمان آینده انجام دهند.
با استفاده از قفل زمانی، میتوان تراکنشها را به طوری برنامهریزی شده ارسال کرد که تا زمان مشخصی قابل اجرا و اجرا نشوند.
در بیت کوین، دو نوع قفل زمانی وجود دارد: قفل زمانی مطلق (Absolute Time Lock) و قفل زمانی رابطهای (Relative Time Lock).
-
قفل زمانی مطلق (Absolute Time Lock): با استفاده از قفل زمانی مطلق، میتوان یک تراکنش را برنامهریزی کرد تا پس از گذشتن زمان مشخصی (به عنوان مثال، یک روز، یک هفته یا یک ماه) قابل اجرا شود. در این حالت، زمان اجرای تراکنش مستقل از هر تراکنش دیگری است و تراکنش فقط پس از گذشت زمان مشخص از زمان ایجاد آن قابل اجرا میشود.
-
قفل زمانی رابطهای (Relative Time Lock): در قفل زمانی رابطهای، زمان اجرای تراکنش به زمان اجرای یک تراکنش قبلی وابسته است. برای مثال، میتوان یک تراکنش را برنامهریزی کرد تا پس از ۲۴ ساعت اجرا شود، اما شرط اجرای آن تنها پس از اجرای یک تراکنش قبلی است. این نوع قفل زمانی بیشتر برای ایجاد تراکنشهای پیوسته و پیوندیده با هم در شبکه بلاکچین بیت کوین استفاده میشود.
قفل زمانی در بیت کوین به صورت مخصوصیتهایی در ساختار تراکنشها و اسکریپتها (script) پیادهسازی میشود. این ویژگی به کاربران امکان میدهد تا تراکنشهایی را که برای اجرا در آینده برنامهریزی میکنند، ارسال کنند و از طریق قفل زمانی، زمان اجرای آنها را مشخص کنند.
معرفی انواع قفل زمانی
- قفل زمانی nLocktime
قفل زمانی nLockTime یکی از ویژگیهایی است که در تراکنشهای بیت کوین استفاده میشود. این ویژگی به کاربران امکان میدهد تراکنشها را به صورت مشروط در زمان آینده ارسال کنند.
nLockTime یک فیلد 32 بیتی است که در ساختار تراکنش بیت کوین وجود دارد. این فیلد میتواند یک عدد صفر (0) یا یک عدد بزرگتر از صفر باشد. مقدار صفر به معنی عدم استفاده از قفل زمانی است و مقدار بزرگتر از صفر، زمان بستهشدن تراکنش را مشخص میکند.
وقتی که nLockTime یک تراکنش بیت کوین مقداری بزرگتر از صفر دارد، این به معنی آن است که تراکنش فقط پس از گذشتن زمان مشخص شده توسط nLockTime قابل اجرا و وارد شدن به بلاکچین میشود. در این حالت، تراکنش در حالت "قفل شده" (locked) قرار دارد و تا زمان مناسب به صورت خودکار در شبکه بلاکچین انتشار نمییابد.
استفاده از قفل زمانی nLockTime میتواند در موارد مختلف مفید باشد، از جمله:
-
اجرای تراکنشهای شرطی: با استفاده از nLockTime، میتوان تراکنشها را به طور شرطی برنامهریزی کرد، مانند اینکه تراکنش فقط پس از گذشت یک مدت زمانی مشخص اجرا شود یا تنها در صورت بروز یک شرط خاصی اعمال شود.
-
امانتداری: با استفاده از قفل زمانی، میتوان تراکنشها را به صورت امانتی برنامهریزی کرد، به طوری که تا زمان مشخصی صرفاً صاحب تراکنش قادر به اجرای آن نباشد و تراکنش فقط در صورت عبور زمان مشخص قابل اجرا باشد.
-
آزمایش و تست: با استفاده از nLockTime، تراکنشها را میتوان برای آزمایش و تست در شبکه بلاکچین ارسال کرد، اما اجرای آنها را به تاخیر انداخت تا از نتایج و اثرات آن در شبکه مطمئن شویم.
قفل زمانی nLockTime از جمله ابزارهایی است که در بیت کوین برای ایجاد انعطافپذیری بیشتر در ارسال و اجراین پیغام قسمتی از پاسخ قبلی که به این سوال دادم را نشان میدهد:
"وارد شدن به بلاکچین میشود. در این حالت، تراکنش در حالت "قفل شده" (locked) قرار دارد و تا زمان مناسب به صورت خودکار در شبکه بلاکچین انتشار نمییابد.
استفاده از قفل زمانی nLockTime میتواند در موارد مختلف مفید باشد، از جمله:
-
اجرای تراکنشهای شرطی: با استفاده از nLockTime، میتوان تراکنشها را به طور شرطی برنامهریزی کرد، مانند اینکه تراکنش فقط پس از گذشت یک مدت زمانی مشخص اجرا شود یا تنها در صورت بروز یک شرط خاصی اعمال شود.
-
امانتداری: با استفاده از قفل زمانی، میتوان تراکنشها را به صورت امانتی برنامهریزی کرد، به طوری که تا زمان مشخصی صرفاً صاحب تراکنش قادر به اجرای آن نباشد و تراکنش فقط در صورت عبور زمان مشخص قابل اجرا باشد.
-
آزمایش و تست: با استفاده از nLockTime، تراکنشها را میتوان برای آزمایش و تست در شبکه بلاکچین ارسال کرد، اما اجرای آنها را به تاخیر انداخت تا از نتایج و اثرات آن در شبکه مطمئن شویم.
قفل زمانی nLockTime از جمله ابزارهایی است که در بیت کوین برای ایجاد انعطافپذیری بیشتر در ارسال و اجرای تراکنشها استفاده میشود."
- قفل زمانی nSequence
قفل زمانی nLockTime یکی از ویژگیهایی است که در تراکنشهای بیت کوین استفاده میشود. این ویژگی به کاربران امکان میدهد تراکنشها را به صورت مشروط در زمان آینده ارسال کنند.
nLockTime یک فیلد 32 بیتی است که در ساختار تراکنش بیت کوین وجود دارد. این فیلد میتواند یک عدد صفر (0) یا یک عدد بزرگتر از صفر باشد. مقدار صفر به معنی عدم استفاده از قفل زمانی است و مقدار بزرگتر از صفر، زمان بستهشدن تراکنش را مشخص میکند.
وقتی که nLockTime یک تراکنش بیت کوین مقداری بزرگتر از صفر دارد، این به معنی آن است که تراکنش فقط پس از گذشتن زمان مشخص شده توسط nLockTime قابل اجرا و وارد شدن به بلاکچین میشود. در این حالت، تراکنش در حالت "قفل شده" (locked) قرار دارد و تا زمان مناسب به صورت خودکار در شبکه بلاکچین انتشار نمییابد.
استفاده از قفل زمانی nLockTime میتواند در موارد مختلف مفید باشد، از جمله:
-
اجرای تراکنشهای شرطی: با استفاده از nLockTime، میتوان تراکنشها را به طور شرطی برنامهریزی کرد، مانند اینکه تراکنش فقط پس از گذشت یک مدت زمانی مشخص اجرا شود یا تنها در صورت بروز یک شرط خاصی اعمال شود.
-
امانتداری: با استفاده از قفل زمانی، میتوان تراکنشها را به صورت امانتی برنامهریزی کرد، به طوری که تا زمان مشخصی صرفاً صاحب تراکنش قادر به اجرای آن نباشد و تراکنش فقط در صورت عبور زمان مشخص قابل اجرا باشد.
-
آزمایش و تست: با استفاده از nLockTime، تراکنشها را میتوان برای آزمایش و تست در شبکه بلاکچین ارسال کرد، اما اجرای آنها را به تاخیر انداخت تا از نتایج و اثرات آن در شبکه مطمئن شویم.
قفل زمانی nLockTime از جمله ابزارهایی است که در بیت کوین برای ایجاد انعطافپذیری بیشتر در ارسال و اجراین پیغام قسمتی از پاسخ قبلی که به این سوال دادم را نشان میدهد:
"وارد شدن به بلاکچین میشود. در این حالت، تراکنش در حالت "قفل شده" (locked) قرار دارد و تا زمان مناسب به صورت خودکار در شبکه بلاکچین انتشار نمییابد.
استفاده از قفل زمانی nLockTime میتواند در موارد مختلف مفید باشد، از جمله:
-
اجرای تراکنشهای شرطی: با استفاده از nLockTime، میتوان تراکنشها را به طور شرطی برنامهریزی کرد، مانند اینکه تراکنش فقط پس از گذشت یک مدت زمانی مشخص اجرا شود یا تنها در صورت بروز یک شرط خاصی اعمال شود.
-
امانتداری: با استفاده از قفل زمانی، میتوان تراکنشها را به صورت امانتی برنامهریزی کرد، به طوری که تا زمان مشخصی صرفاً صاحب تراکنش قادر به اجرای آن نباشد و تراکنش فقط در صورت عبور زمان مشخص قابل اجرا باشد.
-
آزمایش و تست: با استفاده از nLockTime، تراکنشها را میتوان برای آزمایش و تست در شبکه بلاکچین ارسال کرد، اما اجرای آنها را به تاخیر انداخت تا از نتایج و اثرات آن در شبکه مطمئن شویم.
قفل زمانی nLockTime از جمله ابزارهایی است که در بیت کوین برای ایجاد انعطافپذیری بیشتر در ارسال و اجرای تراکنشها استفاده میشود."
- قفل زمانی CSV
قفل زمانی CSV به معنی "CheckSequenceVerify" است و یک ویژگی در تراکنشهای بیت کوین است. این ویژگی اجازه میدهد تا تراکنشها بر اساس زمان گذشته شده از یک تراکنش قبلی بازنگری شوند و شرایط خاصی را برای اجرای تراکنشها تعیین کنند. قفل زمانی CSV با استفاده از فیلد nSequence در تراکنش بیت کوین پیاده سازی میشود.
با استفاده از قفل زمانی CSV، میتوان شرایط خاصی را برای اجرای تراکنشها تعیین کرد. به عنوان مثال، میتوان یک تراکنش را به گذشت یک تعداد مشخصی از بلوکها مرتبط کرد. این به کاربران اجازه میدهد تا تراکنشهای مشروط را تولید کنند که تا زمانی که یک شرط زمانی خاص برآورده نشود، اجرا نمیشوند.
قفل زمانی CSV عملکرد زیر را دارد:
-
مقدار nSequence برای یک ورودی تراکنش باید بزرگتر از 0xFFFFFFFD باشد و این مقدار باید برای تمام ورودیهای تراکنش یکسان باشد.
-
در زمان اجرای تراکنش، بلوک فعلی باید از زمان بلوکی که تراکنش قبلی را شامل میشود، حداقل به اندازه مقدار nSequence گذشته باشد.
-
اگر شرط زمانی برآورده نشود، تراکنش رد میشود و اجرا نمیشود.
قفل زمانی CSV میتواند در مواردی مفید باشد که نیاز است تا تراکنشها به صورت مشروط و بر اساس زمانی خاص اجرا شوند. به عنوان مثال، این ویژگی میتواند در اجرای قراردادهای هوشمند و تراکنشهای مربوط به زمانبندی و پرداختهای مشروط استفاده شود.
مقدار nSequence برای تراکنشهای CSV توسط کاربران تعیین میشود و آنها میتوانند شرایط خاصی را برای اجرای تراکنشها تعیین کنند.
ثبت دیدگاه
0دیدگاه
دیدگاهی ثبت نشده است.
اولین نفری باشید که دیدگاهتان ثبت میشود.