
بلاک چینها بستر اصلی فعالیت ارزهای دیجیتال و کرپتوکارنسیهایی مانند بیت کوین، اتریوم، ریپل و ارزهای مشابه دیگر هستند. الگوریتمهای شبکه بلاکچین است که امنیت این ارزها را فراهم میکند و سبب شده که امکان جعل آنها و تقلب در تراکنشهای ارزهای دیجیتال وجود نداشته باشد. بلاک چین زنجیرهای از بلاکهاست و Block رکن اصلی این شبکه است. پس برای آشنایی کامل با بلاک چین، باید بدانیم که Block بلاک چین چیست؟
بلاک چیست؟
بلاکها بخش اصلی فناوری بلاک چین هستند. آنها را میتوان صفحات دفتر کل توزیع شده بلاک چین دانست. هر Block حاوی اطلاعاتی مانند تراکنشهای صورتگرفته در بستر بلاک چین که عبارتاند از: زمان انجام تراکنش، آدرس عمومی فرستنده و آدرس عمومی گیرنده، هش اختصاصی خود و هش Block قبلی است.
تمام این اطلاعات بر روی بلاکها بهصورت دائمی ذخیره میشود و بههیچعنوان قابل تغییر یا حذف نیستند. این ویژگی را سیستم رمزنگاری شبکه در بلاکها ایجاد میکند.
بلاک بلاک چین دارای بخشهای مختلفی است که یک هدف واحد را دنبال میکنند. هر یک از بخشهای آن وظایف مخصوص به خود دارند که در ادامه بیشتر با آنها آشنا خواهیم شد.
درخت مرکل یا Merkle tree چیست؟
درخت مرکل یکی از اصطلاحات ارز دیجیتال است. این درخت که بخشی از بلاک بلاک چین است، نام خود را از ریاضیدان معروف، رالف مرکل گرفته است. با استفاده از این فناوری میتوان اطلاعات بسیاری را توسط یک هش ارائه کرد. بهاینترتیب که دادهها هش میشوند، سپس مقدارهای هش با یکدیگر ادغام شده و تبدیل به یک هش واحد میشوند. این هش واحد، ریشه درخت مرکل نام دارد. برگهای این درخت تراکنشهای صورتگرفته در شبکه هستند و شاخههای درخت، هش برگها هستند.
تا زمانی که شاخهها و برگهای درخت مشخص باشند، ساخت ریشه هش بسیار آسان و سریع صورت میگیرد. اما طبق قانون توابع هش که بهدستآوردن ورودی از خروجی هش تقریباً غیرممکن است (یکطرفه بودن تابع هش)؛ درصورتیکه هش ریشه درخت مرکل یا درخت درهم ساز مشخص باشد اما برگها (تراکنشها) و شاخهها (هش تراکنشها) نامشخص باشند، حدس زدن تراکنشها کار دشواری است.
ساختار بلاک بلاک چین

