در ادامه مباحث معرفی مفاهیم بلاکچینی می خواهیم در این بخش متغیر تصادفی در زنجیره بلوک را برایتان توضیح دهیم. تراکنشها در زنجیرهبلوک پس از اعتبارسنجی توسط گرهها، برای تایید و ثبت در اختیار ماینرها قرار میگیرد. ماینرها چند تراکنش را در یک بلوک قرار میدهند و هش بلوک را که یک عدد غالبا 256 بیتی است حساب میکنند. اگر هشی که یک ماینر به دست آورده است، کوچکتر از مقدار موردنظر پروتکل باشد، بلوک ماینر توسط گرهها پذیرفته و در زنجیرهبلوک ثبت میشود؛ در غیر این صورت ماینرها دوباره عملیات هش گرفتن را از سر میگیرند تا به جواب موردنظر برسند.
اما تابع هش، تابعی است که اگر ورودی یکسان دریافت کند، خروجی مشابهی میدهد. به این معنی که اگر هر بار از بلوک تکراری توسط ماینرها هش گرفته شود، خروجی ثابت باقی خواهد ماند و کار ماینر بیهوده خواهد بود.
فرض کنید یک ماینر یک دسته تراکنش تایید نشده را در کنار هم قرار بدهد، یک بلوک بسازد و هش آن را حساب کند. بهاحتمالزیاد عدد بهدستآمده با مقادیر موردنظر پروتکل همخوانی نخواهد داشت؛ بنابراین، ماینر باید دوباره هش بلوک را حساب کند؛ اما اگر دوباره از همان بلوک هش بگیرد، مقدار قبلی به دست میآید که از قبل میدانیم با مقادیر موردنظر شبکه همخوانی ندارد.
برای جلوگیری از این اتفاق از متغیر تصادفی (Nuance) استفاده میشود. متغیر تصادفی جزئی از ساختار بلوک است که در هر بار هشگیری تغییر میکند تا مقدار هش نهایی با دفعه قبل متفاوت باشد. بهاینترتیب ماینرها میتوانند هر بار با مجموعه دادهای جدید شانس خود را امتحان کنند.
متغیر تصادفی هر دادهای میتواند باشد؛ یک عدد، یک حرف، یک رشته یا هر چیز دیگر. همچنین لازم است بدانید که حتی ایجاد یک تغییر بسیار کوچک (برای مثال، تغییر متغیر تصادفی از 1 به 2 درحالیکه بقیه بلوک ثابت باقی بماند) میتواند بهکل عدد (هش) خروجی را تغییر بدهد.
اگر سوالی در ارتباط با موضوعات بررسیشده داشتید، در بخش کامنتها بپرسید.
منبع: ققنوس