توضیحاتی پیرامون ساختار بلاک در بلاک چین
همه این را می دانند که بیت کوین مبتنی بر بلاکچین است. اما بلاکچین چیست؟ به عبارت دقیق تر ، چگونه می توان تک تک اجزای بلاکچین، یعنی بلاک ها را تصور کرد؟
بلاک چین زنجیره ای از بلاک های داده است. هر بلاک را می توان به عنوان یک صفحه در یک دفتر حساب کرد. بلاک های منفرد از چندین مولفه تشکیل شده اند. تقریباً می توان این موارد را به سر بلاک (هدر بلاک) و بدن او (بدنه بلاک) تفکیک کرد.
هدر بلاک
بلاک هدر به شش جز تقسیم میشود:
• شمارهی نسخهی برنامه (Bitcoin Version Number)
• هشِ بلاک قبلی (Previous Block Hash)
• ریشهی هشِ درخت درهم سازی یا درخت مرکل (Merkle Tree)
• زمانسنج از تاریخ ۱ ژانویهی ۱۹۷۰ (Timestamp Unix)
• هدف سختی فعلی (Difficulty Target)
• عدد تصادفی نانس (Nonce)
هش بلاک قبلی
هش بلاک قبلی ، اصطلاحاً زنجیره بلاکچین است. از آنجا که هش بلاک قبلی در هش بلاک جدید موجود است ، بلاک های بلاکچین همگی بر روی یکدیگر بنا می شوند. بدون این مولفه ، هیچ ارتباط و ترتیب زمانی بین هر بلاک وجود نخواهد داشت.
ریشه هش درخت مرکل
تمام تراکنش های موجود در یک بلاک می توانند در یک هش جمع شوند که این هش ریشه درخت مرکل است.
زمانسنج از تاریخ ۱ ژانویهی ۱۹۷۰ (Timestamp Unix)
یک مهر زمان در خود بلاک. زمان از 1.1.1970 در چند ثانیه داده می شود.
هدف سختی فعلی
هدف نشان می دهد که هش جدید برای ادعای اعتبار باید چقدر کوچک باشد. به عبارت دیگر ، هر هش یک بیت اندازه دارد. هرچه هدف در بیتها پایین تر باشد ، یافتن یک هش منطبق با آن مشکل تر است. هش با تعداد زیادی صفر در ابتدا کوچکتر از هش بدون صفر است.
عدد تصادفی نانس (Nonce)
نانس (nonce) متغیری است که با اثبات کار افزایش می یابد. به این ترتیب ، ماینر یک هش معتبر را حدس می زند ، هشی که کوچکتر از هدف است.
شش مولفه هدر بلاک را تشکیل می دهند. هدر بلاک در بیت کوین نقش اساسی دارد زیرا همه بلاک ها را به یکدیگر متصل می کند.
بدنه ی بلاک Block Body
بدنه بلاک همانند فضای بارگیری یک کامیون تصور می شود. این شامل همه معاملات تایید شده با بلاک است.
وقتی یک ماینر یک بلاک می سازد ، معاملات را معتبر می داند. یعنی بررسی می کند که فرستنده در واقع پول کافی برای پرداخت کردن دارد. او می تواند به راحتی این اطلاعات را از بلاکچین بخواند. ماینر در بلاک های گذشته نگاه می کند تا ببیند که فرستنده حتی اگر بخواهد ده بیتکوین بفرستد یا حتی ده بیت کوین بدست آورده است یا خیر.
معاملات در یک بلاک فقط در یک لیست نیست ، بلکه در اصطلاحاً درخت مرکل وجود دارد.
درخت مرکل چیست؟
درخت مرکل نام خود را از ریاضیدان رالف مرکل گرفته است. کشف او این بود که اطلاعات زیادی را می توان در یک هش نمایش داد. برای همین، دادهها ابتدا هش می شوند. سپس هش ها مجددا هش آنها صورت می گیرد و ادغام می شوند. سرانجام ، درخت مرکل در یک هش واحد ادغام می شود. این هش آخر را ریشه هش، ریشه درخت نیز می نامند. این اطلاعات مربوط به “برگها” (معاملات فردی) و “شاخه ها” (هش برگها) خود را در یک رشته نسبتاً کوتاه نشان می دهد.
ایجاد هش ریشه به شرطی که همه شاخه ها و برگ ها شناخته شده باشد ، سریع و آسان است. عملکرد یک تابع هش را مرور می کنیم: این کار به وضوح و به سرعت در یک جهت کار می کند و تجزیه آن در جهت دیگر غیرممکن است. اگر ریشه هش شناخته شده باشد ، اما معاملات ناشناخته باشند ، حدس تراکنش ها غیرممکن است.
بنابراین یک هش ریشه به تنهایی کافی نیست و بقیه بلاک باید ذخیره شود. بنابراین ، استخراج کننده می تواند هش ریشه را در هر زمان با اعتبار سنجی مجدد اطلاعات موجود در بلاک ، اعتبارسنجی کند. تا زمانی که عملکرد هش یکسان باشد ، استخراج کنندگان همیشه هشی کسان را برای ورودی داده دریافت می کنند. این بسیار مفید است زیرا آنها فقط می توانند در یک سطح از هش بودن را بررسی کنند.
استخراج: جستجوی هش ویژه
در این زمینه ، درک استخراج اثبات کار آسان تر است. هنگام استخراج ، هدر بلاک به تدریج تغییر می کند تا یک هش ویژه بدست آورید. هدر از پنج ثابت و یک متغیر تشکیل شده است. ثابت ها شماره نسخه نرم افزار ، هش بلاک قبلی ، هش ریشه درخت مرکل ، زمان سنج و اندازه هدف هش جستجو شده در بایت هستند.
نانس عددی است که با یک جمع می شود. سپس ماینر داده ها را هش می کند و بررسی می کند که آیا داده ها به هش پایین تر از مقدار هدف جستجو شده منجر می شوند. اگر مقدار هش بیشتر از هدف باشد ، ماینر فرایند را تکرار می کند. بنابراین باعث میشود نانس یکی افزایش یابد ، هش شود و دوباره چک شود. این کار را تکرار می کند تا زمانی که هش زیر هدف را پیدا کند ، یا اینکه یک بلاک دیگر از شبکه دیگری که هش آن زیر هدف است دریافت کند. سپس این بلاک جدید را می گیرد و از آن به عنوان پایه بلاک بعدی استفاده می کند (با استفاده از هش جدید به عنوان “هش بلاک قبلی“).
استخراج یک فرآیند بیش از حد تکراری است که هدف آن یافتن یک هش ویژه است. پس از پیدا شدن هش ، بازی دوباره شروع می شود. احتمال یافتن یک هش ویژه به سختی آن بستگی دارد. بیت کوین به طور متوسط هر ده دقیقه یک بلاک جدید پیدا می کند. سختی مدام سازگار می شود، بنابراین این میانگین ثابت می ماند.
ویژگی خاص این فرایند این است که هش ویژه را فقط می توان با حدس زدن پیدا کرد. این نرخ هزینه محاسبات و در نتیجه انرژی را دارد. کافیست به هش ویژه نگاه کنید تا متوجه خاص بودن آن شوید زیرا با عدد صفر شروع می شود.
در اینجا مثالی از این قبیل هش ها از بلاکچین بیت کوین آورده شده است:
000000000000000000094bfa4edb1245c347e42452e4418e9fe5a1d24e335b16
دیدگاهتان را بنویسید