بهطورکلی، بلاک بلاک چین را میتوان یک فایل ذخیرهسازی داده بهصورت دائمی دانست. هر Block از دو بخش هدر بلاک (Block Header) و بدنه بلاک (Block Body) تشکیل شده است. هدر Block خود شامل چندین بخش با وظایف مختلف است و بدنه Block محل بارگیری یا ذخیره اطلاعات Block بهحساب میآید.
هدر بلاک (Header Block)
هدر بلاک نقش اساسی در فرایندهای شبکه بلاک چین دارد. بلاکها از طریق هدر به یکدیگر متصل میشوند و از طریق هش هدر در شبکه شناسایی میشوند. هدر به ۶ بخش که عبارتاند از: نسخه برنامه، هش Block قبلی، هش ریشه درخت مرکل، برچسب زمانی، هدف و عدد نانس، تقسیم میشود. هر یک از این بخشها وظایفی از عملیات کلی Block را برعهده دارند.
نسخه برنامه (Version)
شماره نرمافزار یا نسخه برنامه بهمنظور توصیف ساختار دادههای داخل Block استفاده میشود. از طریق این شماره سریال، رایانهها میتوانند محتوای Block را بهراحتی بخوانند. همچنین ماینرها از طریق این شماره میتوانند مشخص کنند برای فعالیت درون شبکه از چه پروتکلی پیروی میکنند.
برچسب زمانی (Time)
این پارامتر زمان ایجاد هر Block را مشخص میکند.
هش بلاک قبلی (Last Block)
هش بلاک قبلی برای جلوگیری از سانسور و تقلب در بستر بلاک چین در کنار دادههای موجود در Block قرار میگیرد. این بخش از بلاک بهنوعی تضمینکنندهٔ غیرقابلتغییر و حذف بودن اطلاعات داخل بلاک چین است.
اگر کسی قصد تغییر دادههای موجود در یک Block از سیستم کلی را داشته باشد، باید هش Block قبلی را نیز تغییر دهد. بهعبارتدیگر، باید هش تمام بلاکهای قبلی را تا نخستین Block ایجاد شده در زنجیره تغییر دهد که این روند غیرممکن است و هیچگاه اطلاعات داخل بلاک چین تغییر نخواهد کرد.
هش درخت مرکل (Merkle Root)
میتوان تمام اطلاعات موجود Block که شامل اطلاعات تراکنشها (زمان انجام، آدرس فرستنده و گیرنده)، هش اختصاصی و هش Block قبلی است را در یک هش واحد جمعآوری کرد. به این مقدار هش، هش درخت مرکل یا درخت درهم ساز میگویند.
هدف (Target)
اندازه هش با بیت اندازهگیری میشود. هش فعلی Block باید کوچکتر یا مساوی هش هدف باشد. هرچه تعداد صفرهای اول مقدار هش بیشتر باشد؛ کوچکتر است. هدف سختی در Block بلاک چین مشخصکنندهٔ میزان کوچکی مقدار هش است. یعنی تعیین میکند هش چقدر کوچک باشد تا ماینرهای شبکه اعتبار آن را برای ثبت در سیستم تأیید کنند.
عدد نانس (Nonce)
نانس به عددی گفته میشود که تنها یکبار استفاده میشود (Number Only Used Once) و از طریق آن ماینرها میتوانند هش کمتر از هدف سختی شبکه را حدس بزنند. این عدد از طریق الگوریتم اثبات کار (PoW) به هش Block اضافه میشود.
بلاک بلاک چین بهتنهایی هش نمیشوند و به یک عدد دیگر برای فرایند رمزنگاری نیاز دارند. نانس همان عدد است.
بدنه بلاک (Block Body)
بدنه Block بلاک چین محل ذخیرهٔ تاریخچهٔ تراکنشهای تأیید شده است. هنگامی که ماینرها یک Block را ایجاد میکنند، در واقع یک تراکنش را اعتبارسنجی و تأیید کردهاند. آنها برای تأیید این تراکنشها، بررسی میکنند که فرستنده به میزان تراکنش موردنظر، ارز در حساب خود دارد یا خیر. این سوابق برای بررسی راحتتر در بدنه Block ذخیره میشود.
بلاک در بلاک چین چگونه ساخته میشود؟
بلاکها توسط استخراجکنندگان یا همان ماینرها ایجاد میشوند. تراکنشها در بلاک چین بهسرعت و در همان زمان انتشار در شبکه انجام نمیشوند. آنها در استخر حافظه (Memory Pool) ذخیره میشوند و در انتظار تأیید گرهها (کاربران شبکه بلاک چین) میمانند.
در این مرحله، ماینرها تراکنشها را برای تأیید کردن انتخاب میکنند و در Block کاندید قرار میدهند. سپس برای افزودن این Block به شبکه بلاک چین تلاش میکنند.
بلاکها چطور به بلاک چین اضافه میشوند؟

