بلاک در بلاک چین چیست؟

همه می‌‌دانند که بیت کوین مبتنی بر فناوری بلاک چین است. اما بلاک چین چیست؟ به طور دقیق‌‌تر، بلاک ها (اجزای تشکیل دهنده بلاک چین) چه هستند؟ بلاک چین، زنجیره‌‌ای از بلاک‌‌های اطلاعاتی است. هر بلاک را می‌‌توان مانند صفحه‌‌ای از یک دفتر کل در نظر گرفت. بلاک‌های تکی از چند مولفه تشکیل شده‌‌اند. این بلاک‌‌ها توسط هدر یا راس بلاک (header) و بدنه (body) از یکدیگر متمایز می‌‌شوند.

0 199

بلاک چین ، زنجیره‌‌ای از بلاک ها است. هر بلاک را می‌‌توان مانند صفحه‌‌ای از یک دفتر کل در نظر گرفت. بلاک ها از چند مولفه تشکیل شده‌‌اند. این بلاک ها توسط هدر بلاک (header) و بدنه (body) از یکدیگر متمایز می‌‌شوند.

هدر بلاک

هدر بلاک به 6 جزء تقسیم می‌‌شود:

  • شماره نسخه نرم افزار
  • هش بلاک قبلی
  • هش ریشه درخت مرکل
  • برچسب زمانی (timestamp)
  • تارگت سختی شبکه
  • نانس

 

شماره نسخه نرم افزار

شماره نسخه نرم افزار در اکثر موارد مهم نیست. اگرچه ، ماینر با یک شماره نسخه خاص می‌‌تواند پشتیبانی از تصمیمات پروتکل را اعلام کند.

هش بلاک قبلی

از آنجا که هش بلاک قبلی در هش بلاک جدید موجود است، بلاک های بلاک چین همه به یکدیگر متصل می‌‌شوند. بدون این بخش، ارتباطی بین بلاک ها وجود نخواهد داشت.

هش ریشه درخت مرکل

تمام معاملات موجود در یک بلاک را می توان در یک هش جمع کرد. این هش ریشه درخت مرکل است.

برچسب زمانی

یک برچسب زمانی در بلاک ، نشان دهنده زمان ایجاد بلاک است.

تارگت سختی شبکه

تارگت نشان می‌‌دهد که هش جدید برای تایید شدن چقدر باید کوچک باشد. به عبارت دیگر هر هش باید چند بیت باشد. یک هش با تعداد زیادی صفر در ابتدای آن کوچکتر از هش بدون صفر است. (برای توضیحات بیشتر درمورد سختی استخراج این مطلب را مطالعه کنید.)

نانس

نانس (Nonce)  همان عددی است که استخراج کنندگان بلاک چین باید به منظور حل رمزنگاری بلاک ها آن را پیدا کنند. نانس مخفف عبارت “عددی که تنها یک بار به کار می‌‌رود” (Number only used once) است و به عددی گفته می‌‌شود که به یک بلاک هش شده (Hashed) – یا درهم نگاری شده – در بلاک چین‌‌ اضافه شده و هنگامی که این عدد به همراه هش بلاک مجدداً هش شوند (Rehash)، با آزمون و خطا‌ های متعدد قادر خواهند بود که شرایط و محدودیت‌های تعریف شده توسط پارامتر سختی شبکه (Network Difficulty) را برآورده نماید.

بدنه بلاک

بدنه بلاک تمام تراکنش های تایید شده را در اختیار دارد. هنگامی که استخراج‌‌کننده یک بلاک را می‌‌سازد، در واقع تراکنش‌‌ها را تایید می‌‌کند. به این خاطر، او بررسی می‌‌کند که آیا فرستنده، پول کافی برای خرج کردن دارد یا خیر. او به سادگی این اطلاعات را از بلاک چین می‌‌خواند.

تراکنش‌‌های درون یک بلاک، در یک سیستم درختی معروف به درخت مرکل قرار می‌گیرند.

درخت مرکل چیست؟

درخت مرکل (Merkle Root) نام خود را از ریاضی‌‌دان مشهور، رالف مرکل گرفته‌‌ است. درخت مرکل در پی این یافته به وجود آمد که می‌توان اطلاعات زیادی را در یک هش تکی ارائه کرد. داده در ابتدا هش می‌‌شود. سپس هش‌‌ها بار دیگر هش می‌‌شوند و سپس ادغام صورت می‌‌گیرد. در نهایت، درخت مرکل به یک هش تکی ترکیب می‌‌شود. این هش آخر با عنوان هش ریشه‌‌ای یا ریشه درخت شناخته می‌‌شود. این ریشه بیانگر تمام اطلاعات برگ‌‌های خود (تراکنش‌‌های تکی) و انشعابات (هش‌‌های برگ‌‌ها) خواهد بود.(برای اطلاع کامل از فرآیند هشینگ این مطلب را مطالعه کنید.)

با بهره‌گیری از ساختار درخت مرکل می‌توان هر میزان دیتای دلخواه را با کارآمدی بالا نگاشت کرد و بروز هرگونه تغییر در دیتا را به آسانی شناسایی کرد. اساس این مفهوم به اثبات مرکل گره خورده که به وسیله‌ آن می‌توان درستی هشینگ دیتا را از پایین تا راس درخت تایید کرد و قرارگیری آن در جای درست را بررسی نمود؛ بدون اینکه نیاز باشد همه هش‌ها را چک کنیم. از این رو به وسیله اثبات هش می‌توان تنها با چک کردن یک زیرمجموعه کوچک از هش‌ها (به جای همه‌ی دیتاست) دریافت که یک دیتا با روت هش (Hash Root) خود همخوانی دارد یا نه.

یکی از مهم‌ترین مزایای ساختار درخت مرکل این است که می‌توان با یک مکانزیم هش‌گیری، درستی مجموعه‌های دیتا در اندازه دلخواه را مشخص کرد؛ از دیتاهای بسیار کوچک گرفته تا دیتاست‌های بسیار بزرگ. ویژگی برجسته درخت مرکل این است که ست‌های بزرگی از دیتا را به بخش‌های کوچک و قابل اداره تقسیم می‌کند. به این ترتیب حتی اگر اندازه‌ی دیتای کلی بسیار بزرگ باشد، چک کردن تمامیت آن همچنان‌ آسان خواهد بود.

منبع

شاید از این مطالب هم خوشتان بیاید.

ارسال پاسخ

آدرس ایمیل شما منتشر نخواهد شد.