Это четвертая статья в серии, посвященной проблеме ограничения размера блоков. Предполагается, что читателю известны базовые принципы работы биткойн-сети и блокчейн-технологий.
Моделирование пропускной способности биткойн-сети
Во второй части нашего анализа мы выяснили, что в своей нынешней форме биткойн-сеть может стабильно обрабатывать примерно 3 транзакции в секунду (TPS). На текущий момент в 2015 году нагрузка на сеть составляет в среднем 1,2 TPS, однако из-за увеличения количества транзакций этот показатель постепенно растет. В этой части мы рассмотрим, к чему это может привести на практике, и попытаемся оценить, когда при условии сохранения текущих темпов роста в сети начнут наблюдаться заметные задержки подтверждения транзакций.
Чтобы собрать сведения о том, как будет работать сеть при большом количестве транзакций, 29-30 мая было проведено нагрузочное тестирование, результаты которого показаны на приведенной ниже диаграмме. Как видите, при пиковой нагрузке в пуле (список транзакций, ожидающих добавления в блок, в памяти компьютера) находилось около 26 тысяч транзакций. Даже в идеальных условиях, а именно при полном заполнении всех блоков, для обработки всех этих транзакций потребовалось бы 14 блоков (или 2,5 часа).
Моделирование методом Монте-Карло
Для практического анализа заполнения блоков при различной нагрузке мы провели моделирование методом Монте-Карло, использовав исторические сведения о размере транзакций. Для каждого уровня TPS мы смоделировали 1 миллион блоков и оценили, хватило ли ресурсов сети для обработки всех поступивших транзакций. Технические подробности модели см. в конце статьи.
Наблюдения:
1. При текущем уровне около 1,2 TPS накладные расходы, связанные с ожиданием подтверждения транзакций (правая ось), составляют 0,07 блока (т. е. примерно 7% транзакций не попадают в ближайший блок). Если помните, в первой части мы отметили, что в настоящее время объем примерно 20% блоков превышает 725 КБ, что вполне согласуется с тем фактом, что на приведенной выше диаграмме полностью заполняются 16% блоков.
2. Значительные задержки подтверждения транзакций начинают наблюдаться при уровне примерно в 2,3 TPS, при котором среднее время обработки транзакций начинает превосходить 1 блок.
3. При 3,0 TPS (что примерно соответствует теоретическому пределу текущего протокола) среднее время ожидания достигло бы 20 блоков.
4. В реальности существенные задержки, скорее всего, начнутся гораздо раньше достижения теоретического предела в 3 TPS.
Увеличенный размер блоков
Наконец, ради полноты анализа мы провели моделирование Монте-Карло с блоками размером 8 МБ, результаты которого показаны ниже. Задержка обработки транзакций становится заметной (превышает 1 блок) только после 18 TPS, а средняя задержка в 5 блоков достигается при 22 TPS.
Сколько у нас времени?
Результаты моделирования и прогноз в отношении роста количества транзакций позволяют оценить, когда в сети начнут наблюдаться заметные проблемы с масштабируемостью. Во второй части мы оценили совокупный среднегодовой темп роста количества транзакций с 2013 года. Ниже мы воспроизводим ту диаграмму со средним значением TPS по оси ординат (а не количеством транзакций в сутки).
В общем, при сохранении текущих темпов роста эффекты, связанные с исчерпанием ресурсов сети, скорее всего, проявятся раньше достижения теоретического предела в декабре 2016 года: так, к июлю 2016 года обработка типичной транзакции станет дольше на 1 блок. Более того, в анализе предполагается, что размер блоков ограничен 1 МБ, тогда как в стандартных биткойн-клиентах предел составляет примерно 732 КБ (см. первую часть). Это означает, что задержки могут стать заметны еще раньше.
Просмотреть данные блокчейна в реальном времени можно с помощью инструментов TradeBlock.
Вероятностные характеристики модели:
- Время между блоками соответствовало экспоненциальному распределению со средним значением 10 минут.
- Транзакции генерировались согласно распределению Пуассона со средним значением, зависящим от TPS.
- Размер транзакций соответствовал нормальному распределению с характеристиками, имевшими место в последние 30 дней: среднее значение = 543 байта; стандартное отклонение = 1759 байтов.
Источник: tradeblock.com
Categories: Инфраструктура, Технологии
Leave a Reply
26 Комментарий на "Анализ биткойн-сети, часть 4: моделирование будущей нагрузки"
[…] 1: блокиЧасть 2: транзакцииЧасть 3: майнингЧасть 4: моделирование будущей нагрузкиЧасть 5: анализ нагрузочного […]
[…] Предлагаем вашему вниманию пятую статью из серии об увеличении размера блоков и его значении для дальнейшего роста биткойн-сети. Предыдущие части доступны по следующим ссылкам: 1. Блоки, 2. Транзакции, 3. Майнинг, 4. Моделирование будущей нагрузки. […]
Почему бы просто не выстраивать транзакции в очередь по отношению количества_байт/комиссия. Тогда бы те, кому действительно нужно совершить платёж без проблем могли его совершить. Мне кажется неразумно иметь одинаковую комиссию для транзакций разного размера. Кто-то просто деньги пересылает, а кто то свои фотографии в блокчейн записывает.
так и делается.
Для каждой транзакции вычисляется приоритет:
priority = sum(input_value_in_base_units * input_age) / size_in_bytes
свершилось!
https://www.cryptocoinsnews.com/bitcoin-block-size-conflict-ends-latest-update/
ура, товарищи!
Если транзакция не попала в блок, то будет ли у неё приоритет попадания в следующий блок по сравнению с новыми транзакциями? Если да, то можно просто подождать. Если же нет, то тогда она может никогда не подтвердиться.
транзакции обрабатывают майнеры, майнеры майнят объединяясь в группы, группа устанавливает комиссию за которую готова работать — это на всякий пожарный предыстория. следовательно, если комиссия вашей транзакции какой либо группой принята, попадает в очередь этой группы.
а если внимательно почитать оригиналы цикла статей на английском(там их 5), из 3-ей станет ясно, что очередь может вполне состоять из 20 блоков по 1мб уже к концу 2016, что обеспечит комиссии в 2 раза выше нынешних.
пардон, если блок увеличат до 20мб вот тогда комсы вдвое, а так в 100500
Если майнеры могут голосованием увеличить размер блока, то что мешает им убрать ограничение количества монет?
потому что это не имеет смысла, т.к. приведет к инфляции и подорвет доверие к биткоину и криптовалюте в целом. Получится майнеры потеряют все что имеют.
Как верно заметили, важно чеканить 100% золотые монеты, а не смеси.
Майнеры это обслуживающие элементы биткоин сети, они не создают рынок, его создают простые пользователи. Как без одих, так и без других не будет рынка и смысла.
Ну или представьте, что какой-нибудь админ(или кучка админов скажем Ростелекома) начали самоуправство на серверах компании(резать каналы,снижая проскную способность, повышать тарифы по своему желанию и т.д.), в итоге они быстро лишаться клиентов. Хотя казалось бы они старались на повышение дохода компании.
Это угробит Биткойн и лишит их дохода — очевидно же.
Сравнивать ЦБ с майнерами ошибка. Максимум — майнеры это монетный двор, и им очень важно чеканить 100% золотые монеты, а увеличение количества монет в крипте — это уменьшение количества метала золота в монетах, как это было в древнем риме. В крипте ЦБ это связка бирж, майнеров и пользователей и в этом преимущество крипты.
Зачем 20 мб? ведь известно,что блоки пока еще существенно ниже 1 мб, а многие так вообще по 300кб. Нельзя так спешить. Имхо, лучше всего поднять до 2 мб и может что-то еще придумать. И то не сейчас подымать, а к концу года, скажем или по ситуации.
согласен. обеими руками за постепенное увеличеие. майнеров в обиду не дадим так сказать. пора сатоше влить пару лярдов, чтоб майнерам награду повысить. они, бедняги, недоедают из-за его недочетов!
В крипте майнеры стремятся стать ЦБ, они хотят жить за счет эмиссии — это вы правильно заметили. И чем дальше будет концентрироваться майнинг, тем больше они начнут походить на современный ЦБ. Это уже прослеживается в нежелание майнеров увеличивать блок, а дальше ничто их не остановит от изменения протокола. Поэтому так много попыток создать альт с защитой от асиков, там роль майнеров будет ближе к монетному двору, чем к ЦБ.
ЦБ владеет монетным двором и говорит ему сколько печатать и как сильно уменьшать количество золота в монетах.
Майнеры Юрлица или Майнеры Физлица владеют Майнерами компьютерами.
Майнеры юрлица — аналог ЦБ
Майнеры компьютеры — аналог монетного двора и печатного станка.
Мотивы у ЦБ и у Майнеров вроде как одинаковые.
Вы не объяснили, чем они отличаются принципиально, и что мешает в будущем майнерам менять протокол в свою выгоду, которая будет не совпадать в выгодой пользователей биткойнов.
выходит 20мб на блок — это с запасом в 4 раза? леонардо да винчи был бы рад услышав такую цифру 🙂 следующий запас будет в 16 раз — 320мб/блок. к концу 2020-го — 80мб/блок?
это я загнул конечно.. и забыл посчитать 6-ой блок, извинтиляюсь.
6мб к концу 2016 — около 3транз/сек — не маловато? 18мб блок к этому времени обеспечит 9транз/сек стало быть? тоже как-то мало на фоне визы.. виза получается около двух тыщ транз/сек судя по предыдущим статьям.. исходя из этого битку надо блоки по 12гб к 2016. без дисков на пару петабайт тут не обойтись короче… а лучше на пару эксабайт сразу :-р
это все очень приблизительно, очень вероятно будет иначе. Как только люди массово повалят в биткоин, нагрузка будет огого и расчеты будут совершенно неверны.
если сейчас 1 мб это запас в 2 раза, то 20 мб = запас в 40 раз наверно.
я имел ввиду запас после конца 2016-го по таблице выше.