ماینر Block کاندید را با بلاک هدر و بهترین عدد نانس بر اساس هدف سختی شبکه به زنجیره بلاکها یا همان بلاک چین اضافه میکند. بهاینترتیب که بلا Block ک جدید را بهطوریکه هش آن کمتر از هدف سختی شبکه باشد، هش میکنند. سختی شبکه میزان دشواری استخراج Block جدید است و در بلاک چینهای مختلف متفاوت است. برای بلاک چین بیت کوین از سال ۲۰۱۶ به بعد این میزان در بازههای زمانی مختلف تغییر کرده است تا زمان استخراج هر Block به طور میانگین ۱۰ دقیقه باقی بماند.
رابطه ماینرها با Block در بلاک چین
استخراج به معنای حل عدد نانس، تنها عدد متغیر در Block است. حل این عدد و بهدستآوردن هش آن، مستلزم حل کردن مسائل پیچیده ریاضی در شبکه است. بهعنوانمثال بیت کوین از هش رمزنگاری شده با نام SHA256 در الگوریتم خود استفاده میکند. یک ماینر بیت کوین باید این عدد را در برنامه ماینینگ خود استفاده کند تا بتواند مسئله موجود در شبکه را حل کرده و پاداش استخراج را دریافت کند.
مشکل اصلی در این است که که تمام هدرهای بلاک قبلی به صورت تصادفی رمزگذاری می شوند. از این رو، هدر بلاک فعلی یک عدد رمزگذاری شده تصادفی است که بر اساس اعداد رمزگذاری شده تصادفی بلاکهای قبلی و اطلاعات Block فعلی تولید میشود؛ بنابراین هر Block جدیدی که در بلاک چین بیت کوین ثبت میشود، فرایند استخراج را برای ماینرها دشوار میکند. این امر به سختی شبکه نیز معروف است.
سایر کاربردهای بلاک و بلاک چین
ازآنجاییکه اولین ارز دیجیتال یعنی بیت کوین، بیشترین تعاریف Block و بلاک چین را در اختیار دارد، بسیاری از مردم بلاکها و بلاک چینها را با بیت کوین مرتبط میدانند. بااینحال، سایر ارزهای دیجیتال نیز از Block و بلاک چین استفاده میکنند. برای مثال اتریوم از شبکه بلاک چین اتر استفاده میکند. علاوه بر اتر، بلاک چین اتریوم چندین کاربرد دیگر نیز دارد. بهعنوانمثال NFTها، قراردادهای هوشمند و برنامههای مالی غیرمتمرکز، همگی از کاربرد بلاک چین اتریوم به شمار میروند.
دوبار خرج کردن یک نقص بالقوه در سیستم های ارزهای دیجیتال است که به احتمال بیش از یک بار خرج شدن یک ارز دیجیتال اشاره دارد.
هش تابعی است که ورودی حروف و اعداد را به خروجی رمزگذاری شده با طول ثابت تبدیل میکند.
سه نوع بلوک در بلاک چینهای مختلف وجود دارد که عبارتند از Genesis block، Valid blocks و orphan blocks. اجازه دهید در مورد آنها به تفصیل بحث کنیم.
ماینرها از طریق فرآیندی به نام ماینینگ، بلوکهای جدیدی را روی زنجیره ایجاد می کنند. هر بلوک دارای nonce و هش منحصر به فرد خود است، اما به هش بلوک قبلی در زنجیره نیز اشاره میکند.
بلوکها با اعداد طولانی که شامل اطلاعات تراکنش های رمزگذاری شده از بلوک های قبلی و اطلاعات تراکنش های جدید است، شناسایی میشوند. قبل از ایجاد بلوکهای جدید، بلوکها و اطلاعات درون آنها باید توسط یک شبکه تأیید شود.
به طور متوسط روزانه ۱۴۴ بلاک استخراج میشود و در هر بلوک ۶.۲۵ بیت کوین وجود دارد.
سلام و عرض ادب از مطالب مفیدتون استفاده کردم ولی متوجه این جمله نمیشم “هدف سختی در بلاک مشخص کنندهی میزان کوچکی مقدار هش است”ممکن هست که بیشتر توضیح بدید؟ممنونم پیشاپیش
سلام
وقت به خیر
هر بلاک در بلاکچین بیت کوین، مشخصات خاصی دارد، مانند شناسنامه هر فرد.
یکی از این مشخصات، عدد نانس بلاک است. عدد نانس، یک عدد ۳۲ بیتی است که با صفر شروع میشود. عدد نانس است که هش را مشخص میکند.
هر چه تعداد صفرهایی که اول عدد نانس قرار دارد بیشتر باشد، برای دستگاههای ماینر حدس زدن آن سخت تر خواهد شد. یعنی اگر عدد نانس کوچکتری برای استخراج بلاک لازم داشته باشیم، به این معنی است سختی استخراج بالاتر رفته است.
امیدواریم این توضیح به شما برای درک جمله و مقاله کمک کند. اگر کافی نبود، لطفاً دوباره کامنت بگذارید.
از همراهی شما ممنونیم.