اهمیت برچسب زمانی بیت کوین (Timestamp) و کاربرد آن
فهرست مطالب
مقدمه
برچسب زمانی بیت کوین در واقع ترتیب زمانی بلاکها در بلاکچین بیت کوین را نشان میدهد و بر حسب ساعت UTC یا Unix Time میباشد. برچسب زمانی بیت کوین (Timestamp)، زمان و نوع اتفاق در بلاک چین بیت کوین را نشان میدهد. اما عملکرد برچسب زمانی بیت کوین فقط مشخص کردن زمان بلاک بیت کوین نیست بلکه تغییرات هش ریت بیت کوین را نیز نمایش میدهد. همچنین نقش امنیتی را در شبکه بلاکچین بیت کوین ایفا کرده و از بلاکچین بیت کوین در برابر عوامل مخرب و دستکاری توسط آنها محافظت میکند.
برچسب زمانی بیت کوین چیست؟
برچسب زمانی بیت کوین (Bitcoin Timestamp) در واقع تعداد ثانیهها از تاریخ اول ژانویه 1970 تا زمان حال است. این عدد در زمان نگارش مقاله حدود 1 میلیارد و 600 میلیون ثانیه است. عدد برچسب زمانی برای مشخص شدن زمان دقیق هر عملیات به آن میچسبد و با اتصال به آن، به نوعی امنیت این اطلاعات را حفظ میکند. یکی از اهداف مهم اضافه کردن برچسب زمان به بیت کوین توسط ساتوشی ناکاموتو، جلوگیری از دوبار خرج کردن بیت کوین بوده است.
اهمیت برچسب زمانی بیت کوین
شاید اینطور به نظر برسد که زمان، عامل مهمی در شبکه بیت کوین نیست، زیرا بلاکها ترتیب مشخصی دارند و اطلاعات هر بلاک، از هش ریت بلاک قبلی کسب میشود. اگر تعداد زیادی ماینر در شبکه بیت کوین حضور داشته باشند، زمان استخراج هر بلاک کاهش مییابد و اگر ماینرهای زیادی از شبکه بیت کوین خارج شوند، زمان استخراج هر بلاک به شدت افزایش مییابد و شبکه ناپایدار میگردد. به منظور برطرف کردن این مشکل، هر دو هفته یکبار، سختی استخراج شبکه بیت کوین مجدداً تنظیم میشود تا مدت زمان استخراج بلاک روی 10 دقیقه ثابت بماند.
بنابراین، بلاکهای بیت کوین باید دارای برچسب زمانی باشند. از این رو، میتوان شبکه بیت کوین را به عنوان اولین ساعت الکترونیکی توزیعشده در جهان در نظر گرفت.
تغییرات برچسب زمانی بیت کوین
یک سرور برچسب زماندار، هش بلوکی از دادهها را گرفته و به آنها برچسب زمانی الحاق میکند. سپس هش به دست آمده را به طور گسترده منتشر میکند؛ چیزی شبیه به انتشار یادداشت در روزنامه. بدیهی است که به منظور محاسبه هش، به داده نیاز است. پس وجود این برچسب زمانی در هر لحظه وجود داده را اثبات میکند. هر برچسب زمانی، هش برچسب زمانی قبلی خود را نیز در بر میگیرد که در مجموع، یک زنجیره را شکل میدهند. هر برچسب زمانی جدید، برچسبهای زمانی قبل از خود را تقویت میکند. به منظور اعمال یک سرور برچسب زماندار توزیعشده، ما نیاز به یک سیستم اثبات انجام کار (گواه اثبات کار) داریم. سیستم گواه اثبات کار شامل وارسی برای مقداری است که اگر هش آن برای مثال با استفاده از الگوریتم SHA-256 محاسبه گردد، این عدد هششده باید با تعدادی از بیتها آغاز شود. متوسط “کار” مورد نیاز برای دستیابی به این مقدار از لحاظ بیتهای صفری مورد نظر به صورت نمایی است و با انجام یک هش قابل تصدیق میباشد.
به منظور آنکه زمان هر بلاک توسط نودها معتبر قلمداد شود، قانون Median Past Time (MPT) و قانون MAX FUTURE BLOCK TIME قرار داده شده است. قانون Median Past Time به این معنی است که زمان هر بلاک باید جلوتر از میانه زمان یازده بلاک آخر ایجاد شده باشد. قانون MAX FUTURE BLOCK TIME بیان میکند که باید زمان هر بلاک از میانگین زمانی 11 بلوک قبلی جلوتر باشد.
مشکل سال 2038 اشاره به اتفاقی در سال 2038 میلادی دارد که ممکن است برخی از نرمافزارها در آن سال از کار بیفتند. این مشکل روی همه سیستمها و نرمافزارهایی که ساعت سیستمی را به صورت یک عدد صحیح 32 بیتی ذخیره میکنند اثر خواهد گذاشت. دورترین مدت زمانی که میتوان در قالب 32 بیت ذخیره کرد، ساعت 03:14:07 در روز پنجشنبه، 19 ژانویه 2038 میلادی است (2147483647 ثانیه سپریشده از اول ژانویه 1970) و پس از رسیدن به این لحظه، متغیر 32 بیتی که زمان در آن ذخیره شده، سرریز خواهد شد. با رسیدن به این لحظه، ساعت دور خواهد زد و به یک عدد منفی تبدیل خواهد شد که باعث میشود این سیستمها این عدد را در عوض 19 ژانویه 2038، به صورت 13 دسامبر 1901 تفسیر کنند.
افزایش مدت زمان برچسب زمانی بیت کوین
هیچ هکر یا عامل مخربی نمیتواند برچسب زمانی را بیش از 2 ساعت افزایش دهد؛ مهم نیست که چه مقدار توان هشینگ در اختیار دارد. هرچند، هر مهاجم با توان هشینگ کافی میتواند با صدور بلاکهایی با برچسبهای زمانی تقریباً معتبر که فقط یک ثانیه از زمان میانگین 11 بلاک قبلی متفاوت است، سرعت پیشرفت برچسب زمانی بیت کوین را تغییر دهد.
در مواردی یک حمله انحراف زمانی (Time Warp Attack) عواید کوتاه مدتی برای مهاجم به ارمغان میآورد. اما دقیقاً مشخص نیست که به تأخیر انداختن چند ساعته برچسبهای زمانی چه انگیزهای میتواند به مهاجمان بدهد. با توجه به اینکه سایر پروتکلها را میتوان بر بستر بلاکچین بیت کوین ایجاد کرد (نظیر شبکه لایتنینگ و بیت کوین کش) احتمال اینکه پروتکلهایی که در آینده ایجاد میشوند، مورد حمله تأخیر در برچسب زمانی قرار بگیرند، وجود خواهد داشت.
برچسب زمانی بیت کوین چگونه مانع هک بیت کوین میشود؟
انگیزههایی برای ماینرها وجود دارد که در مورد زمان دروغ بگویند. به عنوان مثال، ماینرهای متخلف میتوانند یک برجسب زمان برای آینده اضافه کنند. به عنوان مثال، اگر تولید یک بلاک 10 دقیقه طول بکشد، استخراجکنندگان میتوانند با اضافه کردن یک برچسب زمان برای 5 دقیقه آینده، ادعا کنند که تولید یک بلاک 15 دقیقه طول میکشد. اگر این الگوی افزودن 5 دقیقه در طول دو هفته ادامه یابد، به نظر میرسد که میانگین زمان بلوک 15 دقیقه بوده؛ در حالی که در واقع کوتاهتر از این بوده است. بنابراین سختی شبکه میتواند در دوره بعدی به سمت پایین تنظیم شود و درآمد ماینینگ را به دلیل تغییر زمان بلاک افزایش دهد. البته مشکل اصلی این روش این است که ساعت بیت کوین به حرکت خود ادامه میدهد و بیشتر و بیشتر از زمان واقعی خارج میشود.
استفاده از برچسب زمانی میانه 11 بلاک قبلی به جای استفاده از میانگین، یک تصمیم هوشمندانه از جانب ساتوشی ناکاموتو بود؛ زیرا امکان دستکاری میانگین بیشتر است. یعنی اگر برچسبهای زمانی به ترتیب مشخص شده باشند، میانه اساساً به معنای برچسب زمانی ششمین بلاک قبلی است. اگر برچسبهای زمانی به ترتیب دستهبندی نشده باشند، یک الگوریتم ترتیب آنها را اصلاح میکند. بنابراین اگر کسی بخواهد تغییر معناداری در زمان برچسب زمانی ایجاد کند، باید 6 بلاک از 11 بلاک قبلی را ایجاد کرده باشد. به منظور انجام چنین حملهای، باید 55 درصد توان هشینگ شبکه بیت کوین را در اختیار داشته باشد که این موضوع به معنای از بین بردن یکی از مؤلفههای اصلی امنیت بیت کوین است. با این وجود، احتمال اینکه ماینری با توان هش کمتر این حمله را انجام دهد، بسیار پایین است.
برای درک این مطلب که ماینینگ و ایجاد 6 بلاک از 11 بلاک قبلی تا چه حد دشوار است، باید گفت که احتمال اینکه یک ماینر بتواند بلاک بعدی را حل کند، اساساً برابر با درصد توان هش او از کل هشریت شبکه است. در نتیجه، اگر فقط 5 درصد هش ریت در اختیار داشته باشد، احتمال ایجاد 6 بلاک از 11 بلاک قبلی برابر با 5 تقسیم بر 2000000000 (پنج دو میلیاردم) است.
سوابق حمله انحراف زمان بیت کوین
یک حمله انحراف زمان موفق میتواند منجر به این موضوع شود که بیت کوینهای باقیمانده طی 19 روز استخراج شوند. تقریباً چنین شرایطی در شبکه آزمایشی سوم بیت کوین مشاهده شد؛ به طوری که به دلیل وجود یک باگ در تنظیم سختی شبکه، این شبکه آزمایشی طی 8 سال حدود یک و نیم میلیون بلاک ایجاد کرده است که 3.5 برابر بیشتر از حد انتظار است.
حملههای انحراف زمان مبحث جدیدی نیست. چنین حملهای ابتدا برای کوینی به اسم Geist Geld در سال 2011 رخ داد و به عنوان نوعی از حمله 51 درصد بیان شد. هدف Geist Geld آزمایش سقف نرخ تولید بلاک از طریق زمانهای بلاک بسیار کوتاه و همچنین واکنش یک ارز دیجیتال به نرخ ثابت تولید بود.
وایت کوین (Whitecoin) نیز در سال 2014 حمله انحراف زمان را تجربه کرده است. در سال 2018 نیز Verge در طول 6 هفته دو بار این حمله را تجربه کرد. به طور کلی، ارزهای دیجیتال که توان هش کمی برای استخراج نیاز دارند در مقابل حمله انحراف زمان آسیبپذیر هستند.
سخن پایانی
با توجه به عدم وجود یک شبکه متمرکز جهت اجرای قوانین، قوانین محافظت از زمان بیت کوین کاملاً مؤثر به نظر میرسند. بیت کوین تاکنون حمله انحراف زمان را تجربه نکرده است و برچسب زمانی بیت کوین همواره معتبر بوده است. این یک شاهکار چشمگیر است.
دیدگاه خود را ثبت کنید