تنها راه ارسال پول به صورت الکترونیکی همواره بر مبنای به یک واسطه بوده است؛ چیزی مثل PayPal.
چگونه میتوانیم یک ماینر را به طور تصادفی از بین تمام ماینرها یک شبکه انتخاب کنیم تا این نقش را برای یک دوره کوتاه و ده دقیقهای ایفا کند؟
این کار در واقع از طریق توابع هش انجام میشود. تابع هش یک تابع ریاضی است، مانند چیزی که شما در مدرسه آموختهاید؛ فقط کمی پیچیدهتر. شما دادههای ورودی خود را میگیرید که میتواند هر چیزی باشد. هر چیزی که میتواند به صورت 0 و 1 نمایش داده شود. میتواند حرف A باشد.
حرف A را برداشته و آن را به تابع هش بدهید. چه چیز از طرف دیگر بیرون می آید؟
آنچه قرار است بیرون بیاید در واقع یک رشته 64 کاراکتری است. خروجی مانند یک دسته از حروف و اعداد تصادفی به نظر میرسد، اما منحصر به فرد و کاملاً مطابق با حرف A خواهد بود؛ بنابراین اگر هر کسی از سراسر جهان کاراکتر A را بردارد و آن را به همان تابع هش بدهد، جواب یکسانی را دریافت خواهد کرد.
اگر کارهای ویلیام شکسپیر را به همان تابع هش بدهید، باز هم یک رشته 64 کاراکتر دریافت خواهید کرد. خروجی تابع هش به دلیل آنکه ورودی طولانیتر است، طولانی نخواهد بود. حروف و اعداد و متن تصادفی نسبت به نمونه قبلی متفاوت خواهند بود، اما طول آن 64 کاراکتر باقی میماند. اگر کسی ورودی قبلی یعنی ویلیام شکسپیر را به همان تابع بدهد، همان نتیجهای را میگیرید که قبلاً شما گرفته بودید.
یک ماینر بیت کوین چه چیزی را هش میکند؟
آنها حرف A یا متن کامل ویلیام شکسپیر را هش نمی کنند. ماینرها تمام دادههای تراکنشهای معتبر را هش میکنند که طی 10 دقیقه آخر با بهرهگیری از شبکه همتا به همتا گردآوری شده است. ماینرها همچنین ارجاع به بلاک قبلی در بلاکچین را نیز هش میکنند؛ اینگونه است که گویی به یکدیگر زنجیر شدهاند.
هر بلاک به بلاک قبلی ارجاع دارد. آنها در واقع یک سوم چیزها را هش میکنند که همان عدد تصادفی است و هر بار که همه این دادهها را از طریق تابع هش اجرا میکنند، یک عدد تصادفی را کمی تغییر داده تا یک خروجی متفاوت حاصل شود.
در بیت کوین، ما از یک نوع آنتروپی استفاده میکنیم تا به طور تصادفی برندگان در این رقابت آزاد را انتخاب کنیم. برنده به مدت 10 دقیقه مانند پی پال، برای تائید تراکنش منتخب عمل خواهد کرد.