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