1 ...8 9 10 12 13 14 ...47 С этим подходом существует ряд технических проблем.
Во-первых, консенсус в целом является сложной проблемой, поскольку узлы могут дать сбой или быть злонамеренными.
Во-вторых, и особенно в контексте биткойнов, сеть крайне несовершенна.
Это одноранговая система, и не все пары узлов связаны друг с другом.
Например, в сети могут быть неисправности из-за плохого подключения к Интернету, и, таким образом, выполнение консенсусного протокола, в котором все узлы должны участвовать, на самом деле невозможно.
Наконец, в системе много задержек, потому что она охватывает весь Интернет.
Протокол биткойнов должен достичь консенсуса несмотря на две проблемы: ненадежность сети, так как есть задержки и сбой узлов, а также преднамеренные попытки некоторых узлов взломать процесс.
Одним из особых последствий задержек сети является отсутствие понятия глобального времени.
Это означает, что не все узлы могут согласиться на общий для всех узлов порядок событий, просто основанный на соблюдении временных меток.
Поэтому консенсусный протокол не может содержать инструкции в виде: «Узел, который отправил самое первое сообщение на шаге 1 протокола, должен выполнить нечто на шаге 2».
Это не будет работать, потому что не все узлы согласятся, какое сообщение было отправлено первым на этапе 1 протокола.
Отсутствие глобального времени сильно ограничивает набор алгоритмов, которые могут использоваться в консенсусных протоколах.
Фактически, из-за этих ограничений большая часть исследований по распределенному консенсусу пессимистичны.
В качестве примера рассмотрим проблему византийских генералов.
В этой классической проблеме византийская армия разделена на дивизии, каждая из которых подчиняется генералу.
Генералы общаются с помощью посыльных, чтобы разработать совместный план действий.
Некоторые генералы могут быть предателями и могут преднамеренно попытаться подорвать процесс, чтобы лояльные генералы не могли прийти к единому плану.
Цель этой задачи состоит в том, чтобы все лояльные генералы пришли к одному и тому же плану, несмотря на попытки предателей генералов заставить их принять плохой план.
Было доказано, что этого невозможно достичь, если одна треть или более генералов являются предателями.
Другой результат невозможности достичь консенсуса, известный под именами авторов, которые его впервые доказали, называется результатом невозможности Фишера-Линча-Патерсона.
При некоторых условиях, которые включают в себя узлы, действующие детерминированным образом, они доказали, что консенсус невозможен даже при одном неисправном процессе.
Несмотря на эти результаты невозможности достичь консенсуса, все равно существуют некоторые консенсусные протоколы.
Одним из наиболее известных среди этих протоколов является Paxos.
Paxos допускает определенные компромиссы.
С одной стороны, он никогда не дает противоречивого результата.
С другой стороны, он принимает, что при определенных условиях, хотя и в редких случаях, протокол может зависнуть и не сможет добиться какого-либо результата.
Но есть хорошие новости: эти результаты невозможности были доказаны в очень конкретных моделях.
Они были предназначены для изучения распределенных баз данных, и эти модели не очень хорошо описывают биткойн, так как биткойн нарушает многие предположения, на которых эти модели были построены.
Как ни странно, при нынешнем состоянии исследований, консенсус в Биткойне лучше работает на практике, чем в теории.
То есть мы наблюдаем за консенсусом, но не разработали теорию, чтобы полностью объяснить, почему он работает.
Но разработка такой теории важна, поскольку она может помочь нам предсказать непредвиденные атаки и проблемы, и только когда у нас будет сильное теоретическое понимание того, как работает Биткойн, мы будем иметь сильные гарантии безопасности и стабильности Bitcoin.
Какие предположения в традиционных моделях консенсуса, которые Биткойн нарушает?
Во-первых, в нем вводится идея стимулов, которая является новой для распределенного консенсусного протокола.
Это возможно только в биткойне, потому что это валюта, и поэтому он имеет естественный механизм, стимулирующий участников действовать честно.
Читать дальше