بیت کوین مبتنی بر بلاکچین است ، همه این را می دانند. اما این بلاکچین چیست؟ به عبارت دقیق تر ، چگونه می توان تک تک اجزای بلاکچین ، بلاک ها را تصور کرد؟
بلاکچین زنجیره ای از بلاک های داده است. هر بلاک را می توان به عنوان یک صفحه در یک دفتر حساب کرد. بلاک های منفرد از چندین مولفه تشکیل شده اند. تقریباً می توان این موارد را به هدر بلاک (Header block) و بدنه او (Block body) تفکیک کرد.
ساختار هر بلاک در بلاکچین
هدر بلاک (Header block)
هدر بلاک به شش جز components تقسیم شده است:
- شماره نسخه نرم افزار
- هش بلاک قبلی
- ریشه هش درخت مرکل
- زمان در چند ثانیه از ۱۹۷۰–۰۱–۰۱ T00: 00 UTC
- nBits
- نانس
شماره نسخه نرم افزار
شماره نسخه نرم افزار در بیشتر موارد مهم نیست. با این حال ، یک ماینر با شماره نسخه خاص می تواند از تصمیمات پروتکل پشتیبانی کند.
هش بلاک قبلی
هش بلاک قبلی ، همان چیزی است که به عبارت زنجیره بلاکچین معنا می بخشد. از آنجا که هش بلاک قبلی در هش بلاک جدید موجود است ، بلاک های بلاکچین همگی بر روی یکدیگر بنا می شوند. بدون این مولفه ، هیچ ارتباط و ترتیب زمانی بین هر Block وجود نخواهد داشت.
ریشه هش درخت مرکل
تمام تراکنش های موجود در یک بلاک می توانند در یک هش جمع شوند. این هش ریشه درخت مرکل است.
زمان
نشان دهنده یک مهر زمان در خود بلاک است.
NBits
نشان می دهد که هش جدید برای ادعای اعتبار باید چقدر کوچک باشد. به عبارت دیگر ، هر هش یک بیت اندازه دارد. هرچه N در بیت ها پایین تر باشد ، یافتن یک هش تطبیقی دشوارتر است. هش با تعداد زیادی صفر در ابتدا کوچکتر از هش بدون صفر است. برای درک بهتر درباره سختی اثبات کار بیشتر مطالعه کنید.
The Nonce
nonce متغیری است که ماینر در حال یافتن آن است. به این ترتیب ، ماینر یک هش معتبر را حدس می زند، هشی که کوچکتر از N است.
شش جز components هدر بلاک را تشکیل می دهند. Header block در بیت کوین نقش اساسی دارد زیرا همه Block ها را به یکدیگر متصل می کند. می توانید آن را مانند کابین خلبان کامیون تصور کنید.
بدنه بلاک
بدنه بلاک به عنوان فضای بارگیری یک کامیون قابل تصور است. این شامل همه معاملات تایید شده با Block است.
وقتی ماینر یک Block می سازد ، معاملات را معتبر می داند. یعنی بررسی می کند که فرستنده در واقع پول کافی برای خرج کردن دارد. او می تواند به راحتی این اطلاعات را از بلاکچین بخواند. ماینر در بلاک های گذشته نگاه می کند تا ببیند که فرستنده حتی اگر بخواهد ده بیت کوین بفرستد حتی ده بیت کوین بدست آورده است یا خیر.
معاملات در یک Block فقط در یک لیست نیست ، بلکه در اصطلاحاً درخت مرکل وجود دارد.
بلاک و درخت مرکل (Merkle Tree)
درخت مرکل نام خود را از ریاضیدان رالف مرکل گرفته است. کشف این بود که اطلاعات زیادی را می توان در یک هش نمایش داد. بدین منظور ، داده ها ابتدا هش می شوند. سپس هش ها دوباره هش می شوند و ادغام می شوند. سرانجام ، Merkle Tree در یک هش واحد ادغام می شود. این هش آخر را ریشه هش یا ریشه درخت نیز می نامند. این اطلاعات تمام اطلاعات “برگها” (معاملات فردی) و “شاخه ها” (هش برگها) را در یک رشته نسبتاً کوتاه نشان می دهد.
استخراج: جستجوی هش ویژه
در این زمینه ، درک استخراج اثبات کار آسان تر است. هنگام استخراج ، Header block به تدریج تغییر می کند تا یک هش ویژه بدست آورید. هدر از پنج ثابت و یک متغیر تشکیل شده است. ثابت ها شماره نسخه نرم افزار ، هش بلاک قبلی ، هش ریشه درخت مرکل ، زمان سنج و اندازه N هش جستجو شده در بایت هستند.
متغیر nonce است. nonce عددی است که با یک جمع می شود. سپس ماینر داده ها را هش می کند و بررسی می کند که آیا داده ها به هش پایین تر از مقدار N جستجو شده منجر می شوند. اگر مقدار هش بیشتر از N باشد ، ماینر فرایند را تکرار می کند. بنابراین باعث می شود nonce یکی افزایش یابد ، هش شود و دوباره چک شود. این کار را تکرار می کند تا زمانی که هش زیر N پیدا کند ، یا اینکه یک بلاک دیگر از شبکه دیگری که هش آن زیر N است دریافت کند. سپس این Block جدید را می گیرد و از آن به عنوان پایه Block بعدی استفاده می کند (با استفاده از هش جدید به عنوان “هش بلاک قبلی”).
استخراج یک فرآیند بیش از حد تکراری است که هدف آن یافتن یک هش ویژه است. پس از پیدا شدن هش ، بازی دوباره شروع می شود. احتمال یافتن یک هش ویژه به سختی آن بستگی دارد. بیت کوین به طور متوسط هر ده دقیقه یک بلاک جدید پیدا می کند. سختی مدام سازگار می شود ، بنابراین این میانگین ثابت می ماند.
ویژگی ویژه این فرآیند این است که هش ویژه را فقط می توان با حدس زدن پیدا کرد. این نرخ هزینه محاسبات و در نتیجه انرژی را دارد. نگاهی به هش ویژه کافی است تا ببینید خاص است زیرا با صفر شروع می شود.
در اینجا مثالی از این قبیل هش ها از بلاکچین بیت کوین آورده شده است:
۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۹۴bfa4edb1245c347e42452e4418e9fe5a1d24e335b16
برای مشاهده بلاک ها در هر بلاکچین کافی است به Explorer هر بلاکیچن که یک داشبورد اختصاصی برای نمایش فاکتورهای کمی آن است مراجعه کنید. برای مثال می توانید جهت مشاهده و ساختار بلاکچین اتریوم به Etherscan مراجعه کنید.
دیدگاهتان را بنویسید