Название: Введение в технологию Блокчейн
Автор: Тимур Сергеевич Машнин
Издательство: Автор
Жанр: Компьютеры: прочее
isbn:
isbn:
Фактически, если он хочет получить уведомление о том, что эта транзакция действительно произошла и что он получил деньги, запуск узла Бобом был бы логичным.
Тем не менее, нет необходимости, чтобы Боб слушал в сети; запуск узла для Боба не требуется для получения средств.
Биткойны будут его, независимо от того, работает ли он в сети или нет.
Что именно здесь означает, что узлы достигают консенсуса в сети Bitcoin?
Учитывая, что множество пользователей транслируют эти транзакции в сеть, узлы должны согласовать учет, какие именно транзакции были транслированы, и порядок, в котором эти транзакции произошли.
Это приводит к созданию единого глобального журнала для системы.
Вспомним, что в ScroogeCoin для оптимизации мы помещаем транзакции в блоки.
Аналогичным образом, в биткойне мы принимаем консенсус на основе блокчейна.
Таким образом, все узлы в одноранговой сети содержат реестр, состоящий из последовательности блоков, каждый из которых содержит список транзакций, и таким образом они достигают консенсуса.
Кроме того, каждый узел содержит пул неутвержденных транзакций, о которых он слышал, но которые еще не включены в цепочку блоков.
Для этих транзакций консенсус еще не произошел, и поэтому по определению каждый узел может иметь немного отличающуюся версию пула неутвержденных транзакций.
На практике это происходит потому, что одноранговая сеть не идеальна, поэтому некоторые узлы, возможно, слышали о транзакции, о которой другие узлы не слышали.
Как именно узлы достигают консенсуса по блоку?
Один из способов сделать это: через равные промежутки времени, скажем каждые 10 минут, каждый узел в системе предлагает своему пулу неутвержденных транзакций быть следующим блоком.
Затем узлы выполняют некоторый консенсусный протокол, где вход каждого узла является его собственным предложенным блоком.
Теперь, некоторые узлы могут быть вредоносными и помещать недействительные транзакции в свои блоки, но мы можем предположить, что другие узлы будут корректными.
Если консенсусный протокол завершается успешно, в качестве вывода будет выбран валидный блок.
Даже если выбранный блок был предложен только одним узлом, это будет допустимый результат, если блок корректный.
Теперь, может быть какая-то валидная неутвержденная транзакция, которая не была включена в блок, но это не проблема.
Если какая-то транзакция каким-то образом не попала в этот конкретный блок, она может просто подождать и попасть в следующий блок.
Этот подход имеет некоторое сходство с тем, как работает биткойн, но это не совсем так, как на самом деле работает биткоин.
С этим подходом существует ряд технических проблем.
Во-первых, консенсус в целом является сложной проблемой, поскольку узлы могут дать сбой или быть злонамеренными.
СКАЧАТЬ