Итак, как я это понимаю, есть блокчейн, который распределён между всеми программами-участниками, как то кошельки и майнеры.
Не совсем. Блокчейн не "распределен" между всеми участниками, а все участники хранят свою собственную копию блокчейна. Это очень важно, так как консенсус нужен для того, чтобы копия была у всех одинакова. Если бы он был распредлен, то каждый хранил бы только часть истории транзакций, что подразумевало бы доверие к другим нодам насчет правильному хранения других частей истории. Консенсус же избавляет от необходимости доверять. Кто-то скажет, что есть "pruned" ноды, которые хранят только недавнюю историю. Но эти ноды тоже сначала загружают полную копию и все проверяют самостоятельно, и только потом отбрасывают прошлую историю для экономии места. Некоторые участники вообще не хранят историю, а берут данные от тех, кто хранит историю. Такие ноды не обеспечивают консенсус, а только "потребляют" уже готовый консенсус.