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