عملکرد Hash چیست؟
یک تابع هش یک تابع خاص است که می تواند هر نوع اطلاعات را به هر اندازه به مقادیر کوچک با اندازه ثابت تبدیل کند. محصول نهایی یک مقدار هش ، هش هضم یا کدهای هش نامیده می شود. کدهای هش از شکل دلخواه اعداد و حروف تشکیل شده است. این توابع هش به جای استفاده از داده های اصلی ، مزایای مختلفی را ارائه می دهند. برخی از انواع و نسخه های توابع هش وجود دارد ، و آنها معمولا برای اجرای امضاهای دیجیتال استفاده می شوند.
توابع هش رمزنگاری مشابه عملکرد هش معمول است. اینها تابع هش هستند که برای اهداف امنیتی رمزنگاری استفاده می شوند. به عنوان یک عملکرد یک طرفه ، عملکرد هش امنیت زیادی را ارائه می دهد. اگر عملکرد هش معامله را داشته باشید ، تبدیل به فرم اصلی غیرممکن است. در عین حال ، تغییرات کوچک در پرونده اصلی باعث تغییر ناگهانی کلید هش می شود. این مفهوم اثر بهمن نامیده می شود ، به این معنی که تغییرات جزئی باعث تغییرات ذاتی می شود. بنابراین ، شما به سادگی با مقایسه کلیدهای هش آن ، اصالت آن را درک خواهید کرد. اندازه کوچک توابع هش به کامپیوترها امکان می دهد فقط در چند ثانیه در کل پایگاه داده جستجو کنند. اگر آنها به عنوان پرونده اصلی باقی بمانند ، اینگونه نخواهد بود. این مزایا باعث می شود که استفاده از توابع هش غیر قابل اجتناب باشد.
ما عملکرد هش را در مورد بیت کوین بررسی خواهیم کرد. برخلاف سایر ارزهای رمزپایه ، بیت کوین فقط از یادداشت های دفتر یا اطلاعات معاملات تشکیل شده است. در بلاکچین ، آن معاملات گروه بندی می شوند و در بلاک ها قرار می گیرند. الگوریتم های هش بسیاری وجود دارد. الگوریتم پرکاربرد در زنجیره بلوک SHA2–256 است (الگوریتم امن هش کردن نسخه 2 با طول 265 بیت). در اینجا عملکرد هش را در معاملات و بلاک ها بررسی خواهیم کرد.
مقادیر هش در معاملات
یک معامله دو قسمت دارد: ورودی و خروجی. بخش ورودی از برخی عناصر تشکیل شده است. قبل از ارسال بیت کوین به آدرس های دیگر ، سیستم بلاکچین باید مطمئن باشد که مقدار مشخص شده بیت کوین را در اختیار دارید. برای اطمینان ، سیستم مقدار هش تراکنش ارجاع شده را اضافه می کند. معامله ارجاع شده آخرین معامله ای است که انجام داده اید. چرا؟ اگر از استخراج پاداش 6.25 بیت کوین دریافت کرده اید ، آن را از سیستم دریافت خواهید کرد. اگر می خواهید 6 BTC به Coinsfera ارسال کنید و 0.25 BTC را برای خود نگه دارید ، باید 6 BTC را به کلید عمومی Coinsfera و 0.25 BTC را به آدرس خود ارسال کنید.
عملکرد مقادیر هش در بلاکچین نسبت به معاملات پیچیده است. بلاکچین از بلوک ها به عنوان واحد تشکیل شده است. هر بلوک از معاملات و دفترهای بیشماری تشکیل شده است. چگونه آن معاملات در بلوک واقع شده اند؟ برنامه نویسی از روش درخت مرکل برای قرار دادن این تراکنش ها در بلوک استفاده می کند. برای سهولت ، بیایید سه معامله انجام دهیم. چگونه آنها را در یک هش قرار می دهید؟ در مرحله اول ، باید یک هش فردی از آن معاملات پیدا کنیم. بعد ، مقدار هش دو دفتر اول را بدست آورید. در این سناریو ، معاملات باید عددی زوج باشند ، اما در اینجا عدد فرد است. در این حالت ، ما باید هش آخرین معامله را دوباره بنویسیم. بنابراین ، ما مقدار هش معامله 3 را دو بار تخمین می زنیم. ما مقدار هش 12 و مقدار هش 33 را دریافت می کنیم. در پایان ، آنها را دوباره اضافه می کنیم و آخرین مقدار هش بلوک را می گیریم. گره ها این فرایند را برای هر بلوک انجام می دهند. هر بلوک دارای هش بلوک قبلی خواهد بود و بلاکچین به همین ترتیب ادامه خواهد یافت
با تمام مزایا ، مقادیر هش برای بلاکچین مناسب است. جستجوها را سریعتر می کند و معاملات ایمن تر نیز به اندازه کوچکی نیاز دارند. بهتر از استفاده از پرونده های کامل به جای آن است. بنابراین تا زمانی که مقادیر هش زنده باشد ، بلاکچین وجود خواهد داشت و تا زمانی که بلاکچین زندگی کند ، مقادیر هش نیز وجود خواهد داشت.
منبع : medium.com