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

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

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

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

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

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

      Что именно здесь означает, что узлы достигают консенсуса в сети Bitcoin?

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

      Это приводит к созданию единого глобального журнала для системы.

      Вспомним, что в ScroogeCoin для оптимизации мы помещаем транзакции в блоки.

      Аналогичным образом, в биткойне мы принимаем консенсус на основе блокчейна.

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

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

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

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

      Как именно узлы достигают консенсуса по блоку?

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

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

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

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

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

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

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

      Этот подход имеет некоторое сходство с тем, как работает биткойн, но это не совсем так, как на самом деле работает биткоин.

      С этим подходом существует ряд технических проблем.

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

СКАЧАТЬ