Подтверждение транзакции

Подтверждение транзакции (англ., «transaction confirmation») необходимо для предотвращения повторного расходования одних и тех же денежных средств.

Цель подтверждения транзакций

Обычно при получении Bitcoin новый владелец не может сразу же распоряжаться ими. Как только транзакция произведена – она отправляется в сеть Bitcoin для исполнения и должна быть включена в блок, чтобы стать легитимной. Процесс включения транзакции в состав найденного блока называется подтверждением транзакции. Включение в 1 блок = 1 подтверждение, когда таких подтверждений набирается 6 и выше транзакция считается подтвержденной. Такая функция была введена для защиты от повторной траты одних и тех же биткоинов (см. «double-spending«).

Включение транзакции в блок происходит во время процесса майнинга.

Количество подтверждений

Классический Bitcoin-клиент будет отображать транзакцию как «неподтвержденную» пока не наберется 6 подтверждений (6 найденных блоков). Сайты или сервисы, которые принимают Bitcoin для оплаты своих товаров или услуг, могут ставить свои ограничения на количество блоков нужных для подтверждения транзакции. Цифра 6 была выбрана не случайно: она основывается на теории, что вероятность того, что злоумышленник сможет накопить более 10% от хешрейта сети для подделки транзакций, мала, и что незначительный риск (менее 0,1%) является приемлемым.

Для злоумышленников, которые не обладают значительной мощностью, 6 подтверждений являются непреодолимой преградой на пути к атаке. В свою очередь, людям, обладающим более 10% мощности, не составит сложности получить 6 подтверждений подряд. Однако, обладание такими вычислительными мощностями требует инвестиций в миллионы долларов, что снижает риск атаки.

Биткоины, которые выдаются сетью за нахождение блока, можно использовать только через 100 подтверждений, т.е. 100 найденных блоков. Классический Bitcoin клиент не будет отображать монеты, полученные за решение блока, пока не накопится 120 подтверждений.

См. также на BitcoinWiki