هش در بلاک چین چیست؟ – به زبان ساده
دنیایی را تصور کنید که در آن دیگر نیازی به نهادهای واسط متمرکز نیست. اطلاعات مختلف در هر حوزه بهجای قرار گرفتن در سرور یا کامپیوتری مرکزی بین تمامی کامپیوترها توزیع شدهاند. این کامپیوترهای مختلف، دفتر کل توزیع شده را تشکیل میدهند. برای داشتن چنین دنیایی مجبور به استفاده از رمزنگاری برای حفظ امنیت اطلاعات توزیع شده هستیم. تکنولوژی بلاک چین نوعی دفتر کل توزیع شده است که نیاز ما را به سرور و نهادی مرکزی برطرف میکند. هنگام صحبت از بلاک چین ممکن است با عبارت هش در بلاک چین برخورد کرده باشید. در این مطلب قصد داریم درباره هش در بلاک چین توضیح دهیم.
هش در بلاک چین چیست ؟
به فرایندی که در آن اطلاعات در اندازههای مختلف را بتوان به رشتهای با اندازه ثابت تبدیل کرد هشینگ یا «هش» (Hash) میگویند. هش در بلاک چین توسط الگوریتم خاصی انجام میشود. بهعنوان مثال الگوریتم هش بیت کوین «SHA-256» نام دارد. این الگوریتم وظیفه هش در بلاک چین را در شبکه بیت کوین به عهده دارد. هش در بلاک چین در واقع نوعی رمزنگاری را بر روی اطلاعات ورودی انجام میدهد. بنابراین هش در بلاک چین باعث حفظ امنیت اطلاعات در شبکه میشود.
با توجه به اینکه خروجی هش شده بدون در نظر گرفتن اندازه اطلاعات ورودی همواره مقداری با اندازه ثابت است، بنابراین جستجو و فراخوانی اطلاعات بسیار آسانتر انجام میشود. البته افزایش امنیت و سهولت در ارسال و دریافت تراکنشها از دیگر مواردی است که هش در بلاک چین انجام آنها را مقدور میکند.
تابع هش در بلاک چین چیست ؟
تابع هش در بلاک چین در واقع کار رمزنگاری را انجام میدهد. فرایند هشینگ در بلاک چین توسط الگوریتمهای هش یا همان توابع هش انجام میگیرد. تابع هش تابعی یکطرفه است. بنابراین هنگامی که فرایند هشینگ انجام شد از خروجی نمیتوان به ورودی رسید. هر تغییر جزئی در اطلاعات ورودی به تابع هش، خروجی کاملا متفاوتی را به شما میدهد. تابع هش علاوه بر کاربرد در بلاک چین، در ذخیرهسازی رمزهای عبور بهصورت ایمن و رمزنگاری شده نیز کاربرد دارد.
آیا هش در بلاک چین نوعی رمزنگاری است ؟
هشینگ نوعی رمزنگاری است بهطوریکه با مهندسی معکوس نمیتوان از خروجی تابع هش به مقدار و اطلاعات ورودی رسید. بنابراین هش در بلاک چین تابعی یکطرفه است که برای حفظ و امنیت اطلاعات رد و بدل شده بین افراد ایجاد شده است. در این حالت رمزهای عبوری که توسط افراد استفاده میشود نیز به هش تبدیل میشوند. هشینگ اطلاعات از سرقت اطلاعات جلوگیری میکند و لایه امنیتی بیشتری را در اختیار شبکه قرار میدهد.
فرق رمزنگاری و هش چیست ؟
ممکن است افرادی در برخی از گروهها، برای اینکه اطلاعات گروه به طرف مقابل نشر پیدا نکند، از رمزنگاری استفاده کنند. رمزنگاری برای این منظور، بهگونهای صورت میگیرد که افراد همگروه بتوانند اطلاعات رمزنگاری شده افراد خودی را رمزگشایی و از اطلاعات آن استفاده کنند، درصورتیکه اطلاعات هش شده را نمیتوان به تابع هش داد و ورودی هش نشده را دریافت کرد.
بنابراین میتوان گفت رمزنگاری معمولی تابعی دوطرفه است و افراد دیگر در صورت نیاز میتوانند با رمزگشایی به اطلاعات اولیه دسترسی یابند. درحالیکه الگوریتم هش در بلاک چین تابعی یکطرفه است.
هش بلاک چیست ؟
هر بلاک در بلاک چین حاوی اطلاعات درون بلاک، هش بلاک و هش بلاک قبلی خود در زنجیره بلاک است. اطلاعاتی که در هر بلاک ذخیره میشود در بلاکچینهای مختلف متفاوت است. در بلاک چین بیت کوین برای مثال هر بلاک حاوی اطلاعاتی از قبیل فرستنده و گیرنده و مقدار بیت کوین ارسالی است. علاوه بر این هر بلاک دارای هش است. هش بلاک همانند اثر انگشت برای هر بلاک و منحصربهفرد است. همچنین، نمایانگر بلاک و تمامی اطلاعات ذخیره شده در بلاک به شمار میآید. انجام هر تغییر در داخل بلاک، هش بلاک را نیز تغییر خواهد داد.
بنابراین یکی از کاربردهای هش بلاک زمانی است که بخواهید تغییرات بلاک را رصد کنید. بنابراین هش بلاک همانند اثر انگشت برای بلاک است و اگر تغییر کند میتوان نتیجه گرفت که بلاک مورد نظر تغییر کرده است. هش بلاک قبلی نیز در داخل هر بلاک وجود دارد و باعث تشکیل زنجیره بلاک و افزایش امنیت شبکه میشود.
درخت مرکل چیست ؟
«درخت مرکل» (Merkle tree) روشی برای سازماندهی به اطلاعات برای بررسی و پردازش سریعتر و بهتر آنها است. «مرکل تری» در بلاک چین و رمزارزها نیز کاربرد دارد. هنگامی که تراکنش رمزارزی طبق ساختار درخت مرکل انجام میشود، در نهایت خلاصهای از تمامی هش تراکنشها در هش نهایی ذخیره میشود. این هش نهایی، «ریشه مرکل» (Merkle root) نام دارد.
کاربرد درخت مرکل در هش بلاک
تراکنشهای رمزارزی بعد از هش شدن در فرایندی بهصورت دو به دو جفت و هش میشوند. این هش در فرایندی مشابه، دوباره با هش حاصل از جفتی دیگر، هش جدیدی را تشکیل میدهد. این فرایند به همین شکل ادامه پیدا میکند و در نهایت هش ریشه مرکل حاصل میشود. این هش خلاصه شده، در پایان در بلاک هدر قرار میگیرد.
استفاده از درخت مرکل باعث آسانتر شدن دسترسی به اطلاعات تراکنشهای داخل هر بلاک میشود. بنابراین با کمک درخت مرکل بهراحتی میتوان تغییرات یا دستکاری در اطلاعات بلاک را متوجه شد. با توجه به این که ریشه مرکل که در بلاک هدر قرار دارد خلاصهای از تمامی تراکنشهای داخل بلاک را در خود دارد بنابراین، کوچکترین تغییر در تراکنشهای داخل بلاک باعث تغییر ریشه مرکل میشود.
درخت مرکل تمامی تراکنشهای داخل بلاک را بهصورت خلاصه شده در ریشه مرکل قرار میدهد. بنابراین اطلاعات هشینگ تراکنشها را میتوان از طریق ریشه مرکل اعتبارسنجی کرد. به عبارتی دیگر کاربر بدون اینکه مجبور شود اطلاعات زیادی را از بلاک چین دانلود کند با کمک Merkle tree میتواند از وجود تراکنشی خاص داخل بلاک آگاه شود.
هش در بلاک هدر
«بلاک هدر» (Block Header) قسمتی از بلاک است که خلاصهای از اطلاعات بلاک را در خود جای داده است. برخی از اطلاعاتی که در بلاک هدر وجود دارد در فهرست زیر آورده شده است.
- زمان تولید بلاک
- سختی شبکه در زمان تولید بلاک
- تاریخچه تراکنشهای داخل بلاک
- هش بلاک قبلی
مهمترین نکته در بلاک هدر این است که هش بلاک قبلی در بلاک هدر وجود دارد. بنابراین اگر فردی بخواهد حرکت مجرمانهای انجام دهد و اطلاعات بلاک را تغییر دهد، تمامی هشها در بلاک چین تغییر میکنند و در عمل نمیتواند این کار را انجام دهد.
خروجی تابع هش در بلاک چین
اندازه خروجی هر تابع هش در بلاک چین با خروجی تابع هش دیگر متفاوت است. اما اندازه خروجی یک تابع هش در بلاک چین همواره مقداری ثابت است. به عنوان مثال الگوریتم SHA-256 همواره خروجی 256 بیتی به ما میدهد. این تابع هش در بلاک چین بیت کوین استفاده میشود.
در تصویر زیر، خروجی تابع هش SHA-256 نمایش داده شده است. در این تصویر میبینیم که اگر واژه «Binance» با حرف اول بزرگ یا حرف اول کوچک نوشته شود، هش به طور کامل تغییر میکند.
توجه کنید که تنها تغییر در بزرگ و کوچک نوشتن حرف ابتدای کلمه باعث میشود تا مقدارهای کاملا متفاوتی از هش داشته باشیم.
با توجه به اینکه از الگوریتم SHA-256 در این مثال استفاده شده است، خروجی بدست آمده در هر دو حالت 64 کاراکتر یا 256 بیت است. فرقی ندارد که چند بار این دو کلمه را در این تابع هش قرار دهیم، خروجی تابع هش همواره همین میشود.
در مثالی دیگر، الگوریتم SHA-1 تابع هش دیگری است که همواره خروجی 160 بیتی دارد. تصویر زیر هش دو کلمه قبلی که تفاوتی جزئی با هم دارند را از طریق الگوریتم SHA-1 نشان میدهد.
همانطور که در تصویر مشاهده میکنید نسبت به الگوریتم SHA-256 اندازه و مقدارهایی متفاوت را برای هش خواهیم داشت. در تابع هش SHA-1 اندازه خروجی هش شده همواره 160 بیت است. در این تابع هش نیز با تغییر کوچکی در ورودی تابع، مقادیر کاملا متفاوتی از هش را در خروجی داریم.
«الگوریتمهای هش ایمن» (Secure Hash Algorithms | SHA) شامل الگوریتمهای SHA-0 و SHA-1 به همراه گروه الگوریتمهای SHA-2 و SHA-3 هستند. الگوریتم هش SHA-256 بخشی از گروه توابع هش SHA-2 است. از میان انواع تابع هش در بلاک چین در حال حاضر تنها گروه الگوریتمهای هش SHA-2 و SHA-3 از نظر امنیت مطلوب هستند.
کاربرد Hash در بلاک چین
بلاک چین از زنجیره بلاکهایی متصل به هم تشکیل شده است. هر کدام از این بلاکها مجموعهای هستند از تراکنشهای مختلف که در بلاک ذخیره شدهاند. هر بلاک در بلاک چین اطلاعات هش مربوط به بلاک قبلی را نیز در خود دارد. با توجه به اینکه بلاکچین همانند زنجیرهایی به هم متصل شدهاند، بنابراین برای تغییر در اطلاعات یک بلاک مجبور به تغییر در اطلاعات مربوط به هش تمامی بلاکها هستیم. این موضوع باعث افزایش امنیت و تغییرناپذیری بلاک چین میشود. از طرفی دیگر با توجه به خلاصهسازی اطلاعات تراکنشها با بهکارگیری درخت مرکل، فراخوانی اطلاعات از سهولت بیشتری برخوردار است.
افزایش امنیت شبکه
اگر فردی بخواهد تغییری به نفع خود در بلاک چین ایجاد کند مجبور خواهد بود تا هش بلاکهای قبلی را هم تغییر دهد. در واقع هش در بلاک چین از اقداماتی نظیر دوبار خرج کردن جلوگیری میکند. دوبار خرج کردن به اقدامی می گویند که فردی بخواهد شبکه را فریب داده و توکنی را که قبلا استفاده و خرج کرده است را دوباره خرج کند. بنابراین هش در بلاک چین امنیت شبکه را بسیار بالا میبرد.
سهولت در فراخوانی اطلاعات
مهم نیست اطلاعات ورودی شما چه اندازه بزرگ باشد، تابع هش تمامی این اطلاعات را به اندازهای با طول ثابت در خروجی تابع به شما تحویل میدهد. خروجی هش شده نمونهای یکتا از اطلاعات ورودی به تابع هشینگ است. بنابراین اگر کوچکترین تغییری در اطلاعات ورودی صورت بگیرد، خروجی تابع هش بهکلی تغییر میکند. بنابراین با توجه به اندازه ثابتی که خروجی هش شده تابع هش به ما میدهد، میتوانیم در فراخوانی اطلاعات از تابع هش استفاده کنیم. در این صورت کار بازیابی و فهرست اطلاعات بسیار سریعتر و دقیقتر انجام خواهد شد.
اهمیت هش در بلاک چین
بلاک چین نوعی دفتر کل توزیع شده است. بنابراین اطلاعات بلاک چین بین تمامی نودهای شبکه پخش میشود. با توجه به اینکه نهاد متمرکزی برای نظارت بر روی صحت انجام تراکنشها در بلاک چین وجود ندارد، بنابراین نیاز برای وجود مکانیزمی برای اجماع بین نودهای شبکه احساس میشود. این سازوکار، مکانیزم اجماع در بلاک چین نام دارد. با توجه به اینکه بستر بلاک چین محلی برای رد و بدل اطلاعات مختلف بین نودهای شبکه است بنابراین تمامی اطلاعات باید توسط لایههایی امنیتی محافظت شوند. هش در بلاک چین این امکان را به نودهای شبکه میدهد تا بتوانند اطلاعات را در محیطی رمزنگاری شده با هم تبادل کنند.
تابع هش بیت کوین
بیت کوین به عنوان اولین رمزارز از الگوریتم هش SHA-256 استفاده میکند. بلاکهای شبکه بیت کوین از این الگوریتم برای هشینگ بهره میگیرند. تمامی تراکنشهای بیت کوین نیز به عنوان رمزارز این شبکه از طریق این الگوریتم انجام میشوند. الگوریتم هش SHA-256 در سال 2009 میلادی برای اولین بار در بلاک چین بیت کوین بهکار گرفته شد.
مطلبی که در بالا مطالعه کردید بخشی از مجموعه مطالب «آموزش ارزهای دیجیتال — راهنمای مفاهیم و اصطلاحات رمزارزها» است. در ادامه، میتوانید فهرست این مطالب را ببینید:
- دفتر کل توزیع شده چیست ؟ — توضیح DLT به زبان ساده
- بلاک چین چیست و چگونه کار می کند؟ — به زبان ساده
- کاربرد بلاک چین چیست ؟ — هر آنچه باید بدانید
- هش در بلاک چین چیست ؟ – به زبان ساده(همین مطلب)
- آموزش ارز دیجیتال به زبان ساده — بهترین راهنما برای شروع مبتدی ها
- آموزش بلاک چین ، رمزارزها و بیت کوین جادی — رایگان + دانلود همه بخشها
- اصطلاحات ارز دیجیتال که باید بدانید + توضیح به زبان ساده
- رمز ارز چیست ؟ — آموزش کامل به زبان ساده
- استخر نقدینگی چیست ؟ – توضیح Liquidity Pool به زبان ساده
- انواع بلاک چین چیست ؟ — به زبان ساده
- تفاوت های بلاک چین های عمومی و خصوصی — به زبان ساده
- کریپتو چیست ؟ — به زبان بسیار ساده
- راه های کسب درآمد از ارز دیجیتال – ۱۰ روش کلیدی که باید بدانید
- آموزش رمزنگاری رایگان + مفاهیم پایه و منابع یادگیری — به زبان ساده
- ارز دیجیتال چیست ؟ — به زبان ساده
- صرافی ارز دیجیتال — کدام صرافی آنلاین ارز دیجیتال برای ایرانیان بهتر است؟
- بهترین کیف پول ارز دیجیتال کدام است ؟ | راهنمای استفاده تصویری گام به گام
- کیف پول دیجیتال چیست و کدام کیف پول ارز دیجیتال بهتر است؟
- فورک چیست ؟ — انواع و تاثیر روی قیمت به زبان ساده
- وایت پیپر چیست ؟ — اهمیت و کاربرد به زبان ساده
- استخراج ارز دیجیتال چیست ؟ — راهنمای ماینینگ به زبان ساده
- الگوریتم اثبات کار چیست ؟ — Proof of Work به زبان ساده
- اثبات سهام چیست ؟ — Proof of Stake به زبان ساده
- استخراج اتریوم چیست و چگونه اتریوم استخراج کنیم؟ — از صفر تا صد
- انواع ارز دیجیتال چیست؟ — راهنمایی برای سرمایه گذاری آگاهانه
- توکن سوزی چیست ؟ — مفهوم، علت و تاثیر به زبان ساده
- آلت کوین چیست ؟ — توضیح مفهوم به زبان ساده
- شت کوین چیست ؟ — از مفهوم تا ویژگی ها و تشخیص به زبان ساده
- قرارداد هوشمند چیست ؟ — Smart Contract به زبان ساده
- توکن چیست ؟ — کاربرد و اهمیت به زبان ساده
- تفاوت کوین و توکن در ارز دیجیتال چیست ؟ — به زبان ساده
- دیفای چیست ؟ — توضیح مفهوم DeFi به زبان ساده
- فارمینگ ارز دیجیتال چیست ؟ — کشت سود به زبان ساده
- NFT چیست و چطور کار می کند ؟ | همه چیز درباره توکن غیر قابل معاوضه ان اف تی
- ساخت NFT — آموزش کامل و به زبان ساده
- فروش NFT — آموزش از صفر تا صد و کامل
- متاورس چیست ؟ — به زبان ساده
- خرید زمین در متاورس چیست و چگونه است؟ — راهنمایی برای همه
- چگونه وارد متاورس شویم ؟ — راهنمای صفر تا صد
- وب 3 چیست و چه نقشی در آینده اینترنت دارد؟ — نسل سوم وب به زبان ساده
- بیتکوین چیست و چگونه عمل میکند؟
- بهترین روش کسب درآمد از بیت کوین و ارز دیجیتال — راهنمای جامع
- بازار کریپتو چیست ؟ – به زبان ساده + مزایا و معایب
- هودل چیست و HODL کردن به چه معناست؟ — به زبان ساده
- ایردراپ چیست ؟ — آموزش دریافت ارز دیجیتال رایگان
- عرضه اولیه ارز دیجیتال چیست ؟ — هر آنچه باید در مورد ICO بدانید
- بهترین ارزهای دیجیتال در سال 1401 یا 2022 کدام هستند؟
- توکنومیک چیست ؟ – توضیح به زبان ساده
- اصطلاحات ترید ارز دیجیتال که باید بدانید – توضیح 83 اصطلاح کلیدی
- استیکینگ چیست ؟ – استیکینگ در ارز دیجیتال به زبان ساده
- بازار خرسی چیست ؟ – در ارز دیجیتال و بورس
- ماینینگ چیست ؟ – توضیح در ارز دیجیتال و به زبان ساده
- بلاک چین چگونه کار میکند؟ — به زبان ساده
- بازار گاوی چیست ؟ – در ارز دیجیتال و بورس
- ساخت کیف پول بیت کوین بلاک چین — راهنمای تصویری
- الگوریتم اجماع چیست ؟ – به زبان ساده + انواع و کاربردها
- گره در بلاک چین چیست ؟ – توضیح نود Node به زبان ساده
- شاردینگ در بلاک چین چیست ؟ – به زبان ساده
- مقیاس پذیری در بلاک چین چیست ؟ – توضیح به زبان ساده
- نانس چیست ؟ – توضیح عدد nonce در بلاک چین به زبان ساده
- ولیدیتور چیست ؟ – توضیح اعتبار سنج در ارز دیجیتال
- آزادسازی توکن چیست ؟ – توضیح Token Unlock به زبان ساده
- درخت مرکل در بلاک چین چیست ؟ – Merkle Tree به زبان ساده
- TXID چیست ؟ – پیگیری تراکنش ارز دیجیتال با شناسه تراکنش
- مارت در ارز دیجیتال چیست ؟ – توضیح روش پله ای به زبان ساده
- چگونه از ارز دیجیتال سود بگیریم؟ – راهنمای صفر تا صد