Глава 5. История майнинга биткойна. Майнинг на процессорах или CPU-майнинг

Один из лучших Форекс-брокеров – компания «RoboForex». ECN-счета с депозитом от $10. Возможность торговать акциями Amazon, Facebook, Siemens и еще более чем 12.000 активов через платформу «R Trader» с депозитом от $100. Разрешены скальпинг, пипсовка, любые советники и стратегии. Имеется бесплатный конструктор торговых стратегий.

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

Алгоритм биткойна предполагает возрастание сложности при стабильном поступлении новых денег в систему, так что в первое время генерировать монеты было очень просто. Обычного CPU (Central Processing Unit), то есть процессора, класса Pentium было вполне достаточно, чтобы получать по 50 биткойнов каждые 10 минут. Конечно, нельзя на 100% утверждать, что все сгенерированные в первое время биткойн-монеты принадлежат именно Сатоши, но факт состоит в том, что некто начал майнинг с первого блока и продолжал его целый год на стабильной скорости около 7 мегахэшей в секунду, с небольшими паузами примерно каждые 100 часов, предположительно, для резервного копирования кошелька. По оценкам Лернера, Сатоши в первые месяцы добыл около 1 миллиона монет, что составляет около 11 триллионов долларов по курсу на весну 2018 года. Из 1814400 первых сгенерированных биткойнов около 1148800 биткойнов, или 63% из них, никогда не тратились. Возможно, все эти неистраченные монеты до сих пор находятся в распоряжении таинственного Сатоши.

Майнинг биткойнов представляет собой процесс криптографических вычислений. Как известно, биткойны добываются блоками, при этом с ростом общего числа сгенерированных монет размер блока уменьшается. Изначально блок составлял 50 биткойнов. В программном коде монеты заложено строго ограниченное количество биткойнов, которое равняется 21 000 000. Количество добываемых в одном блоке монет уменьшается в два раза каждые 210 000 блоков. Таким образом, вознаграждение за каждый найденный блок с определенной периодичностью падает в два раза. Это явление носит название халвинг. Халвинг является словом английского происхождения и в переводе на русский означает деление пополам (уполовинивание). В криптовалютной среде это понятие обозначает процесс усложнения добычи криптовалюты за счет снижения наград майнеров в два раза. Подобные мероприятия необходимы для регулирования эмиссии биткойнов. С экономической точки зрения такая модель работы системы необходима для того, чтобы контролировать инфляцию валюты. В сети биткойна уровень сложности пересчитывается через каждые 2016 блоков (примерно раз в 2 недели). Он увеличивается или уменьшается в зависимости от того, насколько время создания этой партии блоков отличается от 20160 минут (2016 * 10). Такой механизм обеспечивает появление блоков в среднем через каждые 10 минут вне зависимости от суммарной мощности всех майнеров. В других криптовалютах пересчёт как хеша, так и целевого уровня сложности, может существенно отличаться.

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

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

Вычисление SHA-256 выполняется над 512-битными блоками данных и включает в себя 64 раунда шифрования, требующих множества 32- битных сложений, сдвигов и битовых операций. Каждый последующий раунд шифрования зависит от результатов предыдущего, создавая цепочку зависимостей. Хотя выполнение отдельных раундов шифрования не может быть распараллелено, проверка каждого отдельного хэша может выполняться параллельно, что делает вычисления прекрасно поддающимися распараллеливанию.

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

Вероятно, Сатоши Накамото не предполагал, как быстро начнет развиваться индустрия майнинга. Именно добыча на процессорах персональных компьютеров, самых массовых чипах в мире, должна была сделать биткойн по-настоящему децентрализованным. Здесь есть только одна уязвимость – перед ботнетами, которые могут заставить майнить на один кошелек компьютеры десятков тысяч пользователей. Пока криптовалюта оставалась забавой для немногих энтузиастов, майнинг на CPU был очень популярен. Первое изменение сложности алгоритма биткойна, показавшее, что майнингом занимается уже несколько сотен процессоров, случилось почти через год после создания генезис-блока – 30 декабря 2009 года.

Самое же большое увеличение сложности за один пересчет – в 4 раза – случилось 16 июля 2010 года в блоке номер 68544. Произошло это вследствие публикации статьи о биткойне 11 июля 2010 года на популярном среди программистов и энтузиастов криптовалют сайте Slashdot. Вceгo за несколько дней количество пользователей сети биткойн, а значит и майнеров, выросло в несколько раз.

Объем дохода, получаемого при майнинге биткойнов на процессоре, зависит от мощности процессора. Имея топовый процессор Core i7 990x, можно перебирать порядка 33 MX/c (мегахашей в секунду). Все вычисления выполняются над 512-битными блоками данных и состоят из различных операций, каждая из которых зависит от результатов предыдущей. Количество добываемых биткойнов в единицу времени будет определяться величиной хешрейта процессора и текущей сложностью алгоритма.

Содержание Далее

Перейти на Главную страницу сайта