Опубликован: 01.02.2018 | Уровень: для всех | Доступ: платный
Лекция 2:

Как Биткоин достигает децентрализации

< Лекция 1 || Лекция 2: 1234 || Лекция 3 >

Обобщение

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

Можно записать простое уравнение ( рис. 2.21 ), которое представит исходные данные для ответа на этот вопрос. По сути, награда за майнинг это вознаграждение за блоки и транзакционные сборы. Майнер спрашивает себя, во сколько обойдется стоимость оборудования и электроэнергии. Фактически, добыча Биткоин настолько дорога с точки зрения электроэнергии, что становится значительной частью общей стоимости, кроме начальной стоимости аппаратного обеспечения.

Экономика майнинга

Рис. 2.21. Экономика майнинга

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

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

Еще одно осложнение заключается в том, что вознаграждение, которое получает майнер, зависит от скорости, с которой он находит блоки, которая в свою очередь зависит не только от мощности его аппаратного обеспечения, но и от его доли от мощности оборудования всех майнеров. Можно назвать её долей от общей хэш-ставки.

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

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

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

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

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

То есть когда Алиса и Боб хотят совершить сделку, и Алиса хочет знать, на какой адрес Боб собирается получить деньги, это не является частью протокола биткоинов. Она должна узнать адрес через какой-то другой процесс, например, через сайт продавца Боба.

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

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

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

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

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

Рассмотрим еще один тонкий момент. Представим, что Алиса и Боб – два разных майнера, и у Алисы в 100 раз больше вычислительной мощности, чем у Боба. Это означает не то, что Алиса всегда будет выигрывать гонку против Боба, чтобы найти следующий блок. Вместо этого Алиса и Боб имеют соотношение, коэффициент вероятности, чтобы найти следующий блок в пропорции 100 к 1. Таким образом, в долгосрочной перспективе Боб найдет в среднем 1% блоков, которые делает Алиса.

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

Чтобы понять, насколько глубоко понятие распределенного консенсуса пронизывает Биткоин, рассмотрим традиционную валюту.

Консенсус вступает в игру в ограниченной степени - есть консенсус в том, что такое обмен валюты. Можно сделать грубую аналогию с консенсусом и распределенными системами. И это, безусловно, верно и в биткоине, когда нужен консенсус относительно стоимости обменного курса биткоинов. Но консенсус гораздо глубже в биткоине, чем в других заявленных валютах. Фактически, нужен консенсус вокруг состояния, который выполняет цепь блоков: есть ли запись о том, какие транзакции действительны или какие транзакции уже произошли.

Биткоин имеет три типа консенсуса:

  • Значение
  • Положение
  • Правила

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

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

Рассмотрим сложное взаимодействие между тремя вещами в биткоине: безопасность цепочки блоков, стоимость валюты, жизнеспособность экосистемы майнинга ( рис. 2.22). Начнем с безопасности цепи блоков. Чтобы валюта была платежеспособна, цепь блоков должна быть безопасной для Биткоина. Это значит, что противник не должен преодолеть процесс консенсуса.

Биткоин как самонастраивающаяся система

Рис. 2.22. Биткоин как самонастраивающаяся система

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

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

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

Поэтому можно представить себе, что во время создания Биткоина, ни одна из этих трех вещей не существовала. Когда не было никаких майнеров, кроме самого Накамото или того, кто создал программное обеспечение для добычи биткоинов. Тогда биткоин не имел большой ценности в качестве валюты, и блок-цепь была небезопасной, потому что не было много майнинга, и атакующий мог легко подавить процесс совершения сделки. Как же система пришла к текущему виду? Это произошло в результате самонастройки – очень сложного процесса взаимодействия всех трех характеристик, которые необходимы системе биткоинов. Процесс пользовался большим вниманием со стороны средств массовой информации. И чем больше людей слышат о Биткоине, тем больше они будут заинтересованы в майнинге. И тем больше уверенности у людей будет в блоковой безопасности. Поэтому в настоящее время продолжается рост добычи Биткоинов.

И последнее. Для понимания консенсуса и того, за что он несет ответственность и за что не несет, хороший способ - спросить, что произойдет, если консенсус потерпит неудачу и на самом деле появится 51% злоумышленников, которые так или иначе, контролируют 51% или более от мощности добычи в сети Биткоин.

Прежде всего, может ли этот злоумышленник украсть монеты из существующего адреса? Предположим, что 51% злоумышленников создали недопустимый блок, содержащий недопустимую транзакцию. Это означает кражу биткоинов из существующего адреса, который злоумышленник не контролирует и перенос их на свой адрес.

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

Он может даже преуспеть в том, и создать наиболее длинную ветвь. Но другие правильные (честные) узлы просто не будут принимать этот недопустимый блок и продолжат майнинг на основе последнего действительного блока, который они обнаружили в сети. Итак, произойдет "вилка" в цепочке. Теперь пример с точки зрения злоумышленника, пытающегося потратить эти недействительные монеты и отправить их некоторому купцу, Бобу, и купить что-то взамен. Боб предположительно будет запускать свой биткоин-узел, и это будет честный узел. И этот узел поймет, что, хотя это, возможно, самая длинная ветка, но это не допустимая ветка, потому что она содержит недопустимую транзакцию, так как криптография (подпись) не была проверена.

И поэтому он просто игнорирует эту самую длинную ветку, ведь это недействительная ветка. То есть неполного консенсуса недостаточно. Необходимо подорвать криптографию, чтобы украсть монеты из существующего адреса. Таким образом, мы делаем вывод, что это нападение невозможно для злоумышленников, составляющих 51%.

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

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

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

А может ли злоумышленник изменить вознаграждение за блок? Может ли он солгать, что награда за блок вместо 25 биткоинов, дает 100 биткоинов? Это похоже на изменение правил системы и это невозможно, так как злоумышленник не контролирует копию программного обеспечения Биткоин, в котором работают все правильные узлы.

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

На самом деле, если известно, что существует 51% злоумышленников, даже если злоумышленники не попытаются запустить какую-либо атаку, потеря доверия может произойти. Таким образом, можно классифицировать как вероятное, что любой 51%-ный злоумышленник уничтожит доверие к валюте. И эта последняя угроза на самом деле является основной, если атака 51% злоумышленников когда-либо материализуется.

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

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

< Лекция 1 || Лекция 2: 1234 || Лекция 3 >
Александр Шабанов
Александр Шабанов
Россия, Москва, МГОУ, 2007
Максим Кучинский
Максим Кучинский
Россия