فناوری بلاک چین

همه چیز درباره Block؛ وظیفه بلاک در بلاکچین چیست؟

کانال تلگرام رسانه فناوری هوشمند

بلاکچین‌ها بستر اصلی فعالیت ارزهای دیجیتال مانند بیت کوین‌‌، اتریوم، ریپل و ارزهای مشابه دیگر هستند. فناوری بلاکچین است که امنیت این ارزها را فراهم می‌کند و سبب شده که امکان جعل آن‌ها و تقلب در تراکنش‌های ارزهای دیجیتال وجود نداشته باشد. بلاکچین زنجیره‌ای از بلاک‌هاست و Block رکن اصلی این شبکه است. پس برای آشنایی کامل با بلاکچین، باید بدانیم که Block چیست؟ در این مقاله می‌خواهیم بلاک در بلاکچین را به زبان بسیار ساده توضیح دهیم.

بلاک چیست؟

بلاک‌‌‌ بخش اصلی فناوری بلاکچین است. آن‌‌‌ها را می‌توان صفحات دفتر کل توزیع شده‌ بلاکچین دانست. هر Block حاوی اطلاعاتی مانند تراکنش‌ها‌ی صورت‌گرفته در بستر بلاکچین است که عبارت‌اند از: زمان انجام تراکنش، آدرس عمومی فرستنده و آدرس عمومی گیرنده، هش اختصاصی خود و هش Block قبلی.

تمام این اطلاعات روی بلاک‌‌ به‌صورت دائمی ذخیره می‌شود و به‌هیچ‌عنوان قابل تغییر یا حذف نیستند. این ویژگی را سیستم رمزنگاری شبکه در بلاک‌ها ایجاد می‌کند. بلاک در بلاکچین دارای بخش‌های مختلفی است که یک هدف واحد را دنبال می‌کنند. هر یک از بخش‌‌های آن وظایف مخصوص به خود دارند.

درخت مرکل یا Merkle tree چیست؟

درخت مرکل یکی از اصطلاحات ارز دیجیتال است. این درخت که بخشی از بلاک در بلاکچین است، نام خود را از ریاضی‌دان معروف، رالف مرکل گرفته است. با استفاده از این فناوری می‌توان اطلاعات بسیاری را توسط یک هش ارائه کرد. به‌این‌ترتیب که داده‌‌ها هش می‌شوند، سپس مقدار‌های هش با یکدیگر ادغام شده و تبدیل به یک هش واحد می‌شوند. این هش واحد، ریشه درخت مرکل نام دارد. برگ‌های این درخت تراکنش‌های صورت‌گرفته در شبکه هستند و شاخه‌های درخت، هش برگ‌ها هستند.

تا زمانی که شاخه‌‌ها و برگ‌های درخت مشخص باشند، ساخت ریشه هش بسیار آسان و سریع صورت می‌گیرد. اما طبق قانون توابع هش که به‌دست‌آوردن ورودی از خروجی هش تقریباً غیر‌ممکن است (‌یک‌طرفه بودن تابع هش)؛‌ درصورتی‌که هش ریشه درخت مرکل یا درخت درهم ساز مشخص باشد اما برگ‌‌ها (تراکنش‌ها) و شاخه‌ها (هش تراکنش‌ها) نامشخص باشند، حدس زدن تراکنش‌ها کار دشواری است.

ساختار بلاک در بلاکچین

به‌طورکلی، بلاک را می‌توان یک فایل ذخیره‌سازی داده‌ به‌صورت دائمی دانست. هر Block از دو بخش هدر بلاک (Block Header) و بدنه‌ بلاک (Block Body) تشکیل شده است. هدر Block خود شامل چندین بخش با وظایف مختلف است و بدنه Block محل بارگیری یا ذخیره اطلاعات Block به‌حساب می‌آید.

هدر بلاک (Header Block)

هدر بلاک نقش اساسی در فرایندهای شبکه بلاکچین دارد. بلاک‌ها از طریق هدر به یکدیگر متصل می‌شوند و از طریق هش هدر در شبکه شناسایی می‌شوند. هدر به ۶ بخش که عبارت‌اند از: ‌ نسخه برنامه، هش Block قبلی، هش ریشه درخت مرکل، ‌برچسب زمانی، ‌هدف و عدد نانس، تقسیم می‌شود. هر یک از این بخش‌ها وظایفی از عملیات کلی Block را بر‌عهده دارند.

