Добавить в цитаты Настройки чтения

Страница 12 из 27

Она будет иметь ту же форму, но просто будет иметь другой масштаб по оси x.

Опять же, это может быть представлено уравнением.

Для конкретного майнера это будет зависеть от его хэш-мощности.

Если у вас есть 0,1 процента от общей хэш-мощности сети, это уравнение говорит нам, что вы будете находить блоки каждые 10 000 минут, что составляет примерно одну неделю.

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

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

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

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

Это важное свойство, потому что, опять же, оно позволяет нам избавиться от централизации.

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

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

Давайте теперь посмотрим на экономику майнинга.

Все мы уже слышали, что быть майнером, это довольно дорого.

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

Эти цифры позволяют легко вычислить, выгодно ли это для меня, и мы можем определить это решение простым выражением:

Если

вознаграждение за добычу> стоимость добычи

тогда майнеров быть выгодно

где

вознаграждение за добычу = вознаграждение за блок + комиссия за транзакции

при этом, стоимость добычи = стоимость оборудования + эксплуатационные расходы (электричество, охлаждение и т. д.)

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

Майнер должен сравнить это с общими расходами, а именно стоимостью оборудования и электроэнергии.

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

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

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

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

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

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

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

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

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

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

Теперь соединим все это вместе, чтобы получить лучшее понимание.



Начнем с идентификаторов.

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

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

Когда Алиса хочет заплатить Бобу за биткойны, в протоколе биткойнов не указано, как Алиса узнает адрес Боба.

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

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

Биткойн не имеет фиксированных номиналов, так как доллары США, и, в частности, нет специального обозначения «1 биткойн».

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

Наименьшее возможное значение – 0.000 000 01 BTC (биткойны), которое называется 1 Satoshi.

Целью одноранговой сети Bitcoin является распространение всех новых транзакций и новых блоков на все одноранговые узлы Bitcoin.

Но сеть крайне несовершенна и делает попытки ретрансляции этой информации с максимальной эффективностью.

Безопасность системы не основывается на совершенстве одноранговой сети.

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

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

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

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

Также существуют сиротские блоки или блоки, которые не включаются в консенсусную цепочку.

Существует множество причин, которые могут привести к появлению сиротских блоков.

Блок может содержать недопустимую транзакцию или попытку двойной траты.

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

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

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

Наконец, мы рассмотрели хэш головоломку и добычу.

Майнеры – это специальные типы узлов, которые решают конкурировать в игре по созданию новых блоков.

Они вознаграждаются за это новыми биткойнами (как вознаграждение за новый блок) и существующими биткойнами (как транзакционные сборы).

Далее, тонкий, но важный момент: скажем, что Алиса и Боб – два разных майнера, и у Алисы в 100 раз больше вычислительной мощности, чем у Боба.

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

Вместо этого Алиса и Боб имеют коэффициент вероятности нахождения следующего блока в пропорции 100 к 1.

В долгосрочной перспективе Боб найдет в среднем один процент от числа блоков, которые находит Алиса.

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

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

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

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