آموزش بلاکچین

اصلاح داده ها در بلاکچین

چرا اصلاح داده ها در بلاکچین دشوار است؟

برای درک بهتر مفهوم و شکل اصلاح داده ها در بلاکچین بهتر است، آشنایی اولیه با چند مفهوم پایه ای داشته باشید. تعدادی از این مفاهیم را در زیر آورده ام.

دشواری یا difficulty

نانس یا nonce

هش  یا  hash

اثبات کار

بلاکچین در یک شبکه همتا به همتا کار می کند و هر تراکنش جدید برای همه گره ها پخش می شود تا هر یک از گره ها بتوانند آن را استخراج کنند. فرآیند استخراج یک بلاک شامل پیش‌بینی یک مقدار nonce است که می‌تواند سطح دشواری را برآورده کند.

«دشواری» در بلاکچین به چه معناست؟

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

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

هر بلاک باید معیارهای دشواری (اثبات کار) را برآورده کند.

هر بلاک باید حاوی مقدار هش بلاک قبلی باشد و باید با هش بلاک قبلی مطابقت داشته باشد.

یک مثال می تواند بهتر به ما در درک این موضوع کمک کند.

فرض کنید بلاکچینی به طول ۶ داریم، که در آن الگوریتم هش مورد استفاده، SHA-256 و دشواری ۵ است (هش که با ۵ صفر شروع می شود به عنوان اثبات کار)

اصلاح داده ها در بلاکچین

بیایید سعی کنیم داده های تراکنش بلاک سوم را از بلاک ۳ به بلاک ۳۳ تغییر دهیم. اکنون که اصلاح داده های بلاک انجام شده است، زنجیره نامعتبر می شود زیرا زمانی که بررسی اعتبارسنجی انجام می شود، هش ایجاد شده توسط این بلاک دشواری را برآورده نمی کند و با مقدار هش قبلی بلاک بعدی مطابقت نخواهد داشت.

روش زیر برای محاسبه هش استفاده می شود :

اصلاح داده ها در بلاکچین

هش با اضافه کردن TransactionData، timestamp، previousBlockHash، nonce و اعمال SHA-256 در رشته حاصل محاسبه می شود.

اگر داده ها را برای بلاک ۳ اضافه کنیم، این رشته حاصل است :

اصلاح داده ها در بلاکچین

و هش SHA-256 برای رشته فوق می باشد.

اصلاح داده ها در بلاکچین

بدیهی است که معیارهای دشواری را برآورده نمی کند زیرا با ۵ صفر شروع نمی شود، بنابراین مقدار nonce باید دوباره محاسبه شود. این برنامه با کنسول جاوا را نوشته شده که تیم خط دید برای شما آنرا از منابع زبان اصلی تهیه کردند و به ما کمک می کند تا nonce را با bruteforce محاسبه کنیم.

اصلاح داده ها در بلاکچین
اصلاح داده ها در بلاکچین

توجه داشته باشید که پیام نباید حاوی مقدار nonce باشد، زیرا این همان چیزی است که ما سعی داریم محاسبه کنیم. ما دریافتیم که مقدار nonce 125107 معیارهای دشواری را برآورده می کند، عالی است بیایید ببینیم زنجیره داده های اصلاح شده ما چگونه به نظر می رسد.

اصلاح داده ها در بلاکچین

از آنجا که بلاک ۳ اصلاح داده شده است، مقدار هش قبلی موجود در بلاک ۴

اصلاح داده ها در بلاکچین

با هش بلاک سوم مطابقت ندارد.

اصلاح داده ها در بلاکچین

برای اصلاح داده های زنجیره، مقدار هش قبلی در بلاک ۴ باید روی هش فعلی بلاک ۳ تنظیم شود، بنابراین تبدیل می شود

اصلاح داده ها در بلاکچین

و هش فعلی برای بلاک ۴ تبدیل می شود

اصلاح داده ها در بلاکچین

که معیارهای دشواری را برآورده نمی کند و مقدار nonce باید دوباره محاسبه شود.

اصلاح داده ها در بلاکچین

با nonce جدید، بلاک ۴ تبدیل می شود

اصلاح داده ها در بلاکچین

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

📌 مقاله مرتبط:

برای آشنایی بیشتر با موضوع، پیشنهاد می شود این مقاله را نیز مطالعه بفرمایید: کلید خصوصی در بلاکچین

مشکل بزرگ چیست؟

شاید تعجب کنید که مشکل بزرگ محاسبه مجدد هش در بلاکچین چیست. پس از همه، با برخی از محاسبات مجدد و زمان می توانید زنجیره را تغییر دهید درست است؟

چند نکته وجود دارد که باید در نظر گرفت :

طولانی ترین اثبات زنجیره کار به عنوان زنجیره صحیح توسط شبکه P2P پذیرفته می شود.

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

در هر ثانیه، بسیاری از تراکنش‌ها در سراسر شبکه بلاکچین پخش می‌شوند و گرهی که مقدار nonce را برای یک تراکنش محاسبه می‌کند، ابتدا به گره‌ای تبدیل می‌شود که طولانی‌ترین اثبات زنجیره کار را دارد. در چنین محیط رقابتی، دستکاری در زنجیره از نظر محاسباتی خسته کننده است.

میزان دشواری در بلاکچین به چه معناست؟

دشواری در بلاکچین معیاری نسبی است که نشان می دهد یافتن یک بلاک جدید چقدر دشوار است.

مشکل بزرگ محاسبه مجدد هش در بلاکچین چیست ؟

در هر ثانیه، بسیاری از تراکنش‌ها در سراسر شبکه بلاکچین پخش می‌شوند و گرهی که مقدار nonce را برای یک تراکنش محاسبه می‌کند، ابتدا به گره‌ای تبدیل می‌شود که طولانی‌ترین اثبات زنجیره کار را دارد. در چنین محیط رقابتی، دستکاری در زنجیره از نظر محاسباتی خسته کننده است.

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

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

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

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