نسخه برنامه (Version)

شماره نرم‌افزار یا نسخه برنامه به‌منظور توصیف ساختار داده‌های داخل Block استفاده می‌شود. از طریق این شماره سریال، رایانه‌ها می‌توانند محتوای Block را به‌راحتی بخوانند. همچنین ماینرها از طریق این شماره می‌توانند مشخص کنند برای فعالیت درون شبکه از چه پروتکلی پیروی می‌کنند.

برچسب زمانی (Timestamp)

برچسب زمانی ترتیب زمانی بلاک‌ها در بلاکچین را نشان می‌دهد یا به عبارت ساده‌تر این پارامتر زمان ایجاد هر Block را مشخص می‌کند. یکی دیگر از کاربردهای مهم Timestamp نشان دادن تغییرات هش ریت و محافظت از بلاکچین در برابر عوامل مخرب است. در واقع می‌توان گفت برچسب زمانی نقش امنیتی در زنجیره بلوک ایفا می‌کند.

هش بلاک قبلی (Last Block)

هش block قبلی برای جلوگیری از سانسور و تقلب در بستر بلاکچین در کنار داده‌های موجود در Block قرار می‌گیرد. این بخش از بلاک به‌نوعی تضمین‌کنندهٔ غیرقابل‌تغییر و حذف بودن اطلاعات داخل بلاکچین است.

اگر کسی قصد تغییر داده‌های موجود در یک Block از سیستم کلی را داشته باشد، باید هش Block قبلی را نیز تغییر دهد. به‌عبارت‌دیگر، ‌باید هش تمام بلاک‌های قبلی را تا نخستین Block ایجاد شده در زنجیره تغییر دهد که این روند غیرممکن است و هیچ‌گاه اطلاعات داخل بلاکچین تغییر نخواهد کرد.

هش درخت مرکل (Merkle Root)

می‌توان تمام اطلاعات موجود Block که شامل اطلاعات تراکنش‌ها‌ (زمان انجام، آدرس فرستنده و گیرنده)، هش اختصاصی و هش Block قبلی است را در یک هش واحد جمع‌آوری کرد. به این مقدار هش، هش درخت مرکل یا درخت درهم ساز می‌گویند.

هدف (Target)

اندازه هش در بلاکچین با بیت اندازه‌‌گیری می‌شود. هش فعلی Block باید کوچک‌تر یا مساوی هش هدف باشد. هرچه تعداد صفرهای اول مقدار هش بیشتر باشد؛ کوچک‌تر است. هدف سختی بلاک در بلاکچین مشخص‌کنندهٔ میزان کوچکی مقدار هش است. یعنی تعیین می‌کند هش چقدر کوچک باشد تا ماینرهای شبکه اعتبار آن را برای ثبت در سیستم تأیید کنند.

عدد نانس (Nonce)

نانس به عددی گفته می‌شود که تنها یک‌بار استفاده می‌شود (Number Only Used Once) و از طریق آن ماینرها می‌توانند هش کمتر از هدف سختی شبکه را حدس بزنند. این عدد از طریق الگوریتم اثبات کار (PoW) به هش Block اضافه می‌شود. بلاک‌ به‌تنهایی هش نمی‌شوند و به یک عدد دیگر برای فرایند رمزنگاری نیاز دارند. نانس همان عدد است.

بدنه بلاک (Block Body)

بدنه بلاک محل ذخیرهٔ تاریخچهٔ تراکنش‌های تأیید شده است. هنگامی که ماینرها یک Block را ایجاد می‌کنند، در واقع یک تراکنش را اعتبارسنجی و تأیید کرده‌اند. آن‌ها برای تأیید این تراکنش‌ها، بررسی می‌کنند که فرستنده به میزان تراکنش موردنظر، ارز در حساب خود دارد یا خیر. این سوابق برای بررسی راحت‌تر در بدنه‌ Block ذخیره می‌شود.

