بلاک چین یک پایگاه داده توزیع شده است که عمدتاً برای تراکنش های همزمان استفاده می شود. یکی از محبوب ترین پیادهسازی های بلاک چین بیت کوین است. بلاک چین دارای چندین بلوک است که گره نیز نامیده می شود و تمام بلوک ها با کمک هدر بلوک مدیریت می شوند.
هدر بلوک برای شناسایی یک بلوک خاص(هدرهای بلوک تک تک بلوک ها را در یک بلاک چین شناسایی می کنند) در کل زنجیره بلاک چین استفاده میشود و به طور مکرر هش میشود تا اثبات کار برای پاداشهای ماینینگ ایجاد شود.
یک بلاک چین شامل مجموعه ای از بلوک های مختلف است (بلوک ها به صورت عمودی لایه بندی می شوند و با بلوک پیدایش شروع می شوند)که برای ذخیره اطلاعات مربوط به تراکنش هایی که در شبکه بلاک چین رخ می دهد استفاده می شود.
هر یک از بلوک ها حاوی یک هدر منحصر به فرد است و هر بلوک از این قبیل با هش هدر بلوک خود به صورت جداگانه شناسایی می شود.
الزامات هدر بلوک
هدر بلوک شامل سه مجموعه عظیم داده است. هدر بلوک یک رشته به طول ۸۰ بایت است و از موارد زیر تشکیل شده است :
۴ بایت شماره نسخهی بیت کوین
۳۲ بایت هش بلاک قبلی – هش هدر بلاک قبلی
۳۲ بایت ریشه مرکل (درختی برای سازماندهی تراکنش های رایج) – هش رشته از درخت مرکل در انتقال این بلاک
۴ بایت زمانسنج بلاک – زمانسنج بلاک در یونیکس (فیلد زمانسنج به این علت تعبیه شده است که هر فردی که در حال کار بر روی پروژه است ، بتواند به اطلاعات دائمی و رمزگذاری شده ی زمان وقوع رویدادها دسترسی داشته باشد).
۴ بایت سختی شبکه – هدف سخت برای بلاک
۴ بایت عدد تصادفی نانس (nonce) – پیشخوان مورد استفاده ماینرها برای تولید هش صحیح
مولفه ها و اجزای هدر بلوک
هر یک از این مؤلفه ها برای ایجاد یک هدر دقیق و قابل اعتماد حیاتی است. شناسه اصلی هر بلوک مجزا، هش رمزنگاری موجود در آن است. این در اصل یک اثر انگشت دیجیتال است و با هش کردن هدر بلوک از طریق الگوریتم قابل اجرا دو بار ایجاد می شود.
شماره نسخه بیت کوین برای پیگیری تغییرات و به روز رسانی ها در سراسر پروتکل مفید است. هش بلوک قبلی به بلوک قبلی یا بلوک والد آن پیوند می خورد و به طور مؤثر زنجیره را ایمن می کند.
ازای هدر بلوک
مهر زمان:
مهر زمانی در زنجیره بلوکی به عنوان مدرکی استفاده می شود که نشان می دهد بلوک خاص در چه زمانی استفاده می شود تا همه افرادی که روی پروژه کار می کنند بتوانند یک رکورد دائمی و رمزگذاری شده از زمان وقوع یک رویداد خاص را ببینند، همچنین این مهر زمانی به عنوان پارامتری برای تأیید صحت هر بلوک استفاده می شود.
نسخه:
نسخه ای که بلوک خاص از آن استفاده می کند را بیان می کند، سه نوع نسخه بلاک چین وجود دارد:
بلاک چین نسخه ۱.۰ (ارز رمزنگاری شده)، از یک دفتر کل عمومی برای ذخیره داده ها استفاده می کند، به عنوان مثال، بیت کوین.
بلاک چین نسخه ۲.۰ (قرارداد هوشمند)، به آن قراردادهای هوشمند گفته می شود که برنامه های خود اجرا کننده هستند، به عنوان مثال، اتریوم.
بلاک چین نسخه ۳.۰ (DAPPS)، برای ایجاد یک ساختار غیرمتمرکز، به عنوان مثال، مرورگر tor استفاده می شود.
بلاک چین نسخه ۴.۰ (بلاک چین برای صنعت)، برای ایجاد یک شبکه بلاک چین مقیاس پذیر و مقرون به صرفه استفاده می شود تا افراد بیشتری بتوانند از آن استفاده کنند.
ریشه مرکل:
یک ریشه مرکل از فرمول های ریاضی برای بررسی اینکه آیا داده ها خراب، هک یا دستکاری نشده اند استفاده می کند، ریشه درخت مرکل از تمامی هش های تراکنش هایی که درون تراکنش ها هش شده اند تشکیل شده است و هر هش با هش بعدی جمع می شود.
سختی شبکه:
سختی شبکه، پیچیدگی و قدرت محاسباتی مورد نیاز برای استخراج شبکه را مشخص می کند، اگر هدفی با دشواری بالا داریم، به این معنی است که برای استخراج آن به یک ماشین محاسباتی گرانتر و قدرتمندتری نیاز داریم.
فیلد سختی شبکه نیز پارامتری است که بیت کوین و سایر ارزهای رمزنگاری شده از آن استفاده می کنند تا با تغییر قدرت هش شبکه ، میانگین زمان استخراج بلاک ها را ثابت نگه دارند.
نانس:
عدد نانس به اختصار عدد یک بار مصرف نامیده می شود و عددی است که استخراج کنندگان بلاک چین آن را پیدا می کنند و به طور متوسط تقریباً ۱۰ بار طول می کشد تا به آن پی ببرند. یک nonce یک عدد ۳۲ بیتی است که حداکثر مقدار آن ۲^(۳۲) است، بنابراین وظیفه استخراج کنندگان بیت کوین این است که مقدار صحیح آن را که یک عدد صحیح تصادفی بین ۰ و ۲^ (۳۲) است، بیابند. بنابراین از نظر محاسباتی گران تمام می شود.
یک هدر بلوک به صورت دورهای توسط ماینرها با تغییر مقدار nonce به عنوان بخشی از فعالیت استخراج عادی هش میشود. هدف آنها ایجاد مدرک اثبات کار از طریق این تمرین است که به آنها اجازه میدهد تا برای تلاشهایشان برای حفظ عملکرد روان و مؤثر سیستم بلاک چین جبران شوند.
هش قبلی:
از آنجایی که بلاک چین مجموعه ای از چندین گره به هم پیوسته است که بلوک نیز نامیده می شود، بنابراین هش قبلی مقدار هش شده آدرس گره قبلی را ذخیره می کند، اولین بلوک در بلاک چین، بلوک پیدایش نامیده می شود و هیچ مقدار هش بلاک قبلی ندارد.
کلام آخر
هدرهای بلوکی برای استخراج بسیار عالی هستند، اما به دلیل اندازه کوچکشان برای مشتریان سبک نیز مفید هستند. بلاک چین بیت کوین خیلی بزرگتر از آن است که در دستگاه های تلفن همراه ذخیره شود. از سوی دیگر، هدرهای بلوک برای بلوک های یکسان، تنها ۰.۰۰۸ گیگابایت یا ۸ مگابایت فضای ذخیرهسازی را اشغال می کنند.
میتوان گفت از هدرهای بلوک برای هدف قرار دادن بلوک های خاص در یک زنجیره بلوکی استفاده می شود. آنها در ازای پرداخت های ماینینگ برای اثبات کار هش می شوند.
منبع : هدر بلوک Block Header