هدر بلاک چیست؟ آشنایی با Block Header در بلاکچین و ارز دیجیتال
حتما میدانید که بلاک چین از زنجیرهای از بلوکها تشکیل شدهاند که هر بلوک حاوی اطلاعات مهمی از جمله زمان تراکنشهاست. اما آیا راهی وجود دارد که بتوان این بلوکها را در سراسر این زنجیره از هم تشخیص داد؟ آیا میتوان یک سری از اطلاعات را در جایی در بلوک ذخیره کرد تا دیگر ماینر نیاز به بررسی کل بلوک برای پی بردن به اطلاعات داخل آن نداشته باشد؟ راه حل، هدر بلاک است؛ در این مقاله همه آنچه که در مورد آن بدانید را در اختیار شما قرار میدهیم.
در واقع هدر بلاک در بالاترین سطح بلاک قرار دارد حاوی اطلاعاتی از جمله تراکنشها، زمان وقوع آنها، میزان سختی استخراج و جزئیات دیگر است که میتواند در افزایش امنیت و همچنین حفظ یکپارچگی بلاکهای مختلف در زنجیره بلاکها موثر باشد.
تا انتهای مقاله همراه ما باشید تا با Block Header در ارز دیجیتال و نحوه عملکرد آن آشنا شوید. همچنین، برای اطلاع از قیمت ارز دیجیتال میتوانید به سایت والکس مراجعه کنید.
هدر بلاک رمزارز چیست؟
هدر بلاک را میتوان نشانهای برای شناسایی هر بلاک در زنجیره بلاک چین دانست. هدر بلاک مداوما هش شده تا اثبات کار برای پاداشهای استخراج ایجاد شود. در واقع میتوان بلاک چین را زنجیرهای از بلاکهای مختلف دانست که در هر بلاک اطلاعات مربوط به تراکنشهایی که در شبکه اتفاق میافتد، ذخیره میشوند. هدر بلاک باعث میشود که بتوان هر بلاک را از دیگری تشخیص داد.
Block Header چیزی است که ماینرها آن را هش میکنند تا به آن اعتبار دهند. در واقع، هش کردن هدر بسیار کارآمدتر از هش کردن کل بلوکی باشد که میتواند هزاران تراکنش داشته باشد. برای یک ماینر خیلی سخت تر است که Nonce را تغییر دهد و یک بلوک کامل ۲ مگابایتی را برای هر تلاش دوباره هش کند. برای مثال، این را با هش کردن هدرهای بلوک بیت کوین مقایسه کنید که طول ثابتی ۸۰ بایت دارند.
هدر بلاک چه اجزایی باید داشته باشد؟
هدر بلاک ارز دیجیتال از سه مجموعه ابرداده بلوک تشکیل شده است. ابتدا، اشارهای به هش بلاک قبلی وجود دارد که این بلوک را به بلوک قبلی در بلاک چین متصل میکند. مجموعه دوم فراداده، سختی هدف است که اطلاعات مربوط به مهر زمانی و عدم وجود در رقابت استخراج را نگهداری میکند. سومین قسمت از ابرداده ریشه درخت مرکل است که خلاصه از تراکنشها را نشان میدهد.
هدر بلوک ۸۰ بایت است، در حالی که میانگین تراکنش حداقل ۲۵۰ بایت است و بلوک متوسط شامل بیش از ۵۰۰ تراکنش است.
سایز | فیلد | توضیح |
۴ بایت | شماره نسخه (Version) | شماره نسخه برای ردیابی ارتقاء نرم افزار/پروتکل |
۳۲ بایت | هش بلاک پیشین | ارجاع به هش بلوک قبلی (والد) در زنجیره |
۳۲ بایت | ریشه درخت مرکل | هش ریشه درخت مرکل مربوط به تراکنشهای این بلوک |
۴ بایت | مهرزمانی (Timestamp) | زمان تقریبی ایجاد این بلوک (ثانیه از یونیکس Epoch) |
۴ بایت | سختی هدف (Difficulty Target) | هدف دشواری الگوریتم اثبات کار برای این بلوک |
۴ بایت | Nonce | شمارندهای که برای الگوریتم اثبات کار استفاده میشود |
جدول ۱. ساختار هدر بلاک
در ادامه بیشتر با این اجزاء آشنا میشوید.
هریک اجزاء هدر بلاک چه اطلاعاتی را نگه میدارد؟
هر یک از مؤلفههای گفته شده در بخش قبل برای ایجاد یک هدر دقیق و قابل اعتماد حیاتی هستند.
در واقع هدر بلوک بخشی از یک بلوک است که خلاصهای از آنچه در بلوک است را بیان میکند. از ابردادههایی مانند زمان و دشواری استخراج بلوک، ریشه Merkle تراکنشهای موجود و nonce تشکیل شده است. همچنین هش بلوک قبلی نیز دارد، که به ما این امکان را میدهد که «زنجیره» بلوکها را ایجاد کنیم. در اصل، هدر بلوک فقط حاوی فهرست تراکنشهای خام نیست.
شماره نسخه هدربلاک
با کمک شماره نسخه هدر بلاک میتوان تغییرات و به روزرسانیها را در سراسر پروتکل پیگیری کرد. سه نوع نسخه وجود دارد که بلاک ها از آن ها استفاده می کنند که در ادامه آمدهاند.
- نسخه بلاک چین ۱.۰ (ارز رمزنگاری شده): همانند بیت کوین از یک دفتر کل عمومی برای ذخیره دادهها بهره میبرد.
- بلاک چین نسخه ۲.۰ (قرارداد هوشمند): برنامههایی است که مربوط به خود شبکه اجراکننده است، همانند اتریوم.
- بلاک چین نسخه ۳.۰ (DAPPS): این نسخه برای ایجاد یک ساختار غیرمتمرکز همانند مرورگر tor استفاده میشود.
- بلاک چین نسخه ۴.۰ (بلاک چین برای صنعت): این نسخه برای ایجاد شبکه بلاک چین مقیاس پذیر و مقرون به صرفه که بیشتر افراد امکان استفاده از آن را داشته باشند، استفاده میشود.
هش بلاک قبلی
بلاک چین از چندین گره با نام بلوک یا بلاک تشکیل شده است که به هم پیوسته هستند. هش بلاک قبلی، آدرس گره قبلی یا والد را نگه میدارد. در واقع، این بخش باعث اتصال بلاک فعلی به بلاک والد شده و زنحیرهای ایمن ایجاد میکند. تنها بلوکی که در بلاک چین این مقدار را ندارد Genesis Block است که اولین گره این زنجیره است.
ریشه Merkle
این درخت در محاسبه مقدار ریشه خود استفاده می کند تا از دادههای خراب، هک شده و یا دستکاری شده مطلع شود. این بخش تمام تراکنشها را در هدر بلاک به صورت هش شده نگهداری میکند که شامل مهر زمانی است که امکان اینکه بتوان از زمان وقوع یک رویداد خاص را در یک رکورد دائمی و رمزگذاری شده مطلع شد را میدهد. اطلاعاتی همچون تاریخ و زمان را نشان میدهد و میزان دقت بسیار بالایی با خطایی کمتر از ثانیه دارد.
مهر زمانی
مهر زمانی در زنجیره بلوکی نشان دهنده این است ک یک بلوک در چه زمانی اجرا شده است. همچنین این مهر زمانی به عنوان پارامتری برای تأیید صحت هر بلوک استفاده میشود.
دشواری هدف
برای تنظیم میزان سختی ماینرهایی که برای حل این بلاک کار میکنند استفاده میشود. این بخش پیچیدگی و قدرت محاسباتی مورد نیاز برای استخراج شبکه را مشخص میکند، اگر هدفی میزان سطح دشواری بیشتری داشت، باید برای استخراجش از به یک ماشین محاسباتی گرانتر استفاده کرد.
nonce
مقداری است که ماینرها میتوانند برای ایجاد جایگشتهای مختلف تغییر دهند و یک هش درست در دنباله ایجاد کنند.
این عدد به اختصار «عدد فقط یک بار استفاده میشود» نامیده میشود و عددی است که استخراجکنندگان بلاک چین آن را پیدا میکنند و به طور متوسط تقریباً ۱۰ بار طول میکشد تا به غیر صحیح آن پی ببرند. عدد نانس یک عدد ۳۲ بیتی است که حداکثر مقدار آن (۳۲) ^ ۲ است، بنابراین وظیفه استخراج کنندگان بیت کوین این است که مقدار صحیح را که یک عدد صحیح تصادفی بین ۰ و (۳۲) ^ ۲ است، بیابند. بنابراین از نظر محاسباتی گران میشود.
هدر بلاک در بلاکچ چین چگونه کار میکند؟
هدر بلاک معمولا در داکیومنتهای توسعه دهندگان بیت کوین مورد استفاده قرار میگیرد که موجب میشود وظایف هر بلاک به سرعت و آسان ذخیره شوند. در واقع با کمک هدر بلاک میتوان کل بلاک چین را در یک پایگاه داده ساده و یا به صورت فایل ذخیره کرد. به عبارت دیگر، هدر بلاک در بلاکچین را میتوان در پشتهای عمودی سازماندهی کرد تا بتوان به کل بلاک چین دسترسی داشت.
بلاکها به صورت لایه لایه طراحی میشوند که در بالاترین سطح بلاک پایه قرار دارد. هرچه تعداد بلاکها افزایش یابد، لایهای جدید تشکیل شده و ارتفاع آن بیشتر میشود. اولین بلاک در زنجیره با نام «بلاک پیدایش» شناخته میشود. همین طراحی لایهای و نگهداری تاریخچه باعث امنیت بیت کوین میشود.
برای آنکه با استخراج استاندارد آشنا شوید، یک هدر بلاک را در نظر بگیرید که به صورت مکرر توسط تابع هش با تغییر مقدار nonce هش میشود. با این کار در صدد ایجاد مدرک اثبات کار هستند. این مدرک اثبات کار به ماینرها کمک میکند تا پاداشی در ازای مشارکت در حفظ عملکرد یکپارچه و کارآمد سیستم بلاک چین پاداش دریافت کنند.
شناسه اصلی هر بلاک همان هش رمزنگاری است که در آن وجود دارد. در واقع این هش رمزنگاری مانند اثر انگشت دیجیتال آن بلاک بوده و هدر بلاک توسط الگوریتمهای هش رمزگشایی شده و دوباره قابل خواندن و اجرا میشوند. در انتهای مقاله در مورد هش رمزنگاری بیشتر توضیح داده ایم.
هش بلوک چیست؟
همان طور که گفتیم هش رمزنگاری همانند اثر انگشت، شناسه بلوک بوده که با هش کردن دوبار هدر بلوک از طریق الگوریتم SHA256 ساخته میشود. نتیجه این کار هش ۳۲ بایتی است که هش بلوک نامیده میشود. اما در واقع هش هدر بلوک است، زیرا فقط هدر بلوک برای محاسبه آن استفاده میشود. به عنوان مثال، ۰۰۰۰۰۰۰۰۰۰۱۹d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f بلاک هش اولین بلاک بیت کوین است که تا کنون ایجاد شده است. هش بلوک یک بلوک را به طور منحصر به فرد و بدون ابهام شناسایی میکند و میتواند به طور مستقل توسط هر گرهای با هش کردن هدر بلوک استخراج شود.
توجه داشته باشید که Block Header در واقع در ساختار داده بلوک گنجانده نمیشود، نه زمانی که بلوک در شبکه منتقل میشود و نه زمانی که در ذخیره سازی پایدار گره به عنوان بخشی از زنجیره بلوک ذخیره میشود. درعوض، هش بلوک با دریافت بلوک از شبکه توسط هر گره محاسبه میشود. هش بلوک ممکن است در یک جدول پایگاه داده جداگانه به عنوان بخشی از فراداده بلوک ذخیره شود تا امکان ایندکس کردن و بازیابی سریعتر بلوکها از دیسک را تسهیل کند.
آیا ساختار هدر بلاک برای لایت کلاینت مناسب است؟
هدرهای بلوکی از نظر ماینینگ عالی هستند که به دلیل اندازه کوچکشان، برای کاربرهای سبک نیز ایده آل هستند. بلاک چین بیت کوین برای ذخیره سازی دستگاههایی مانند گوشیهای هوشمند بسیار بزرگ است. اگر زنجیره دارای ۱۰۰۰۰۰ بلوک ۱ مگابایتی بود، شما ۱۰۰ گیگابایت فضا مصرف خواهید کرد. اما فقط با هدرهای بلوک برای همان بلوکها، فقط ۰.۰۰۸ گیگابایت یا ۸ مگابایت اشغال خواهید کرد.
به این ترتیب، دستگاههایی که پهنای باند یا فضای ذخیرهسازی کمتری دارند همچنان میتوانند درجاتی از اعتبارسنجی را انجام دهند. از آنجایی که ریشه Merkle همه تراکنشها را نگه میدارد، آنها میتوانند بعدا بررسی کنند که آیا تراکنش در یک بلوک خاص گنجانده شده است یا خیر.
این کار هزینهای در بردارد چرا که کاربر همچنان باید برای ارائه اطلاعات لازم به شخص ثالثی تکیه کند. با این اوصاف، کلاینتهای لایت به سیستمی ارجحیت دارند که در آن کاربران اصلاً تأییدی را انجام نمی دهند.
هدر بلوک بخشی از یک بلوک است که به عنوان خلاصه ای از بقیه بلوک عمل میکند. از تمام ابردادهها تشکیل شده است – مانند زمان و دشواری استخراج بلوک، ریشه Merkle تراکنشهای موجود و nonce.
شناسه اصلی یک بلوک، هش رمزنگاری آن، اثر انگشت دیجیتالی است که با هش کردن دوبار هدر بلوک از طریق الگوریتم SHA256 ساخته میشود. هش ۳۲ بایتی بهدستآمده هش بلوک نامیده میشود،
گام قبلی (۱۱/۲۷) گام بعدی