Введение в технологию Блокчейн. Тимур Сергеевич Машнин
консенсусной цепочке, эта вероятность будет экспоненциально убывать как функция от k.
Наиболее распространенная практика, используемая в экосистеме биткойнов, – это ждать шесть подтверждений.
В числе шесть нет ничего особенного.
Это просто хороший компромисс между количеством времени, которое вы должны ждать, и вашей гарантией того, что транзакция, в которой вы заинтересованы, попадает в цепочку консенсусного блока.
Напомню, что защита от недействительных транзакций полностью криптографическая.
Но эта защита осуществляется на основе консенсуса, а это означает, что если узел попытается включить криптографически недействительную транзакцию, то единственная причина, по которой транзакция не окажется в долгосрочной консенсусной цепочке, заключается в том, что большинство узлов являются честными и не будут включать недопустимую транзакцию в цепочку блоков.
С другой стороны, защита от двойных трат осуществляется исключительно и только на основе консенсуса.
Криптографии нечего сказать об этом, и две транзакции, которые представляют собой попытку двойной траты, действительны с криптографической точки зрения.
Но именно консенсус определяет, какая из них окажется в долгосрочной консенсусной цепочке.
И, наконец, вы никогда на 100 процентов не можете быть уверены, что транзакция, в которой вы заинтересованы, находится в консенсусной ветке.
Но экспоненциальная вероятностная гарантия этого довольно хорошая.
После шести транзакций практически нет шансов, что вы ошибетесь.
Стимулы и доказательства работы
Теперь у нас есть базовое представление консенсусного алгоритма Биткойна и представление, почему мы считаем, что это безопасно.
Но вспомним, что децентрализация Боткойна – это с одной стороны технический механизм, а с другой стороны умная стимуляция.
До сих пор мы в основном рассматривали технический механизм.
Теперь давайте поговорим о стимулах, которые применяются в Биткойне.
Также вспомним, что мы сделали предположение, что мы можем выбрать случайный узел и, возможно, более проблематично, что, по крайней мере, в 50 процентов случаев, при этом мы выберем честный узел.
Это предположение о честности особенно проблематично, если есть финансовые стимулы того, чтобы участники хотели подорвать процесс, и в этом случае мы не можем с точностью предположить, что узел будет честным.
Тогда возникает вопрос: можем ли мы дать узлам стимул вести себя честно?
Рассмотрим снова попытку двойной траты после одного подтверждения.
Можем ли мы каким-то образом наказывать узел, который создал блок с транзакцией с двумя тратами?
Ответ – не совсем.
Как я говорил ранее, трудно понять, что является морально легитимной сделкой.
Но даже если бы мы это сделали, все равно трудно наказывать узлы, так как у них нет идентификаторов.
Поэтому вместо этого