Размер шрифта
-
+

Введение в технологию Блокчейн - стр. 16

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

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

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

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

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

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

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

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

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

Во-вторых, и особенно в контексте биткойнов, сеть крайне несовершенна.

Это одноранговая система, и не все пары узлов связаны друг с другом.

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

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

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

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

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

Поэтому консенсусный протокол не может содержать инструкции в виде: «Узел, который отправил самое первое сообщение на шаге 1 протокола, должен выполнить нечто на шаге 2».

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

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

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

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



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

Страница 16