Фактически, вероятность двойного расходования экспоненциально уменьшается с количеством подтверждений.

Если транзакция, в которой вы заинтересованы, получила k подтверждений, то вероятность того, что транзакция с двойным расходованием будет в долгосрочной консенсусной цепочке, эта вероятность будет экспоненциально убывать как функция от k.

Наиболее распространенная практика, используемая в экосистеме биткойнов, – это ждать шесть подтверждений.

В числе шесть нет ничего особенного.

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

Напомню, что защита от недействительных транзакций полностью криптографическая.

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

С другой стороны, защита от двойных трат осуществляется исключительно и только на основе консенсуса.

Криптографии нечего сказать об этом, и две транзакции, которые представляют собой попытку двойной траты, действительны с криптографической точки зрения.

Но именно консенсус определяет, какая из них окажется в долгосрочной консенсусной цепочке.

И, наконец, вы никогда на 100 процентов не можете быть уверены, что транзакция, в которой вы заинтересованы, находится в консенсусной ветке.

Но экспоненциальная вероятностная гарантия этого довольно хорошая.

После шести транзакций практически нет шансов, что вы ошибетесь.

Стимулы и доказательства работы

Теперь у нас есть базовое представление консенсусного алгоритма Биткойна и представление, почему мы считаем, что это безопасно.

Но вспомним, что децентрализация Боткойна – это с одной стороны технический механизм, а с другой стороны умная стимуляция.

До сих пор мы в основном рассматривали технический механизм.

Теперь давайте поговорим о стимулах, которые применяются в Биткойне.

Также вспомним, что мы сделали предположение, что мы можем выбрать случайный узел и, возможно, более проблематично, что, по крайней мере, в 50 процентов случаев, при этом мы выберем честный узел.

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

Тогда возникает вопрос: можем ли мы дать узлам стимул вести себя честно?

Рассмотрим снова попытку двойной траты после одного подтверждения.

Можем ли мы каким-то образом наказывать узел, который создал блок с транзакцией с двумя тратами?

Ответ – не совсем.

Как я говорил ранее, трудно понять, что является морально легитимной сделкой.

Но даже если бы мы это сделали, все равно трудно наказывать узлы, так как у них нет идентификаторов.

Поэтому вместо этого давайте подойдем с другой стороны и спросим, можем ли мы вознаградить каждый из узлов, которые создали блоки, которые в конечном итоге оказались в долгосрочной консенсусной цепочке?

И, опять же, поскольку эти узлы не раскрывают свою реальную идентичность, мы не можем отправить им наличные на их домашние адреса.

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

Вероятно, вы уже видите, к чему я иду.

Другими словами, мы собираемся использовать биткойны, чтобы стимулировать узлы, которые создали эти блоки.