Проблема масштабируемости биткоина связана с изначальным ограничением разработчиками размером в один мегабайт базовой структуры для хранения данных (блока) в его блокчене. Такое ограничение продиктовано особенностью построения блокчейна, как полностью реплицированной распределенной базы данных, что требует постоянной пересылки между всеми участниками каждого нового элемента. Уменьшение размера блока существенно ограничивает эффективность потенциальной DDos -атаки. Если учесть среднее время на формирование блока (10 минут) и средний размер информации о транзакции, то для гарантированного помещения в блок количество транзакций не должно быть слишком велико — на уровне около трёх транзакций в секунду.
Эта проблема стала проявляться, когда биток становился более популярным, что увеличивало число транзакций в секунду. А ограничение блока в 1 мегабайт ухудшило ситуацию в 2017 году, когда криптовалюты достигли огромной популярности.
Для решения проблемы предлагалось два способа:
- Bitcoin Unlimited — снять ограничение в 1 Мб. За это выступали многие майнеры, так как увеличение размера блоков не только ликвидирует очередь, но и повысит доходность майнеров за счёт роста суммарной комиссии в блоке, даже если комиссия за транзакцию упадёт. Против были в основном разработчики — они считают, что снятие лимита приведёт к росту требований к мощности техники, мелкие майнеры выйдут из бизнеса, что приведёт к централизации системы;
- Segregated Witness ( SegWit ) — часть информации хранить не в блокчейне, а в отдельных файлах за пределами цепочки блоков. Разработчики считают, что в результате освободится много места, в блоке будет помещаться больше транзакций и скорость подтверждений увеличится. Сторонники Bitcoin Unlimited считают, что это лишь временное и более сложное решение.
Протокол SegWit2x стал компромисcным решением. Этот протокол предлагал хранить часть данных за пределами блокчейна и увеличивал ограничение до 2 мегабайт.
Группа разработчиков под руководством экс-инженера Facebook Амори Сечета объявила об отказе от SegWit2x, о сохранении прежней структуры блокчейна (без хранения информации за его рамками), но увеличении размера блока до 8 Мб. Свою ветку они назвали Bitcoin Cash . 1 августа 2017 года состоялось «принудительное ветвление» (хардфорк). У обеих криптовалют общая начальная история. Блок 478558 стал последним общим блоком. Следующий блок с номером 478559 [9] был сформирован дважды в разных форматах. Один из них соответствует протоколу SegWitx (планировалось позже SegWit2x), другой — Bitcoin Cash, который фактически стал первым блоком новой криптовалюты. Все последующие транзакции разделены — попадают в разные ветки блокчейна, так как программы каждой из веток работают с предыдущими форматами блоков, но отвергают новые форматы друг друга.
На схеме выше показано гораздо больше форков биткоина и о них мы поговорим в рамках следующих статей.