دستههایی از تراکنشهای بیتکوین.
یه بلوک، تعدادی تراکنشه که به زنجیرهبلوک اضافه شده.
بلوکها رو استخراجکنندههای بیتکوین (ماینرها) بوجود میارن.
وقتی یه تراکنشِ بیتکوین میسازی، درجا در زنجیرهبلوک قرار نمیگیره. در عوض، توی یه استخر تراکنش (یا استخر حافظه) نگهداری میشه.
اگه یه استخراجکننده باشی، وظیفهت جمعآوری تراکنشها از استخر تراکنش و ایجاد یه بلوک کاندید برای قرارگیری روی زنجیرهبلوکه. حالا باید سعی کنی که این «بلوک کاندید» رو به زنجیرهبلوک اضافه کنی.
همچنین، به عنوان یه استخراجکننده، باید به هر بلوک کاندید یه سربرگ اختصاص بدی؛ سربرگ عملا یعنی یه سری فراداده (متادیتا) راجعبه بلوک.
زمانی که استخراجکنندهها میخوان بلوک رو روی زنجیرهبلوک قرار بدن از این فراداده استفاده میکنن.
فراداده (مِ)(دِ): دادهای که سایر دادهها را توضیح میدهد و به عنوان یک برچسب توصیفی عمل میکند.
در حال حاضر، جزییات اجزای مختلف سربرگ برای ما اهمیت ندارن ولی اینجا یه توضیح گذری و کلی میدم:
ساختار دادهی داخل بلوک رو توضیح میده. از نسخه استفاده میشه تا کامپیوترها بتونن محتوای هر بلوک رو به درستی بخونن.
یه عدد شناسایی برای بلوک قبلی. استخراجکننده سعی میکنه یکی از اینا رو برای بلوک کاندید فعلیش بگیره.
همهی تراکنشهای داخل بلوک با هم هش میشن (به عبارتی از یه نوع تابع ریاضی به اسم هش میگذرن) تا یه خط متن رو تشکیل بدن. هر جزء از سربرگ منحصربهفرده؛ اما ریشهی مرکل یه جورایی خاص و مهمترین بخش سربرگ یه بلوک محسوب میشه.
زمان حال. همیشه به کار میاد.
به مقداری گفته میشه که استخراجکنندهها باهاش سروکار دارن تا بتونن بلوک کاندید رو روی زنجیرهبلوک قرار بدن. این عدد توسط شبکهی بیتکوین تعیین میشه و جلوتر بیشتر توضیحش میدیم.
برای اضافه کردن یه بلوک به زنجیرهبلوک باید، دادهی سربرگ بلوک رو هش کنی و امیدوار باشی که این مقدار از یه مقدار هدف مشخصی کمتر باشه.
مقدار هدف از طریق عددی به اسم « سختی » محاسبه میشه که توسط شبکهی بیتکوین تعیین شده و مشخصکنندهی میزان سختی اضافه کردن بلوک تراکنشها به زنجیرهبلوکه.
میشه مقدار هدف رو مثل چوبِ بازیِ Limbo برای بلوکهای کاندید در نظر گرفت؛ هر چهقدر سختی بیشتر باشه، عدد هدف پایینتره و پیدا کردن هش بلوکی که زیر این مقداره سختتر میشه.
نگران نباش. میدونم که اولش فهمیدن «سختی» و «مقدار هدف» یه کمی گیجکنندهست؛ اما هر چی بیشتر پیش بریم فهمش آسونتر میشه.
«سختی»
مقداری که توسط شبکهی بیتکوین برای تنظیم سرعت حل بلوکها تعیین میشود. این مقدار هر ۲۰۱۶ بلوک بازتنظیم میشود تا بین هر دو بلوک فاصله زمانیای به میانگین ۱۰ دقیقه ایجاد کند.
دروغ گفتم. راستش رو بخوای سربرگ بلوک رو به تنهایی هش نمیکنی. درواقع باید سربرگ رو همراه یه عدد اضافی هش کنی.
به این عدد، تکبار گفته میشه. یه چیز الکیه که استخراجکنندهها ازش استفاده میکنن تا هشِ بلوکی زیر مقدار هدف بدست بیارن.
تکبار (نانس):
یک عدد تصادفی که تنها یک بار در یک ارتباط رمزنگاری استفاده میشود.
اگه اولین تکبار جواب نداد (با شروع از 0)، هی یکی بهش اضافه کن و از سربرگ بلوک باز هش بگیر، در نهایت تکباری پیدا میکنی که هشی رو بهت میده که از مقدار هدف کمتره.
میدونم که این مقادیر هش شامل حروف هم میشن؛ اما میتونیم به چشم اعداد بهشون نگاه کنیم. این هشها مقادیر شانزدهشانزدهی (بر مبنای ۱۶ هستن) و کامپیوترها عاااااشق کار کردن با این اعدادن.
وقتی تکباری رو پیدا کردی که جواب بده، بلوک «حل» شده و همهی تراکنشهایی که توی این بلوک بودن روی زنجیرهبلوک قرار میگیرن.
حالا که بلوک حل شده، همهی استخراجکنندهها به استخر تراکنش برمیگردن تا روی بلوک کاندید بعدی کار کنن. برای این کار، هش بلوک موفق تو رو، که به زنجیرهبلوک اضافه شده، در سربرگ بلوک بعدی خودشون استفاده میکنن؛ و مسابقهی قرار دادن بلوکِ جدیدِ تراکنشها روی زنجیرهبلوک از سر گرفته میشه.
دست مریزاد.
تمام شد./
شاد زی..