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

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

هش چیست؟

هش خروجی یک تابع ریاضی است که  در رمزنگاری به آن تابع درهم ساز یا تابع تابع هش می گویند.

تابع هش ورودی با طول دلخواه را به خروجی رمزگذاری شده با طول ثابت تبدیل می کند.

بنابراین صرف نظر از مقدار اصلی داده یا اندازه فایل درگیر، هش منحصر به فرد آن همیشه یک اندازه خواهد بود.

وقتی از سایفر استفاده می شود و یک پیام رمز می شود یا کد گذاری می شود این عمل بر گشت پذیر است.

اما خروجی تابع هش برگشت پذیر نیست یعنی به هیچ وجه نمی توان از خروجی به ورودی رسید.

تابع هش یا تابع درهم ساز یک طرف است درست مثل زمانی که گوشت را چرخ میکنید و راهی برای برگشت وجود ندارد.

برای همه ورودی های یکسان هش خروجی یکسان ایجاد می شود.

هش و هش کردن از پیش نیاز های ضروری بلاک چین هستند.

مفاهیم  کلیدی

هش خروجی تابع درهم ساز است.

تابع درهم ساز تابعی است که نیازها مورد نیاز برای محاسبات بلاک چین را برآورده می کند.

ورودی تابع درهم ساز هر فایلی با هر سایزی می تواند باشد.

خروجی همیشه یک رشته با طول ثابت است.

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

تابع درهم ساز یک طرفه است و برگشت پذیر نیست.

اساس هر بلاک چین تابع درهم ساز آن است.

 

توابع درهم ساز چگونه کار می کنند

هش

عملکرد تابع هش

توابع درهم ساز معمولی ورودی هایی با طول های متغیر را برای برگرداندن خروجی های با طول ثابت دریافت می کنند.

یک تابع درهم ساز رمزنگاری، باید واجد ویژگی های امنیتی باشد.

توابع درهم ساز معمولاً از ساختارهای داده در سیستم های محاسباتی برای وظایفی مانند بررسی یکپارچگی پیام ها و احراز هویت اطلاعات استفاده می شود.

در حالی که آنها از نظر رمزنگاری “ضعیف” در نظر گرفته می شوند.

توابع درهم ساز رمزنگاری ویژگی‌های امنیتی را به توابع  معمولی اضافه می‌کنند و تشخیص محتوای یک پیام یا اطلاعات مربوط به گیرندگان و فرستنده‌ها را دشوارتر می‌کنند.

ویژگی ها

 

به طور خاص، توابع هش رمزنگاری این سه ویژگی را نشان می دهند:

 

آنها “بدون برخورد” هستند. این بدان معناست که هیچ دو هش ورودی نباید به یک هش خروجی نگاشت شوند.

آنها را می توان پنهان کرد. حدس زدن مقدار ورودی یک تابع هش از خروجی آن باید دشوار باشد.

آنها باید پازل پسند باشند.

انتخاب ورودی که یک خروجی از پیش تعریف شده ارائه می دهد باید دشوار باشد. بنابراین، ورودی باید از توزیعی انتخاب شود که تا حد امکان گسترده باشد.

 

به دلیل ویژگی های منحصر به فرد ، به طور گسترده در امنیت آنلاین استفاده می شوند.

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

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

کاربرد در مزارز ها

 

تابع هش ستون فقرات یک ارز دیجیتال، زنجیره بلوکی است که یک دفتر کل جهانی است که از پیوند دادن بلوک های جداگانه داده های تراکنش به یکدیگر شکل می گیرد.

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

استخراج ارزهای دیجیتال شامل کار با آنهاست.

در هم سازی  نیاز به پردازش داده ها از یک بلوک از طریق یک تابع ریاضی دارد که منجر به خروجی با طول ثابت می شود.

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

فر ایند استخراج، همان فر آیندی که امنیت داده های بلاک چین را تامی می کند، با استفاده از الگوریتم های پیچیده درهم سازی صورت میگیرد.

چون داده های مربوط به مرکل روت ، بیت ها یا همان تراکنشها، زمان های انجام فر آیند ها همگی با هم درهم سازی شده و دوباره باید با نانس در هم سازی شود.

ماینر روی nonce، رشته ای از اعداد تمرکز می کند.

این عدد به محتویات درهم سازی شده بلوک قبلی اضافه می شود که سپس دوباره درهم سازی می شود.

