تابع هش در تراکنش بلاک چین چیست؟
توابع هش رمزنگاری یک رشته کاراکتر با طول ثابت از رکوردهای داده با هر طولی تولید می کنند. یک رکورد داده می تواند یک کلمه، یک جمله، یک متن طولانی تر یا یک فایل کامل باشد. یک تابع هش رمزنگاری برای اهداف امنیتی استفاده می شود و ستون فقرات امنیت رمزنگاری را تشکیل می دهد.
تابع هش یک ورودی تصادفی از داده ها (کلیدها) را به رشته ای از بایت ها با طول و ساختار ثابت (مقدار هش) تبدیل می کند. هش تراکنش این کار را آسان می کند. در ادامه این نوشته می خواهیم بدانیم که تابع هش در تراکنش بلاک چین چیست؟
تابع هش چیست؟
شبکه بیت کوین به مجموعه ای از قوانین به نام الگوریتم اجماع اثبات کار بستگی دارد. این الگوریتم اجماع مجموعه ای از قوانین است که بر یک شبکه بلاک چین حاکم است. خارج از ارزهای دیجیتال، رایج ترین استفاده از توابع هش در ذخیره سازی رمزهای عبور است.
بیایید به اصول اولیه بازگردیم. یک تابع ریاضی برای نشان دادن یک عبارت یا یک رابطه شامل یک یا چند متغیر یا مجموعه استفاده می شود. در نتیجه، یک تابع یک ورودی را به یک خروجی مرتبط می کند.
یک تابع هش یک ورودی (به عنوان مثال متن) را به رشته ای از بایت ها با طول و ساختار ثابت تبدیل می کند. خروجی یا مقدار ایجاد شده «مقدار هش» یا «جمع کنترلی» نامیده میشود.
هر مقدار هش ایجاد شده از دادهها با استفاده از یک الگوریتم هشسازی خاص، همیشه به همان طول و یک طرفه است – نمیتوان آن را معکوس کرد.
اصطلاح “عملکرد هش” از کلمه فرانسوی “hacher” مشتق شده است که به معنای “خرد کردن به قطعات کوچک” است که نشان می دهد چگونه یک تابع هش برای “خرد کردن” داده ها طراحی شده است.
نوع دیگری از ساختار داده، جدول هش، اغلب برای تشخیص سریع هر دو هش یکسان (مقادیر هش) استفاده می شود.
پس از اینکه دیفی و هلمن برای اولین بار نیاز به یک تابع هش یک طرفه را در مقاله اصلی خود در سال 1976 در مورد رمزنگاری کلید عمومی شناسایی کردند، طی دو دهه بعد، پیشرفت در رمزنگاری به سرعت پیشرفت کرد. به همین دلیل کاربرد تابع هش در تراکنش بلاک چین بسیار دیده می شود.
ویژگی های توابع هش
یک تابع هش رمزنگاری باید از نظر محاسباتی کارآمد باشد، به این معنی که برای ایجاد مقدار هش باید عملکرد سریعی داشته باشد.
باید قطعی باشد – هر بار که ورودی خاصی را وارد می کنید، باید همان خروجی را تولید کند و در برابر تصویر مقاوم باشد، به این معنی که نمی تواند هیچ اطلاعاتی را در مورد ورودی در خروجی نشان دهد.
در نهایت، یک تابع هش باید در برابر برخورد مقاوم باشد که تضمین می کند که تولید خروجی یکسان برای دو ورودی متفاوت غیرممکن است. این ویژگی قطعی، مقاومت پیش از تصویر و مقاومت در برابر برخورد است که سه ویژگی مهم توابع هش در فرآیند استخراج بیت کوین را تشکیل می دهد.
تابع هش در تراکنش بلاک چین و فرایند استخراج
توابع هش از یک سو از نیاز به یکنواخت کردن طول محتوا و از سوی دیگر برای استفاده به عنوان شناسه های منحصر به فرد سرچشمه می گیرند.
با اجرای سریع فرآیند اعتبار سنجی در شبکه بیت کوین، یک بلوک بسته بندی می شود و حاوی چندین تراکنش و همچنین اطلاعات مربوط به بلوک قبلی است. این بدان معناست که اگر شخصی بخواهد دفتر کل را تغییر دهد یا یک تراکنش را دوبار خرج کند، باید هش را در تمام بلوکهای قبلی تغییر دهد.
برای اینکه بلاک همراه به بلاک چین اضافه شود، ماینرها باید هشی را پیدا کنند که مشکل هدف را برآورده کند. هر بلوک حاوی یک سربرگ با شماره بلوک، هش بلوک قبلی و یک «nonce» است که شامل یک مهر زمانی است. هدف از یک nonce تغییر ورودی به یک تابع هش رمزنگاری است که افزایش تصادفی بودن در محاسبات در طول فرآیند استخراج است.
سخن آخر
در این نوشته از وب سایت آکادمی یزدانی ما به بررسی تابع هش در تراکنش بلاک چین پرداختیم. در کل هش باید با مقدار صحیح صفر شروع شود.
اگر هش معیارهای سختی را داشته باشد، برای ماینرهای دیگر شبکه پخش می شود. اولین ماینری که یک هش معتبر پیدا می کند، بلاک را به یک بلوک جدید اعتبار می دهد و پاداش بلاک و کارمزد بیت کوین را دریافت می کند.
دیدگاهتان را بنویسید