Хардфорк (окончателно разклоняване, бифоркация) е термин, описващ промяната на програмния код свързан с определена криптовалута и нейната мрежа след даден времеви момент, при което се изменя структурата на блоковете в блокверигата и това позволява използването на блокове и операции, които преди конкретния момент на хардфорк са били невъзможни.
Същност на хардфорк или защо окончателно разклоняване
В английския език форк (fork) означава вилица, но също така и пътека в гората, която се разклонява на две различни пътеки (бифоркация). Обикновено последното сравнение се има под понятието форк, макар че често на изображенията свързани с криптовалутите може да бъде видяна вилица за хранене.
Но защо хардфорк? Биткойн и останалите криптовалути са създадени на базата на много код, т.е. те са програмни продукти (софтуер). Кодът е организиран в протокол съответстващ на дадената криптовалута (монета, койн).
Протоколът установява правилата за всеки потребител (човек или машина), при които ще се използва криптовалутата и нейната мрежа. Това обикновено включва неща като колко голям ще е един блок, какви ще са възнагражденията за миньорите, как ще се достига до консенсус и прочие.
Понякога в протокола има недостатъци или се появяват такива при мащабното увеличаване на потребителите на съответната криптовалута. Също така в течение на времето възникват предложения за подобрения и иновации на платформата.
В резултат на изброените предпоставки, в редки случаи различията в мненията, за това как да се въведат подобренията, нарастват до толкова, че да не може да се достигне до консенсус сред участниците. Тогава общността на дадената валута се разделя на две и се стига до окончателно разклоняване – хардфорк. Едната група от потребители и миньори решават да продължат в текущата посока под правилата на стария протокол. Другите се отправят в нова различна насока на развитие, с нов протокол и нови правила, т.е. всеки по своя собствена пътека.
Не е задължително обаче всеки хардфорк да е резултат от разделяне на общността. Понякога окончателното разклоняване се използва като средство за въвеждане на нови правила в протокола, които са толкова значими и радикални, че то се оказва неизбежно. Тогава отново се прави хардфорк в един определен момент от времето, наречен точка на бифоркация, от който насетне няма връщане назад.
Последствия от окончателното разклоняване
Тъй като изходният код на повечето криптовалути е отворен, при хардфорк новата общност си създава свой собствен протокол на базата на досегашния код. Те го въвеждат в своята платформа и на точно определен блок от оригиналната блокверига се осъществява окончателното разклоняване.
След този момент се получават две различни блоквериги. Ако при хардфорк потребителите са притежавали определено количество монети от оригиналната валута, то след окончателното разклоняване те получават в новата мрежа същото количество нови монети. Удвояването на монетите обаче идва за сметка на инфлацията, което казано по друг начин означава, че Безплатен обяд няма! Оригалната криптовалута обикновено се обезценява, а новата тепърва трябва да се доказва.
Някои хардофорк разделяния са по-успешни от други. Пример за такива са окончателното разклоняване на блокверигите на Етериум класик и Етериум след т. нар. DAO-хак през 2016-та при блок 1920000 и окончателното разклоняване на Биткойн и Биткойн кеш през 2017-та при блок 478558. Всъщност биткойн има още няколко хардфорк разделяния, но не всичките са толкова успешни.
Най-важното последствие от окончателното разклоняване е, че блоковете на новата блокверига са несъвместими с оригиналната блокверига и обратното.
Софтфорк – частично изменение
При софтфорк се извършва частично изменение на протокола на дадена криптовалута. След него, валидните до тогава блокове и транзакции по стария протокол стават невалидни за новия. Всички възли (nodes, машини) обаче от старата мрежа припознават новите блокове и транзакции по новия протокол като валидни, защото последните следват старите и новите правила. Мрежата и общността не се разделя на две. Софтфорк е обратимо действие за разлика от хардфорк.
Ако частичното изменение трябва да се сравни с нещо друго, то много наподобява на надграждане (upgrade) при традиционните софтуерни продукти. В резултат на софтфорк се пуска нов клиент, при който има някои допълнителни функционалности. Потребителите и миньорите могат сами могат да изберат дали да го използват или не. Понякога частичното изменение подобрява функционалността на мрежата, а понякога не.
Пример за лош софтфорк е пуснатият на 24 юни 2016 година клиент от фондация Етериум. От него се очаква да ограничи транзакциите идващи от хакерските миньорски басейни. Четири дни по-късно е открита значителна слабост в него и миньорите копаещи етер решават да не го използват. Те се завръщат към оригиналния протокол.