timelock چیست
توجه: این سند ترجمه خودکار نسخه اصلی انگلیسی است.
timelock چیست
timelock مکانیسمی است تعبیهشده در قرارداد هوشمند که تأخیری اجباری میان لحظه پیشنهاد یک تغییر و لحظه اجرای واقعی آن اعمال میکند. در این دوره تأخیر، هر کسی — کاربران، دارندگان توکن، پژوهشگران امنیتی — میتواند تغییر در انتظار را بازرسی کند، اثر آن را بسنجد و پیش از اجرایی شدن تغییر تصمیم بگیرد اقدامی انجام دهد (مثلاً داراییاش را خارج کند).
timelock را مانند دوره اعلام عمومی پیش از لازمالاجرا شدن یک قانون جدید تصور کنید. قانون تصویب شده، اما شهروندان بازهای مشخص — مثلاً ۳۰ روز — دارند تا آن را بخوانند، بفهمند و پیش از اجباری شدن خود را تطبیق دهند. timelock همین کار را برای تغییرات قرارداد هوشمند میکند: تغییرات پیش رو را شفاف میسازد و به جامعه زمان واکنش میدهد.
خلاصه: timelock الگویی امنیتی است که اجرای تغییرات قرارداد هوشمند را برای دورهای ثابت به تأخیر میاندازد و به ذینفعان فرصت میدهد پیش از اعمال تغییر بازبینی کنند، واکنش نشان دهند یا خارج شوند.
timelock چگونه کار میکند
الگوی «صف و اجرا»
قرارداد timelock با فرایندی دومرحلهای کار میکند:
- صف (queue) — طرفی مجاز (معمولاً دارنده کلید ادمین، کیف پول multisig یا قرارداد حاکمیتی) تراکنش پیشنهادی را به قرارداد timelock میفرستد. تراکنش با برچسب زمانی onchain ثبت میشود و وارد دوره انتظار میشود.
- اجرا (execute) — پس از سپری شدن دوره تأخیر، تراکنش با فراخوانی دوباره قرارداد timelock قابل اجراست. اگر تأخیر نگذشته باشد، فراخوان اجرا برگشت میخورد (revert). برخی پیادهسازیهای timelock یک دوره مهلت (grace period) هم دارند — حداکثر بازهای پس از تأخیر که تراکنش باید در آن اجرا شود وگرنه منقضی میشود.
این الگو یعنی حتی اگر مهاجم کلید ادمین را در اختیار بگیرد، نمیتواند بلافاصله تغییری اعمال کند. تأخیر به جامعه فرصت میدهد تراکنش مخرب را در صف تشخیص دهد و اقدام حفاظتی انجام دهد.
مدت تأخیرها
تأخیر timelock بسته به پروژه و شدت تغییری که کنترل میشود متفاوت است. بازههای رایج:
- ۲۴ تا ۴۸ ساعت — برای تنظیمهای معمول پارامترها (تغییر کارمزد، نرخ پاداش).
- ۲ تا ۷ روز — برای ارتقاهای مهم قرارداد یا تغییر منطق هسته پروتکل.
- ۱۴ تا ۳۰ روز — برای تغییرات بحرانی مانند مهاجرت به قراردادهای جدید یا تغییر پارامترهای اقتصادی بنیادی.
تأخیر مناسب به موازنه میان امنیت (تأخیر طولانیتر زمان واکنش بیشتری میدهد) و چابکی عملیاتی (تأخیر کوتاهتر پاسخ سریعتر به نیازهای مشروع مانند رفع باگ را ممکن میکند) بستگی دارد.
شفافیت timelock
چون همه تراکنشهای در صف بهصورت onchain ثبت میشوند، ابزارهای پایش و اعضای جامعه میتوانند برای هر ورودی جدید در صف timelock هشدار تنظیم کنند. چند پلتفرم تحلیل بلاکچین و سرویس اعلان، پایش timelock را مشخصاً برای پروتکلهای DeFi و DAOها ارائه میدهند. این شفافیت سرچشمه ارزش امنیتی timelock است — قدرت یکجانبه ادمین را به قدرتی قابلمشاهده و زمانمند تبدیل میکند.
چرا timelock برای پروژههای کریپتو AI اهمیت دارد
محافظت از کاربران در برابر تغییرات ناگهانی
پروژههای کریپتو AI اغلب دارایی چشمگیر کاربران، منابع محاسباتی یا تعهدات داده را از طریق قراردادهای هوشمند مدیریت میکنند. بدون timelock، دارنده کلید ادمین میتواند قواعد قرارداد را در لحظه تغییر دهد — پاداشها را منحرف کند، ساختار کارمزد را عوض کند یا منطق قرارداد را به شکلی زیانبار برای کاربران ارتقا دهد. timelock تضمین میکند هر تغییری از پیش دیده شود و کاربران بتوانند خارج شوند یا موقعیت خود را تنظیم کنند.
محدود کردن آسیب کلیدهای لورفته
حتی کلیدهای ادمین خوبمحافظتشده هم ممکن است با فیشینگ، مهندسی اجتماعی یا نفوذ به زیرساخت لو بروند. timelock خط دفاعی دوم است: حتی اگر مهاجم دسترسی ادمین بگیرد، نمیتواند تغییرات را سریعتر از تأخیر timelock اجرا کند. جامعه و تیم پروژه در دوره تأخیر فرصت دارند تراکنش غیرمجاز را در صف تشخیص دهند، پاسخ را هماهنگ کنند و (در برخی پیادهسازیها) تغییر در انتظار را لغو کنند.
نشانه بلوغ عملیاتی
برای ارزیابهایی که کارت پروژه را بررسی میکنند، وجود timelock روی توابع حیاتی قرارداد نشان میدهد تیم امنیت عملیاتی را جدی گرفته است. پروژهای که timelock را با کلید ادمین multisig ترکیب میکند امنیت لایهای را نشان میدهد — چند سازوکار محافظ مستقل بهجای اتکا به یک مکانیسم واحد.
این موضوع در کارتهای پروژه DecAIHub کجا دیده میشود
- کلیدهای ادمین — وجود یا نبود timelock روی توابع تحت کنترل ادمین، عاملی کلیدی در ارزیابی میزان قدرت یکجانبهای است که تیم نگه داشته است. کارت پروژهای که میگوید «کلیدهای ادمین در اختیار multisig با timelock ۴۸ ساعته» وضعیت امنیتی بهطور معناداری متفاوتی را توصیف میکند تا «کلیدهای ادمین در اختیار یک EOA بدون timelock».
- معماری قرارداد هوشمند — timelock بخشی از طراحی امنیتی گستردهتر قرارداد هوشمند است. اغلب در کنار الگوهای ارتقا (قراردادهای proxy، قراردادهای beacon) دیده میشود، جایی که توانایی تغییر منطق هم لازم است و هم خطرناک.
- حاکمیت — در پروژههای دارای حاکمیت onchain، timelock معمولاً میان رأی حاکمیتی و اجرای پیشنهاد تصویبشده قرار میگیرد. این تأخیر نهایی از ذینفعان اقلیت محافظت میکند که شاید با پیشنهاد تصویبشده مخالف باشند و برای خروج زمان لازم داشته باشند.
timelock بهتنهایی چه چیزی را اثبات نمیکند
- امنیت کد — timelock تغییرات را به تأخیر میاندازد اما ممیزی نمیکند. یک ارتقای معیوب همانقدر آسان از timelock میگذرد که یک ارتقای درست. timelock در برابر غافلگیری محافظت میکند، نه در برابر طراحی بد.
- اینکه تغییرات حتماً دیده میشوند — timelock فقط وقتی ارزش دارد که کسی فعالانه صف را پایش کند. اگر هیچ عضو جامعه، پژوهشگر امنیتی یا ابزار پایشی نگاه نکند، تراکنش مخرب در صف میتواند بدون جلب توجه از دوره تأخیر عبور کند.
- تمرکززدایی — timelock روی یک کلید ادمین منفرد شفافیت میافزاید اما کنترل را توزیع نمیکند. تمرکززدایی واقعی نیازمند ترکیب timelock با حاکمیت توزیعشده است (multisig، رأیگیری DAO یا حاکمیت دارندگان توکن).
- برگشتناپذیری محافظت — تیمی که timelock را مستقر کرده شاید بتواند با یک اقدام حاکمیتی آن را بردارد یا تأخیر را کم کند. ماندگاری timelock به این بستگی دارد که خودِ timelock در برابر تغییر محافظت شده باشد.
اشتباه نگیرید با
| اصطلاح | تفاوت |
|---|---|
| Vesting | vesting برنامه آزادسازی زمانبندیشده توکنهای تخصیصیافته است. timelock تأخیری امنیتی روی تغییرات قرارداد هوشمند است. vesting کنترل میکند توکنها کی در دسترس دارندگان قرار گیرند؛ timelock کنترل میکند تغییرات قرارداد کی اثر کنند. |
| Multisig | multisig برای مجاز شدن یک اقدام چند امضا میخواهد. timelock پس از مجازشدن، تأخیر اعمال میکند. لایههای مکملاند — multisig تعیین میکند چه کسی، timelock تعیین میکند چه زمانی. |
| تأخیر حاکمیتی | برخی سیستمهای حاکمیتی دورههای رأیگیری داخلی دارند که شبیه timelock عمل میکنند. timelock مکانیسم مشخص قرارداد هوشمند است که پس از اتخاذ تصمیم اعمال میشود؛ تأخیر حاکمیتی زمانِ خودِ تصمیمگیری است (دوره رأیگیری، حد نصاب). |
پرسشهای متداول
آیا میتوان timelock را دور زد؟
در یک timelock درست پیادهسازیشده، خیر — تأخیر در سطح قرارداد هوشمند اعمال میشود و هیچ طرفی نمیتواند از آن بگذرد. با این حال باگهای پیادهسازی، پیکربندی قراردادهای proxy یا مکانیسمهای لغو اضطراری (که گاه کلیدهای «guardian» نامیده میشوند) میتوانند مسیرهای دورزدن بسازند. هنگام ارزیابی timelock یک پروژه، مهم است بدانیم آیا لغو اضطراری وجود دارد و چه کسی آن را کنترل میکند.
تأخیر معمول timelock چقدر است؟
استاندارد جهانی وجود ندارد. تأخیرها بسته به نوع تغییر و تحمل ریسک پروژه از چند ساعت تا چند هفته متغیرند. تأخیرهای کوتاه (۲۴ ساعت) پاسخ عملیاتی سریعتری میدهند اما زمان واکنش کمتری به جامعه میدهند. تأخیرهای طولانی (۷ روز و بیشتر) محافظت قوی میدهند اما توانایی پروژه در پاسخ به مسائل مشروع را کند میکنند. بیشتر پروتکلهای جاافتاده DeFi برای تغییرات معمول از ۲۴ تا ۷۲ ساعت و برای ارتقاهای بحرانی از تأخیرهای طولانیتر استفاده میکنند.
timelock چگونه با multisig تعامل میکند؟
timelock و multisig لایههای امنیتی مکملاند. multisig تضمین میکند هیچ دارنده کلید منفردی نتواند تغییری آغاز کند. timelock تضمین میکند حتی پس از تأیید multisig، تغییر بلافاصله اثر نکند. این دو با هم، هم مجازسازی توزیعشده میدهند و هم زمان بازبینی عمومی — پیکربندیای که در سیستمهای قرارداد هوشمند پرارزش رایج است.
منابع خارجی
- OpenZeppelin TimelockController Documentation — مرجع فنی پرکاربردترین پیادهسازی timelock در قراردادهای هوشمند Solidity.
No comments to display
No comments to display