Как защитить от 51% атаки?
Природа системы означает, что эта атака не может быть предотвращена.Подумайте об этом так: если у вас совершенно децентрализованная система, в которой участники имеют контроль над сетью (а не какой-то централизованный орган), то пользователи могут голосовать за изменения.Голосовать в блокчейне можно с помощью вашей майнинг-мощи.Если большинство (> 50%) сети голосуют за изменение, то изменение вступает в силу (теоретически).Итак, как вы могли бы предотвратить это, если бы вы не централизовали сеть?
Теперь, на самом деле, злоумышленнику, вероятно, потребуется гораздо больше, чем 51%, потому что он должен не только опередить сеть, но и сделать это.с каждым блоком после того, который они хотят изменить, потому что, если новый блок добывается кем-то другим, когда они пытаются опередить сеть?Им потребуется гораздо больше хэш-мощности, чтобы иметь хорошие шансы на успешное выполнение.
Предотвращение
Реальный ответ: вы не можете реально предотвратить это, поскольку это децентрализованная сеть, ноЕсли вы разрабатываете новый блокчейн, ответ состоит в том, чтобы сделать его максимально децентрализованным.Вот некоторые соображения:
Коммодитизация оборудования для майнинга (коммодитизация ASIC).Обратите внимание, что это противоречит некоторым традиционным представлениям о том, что алгоритмы хеширования должны быть устойчивыми к ASIC, но есть хорошая статья, объясняющая, почему это плохая идея: ASIC и часто задаваемые вопросы по децентрализации Пользователи, которым приходится много платить, илимне будет трудно получить хэш-мощность, скорее всего, не мою, и это будет предоставлено нескольким крупным игрокам, у которых есть ресурсы для этого.Это приводит к большей централизации майнинга.
Избегайте разветвления существующей монеты с гораздо большей хэш-мощностью.Пользователи оригинальной монеты теперь владеют монетами в вашей новой цепочке и получают стимул атаковать ее, если у них гораздо большая часть хэш-мощности, которую они могут переключить на новую монету.Если вы делаете форк существующей монеты, рассмотрите возможность изменения алгоритма хеширования, чтобы майнеры исходной монеты должны были инвестировать больше капитала для атаки.