Существует ли (потенциальная) «проблема размера блокчейна» и какие решения доступны?

Поскольку производится все больше и больше биткойн-транзакций, рост блокчейна может однажды стать проблемой для систем, которые хотят (нужны?) хранить весь блокчейн.

  • Использование хранилища
  • Время запуска клиента
  • Первая синхронизация

Этот ответ на вопрос «Есть ли какие-либо исследования масштабирования блокчейна с течением времени?» предполагает, что упрощенная проверка платежей является хорошим решением, но SPV, насколько я понимаю, требует определенной степени доверия к отдельным партнерам, что может не всем понравиться.

Хотя я на самом деле недостаточно хорошо разбираюсь в блокчейне даже для того, чтобы знать, разумно ли это, мне может прийти в голову что-то вроде смеси SPV с частичным кэшированием блокчейна (наименее часто используемым?), когда клиент хранит небольшой часть блокчейна.

Действительно ли это проблема, и ведется ли работа по ее решению?

В качестве альтернативы, если это не проблема, пожалуйста, помогите мне понять, почему.

Привет, Брент. На самом деле, именно этот вопрос в настоящее время является горячо обсуждаемой темой. Некоторое время назад в Bitcoin Core была добавлена ​​поддержка обрезки блокчейна , которая позволяет операторам узлов ограничивать память, доступную для хранения блокчейна. Однако тогда узел не будет «хранить весь блокчейн». Долгосрочные решения все еще находятся в разработке.
@Murch: Спасибо - если вы захотите сделать это ответом, я бы, конечно, проголосовал за него, а через несколько дней даже принял бы его!
Извините, сейчас на работе. Я посмотрю позже, чтобы написать что-то более всеобъемлющее.
@Murch: Нет проблем :) Мне приходит в голову, что можно запустить собственный сокращенный узел блокчейна (конечно, без кошелька) и назначить его доверенным узлом для клиента SPV.

Ответы (2)

В настоящее время только полные узлы, т. е. узлы, которые имеют полные релейные блоки инвентаризации блокчейна. Лично я недавно столкнулся с первой проблемой, когда в моем разделе Linux закончилось хранилище, но если бы я выбрал больший размер раздела, я мог бы легко позволить себе даже кратное 50 ГБ.

  • Использование хранилища: в настоящее время объем блокчейна составляет около 50 ГБ. Если он продолжит расти со скоростью 1 МБ за 10 минут, хранение полной цепочки блоков должно оставаться доступным для тех, кто этого хочет.
    Для всех остальных теперь существует возможность запуска узла обрезки . Как только обрезающие узлы будут включены для ретрансляции блоков , я ожидаю, что количество обслуживающих узлов снова начнет расти.
    Однако для защиты истории потребуются некоторые узлы с полной цепочкой блоков.

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

  • Первая синхронизация : Синхронизация была значительно улучшена с выпуском Bitcoin Core 0.10. Теперь по порядку должны обрабатываться только заголовки блоков, а все остальные данные блока могут обрабатываться в любом порядке. Эта и другие настройки значительно сократили время, необходимое для подключения к сети. Теперь мой компьютер может выполнить первоначальную синхронизацию в течение нескольких часов. Поскольку вычислительная мощность будет масштабироваться, я ожидаю, что в обозримом будущем она останется управляемой.
    Обновление: грядущий выпуск 0.12 дополнительно увеличит скорость синхронизации в 5 раз благодаря проверке подписей, выполняемой с помощью libsecp256k1библиотеки, которая была специально закодирована для более эффективного выполнения операций Биткойн.

Это проблема - время синхронизации и размер блокчейна слишком велики и велики соответственно.

Но для многих других видов бизнеса это может быть нормально, потому что транзакций не слишком много.

Должно быть решение для биткойнов, размера блокчейна и времени синхронизации. Это основная причина, по которой я не использую биткойн.

Этот ответ касается только небольшой части вопроса, т.е. есть ли проблема. Однако в нем не рассматриваются какие-либо решения и не объясняется, почему проблема не является серьезной, как того требовал автор. Поэтому я не считаю это полезным для этого вопроса и проголосовал за него. Пожалуйста, уточните и ответьте на весь вопрос, чтобы вместо этого я мог превратить свой отрицательный голос в положительный.