بلاک‌ در بلاکچین چگونه ساخته می‌شود؟

بلاک‌ها توسط استخراج‌کنندگان یا همان ماینرها ایجاد می‌شوند. تراکنش‌ها در بلاکچین به‌سرعت و در همان زمان انتشار در شبکه انجام نمی‌شوند. آن‌‌ها در استخر حافظه (Memory Pool)‌ ذخیره می‌شوند و در انتظار تأیید گره‌ها‌ (کاربران شبکه بلاکچین) می‌مانند. 

در این مرحله، ماینرها تراکنش‌ها را برای تأیید کردن انتخاب می‌کنند و در Block کاندید قرار می‌دهند. سپس برای افزودن این Block به شبکه بلاکچین تلاش می‌کنند.

بلاک‌ها چطور به بلاکچین اضافه می‌شوند؟

ماینر Block کاندید را با بلاک هدر و بهترین عدد نانس بر اساس هدف سختی استخراج به زنجیره بلاک‌‌ها یا همان بلاکچین اضافه می‌کند. به‌این‌ترتیب که بلاک Block ک جدید را به‌طوری‌که هش آن کم‌‌تر از هدف سختی شبکه باشد، هش می‌کنند. سختی شبکه میزان دشواری استخراج Block جدید است و در بلاکچین‌های مختلف متفاوت است. برای بلاکچین بیت کوین از سال ۲۰۱۶ به بعد این میزان در بازه‌های زمانی مختلف تغییر کرده است تا زمان استخراج هر Block به طور میانگین ۱۰ دقیقه باقی بماند.

رابطه ماینرها با Block

استخراج به معنای حل عدد نانس، تنها عدد متغیر در Block است. حل این عدد و به‌دست‌آوردن هش آن، مستلزم حل کردن مسائل پیچیده ریاضی در شبکه است. به‌عنوان‌مثال بیت کوین از هش رمزنگاری شده با نام SHA256 در الگوریتم خود استفاده می‌کند. یک ماینر بیت کوین باید این عدد را در برنامه ماینینگ خود استفاده کند تا بتواند مسئله موجود در شبکه را حل کرده و پاداش استخراج را دریافت کند.

مشکل اصلی در این است که تمام هدرهای بلاک قبلی به صورت تصادفی رمزگذاری می شوند. از این رو، هدر block فعلی یک عدد رمزگذاری شده تصادفی است که بر اساس اعداد رمزگذاری شده تصادفی بلاک‌های قبلی و اطلاعات Block فعلی تولید می‌شود؛ بنابراین هر Block جدیدی که در بلاکچین بیت کوین ثبت می‌شود، فرایند استخراج را برای ماینرها دشوار می‌کند. این امر به سختی شبکه نیز معروف است.

سایر کاربردهای بلاک

از آنجایی که بیت کوین اولین رمزارز شناخته شده در بازار کریپتوکارنسی است، اغلب افراد به اشتباه فکر می‌کنند که مفهوم بلاک فقط مختص بلاکچین بیت کوین است. اما باید بدانید که بسیاری از رمزارزها از مفهوم بلاک در بلاکچین خود استفاده می‌کنند. بلاک در بلاکچین باعث می‌شود تا هک کردن یا دستکاری ارزهای دیجیتال برای مهاجمان بسیار دشوار شود. به همین دلیل است که بسیاری از بانک‌های سراسر جهان به دنبال استفاده از مزایای بلاک و بلاکچین برای حفظ اطلاعات خود هستند.

امروزه بلاک در بلاکچین‌ علاوه بر ارزهای دیجیتال برای ایجاد برنامه‌های مالی غیرمتمرکز، توکن‌ غیر قابل معاوضه (NFT‌) استفاده می‌شود. با توجه به اینکه می‌توان گفت بلاکچین یک فناوری نوظهور است هنوز تمام کاربردهای آن مورد استفاده قرار نگرفته است. دور از انتظار نیست که به زودی بلاک و بلاکچین به زندگی روزمره انسان نیز ورود کند و همه چیز را متحول کند.

منبع: والکس

کانال تلگرام رسانه فناوری هوشمند

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا