Како работи Bitcoin Бидете во брзина со техничките аспекти на Bitcoin од Cristian Ciobanu Medium
Кристијан Сиобану
15 мај · прочитано 19 мин
Во оваа статија ќе ги покриеме технологијата и основните механизми што го прават биткоинот да работи. Ние ќе разговараме за блокчејн и консензус во друга статија, затоа овој напис повеќе се фокусира на самиот биткоин.

Темите опфатени во овој напис вклучуваат регулирање на тешкотии, крива на снабдување со парички, механизам за трансакција со биткоин, UTXO, Merkle's Trees, Hard Fork vs Soft Fork и Block Explorer.
Како се создаваат монети на Биткоин?
Биткоинските монети се создадени со процес наречен „рударство“. Рударите се принудени да решат сложена математичка загатка (наречена Доказ за работа) пред да им биде дозволено да влезат во нови трансакции со блокчејн. Наместо тоа, тие се наградени со монети на Биткоин.
Секој со компјутер може да стане рудар со соодветна конфигурација. Откако ќе станете рудар, можете да ги потврдите и снимате трансакциите со други рудари.
Блокирање и прилагодување на тешкотијата
Тешко е да се предвиди колку рудари ќе учествуваат. Ако има премалку, системот ќе биде премногу бавен, што ќе доведе до лошо корисничко искуство. Ако има премногу, системот ќе биде пребрз, што ќе доведе до безбедносни проблеми (на пример, лесно е да се потроши двојно). Затоа, важно е системот да одржува релативно константно темпо, без оглед на постоечкиот број на рудари (со други зборови, хаш-моќ).
Биткоин користи механизам наречен „прилагодување на тешкотијата“ за да ја одржи брзината на рударството константна, околу 10 минути по блок. „Тешкотијата“ ќе се прилагодува на секои 2 недели, земајќи ја предвид хаш-моќта од минатото. Ако моќноста на хашот не е доволна (т.е. просечното време на блок е повеќе од 10 минути), тешкотијата ќе се намали. Спротивно на тоа, ако излезната моќност е преголема (т.е. просечното време по блок е повеќе од 10 минути), тешкотијата ќе се зголеми.
Како да ја прилагодите тешкотијата?
Протоколот за Биткоин бара рударите да се натпреваруваат за решавање на „криптографска загатка“ (наречена доказ за работа) за да може победникот да го предложи новиот блок и да го додаде во блокчејн.
„Криптографската загатка“ се решава со прилагодување на нецето така што блокот хаш е помал од целниот хаш (вредност помала од 256 бита).
Рударите мора да најдат нонце, произволен број од 32 бита, така што блокот хаш е помал или еднаков на целниот хаш наведен од мрежата. Ако вашиот хаш е под целта, тогаш заработувате и добивате рударски награди. Ако не, променете го нонсот уште еднаш и обидете се повторно и повторно.
Колку е поголема хаш-моќта на мрежата, толку е помала целната хаш. Помал хаш на целта значи дека рударите потешко го наоѓаат вистинскиот nonce за да создадат помал блок хаш од целниот хаш. (Замислете дека компјутерот случајно избира број помеѓу 1 и 100, веројатноста да пронајдете број под 10 е 0,1, но веројатноста да пронајдете број под 50 е 0,5).
Така се прави „прилагодувањето на тешкотијата“ во мрежата на биткоин.
Кои се стапките на хаш, наградите за рударство и такси за трансакции?
Во претходниот дел, гледаме зошто е важна хаш-моќта и како таа се однесува на блокирање и прилагодување на тешкотијата. Хаш-моќноста може да се мери со помош на „брзината на хаш“, како што се гледа подолу:
Рата Хаш
Стапката на хаш е мерка за бројот на операции на хаш извршени во даден временски интервал. Ова може да варира во зависност од вклучениот хардвер. На пример, ако рудар има уред што може да генерира брзина од 30 MHz, тогаш има 30 милиони хаши во секунда (хаш е конверзија од состојба во состојба - или за понатамошно поедноставување, 1 пресметка).
Така, графичкиот процесор што произведува брзина на пренос од 30 MHz прави пресметки од 30 милиони во секунда.
Колку е поголема брзината на хаш, толку е поголема веројатноста рудар да го реши блокот и да добие награда за блок. Веројатноста дека рудар ќе го реши блокот може да се процени со користење на следнава формула:
P = веројатност за решавање на блок
Y = вкупна стапка на хаш на мрежата што ја претставува вкупната стапка на хаш кај сите рудари кои моментално ги рушат
Можеби сте чуле за рударски фарми кои се огромни индустриски магацини, полни со рударска опрема што имаат единствена цел да искористат крипто-валути. Може да има илјадници поврзани графички процесори или ASIC (специфични за апликација интегрални кола) кои се комбинираат за да ја направат вкупната моќност на хаширање многу поголема од едно парче опрема за рударство. Сето ова е дизајнирано да направи блок поголема веројатност да се реши и рударот да добие награда.
Наградите за рударство се надомест (во форма на новосоздадени монети) генерирани од системот за да плаќаат за работата на рударите кога ќе ја решат криптографската загатка потребна за управување со нов блок.
Во моментов, наградата за рударство на биткоин е 12,5 Bitcoin по блок. Рударите мора да се натпреваруваат едни со други во мрежата за први да го решат блокот и да ја добијат наградата. Затоа, колку е поголема брзината на хаш, толку е поголема шансата да добиете награди за рударството. За да се подобри повратот на инвестицијата, рударските компании и поединци честопати треба да инвестираат доволно во опрема и електрична енергија за да ги зголемат своите шанси за успешно ископување.
Сепак, со драстичното зголемување на вкупната брзина на хаш на мрежата Bitcoin, станува речиси невозможно за едно лице да може да го минира Bitcoin самостојно, поради ограничените ресурси. Затоа, рударските групи им овозможуваат на поединците да ги здружат ресурсите и да придонесат за нивно ископување. Така, рударските групи можат да стекнат повеќе ресурси за да се натпреваруваат едни со други, а поединците можат да ги споделат придобивките пропорционално на нивната стапка на хаш, помагајќи да се ублажи нестабилноста со која може да се соочат само кога рударството.
Секој 210.000 блокови ја преполовува наградата за рударство. Биткоинот започна со награда од 50 БТК, потоа во 2012 година, 25 БТК, а во 2016 година повторно се преполови на 12,5 БТК. Во 2020 година, наградата за Блок повторно ќе биде преполовена на 6,25 и така натаму сè додека не бидат минирани сите 21 милиони БТК.
Различни видови криптовалути имаат различни награди за рударство и различни програми за лансирање токен. Овие можат да се најдат во Белата книга на таа криптовалута.
Наградата за блок се собира во трансакција со паричка, што се однесува на првата трансакција во блок. Се користи од рударите за да соберат награда за блокот или какви било дополнителни такси за трансакција.
Надоместоци за трансакции
Бидејќи постепено ќе се намалуваат наградите за рударството на Биткоин и другите валути кои работат преку механизмот PoW, постои и друг вид поттик за рударите да вршат трансакции. Овие стимулации се нарекуваат мрежни трошоци. За валути кои работат во согласност со консензусот на PoW, корисниците мора да плаќаат мрежа и надоместок за рударство за секоја трансакција. Овој надоместок за трансакција може да варира во различни услови на сообраќај и за различни валути. Надоместокот за трансакција е преостаната сума на непотрошени записи. Обично се пресметува во сатоши по бајт.
Надоместоците за трансакции се поттик рударите да ја проверат вашата трансакција. Вие исто така може да не плаќате провизии за трансакција или да плаќате намалени надоместоци, но тоа значително ќе ги намали шансите за вклучување на трансакцијата во следниот блок.
Исто така, постојат некои валути кои имаат ниска или без провизија за трансакција и тие обично применуваат различен консензус (на пр. DPoS, PBFT) или различни технологии (на пр. DAG), некои вообичаени примери се XRP, EOS и IOTA.
Преполовување на биткоинот
За разлика од фиат-валутите, чија понуда варира и се контролира од централните банки, биткоинот е поставен на 21 милиони монети. Причината поради која биткоинот не може лесно да се „отпечати“ е затоа што неговиот распоред за снабдување е претходно програмиран. Ниту еден субјект не може еднострано да го промени снабдувањето со биткоин без да добие доминантен удел на децентрализиран ентитет.
Поради преполовување, наградата за блокови ќе се преполови за секои 210 000 минирани блокови. Бидејќи секој блок трае околу 10 минути, преположувањето мора да се случи на околу 1.458 дена или 4 години, бројка што се споменува во многу крипто-литератури.
Преполовувањето веќе се случи двапати. Првиот настан се случи на 28/11/2012, кога наградата за рударство беше намалена од 50 БТК на 25 БТК, а вториот на 09.07.2016 година, кога наградата за рударство беше намалена од 25 БТК на 12,5 БТК. Следната половина се очекува да се одржи околу 05.05.2020, кога рударската награда ќе се намали од 12,5 БТК на 6,25 БТК.
Поради губење на приватни клучеви или оштетување на хардвер, некои монети за Bitcoin се трајно изгубени и не можат да се повратат, што го прави реалното снабдување многу помало од теоретската вредност. Пронаоѓачот на Биткоин, Сатоши Накамото, исто така, има значителна количина на монети за Bitcoin оставени недопрени откако беа минирани пред неколку години.
Како работат трансакциите со биткоин?
Ние ќе ги воведеме процедурите за трансакција со Bitcoin со следново сценарио:
Боб, трговец преку Интернет, одлучува да прифати биткоин како плаќање.
Алиса, купувачка, има монети за биткоин и сака да купи стока од Боб.
Паричниците се датотеки што овозможуваат пристап до повеќе адреси на биткоин.
Адреса е низа букви и броеви, како што се 1HULMwZEJEPech43BKJL1ybLCWrfDpN. Секоја адреса има свој биланс на монети за биткоин.
Замислете ги вашите адреси како банкарски сметки, но тие работат малку поинаку. Корисниците на Bitcoin можат да создадат онолку адреси колку што сакаат.
Софтверот за клиенти на Bitcoin генерира Bitcoin адреси за корисниците.
Кога Боб креира нова адреса, тој всушност генерира „пар криптографски клучеви“, кој се состои од приватен клуч (кој го знаете само вие) и јавен клуч (познат на секого). Ако потпишете порака со приватен клуч, таа може да се потврди со употреба на соодветен јавен клуч. Новата адреса на Боб е единствен јавен клуч, а соодветниот приватен клуч е зачуван во неговиот паричник. Јавниот клуч дозволува секој да потврди дали е валидна пораката потпишана со приватниот клуч.