Софтфорк
Софтфорк биткойн е ъпгрейд, който затяга правилата, така че старите нодове продължават да приемат новите блокове. Вижте как се активира, с BIP 9 и BIP 8.
От Dimitar Zurnov · Обновено на 4 ноември 2026
Адаптирано от Learn Me a Bitcoin на Greg Walker.
Софтфоркът, или софтфорк (soft fork), е ъпгрейд, който прави правилата по-строги. Блоковете, направени по новите правила, остават валидни и по старите, така че нодовете, които не са се обновили, продължават да следват веригата. Всеки голям ъпгрейд на биткойн досега е бил софтфорк.
Как се различава софтфоркът от хардфорка?
Софтфоркът ограничава какво се счита за валиден блок или трансакция. Хардфоркът разширява правилата или ги променя по начин, който старите нодове отхвърлят. Тази разлика решава какво се случва с нодовете, които не се обновяват.
С софтфорк старият нод все още приема всеки блок, който обновените майнъри изкопават. Не му е нужно да знае новото правило, защото новите блокове минават и през старите проверки. Старите нодове следват веригата без обновяване.
Как влиза в сила софтфоркът?
Преди едно правило да се включи, майнърите трябва да се съгласят да го прилагат. Показват съгласието си в заглавието на блока. Полето version е с размер 4 байта, а според BIP 9 най-горните му три бита трябва да са 001. Всеки от останалите битове, номерирани от 0 до 28, може да носи един софтфорк. Майнърът, който задава бит, казва, че ще прилага това правило.
По BIP 9 софтфоркът минава през няколко състояния. Повечето промени се проверяват веднъж на всеки 2,016 блока:
- Дефиниран: правилото е предложено, а началното време още не е дошло.
- Стартиран: от началното време майнърите сигнализират във всеки период. Блоковете, които са задали бита, се броят.
- Заключен: ако поне прагът от блокове в един период сигнализира, правилото се заключва за още един период. Обичайният праг е 95%, или 1,916 от 2,016 блока.
- Активен: правилото се прилага от височината на активиране нататък.
- Провален: ако изтече срокът преди заключване, опитът завършва окончателно.
Началото и срокът се задават като времена, измерени по медианното минало време, а не по времето на един блок. Срокът на BIP 9 обикновено е една година след началото.
Какво са Speedy Trial и BIP 8?
Това са два начина за задаване на тези параметри и често се бъркат.
Speedy Trial е краткият вариант на BIP 9. По този начин е бил активиран Taproot. Прозорецът за сигнализиране е бил от 24 април 2021 г. до 11 август 2021 г., около три месеца и половина. Прагът е бил намален до 90%, или 1,815 от 2,016 блока. Taproot е имал и минимална височина на активиране 709,632. Правилото се е заключило в прозореца и е станало активно при тази височина през ноември 2021 г. Кратък прозорец е бърз, но ако твърде малко майнъри сигнализират навреме, опитът се проваля и трябва да започне отново.
BIP 8 заменя срока, зададен във времена, с краен срок по височина, и добавя предпазен превключвател, наречен lockinontimeout. Когато той е включен, последният период преди срока е период на задължително сигнализиране. Майнърите трябва да зададат бита, а блок, който не сигнализира, може да бъде отхвърлен, след като толкова блока не са сигнализирали, че прагът е недостижим. Така заключването е гарантирано до височината на срока. Цената е, че нодовете, които го прилагат, може за кратко да следват различна верига от тези, които не го прилагат. BIP 8 препоръчва праг от 90%. Някои разработчици са защитавали BIP 8 с този превключвател включен през 2021 г., но Taproot е бил активиран по по-краткия прозорец на BIP 9.
Какво става, ако майнърите не са съгласни?
Основният риск е разделяне. Ако твърде малко майнъри прилагат новото правило, обновените нодове виждат разделяне на веригата. Тяхната верига следва новите правила, а другата страна продължава по старите. Блоковете от старата страна могат да образуват най-дългата верига, но обновените нодове ги отхвърлят, така че двете страни се разделят.
За разлика от хардфорка, разделянето може да се преодолее. Ако обновената страна събере достатъчно хешрейт, нейната верига печели, а старите нодове се пренареждат към нея. Именно достатъчно обновени майнъри държат всички на една верига.
Кои софтфоркове е имала биткойн?
Списъкът по-долу дава всеки софтфорк според първия блок, в който правилото е важало. Датата е денят, в който е изкопан този блок, по UTC.
- P2SH (BIP 16): изходът с хеш на скрипт получава допълнителни проверки. Този софтфорк се включва по време, а не по височина. Правилото важи за блокове с времеви марки от 1 април 2012 г., а първият такъв блок е блок 173,805.
- BIP 34: от блок 227,931 всяка coinbase трансакция трябва да съдържа височината на блока. BIP 30, от 2012 г., забранява дублиран ID на трансакция само докато по-ранната трансакция има неизхарчени изходи, така че дублирани coinbase трансакции могат да се появят по-късно. Височината прави всяка coinbase трансакция уникална.
- BIP 66: подписите трябва да следват една строга кодировка, така че реализациите да не копират по-свободния разбор на OpenSSL. Това е било активирано при блок 363,725.
- BIP 65: опкодът
OP_NOP2е бил превърнат вOP_CHECKLOCKTIMEVERIFY, който заключва изход до определена височина или време. Това е било активирано при блок 388,381. - BIP 68, 112 и 113: относителни locktime и опкодът
OP_CHECKSEQUENCEVERIFY. Тези правила са били активирани при блок 419,328. - SegWit (BIP 141): подписите се местят в отделна witness секция, която не е част от ID-то на трансакцията. Това е било активирано при блок 481,824.
- Taproot (BIP 341): нов тип изход, който може да се похарчи с един ключ или с избран скрипт, така че се разкрива само използваният път. Това е било активирано при блок 709,632.
Защо повечето ъпгрейди са софтфоркове?
Софтфоркът позволява на всички да продължат да работят със своя софтуер, докато мрежата се развива. Хардфоркът принуждава всеки нод да се обнови или да изостане. Цената на софтфорка е сложността. Новите правила трябва да се побират в старите и това може да направи кода по-труден за четене. SegWit е типичният пример. Старите нодове третират новите му изходи като такива, които може да харчи всеки, така че приемат блоковете, без да проверяват witness секцията.
Обобщение
Софтфорковете са ъпгрейди, с които старият софтуер може да живее, защото само затягат правилата. Майнърите сигнализират, а правилото се заключва, когато достатъчно от тях се съгласят. BIP 9 задава процеса, Speedy Trial е неговата кратка форма, а BIP 8 добавя краен срок по височина. Биткойн е използвал софтфорк за всеки голям ъпгрейд, от P2SH през 2012 г. до Taproot през 2021 г.
В този раздел: Блокчейн
Целият курс „Биткойн от нулата“
Нещо не изглежда наред? Кажете ни