Что такое биткойн «конфирмации»?

Когда я получаю биткойны, я вижу определенное количество «подтверждений» в клиенте. Что это значит? Почему большинство сайтов заставляют меня ждать 6 «подтверждений» перед покупкой?

46 голосов | спросил lemonginger 31 AM00000030000001731 2011, 03:39:17

2 ответа


27

Подтверждения биткойнов представляют количество блоков в цепочке блоков, которые были приняты сетью, поскольку блок, который включает транзакцию.

В более простых выражениях это представляет собой сложность двойной атаки. С нулевыми подтверждениями никаких доказательств работы не было сделано, поэтому вы не можете сказать, считает ли кто-либо транзакцию действительной. Даже с одной транзакцией атакующий может предварительно вычислить один блок.

С нулевым или даже одним подтверждением двойные затраты очень возможны, поскольку следующий разрешенный блок может подтвердить другой блок, а не тот, который имеет транзакцию. Этот разный блок показывает мои монеты, проводимые в другом месте. Шансы, что двойной трат произошло, экспоненциально меньше при каждом подтверждении.

Злоумышленник должен соответствовать мощности всей сети биткойнов, чтобы не отставать от создания блока, так как время идет, становится все труднее подделать транзакцию.

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

ответил Joshua Kolden 31 AM00000030000004431 2011, 03:55:44
24

Если вы не понимаете основную концепцию, представьте себе на секунду, что отключение сети разбило биткойновую сеть пополам. Я мог бы отправить одну транзакцию, дающую 30 биткойнов Абелю в одну половину и одну транзакцию, дающую те же 30 биткойнов Фреду другому. Каждая половина согласилась бы на эту транзакцию и до тех пор, пока две половинки не переустановились, вы не узнаете, какая сделка будет выполняться завтра.

Подтверждения - это просто блоки, которые были созданы после блока, который содержит вашу транзакцию. Поскольку нет центрального органа, с которым можно консультироваться, чтобы убедиться, что транзакция будет совершена, получатели используют количество подтверждений как способ защиты от двойных атак.

Сеть всегда пытается расширить самую длинную цепочку, и, в конце концов, какая-то цепочка победит. Чем глубже сделка находится в цепочке, тем выше вероятность ее победы, потому что сеть очень старалась не дублировать усилия. (Поскольку шахтеры хотят, чтобы их транзакции в коинбазах побеждали, все они очень стараются расширить цепочку, которая, скорее всего, выиграет, что гарантирует, что она действительно выиграет.)

Эффективно, чем больше подтверждений, тем выше вероятность того, что транзакция останется навсегда в общедоступной цепочке хэширования, а не в противоречивой транзакции, если она есть. При 6 подтверждениях, возможно, один миллиард, что транзакция не будет постоянной - и если отправитель пытается атаковать с двойным траттом.

ответил David Schwartz 31 AM00000030000004931 2011, 03:50:49

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132