Block Header
Block Header چیست؟
Block Header وسیله ای برای شناسایی تک تک Block های تولید شده در یک شبکه بلاکچین است که هر Block حاوی Header شخصی شده خود است تا ردیابی تغییرات پروتکل را تسهیل کند. از آن برای مدیریت تمام Block های یک بلاکچین استفاده می شود که به عنوان node نیز شناخته می شوند. این شامل تمام ابردادهها، زمان و سطح دشواری Block ،اصل Merkle تراکنشها و nonce است.
با شروع «genesis block»، بلوکها به ترتیب انباشته میشوند و هر Block Header شامل سه مجموعه اطلاعات Block و سایر اجزای منحصربهفرد است، از جمله:
- هش بلوک قبلی (Previous block hash)
- مورد استفاده ماینرها نیست (Nonce used by miners)
- شماره نسخه بیت کوین (Bitcoin version number)
- مهر زمانی بلوک (Timestamp of the block)
- اصل مرکل (Merkle root)
- هدف دشواری بلوک (The block’s difficulty target)
Block Header اغلب در مستندات توسعه دهندگان بیت کوین استفاده می شوند، زیرا ثبت وظایف را با سرعت بیشتری آسان تر می کنند. کل بلاکچین ها را می توان به عنوان یک فایل هموار یا یک پایگاه داده ساده ذخیره کرد، مانند یک دسته عمودی.
سه مجموعه ابرداده Block در Block Header موجود است. Block ها روی هم قرار می گیرند و Block اولیه به عنوان پایه عمل می کند. ارتفاع Block ها تا رسیدن به انتهای بلاکچین و تکمیل رشته ادامه می یابد. یکی از مواردی که بیت کوین را بسیار ایمن می کند لایه ها و تاریخچه غنی هر رشته است.
یک Block Header به صورت دورهای توسط miner ها با تغییر مقدار nonce به عنوان بخشی از فعالیت استخراج عادی hash میشود. هدف آنها ایجاد مدرک proof of work (اثبات کار) از طریق این تمرین است که به آنها اجازه میدهد تا برای تلاشهایشان برای حفظ عملکرد روان و موثر سیستم بلاکچین جبران شوند.
Block Header ها برای استخراج بسیار عالی هستند و به دلیل اندازه کوچکشان برای مشتریان سبک نیز مفید هستند. بلاکچین بیت کوین خیلی بزرگتر از آن است که در دستگاه های تلفن همراه ذخیره شود. از سوی دیگر، Block Header برای Block های یکسان، تنها 0.008 گیگابایت یا 8 مگابایت فضای ذخیره سازی را اشغال می کنند.
با این وجود، دستگاههایی با bandwidth یا ظرفیت ذخیرهسازی محدود میتوانند برخی از تأییدات را از این طریق انجام دهند. آنها ممکن است متعاقباً بررسی کنند که آیا یک تراکنش در یک Block خاص گنجانده شده است، زیرا اصل Merkle شامل همه تراکنشها است. این با قیمتی همراه است: کاربر همچنان باید به شخص ثالثی اعتماد کند تا اطلاعاتی را که میخواهد به او بدهد. از سوی دیگر، مشتریان سبک به سیستمی ارجحیت دارند که در آن کاربران هیچ تأییدی را انجام نمی دهند.
در یک شبکه بلاکچین، اصل Merkle هش (همه هش ها) تمام تراکنش هایی است که یک Block را تشکیل می دهند. timestamp (مهر زمانی) ارائه شده است تا همه شرکت کنندگان پروژه بتوانند یک رکورد دائمی و محصور شده از زمان وقوع یک رویداد خاص را مشاهده کنند. معمولاً تاریخ و زمان رویداد را نمایش می دهد و معمولاً در کسری از ثانیه دقیق است.
The difficulty target (هدف دشواری) برای تنظیم میزان سختی حل Block برای ماینرها استفاده می شود. nonce متغیری است که ماینرها ممکن است آن را تغییر دهند تا مرتب سازی های مختلف و هش های معتبر در رشته تولید کنند.
به طور خلاصه، Block Header برای هدف قرار دادن Block های خاص در یک زنجیره بلوکی استفاده می شود. آنها در ازای پرداخت های ماینینگ برای ارائه proof of work هش می شوند.