اگر نتیجه جدید مطابق با target hash باشد اجازه نوشتن روی بلاک و جایزه بلاک بدست می آید.

فرآیند اعتبار سنجی برای تراکنش های بلاک چین به رمزگذاری داده ها به استفاده ازالگوریتم درهم سازی  متکی است.

ملاحظات خاص

 

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

این به این دلیل است که nonce یک رشته تصادفی است.

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

هرچه سختی شبکه  بیشتر باشد – معیاری برای اینکه چقدر سخت است،توسط هش هدف تعیین می شود.

 

نمونه

 

هش خروجی تابع درهم ساز SHA-256 برای کلمه ایران درست همان طولی را دارد که هش خروجی یک فایل mp4  فیلم سینمایی دارد.

خروجی تابع در هم ساز برای ایران

خروجی تابع در هم ساز برای ایران

 

پردازش این  توابع  برای رمزگذاری بلوک های جدید به قدرت پردازش کامپیوتری قابل توجهی نیاز دارد که می تواند پرهزینه باشد.

برای ترغیب افراد و شرکت‌هایی که ماینرها نامیده می‌شوند، برای سرمایه‌گذاری در فناوری مورد نیاز، شبکه‌های ارزهای دیجیتال به آنها توکن‌های جدید ارز دیجیتال و کارمزد تراکنش پاداش می‌دهند.

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

سوالات متداول

تابع هش یا درهم ساز چیست؟

توابع هش توابع ریاضی هستند که مجموعه ای از داده ها را به یک رشته بیت با اندازه ثابت تبدیل یا “نقشه برداری” می کنند.

این توابع اساس بلاکچین هستند و بدون آنها ذخیره امن داده ها امکان پذیر نیست.

مقدار خروجی چگونه محاسبه می شود؟

به عمل هش هشینگ می گویند.

در اصطلاح ورودی توسط تابع درهم ساز دایجست یا هضم می شود.

سپس خروجی ایجاد می شود.

آنها از الگوریتم های پیچیده ریاضی استفاده می کند که داده های با طول دلخواه را به داده هایی با طول ثابت (مثلاً 256 کاراکتر) تبدیل می کند.

اگر یک بیت را در هر جایی از داده های اصلی تغییر دهید، کل مقدار خروجی تغییر می کند و برای تأیید صحت فایل های دیجیتال و سایر داده ها مفید است.

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

 

هش ها در چندین بخش از یک سیستم بلاک چین استفاده می شوند.

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

استخراج ارزهای دیجیتال با استفاده از اثبات کار (PoW).

برای تراکنش ها و ساختن کلید خصوصی و عمومی و آدرس ها در بلاکچین.

برای ارسال امضای دیجیتال در بلاکچین و بررسی صحت امضا.

اطلاعات بیشتر

دانشنامه کریپتویار جهت آشنایی ایرانیان با بلاک چین تلاش دارد تا نوشته هایی پر کیفیت ارائه کند.

اگر سوالی در این زمینه دارید می توانید در کامنتها یا اینستاگرام ما مطرح کنید

درباره فرهاد قناعتگر

فرهاد قناعتگر دانش آموخته دانشگاه تهران و علم و صنعت   علاقه مندی ها: اقتصاد، سیاست و برنامه نویسی کامپیوتر   عاشق مطالعه و یادگیری هستم زبان: انگلیسی، آشنایی با فرانسه زبان برنامه نویسی: جاوا اسکریپت، سالیدیتی، پایتون در حال مطالعه rust 'گیت هاب : https://github.com/Farhadgh کارهای انجام شده در زمینه بلاکچین قرارداد هوشمند توکن دریک با نام daricpay ، سال 1396 روی شبکه اتریوم، متن باز https://cn.etherscan.com/address/0x20b504802dbce474b4dc59c9474f9270c85b94d8 - قرارداد هوشمند توکن لیکوئیدیتی جنریتور کریپویار روی شبکه پالیگان به آدرس https://polygonscan.com/address/0x1ae75C0241696dF2C65e8Af0c9677aDEF6420a65 اپلیکیشن غیر متمرکز(Dapp) : https://nft.cryptos.help

3 دیدگاه ها

پاسخ دهید

ایمیل شما منتشر نخواهد شد. شاخه های ضروری نشانه گذاری شده اند *

*

x

همچنین نگاه کنید به

بلوک چیست؟

بلوک (بلوک بیت کوین) چیست؟   بلوک ها فایل هایی هستند که داده های مربوط ...