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

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

0 106

راس بلاک

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

  • شماره نسخه نرم افزار
  • هش بلاک قبلی
  • هش ریشه درخت مرکل
  • زمان به ثانیه از 1970–01–01 T00: 00 UTC
  • نتیجه سختی فرآیند
  • کلمه تصادفی
  • شماره نسخه نرم افزار

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

هش بلاک قبلی

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

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

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

زمان به ثانیه از 1970–01–01 T00: 00 UTC

یک برچسب زمانی در بلاک خود. زمان در ثانیه از تاریخ 1.1.1970 داده شده است.

نتیجه سختی فرآیند

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

کلمه تصادفی

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

این شش جزء، راس بلاک را تشکیل می‌‌دهند. راس بلاک نقش بسیار مهمی در بیت کوین ایفا می‌‌کند، زیرا که تمام بلاک‌‌ها را به یکدیگر متصل می‌‌کند. می‌‌توانید این مسئله را همانند راننده یک کامیون در نظر بگیرید. اینجا مهمترین کاغذها قرار دارند که کامیون نقش کنترل شبکه را به عهده دارد.

بدنه بلاک

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

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

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

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

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

ایجاد هش ریشه، تا هنگامی که تمام انشعابات و برگ‌‌ها شناخته شده باشند، آسان و سریع است. ما عملکرد هش را به خاطر داریم: این عملکرد به صورت واضح و سریع در یک جهت کار می‌‌کند و شکست آن به دیگر مسیرها، غیرممکن است. اگر ریشه هش شناخته شده اما تراکنش‌‌ها نامشخص باشند، حدس زدن تراکنش‌‌ها غیرممکن خواهد بود.

بنابراین صرف وجود هش ریشه کافی نیست و باقی بلاک را باید ذخیره کرد. به همین خاطر، استخراج‌‌کننده می‌‌تواند هش ریشه را در هر زمان با هش اطلاعات درون بلاک تایید کند. تا هنگامی که عملکرد هش ثابت باشد، استخراج‌‌کننده همیشه هش یکسان برای ورودی داده‌‌ها دریافت می‌‌کند. این مسئله بسیار مهم است، زیرا آن‌‌ها فقط می‌‌توانند سطح یکسان هش را بررسی کنند.

استخراج: جستجو برای یک هش خاص

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

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

استخراج یک فرآیند تکراری است که هدف پیدا کردن هش خاصی را دارد. وقتی که هش پیدا شد، بازی بار دیگر آغاز می‌‌شود. احتمال پیدا کردن یک هش خاص به میزان سختی آن بستگی دارد. به طور میانگین، بیت کوین یک بلاک جدید را هر 10 دقیقه یکبار پیدا می‌‌کند. سختی باعث تداوم پذیرش می‌‌شود و به همین خاطر این میانگین همیشه یکسان می‌‌ماند.

ویژگی خاص این فرایند این است که یک هش خاص را فقط می‌‌توان با حدس زدن پیدا کرد. این میزان نیازمند هزینه‌‌های زیادی رایانشی و انرژی می‌‌شود. یک نگاه به هش خاص برای مشاهده ویژه بودن آن کافی است، زیرا که عدد با صفرهای زیاد آغاز می‌‌شود.

اینجا یک مثال از چنین هش بلاکچین بیت کوین داریم:

000000000000000000094bfa4edb1245c347e42452e4418e9fe5a1d24e335b16

هش‌‌ها: ماتریوشکای بلاکچین

بلاک می‌‌تواند تا حد یک فرض ماتریوشکا ساده شود. کوچکترین ابزار، تراکنش هش‌‌نشده است. محفظه بعدی، شکل هش‌‌شده این تراکنش است. سپس دو تراکنش هش‌‌شده با یکدیگر هش می‌‌شوند. به همین طریق هش‌‌های بیشتری با هم ادغام می‌‌شوند. در نهایت، فقط یک هش باقی می‌‌ماند که هش ریشه یا بزرگترین ماتریوشکا است.

 

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

ارسال پاسخ

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