در حالی که همه می دانند که بیت کوین بر بستر بلاک چین است. بلاک چین اما چیست؟ اگر بخواهیم صریح بپرسیم، چگونه میتوانیم اجزای بلاک چین را تصور کنیم؟
بلاک چین مجموعه ای از ساختارهای اطلاعاتی به نام بلاک است. می شود هر بلاک را صفحهای از یک دفتر کلی مد نظر داشت. هربلاک به صورت جداگانه از اجزای مختلفی تشکیل شده که به صورت واضح تر این اجزا را میتوان در دو بخش بلاک هدر (Block Header) و بدنهی بلاک (Block Body) قرار داد.
همچنین بخوانید: بیت کوین اززاویه دیگر

بلاک هدر (Block Header)
بلاک هدر از شش قسمت تشکیل می شود:
• شمارهی نسخهی برنامه (Bitcoin Version Number)
• هشِ بلاک قبلی (Previous Block Hash)
• ریشهی هشِ درخت درهم سازی یا درخت مرکل (Merkle Tree)
• زمانسنج از تاریخ ۱ ژانویهی ۱۹۷۰ (Timestamp Unix)
• هدف سختی فعلی (Difficulty Target)
• عدد تصادفی نانس (Nonce)
ورژن برنامه
شمارهی نسخهی برنامه در خیلی از مورد ها حائز اهمیت نیست. در هر صورت یک ماینر با یک شمارهی نسخه، میتواند مشخص کند که از تصمیمات کدام پروتکل پشتیبانی میکند.
هشِ بلاک قبلی
اصطلاح زنجیرهی بلاک چین برای هش بلاک قبلی به کار می رود . از آنجایی که بلاک قبلی، هش بلاک جدید را دربردارد، بلاکهای بلاک چین برمبنای هم ساخته میشوند. با حذف این مولفه، هیچ ارتباط و گاهشماری بین بلاکها شکل نمیگیرد.
همچنین بخوانید: هش چیست و چه کاربردی دارد؟
ریشهی درخت درهمسازی
تمام تراکنشهایی که در بلاک میتواند موجود باشد در یک هش جمع آوری و خلاصه می شود. این هش، ریشهی هشِ درخت درهمسازی است.
ثانیهشمار از تاریخ اول ژانویهی ۱۹۷۰
یک تایم استمپ در خودِ بلاک. مقدار این ثانیهشمار از ابتدای روز اول ژانویه ۱۹۷۰ است.
هدف سختی فعلی
با توجه به هدفِ سختی پر واضح است که هشِ فعلی، چه میزانی باید کوچک باشد تا اعتبار آن توسط ماینرها تائید شود. بهعبارت دیگر یک هش، سایزی را به بیت دارد که باید برابر یا کوچکتر از هشِ هدف باشد. یک هش با تعداد زیادی صفر در ابتدا، کوچکتر از هشِ بدون صفر در ابتدا میباشد.
نانس
نانس، متغیر اضافه شده توسط الگوریتم اثبات کار است.از این راه ماینر هشِ معتبری را که از هدف سختی کمتر میباشد، پیش بینی می کند.
شش قسمت مطرح شده بلاک هدر را تشکیل میدهند. بلاک هدر نقش پایه ای را برای بیت کوین دارد؛ بدلیل اینکه تمام بلاکها را به هم ربط می دهد. شما قادرید آن را مثل اتاق فرمان در ذهنتان تصویر کنید ؛اسنادی در این اتاق وجود دارد که به وسیله کنترل شبکه مشخص میکند کدام کامیون به کدام سمت برود.
بدنهی بلاک (Block Body)
بدنهی بلاک، مثل قسمت بارگیری کامیون است که تمام تراکنشهای تایید شده را شامل میشوند.
زمانی که ماینر یک بلاک را میسازد، در حقیقت تراکنشها را تایید میکند. بنابراین، یک ماینر بررسی میکند که فرستنده بیت کوین به میزان کافی بیت کوین برای خرج کردن دارد. ماینر، این اطلاعات را به وسیله بلاک چین بررسی میکند. سپس با بررسی اطلاعات گذشته متوجه میشود که آیا فرستندهی ۱۰ بیت کوین قبلاً ۱۰ بیت کوین دریافت کرده است؟
تراکنشهای بلاک صرفا در یک لیست موجود نیست اما اصطلاحا در درخت درهمسازی هم موجود است.
درخت درهمسازی چیست؟
درخت درهمسازی یا درخت مرکل ریشه اش در اسم رالف مرکل ریاضیدان معروف است. این مسئله که اطلاعات زیادی را میتوان توسط یک هش ارائه داد کشف این ریاضی دان بود.به همین خاطر، ابتدا اطلاعات (در اینجا تراکنشها) بهصورت منفرد هش میشوند؛ بعد همهی هشها دوباره هش میشوند و باهم ترکیب میشوند. در نتیحه درخت مرکل در یک هش جمع میشود. آخرین هش را ریشهی درخت درهمسازی هم مینامند. ریشهی هش، اطلاعات بالاتر همچون «برگها» (تراکنشها) و «شاخهها» (هشِ تراکنشها) را در یک سلسله متغییر تغریبا کوتاه به طور خلاصه ارائه میدهد.
تا زمانی که اطلاعات شاخهها و برگها در دسترس باشند، ساخت یک ریشهی هش بسیار کار راحتی است. عملکرد تحت نظر هش را مرور کنیم؛ عملکردی واضح با سرعتی بالا در یک مسیر دارد و غیر ممکن است این مسیر شکست بخورد. چنانچه ریشهی هش معلوم و تراکنشها نامعلوم باشد، پیش بینی تراکنشها غیرممکن است.
ریشهی هش بهتنهایی در نهایت کافی نیست و بقیه بلاک هم باید ذخیره شود. به همین دلیل ماینرها در هر زمانی قادرند به وسیله هشِ محتوای داخل بلاک، ریشهی هش را تائید کنند. تا زمانی که تابع هش مساوی باشد ماینرها در مقابل اطلاعات وارد شده، به هش یکسان میرسند.این مسئله مفید است له دلیلی که آنها صرفا در حالت همسطح بودن هش [ یا از یک تابع هش استفاده کنند] میتوانند اطلاعات را بررسی کنند.
ماینینگ؛ فرایندی برای جستجوی هش منحصربهفرد
در این بستر، درک استخراج بر مبنای اثبات کار آسان تر است؛ در زمان ماینینگ، بلاک هدر کم کم تغییر میکند تا به هشِ منحصربهفرد برسد. بلاک هدر شامل ۵ ثابت و ۱ متغیر است. ثابتها شامل شمارهی نسخهی برنامه، هشِ بلاک قبلی، ریشهی هش بلاک، تایم استمپ و سختی هدف بهمنظور جستجوی ماینر میباشد.
متغیر، نانس است که بیشتر می شود. سپس ماینر اطلاعات را هش میکند تا از هدف سختی پایینتر باشد. چنانچه میزان هش بزرگتر از باشد، ماینر نانس را تغییر میدهد و هش جدید را میسازد و دوباره بررسی میکند. این روند تا جایی ادامه پیدا میکند که هش، پایینتر از سختی هدف باشد یا بلاکی را که قبلاً توسط شبکه (توسط ماینر دیگر) هش شده را دریافت کند. سپس بلاک جدید را میسازد و از این هش برای بلاک بعدی استفاده میکند (بهعنوان «هش بلاک قبلی» در بلاک هدر استفاده میشود).
ماینینگ پروسه ای بسیار طولانی با هدف یافتن هش منحصربهفرد است. زمانی که هش یافت شود، تازه بازی شروع میشود. بهطور میانگین هر ۱۰ دقیقه یک بلاک ساخته میشود. بهدلیل اینکه سختی تطابق پیدا میکند، بهطور میانگین این میزان برابر است است.
نکته کلیدی این پروسه آن است که هشِ منحصربهفرد، فقط در صورت پیش بینی کردن یافت میشود. این روش محاسبات کامپیوتری هزینه زیادی در بردارد و در نتیجه انرژی زیادی را میطلبد.
عروسکهای تودرتوی ماتروشکا نمونه ای برای مثال
ساختار یک بلاک را به عروسکهای ماتروشکا می توان تشبیه کرد. کوچکترین عروسک، تراکنش هش نشده است، عروسک بعدی، هش تراکنش است. پس از آن دو تراکنش با هم ادغام میشوند و دوباره هش میشوند و این پروسه بیشتر و بیشتر ادامه پیدا می کند؛ در نهایت فقط یک هش باقی میماند؛ ریشهی هش درخت درهمسازی، که میتوان آن را مثل بزرگترین عروسک تشبیه کرد.
منبع: ارز دیجیتال
با یورپی همراه باشید