1,2,..6 подтверждений - это абсолютно бессмысленная метрика.
главная задача подтверждений - защита от двойной траты, т.е. атаки тех пулов, которые именно в этот момент нашли подряд несколько блоков (вероятность этого не нулевая, и прямо пропорциональна мощности пула, 100% она у пулов со 100% мощностью но уже при 50+% мощности пул может откидывать чужие блоки, тем самым обеспечить себе 100% контроль над сетью)
Проблема в том что стоимость отмены транзакции для пула майнинга, обладающего меньше 50% мощности равна доходам от майнинга с отбрасываемых блоков. Допустим твой сервис принимает монеты от 1 подтверждения, значит пул-атакующий должен совершать сделки и на каждую майнить блок, в котором его перевод отменяется (направлен по другому адресу) с длиной цепочки 1 блок, и все провалившиеся попытки (а для пула с мощностью в 1% это будет 99% попыток) - это будут убытки этого пула, т.е. недополученная прибыль
Понятно, что экономический смысл такой атаки есть только в том случае, если суммы отменяемых сделок выше стоимости потерь.
Отсюда простая формула, количество подтверждений, которые сервис должен ожидать от сети для каждой входящей транзакции должна быть равна или выше количеству блоков, из расчета количества намайненных монет за эти блоки равна или больше чем суммы, фигурирующие во входящих транзакциях на сервис. Т.е. если в сторону сервиса мало транзакций, суммой меньше дохода от майнинга за блок, значит достаточно ждать 1 подтверждение, если суммы выше - значит количество подтверждений лучше увеличить.
количество подтверждений = int(Суммы, ожидающие сервисом на прием/Доход с одного блока майнерам)+1
p.s. на самом деле все сложнее, атакующий может атаковать одновременно несколько сервисов (т.е. нужно брать суммы всех транзакций в сети минус исходящие переводы сервиса)