مجله آنلاین مگ باز
هشینگ بلاک چین

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

هشینگ ایده ایست که بازای دریافت ورودی دلخواهی، با اعمال برخی الگوریتم‌های ریاضی به آن، یک خروجی با طول ثابت توليد میکند که Hash نام دارد. این ورودی میتواند تعدادی بیت، کاراکتر، یک فایلMP3، یک رمان کامل، برگه تاریخچه حساب بانکی، و حتی کل اینترنت باشد. نکته مهم اینست که ورودی میتواند بزرگ باشد ولی پس از اعمال محاسباتی بر روی آن، خروجی با تعداد بیت ثابت مثلاً ۱۲۸ یا ۲۵۶ یا ۵۱۲ بیت توليد میکند. الگوریتم Hash میتواند برحسب نیاز انتخاب گردد و هم اکنون چندین الگوریتم موجود هست.
از توابع Hash برای تأیید دستکاری نشدن فایلها و حفظ یکپارچگی آنها استفاده میگردد. بعنوان مثال اگر فایلی را دانلود نمودید برای مطمئن شدن از درستی و اصل بودن فایل میتوانید Hash آن را محاسبه نموده و با Hash فایل که به همراه فایل ارسال شده مقایسه نمایید و در صورت مطابقت، از درستی و اصل بودن فایل مطمئن شوید.

کاربرد Hash در ساختار Blockchain

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

نحوه محاسبه Hash در Blockchain

اولین Hash برای بلوک اول (Genesis) محاسبه میشود که برای تراکنش در آن بلوک بکار میرود. رشته تراکنش اولیه برای محاسبه Hash بلوک جهت تولید بلوک Genesis(اولیه) بکار میرود. برای بلوک جدید که بعداً تولید میشود، Hash بلوک قبلی و تراکنش خودش بعنوان ورودی Hash استفاده میگردد. بدین ترتیب زنجیره‌ای از بلوکها شکل میگیرد. (
البته هش بلاک برای هدر (سرایند بلاک ) انجام میشه
تراکنش ها دو به دو هش میشن و باز نتیجه ها هش میشن تا به یه ریشه میریسم.
به این میگن درخت مِرْکِلْ
ریشه درختِ مرکلِ تراکنش های یه بلاک تو سرایند بلاک هست)بنابرین هر Hash بلوک جدید اشاره به Hash بلوک قبل آن میکند. این سیستم Hashing تضمین کننده اینست که در هیچ تراکنشی امکان دستکاری نیست زیرا درصورت تغییر بخشی از تراکنش، Hash بلوکی که درآنست و همه Hash های زیربلوکها تغییر میکنند. تشخیص دستکاری شدن در Blockchain آسان هست زیرا هرکسی فقط نیاز به تأیید ۲۵۶ بیت دارد. بلاکچین اتریوم، هم اکنون ده‌ها گیگابایت میباشد اما Hash آن ۲۵۶ بیت میباشد.

امضای دیجیتال در Blockchain

امضای دیجیتال امروزه در اینترنت مورد استفاده قرار میگیرد مثلاً زمانیکه از SSL برای دیدن یک وبسایت استفاده میکنید. اینکار نوعی اعتماد بین شما و وب سرور مربوطه ایجاد مینماید که پاسخ دریافتی از وب سرور مطمئناً از طرف وب سرور ارسال شده و هکرها آنرا ارسال نکرده‌اند.
در امضای دیجیتال از رمزهای نامتقارن استفاده میگردد که هر کاربر دارای دو کلید خصوصی و عمومی برای رمزنگاری میباشد. این کلیدها با یک رابطه ریاضی بهم مربوط میشوند. کلید عمومی برای دریافت پیام از طرف دیگران، به اشتراک گذاشته میشود. کلید خصوصی بصورت مخفی نزد هر کاربر نگهداری میگردد. در امضای دیجیتال Hash پیام توسط کلید خصوصی رمز میگردد و در سمت گیرنده با کیلد عمومی فرستنده رمزگشایی میگردد و با Hash پیام مقایسه میگردد و هویت فرستنده و صحت یکپارچگی پیام تأیید میگردد. تولید زوج کلید خصوصی و عمومی مشابه ایجاد یک حساب کاربری روی Blockchain
میباشد بدون اینکه مجبور به ثبتنام در جایی باشد. هر تراکنشی که بر روی Blockchain اجرا میشود توسط کلید خصوصی فرستنده امضا میگردد. این امضا به دارنده حساب این اطمینان را میدهد که فقط او قادر به جابجایی پول به خارج از حساب میباشد.

منبع: blockgeeks.com

Add comment

Your Header Sidebar area is currently empty. Hurry up and add some widgets.