هش
۱۴۰۵/۱/۲۷
یک هش یک رشته کاراکتری با طول ثابت است که توسط یک تابع هش تولید میشود — یک الگوریتم ریاضی که هر داده ورودی را میگیرد و یک خلاصه با اندازه ثابت و تعیینشده تولید میکند. حتی یک تغییر کوچک در ورودی، خروجی کاملاً متفاوتی تولید میکند.
ویژگیهای توابع هش رمزنگاری
- تعیینشده — همان ورودی همیشه همان خروجی را تولید میکند
- خروجی با طول ثابت — بدون توجه به اندازه ورودی (مثلاً، SHA-256 همیشه ۲۵۶ بیت خروجی میدهد)
- یکطرفه — بهصورت محاسباتی غیرممکن است که هش را به ورودی برگردانید
- اثر بهمن — حتی تغییر یک بیت در ورودی حدود ۵۰٪ از بیتهای خروجی را تغییر میدهد
- مقاوم در برابر برخورد — یافتن دو ورودی متفاوت با همان هش غیرممکن است
توابع هش در ارزهای دیجیتال
| مورد استفاده | تابع هش | کجا |
|---|---|---|
| هش بلوک / استخراج | SHA-256 | بیتکوین |
| هش بلوک / استخراج | Ethash / Etchash | اتریوم کلاسیک |
| شناسه تراکنش | SHA-256d | بیتکوین |
| استخراج آدرس | RIPEMD-160, Keccak-256 | بیتکوین، اتریوم |
هشینگ در استخراج
استخراج اساساً یک مسابقه حدس زدن هش است. استخراجکنندگان بهطور مکرر یک سرآیند بلوک را هش میکنند (با یک نانس متغیر) تا زمانی که نتیجه زیر هدف سختی بیفتد. سرعتی که یک استخراجکننده میتواند هشها را محاسبه کند به عنوان نرخ هش شناخته میشود.
