Википедия объясняет причину ограничения размера блока в 1 МБ следующим образом:
Ограничение на размер блока в один мегабайт было добавлено в 2010 году Сатоши Накамото в качестве временной меры против DoS.
Сообщение SE разъясняет это:
Обычно атака типа «отказ в обслуживании» (DoS) может происходить на блоках большего размера. Поэтому, чтобы избежать этого условия, изначально размер блока Биткойн был выбран равным 1 МБ. Потому что злоумышленник отправляет много данных в сеть, чтобы сделать ее занятой, чтобы фактические транзакции не могли выполняться.
Чего я не понимаю:
1) Что останавливает злоумышленника от отправки нелегитимных транзакций для быстрого заполнения блока размером 1 Мб для выполнения DoS-атаки? Что такого в большем размере блока, что делает эту атаку более вероятной?
2) Есть ли способ эмпирически продемонстрировать, что блок размером 1 МБ менее подвержен DoS-атаке по сравнению с блоком размером, скажем, 1 ГБ?
Учитывая, что размер блока является одним из самых больших узких мест в масштабируемости BTC, кажется очевидным, что что-то подобное должно быть доказано. Блок размером 1 ГБ сможет обрабатывать в 1000 раз больше транзакций в секунду по сравнению с размером блока 1 МБ.
Спасибо
DoS, который пытается предотвратить ограничение размера блока, заключается в том, что майнер создает огромный блок данных мусора, который теперь каждый биткойн-майнер должен загружать, проверять и хранить целиком. Представьте, если бы какой-то майнер решил создавать блок за блоком из 1 ГБ мусора, и теперь каждый биткойн-узел в мире должен хранить и проверять весь этот мусор. Если бы это было возможно, это было бы в интересах более крупных майнеров: более мелкие майнеры, у которых нет возможности загружать и проверять эти гигантские блоки мусора столь же эффективно, не смогут идти в ногу с майнингом.
Кроме того, люди пытаются отправлять спам в блокчейн. Попытка сделать это до уровня блокировки законных транзакций будет довольно дорогой, учитывая, что вам придется платить транзакционные сборы за каждую «спамовую» транзакцию, которую вы хотите отправить.
OP_RETURN
выходы), но майнер также может просто включать транзакции, которые отправляют биткойны себе, чтобы заполнить блок в этом случае. На техническом уровне это выглядит как обычная транзакция, но, надеюсь, вы согласитесь, что это спам.Это не касается вашего основного вопроса, а является ответом на некоторые неправильные предположения в вопросе:
Основная проблема с простыми подходами к увеличению размера блока Биткойн заключается в том, что для определенных транзакций хеширование подписи масштабируется квадратично, а не линейно.
https://bitcoincore.org/en/2016/01/26/segwit-преимущества/
1 биткойн-транзакция может быть совершена для более чем 1 реального платежа, поэтому транзакции в секунду по сравнению с несколькими другими системами, на мой взгляд, являются неправильной метрикой и объясняются здесь: https://bitcoin.stackexchange.com/a/100829/
Масштабирование Биткойн работает послойно: https://bitcoinkpis.com/layer2 , и это не означает, что разработка в сети остановилась или не будет сосредоточена на масштабировании. Пример:
По сравнению с подписями ECDSA подписи Шнорра короче на 6–9 байт. Эта экономия связана с удалением издержек кодирования и флагом SigHash по умолчанию. При использовании подписи Шнорра на 20% и при условии, что все 800 000 входных данных, потраченных в день, содержат только одну подпись, в день сохраняется более 1 МБ пространства в блокчейне.
Питер Уилле
Яннес