Введение в технологию Блокчейн. Тимур Сергеевич Машнин
Чтение книги онлайн.

Читать онлайн книгу Введение в технологию Блокчейн - Тимур Сергеевич Машнин страница 38

СКАЧАТЬ одно ограничение, которое обсуждают, заключается в том, что набор криптографических алгоритмов в биткойне фиксирован.

      Доступно только несколько алгоритмов хэширования и только один алгоритм подписи (ECDSA, по определенной эллиптической кривой, называемой secp256k1).

      Существует некоторая озабоченность тем, что в течение жизни Биткойна, которая, как надеются люди, будет очень долгой – этот алгоритм может быть взломан.

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

      То же самое относится к хэш-функциям; на самом деле, в последние десятилетия хеш-функции усиленно изучались.

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

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

      Как мы можем внедрять новые функции в протокол Bitcoin?

      Вам может показаться, что это просто – просто выпустить новую версию программного обеспечения и сообщить всем узлам об обновлении.

      В действительности, однако, это довольно сложно.

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

      Некоторые узлы в сети могут не получить новое программное обеспечение или могут не получить его вовремя.

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

      Мы можем различать два типа изменений: те, которые вызовут жесткий форк, и те, которые вызовут мягкий форк.

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

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

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

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

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

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

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

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

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

      Это считается неприемлемым для сообщества, поэтому старые узлы будут эффективно отключены от сети Bitcoin, если они не обновят свое программное обеспечение.

СКАЧАТЬ