Скоро у Биткоин начнутся проблемы из-за размера блока

На днях Биткоин порадовал круглыми цифрами: была найдена 15-ти милионная монета (из 21-го миллиона всего) и зарегистрирована 100 миллионная транзакция (за 6 лет). Прежде всего хочу огорошить тех, кто слепо верит в скорейшую “крипто-революцию”: 100 миллионов транзакций, например, VISA проводит за, на минуточку, 13 часов, а самой системой Биткоин скоро будет невозможно пользоваться из-за возросшего времени ожидания подтверждения и/или взрывного роста комиссионных.

Проблема все та же — 1 Мб ограничение размера блока. Рекорд в 100 тыс. транзакций в день был пройден год назад, тогда это гипотетически составляло 15% мощности сети. На сегодняшний день эта цифра уже порядка 40% и усугубляется тем, что в реальной жизни количество транзакций в блоке одного и того же размера может отличаться в десятки раз (в примере ±900 Кб):

900kb

Кроме того, интересный момент, комиссионные начинают заметно коррелировать с размером блока, чего ранее не наблюдалось. Для сравнения графики кросс-корреляции за последние полгода 2014-го и соответственно 2015-го годов:

fees-sizes14

fees-sizes15

Однако, 0.3 против 0.7! Средние комиссионные в день за второе полугодие 2014-го составляли 12 BTC, а 2015-го уже 28 BTC. Корреляция также заметна на глаз на данном графике (недельное усредненное за второе полугодие 2015-го, верхний — размер комиссионных, нижний — размер блока):

fees-vs-size-fall-2015

О чем это все?

О том, что корреляции между размером блока и комиссионными за транзакцию быть не должно, а она есть. К примеру, в конце 2014-го вы переводили любые суммы в биткоинах не особо задумываясь о том, какие комиссионные предложить, а через год, в конце 2015-го, чтобы уложиться в обычные 10 минут, нужно предложить уже в три раза больше.

Мы здесь говорили в основном обо всяких усредненных числах, действительно, средний размер блока в данный момент составляет около 500 Кб, но вот нестандартный пример:

9FsRkUp

Здесь 8 подряд идущих блоков (за исключением #389623) имеют практически максимальный размер. Если бы вам непременно захотелось бы попасть в один из них, скорее всего там оказалось бы тесно для вашей транзакции и пришлось бы расщедриться на бОльшие комиссионные майнерам на радость.

Решение: срочно увеличивать размер блока

Разработчики очень хорошо осведомлены об этой проблеме, но ничего не могут предпринять: различные фракции тянут каждая одеяло на себя и не могут договориться о едином стандарте. В результате система пытается отрегулировать сама себя при помощи повышения комиссионных и введения приоретизации за плату. Если еще потянуть какое-то время, даже такое решение перестанет работать и тогда начнутся уже реальные проблемы и система встанет.

Для расчетов, приведенных в статье использовался R-скрипт:

require(gridExtra)
require(Quandl)
require(zoo)

sizes15 <- Quandl("BCHAIN/AVBLS", start_date="2015-06-27", end_date="2015-12-27", type="zoo")
fees15 <- Quandl("BCHAIN/TRFEE", start_date="2015-06-27", end_date="2015-12-27", type="zoo")
sizes14 <- Quandl("BCHAIN/AVBLS", start_date="2014-06-27", end_date="2014-12-27", type="zoo")
fees14 <- Quandl("BCHAIN/TRFEE", start_date="2014-06-27", end_date="2014-12-27", type="zoo")

ccf(fees15, sizes15)
ccf(fees14, sizes14)

p1 <- autoplot(apply.weekly(fees15, mean))
p2 <- autoplot(apply.weekly(sizes15, mean))
grid.arrange(p1, p2)

По теме

Комментарии закрыты.