Алгоритм майнинга криптовалют: обзор основных алгоритмов хеширования
Алгоритм майнинга, или алгоритм хеширования необходим для расшифровки данных в криптовалютной сети и определения их достоверности. Разработкой алгоритмов занимаются специалисты-криптографы. Схема основана на обработке «хэша» – это число, зашифрованное из строки содержимого. Невозможно зашифровать две строки таким образом, чтобы получился одинаковый хэш.
Основная идея майнинга Биткоина заключается в том, что майнеры заключают некоторую группу свежих транзакций в единый блок, а потом множество раз выполняют вычислительную операцию хеширования, пока кто-то из них не обнаружит нужное число. После этого транзакции можно считать подтвержденными.Содержание статьи
Алгоритм майнинга криптовалют: что это и зачем нужен
В криптографии существует понятие хэш-функции, она отвечает за зашифровку данных, которые впоследствии расшифровывает алгоритм майнинга криптовалют. Хэш-функция устроена так, что нет «легкого пути» получить нужный результат – можно только раз за разом подбирать значения, пока не найдется одно работающее.
В Биткоине успешным хэшем считается тот, который начинается с определенного числа нулей. Сложность нахождения растет экспоненциально. На текущий момент в числе должно быть 17 нулей подряд, чтобы оно было признано подходящим. Таким образом, только один из 1.4×1020 чисел приведет к успешному результату. Найти хэш даже труднее, чем одну песчинку из всех существующих на Земле.
Посмотрите видео, которое объясняет, что такое алгоритм хеширования (включите субтитры и перевод на русский):
Алгоритм майнинга топовых криптовалют
Список популярных и перспективных криптовалют, доступных для майнинга, и их алгоритмы хеширования:
Основные алгоритмы майнинга криптовалют
Рассмотрим наиболее распространенные на сегодняшний день алгоритмы майнинга.
SHA-256
Сокращение SHA расшифровывается как «безопасный расчет хеша». Этот вычислительный метод обеспечивает неизменность информации в криптографическом наборе данных. Информация зашифрована или закодирована, поэтому находится в безопасности, и получить доступ могут только те люди, у которых есть код.
В 2001 году американское Агентство Национальной Безопасности разработало алгоритм SHA-2. SHA-256 – его разновидность. Название обусловлено тем, что он работает с числами размером 256 бит. Иными словами, конкретный бит данных кодируется и трансформируется в код из 256 фрагментов. Время обработки кода в SHA-256 занимает 6-10 минут.
Scrypt
В алгоритме хеширования Scrypt используется сразу 11 логических протоколов для подтверждения работы (PoW). Самое крупное преимущество применения Scrypt – эффективность, так как с ним оборудование потребляет на 30% меньше мощности и требует меньше охлаждения.
Многоуровневое вычисление начинается с загрузки информации с помощью хеш-процесса SHA-256. В это время рассчитывается анализ структуры связей, без которого невозможно завершение хеширования. Если сравнивать с SHA-256, то Scrypt потребляет меньше энергии, но значительно больше памяти. Также в Scrypt существует возможность уменьшить размер хеша, из-за чего вычисление осуществляется быстрее.
Ethash
Ethash был разработан специально для Ethereum с целью снизить уязвимость перед ASIC-майнерами. Алгоритм основан на интеллектуальном анализе данных. Ранее Эфир применял алгоритм под названием Dagger-Hashimoto, а Ethash по сути его обновленная и улучшенная версия.
Был сделан сильный упор на защиту от ASIC, однако это помогло ненадолго – интерес производителей асиков к Эфириуму возрос, и вскоре такие устройства все же были выпущены на рынок, что вызвало возмущения в сообществе. Было предложено даже «банить» слишком мощные устройства, подключенные к сети.
X11
Алгоритм X11 был разработан в 2014 году и также как Ethash был нужен для противодействия асик-майнерам и сохранения конкурентоспособности владельцев видеокарт и процессоров. X11 работает одновременно с 11 разными хеш-функциями. Сначала первая функция создает хеш, затем передает эстафету второй и так далее.
Все одиннадцать алгоритмов, входящих в состав X11, были введены в работу Национальным институтом стандартов и технологий США, чтобы разработать новую функцию SHA-3 с повышенной безопасностью по сравнению с предшественниками. Кандидатов было 64, конкурс прошли только 11.
CryptoNight
CryptoNight – алгоритм майнинга, предназначенный для применения на обыкновенных процессорах. Изначально алгоритм закодирован в базе кода CryptoNote. Cryptonight берет информацию объемом 2 Мб, извлекает базовые данные, смешивает их с последовательными и дает на выходе идеальный результат.
Основным преимуществом протокола считается возможность дополнительного микширования. Транзакции таким образом становятся более конфиденциальными. CryptoNight используют многие криптовалюты, из которых наиболее известна Monero.
Equihash
Этот алгоритм майнинга криптовалют представляет собой асимметричную систему Proof-of-Work, ориентированную главным образом на память. Количество работы, которую может произвести устройство при работе с этим алгоритмом, определяется в основном количеством оперативной памяти, которым оно оснащено.
Алгоритм Equihash называют устойчивым к ASIC-майнерам. Память – дорогостоящий вычислительный ресурс, и поэтому ее оптимизация на асик-чипе будет дорогостоящим и невыгодным для пользователя процессом. В результате процесс майнинга на ASIC станет менее эффективным и мощным.
Decred
Криптовалюта Decred использует гибридный механизм консенсуса, сочетающий в себе принципы PoS и PoW. Такая система гарантирует, что развитие проекта на может зависеть от контроля сильных заинтересованных групп, а также в блокчейн на могут вноситься изменения без согласия сообщества.
PoW в Decred подразумевает вознаграждение в 30 монет за добытый блок, которые разделяются между майнерами, голосующими и фондом развития проекта. Далее голосующие могут отдавать свои голоса за или против предлагаемых корректировок в цепи. За то, что они защищают сеть хранением своих ставок, им отдается 30% дохода с каждого сформированного блока.
Quark
Quark – алгоритм майнинга криптовалют, базирующийся на хэш-функции с девятью уровнями шифрования. Алгоритм не требует большого количества ОЗУ, а также содержит в себе встроенную защиту от хакерских атак высокого уровня (64 бит). Отличается малым потреблением энергии. Quark разработали в 2013 году и внедрили в него шесть функций для шифрования: Grostl, Blake, Keccak и т.д.
Алгоритм Quark используется в механизмах консенсуса PoS и PoW, чтобы поддержание рабочего состояния криптовалютной системы было более определенным и безопасным. По сравнению со SHA-256, используемым в Биткоин, Quark обладает устойчивостью к возникновению SPOF (единой точки отказа), из-за которой может выйти из строя вся система.
X15
X15 основан на X11, только вместо применения 11 функций хеширования в нем используется 15. За счет такого хода существенно повышается устойчивость к хакерским атакам. Если хакер взломает одну из пятнадцати функций, то разработчики тотчас же усовершенствуют ее, чтобы система продолжала оставаться в безопасности. Злоумышленнику, желающему взломать всю систему, необходимо будет поочередно пройти через все 15 функций, и сделать это быстро.
SHA-2
Безопасный алгоритм хэширования, на основе которого разработано не менее десяти усовершенствованный вариантов, в том числе SHA-256. Все хэш-функции, применяемые в семействе, основаны на структуре Меркла-Дамгора.
Суть заключается в том, что исходная информация разделяется на блоки после дополнения, а затем каждый из блоков делится на шестнадцать слов. Далее каждый блок сообщения пропускается через цикл, состоящий из 80 или 64 раундов перемешивается. На каждом этапе два слова трансформируются, а функция этой трансформации задается остальными 14-ю словами.
Cuckoo Cycle
Cuckoo Cycle – один из самых перспективных на сегодняшний день алгоритмов, устойчивых к ASIC. Изначально был изобретен для защиты от спама в электронной почте. Однако архитектура оказалась вполне подходящей для добычи криптовалют на графических процессорах. Сфокусирован в основном на использовании памяти, поэтому требует значительно меньше вычислительной энергии, чем другие PoW-алгоритмы. Следовательно, снижаются и затраты на охлаждение.
Другие алгоритмы
Также встречаются следующие виды алгоритмов майнинга криптовалют:
- SHA-3 (Keccak). Протокол основывается на конструкции Sponge. Чтобы получить хэш, берется исходная информация, после чего дополняется до длины, кратной R. К сообщению добавляется байт, некоторое число нулей и завершающий байт, обладающий значением 0x Затем, для получения нужного числа, к полученным данным неоднократно применяется хеш-функция.
- Blake. Состоит из трех основных компонентов – внутренней структуры, гарантирующей защиту от коллизий, режима итерации, противодействующего внешним атакам, и алгоритма сжатия. В результате получается тщательно проанализированная безопасная функция.
- Lyra2RE. Был разработан как замена устаревшего Scrypt-N algo для криптовалюты Vertcoin. Основная цель – снижение энергопотребления в процессе добычи токенов. Алгоритм успешно сменился в середине 2014 года.
Заключение
Чаще всего, когда речь заходит о майнинге криптовалют, то имеется в виду алгоритм SHA-256 или Scrypt, потому что на сегодняшний день они используются наиболее часто. Но знать об остальных вариантах тоже полезно и интересно, если вы хотите быть в курсе того, что происходит сейчас в криптовалютной отрасли.
Обзор криптовалюты Bitcoin Gold (BTG)
Криптовалюта Bitcoin Gold — это хард-форк Биткоина, который приобрел популярность благодаря новому алгоритму майнинга Equihash.
Цена Bitcoin Gold (BTG)
Купить Bitcoin Gold (BTG)Что такое Bitcoin Gold
Цель создания. Bitcoin Gold (BTG) — хард-форк первой криптовалюты, который состоялся в октябре 2017 года на блоке №491407. Главный вдохновитель проекта — Джек Ляо, владелец и гендиректор майнинговой компании Lightning ASIC. По словам Джека Ляо, у сети блокчейна Bitcoin Gold две основные задачи:
«Сделать Биткоин снова децентрализованным» с помощью алгоритма майнинга Equihash, который до этого использовался в сети Zcash (ZEC). Данный алгоритм делает ставку не на вычислительные мощности процессора (CPU), а на оперативную память видеочипа (GPU). Предполагалось, что это сделает майнинг Bitcoin Gold устойчивым к использованию ASIC-устройств, использование которых монополизировало добычу биткоинов.
Создать «резервную копию» оригинального Биткоина. По словам одного из разработчиков BTG под псевдонимом h5x3: «Bitcoin Gold станет своего рода страховкой на случай, если оригинальная сеть SHA256 будет искажена или уничтожена. Такой же план по созданию «резервной копии» использовался при создании Litecoin, но Bitcoin Gold в этом плане лучше — у него такой же алгоритм распределения монет, как у Bitcoin».
Обе цели довольно привлекательны, но по факту форк почти ничем не отличался от оригинала.
Почему Equihash лучше SHA-256. В блокчейне оригинального Биткоина для генерации новых блоков применяется алгоритм хеширования SHA-256, который использует мощности процессора. И поскольку процессор — это, по сути, все, что нужно для такого майнинга, инженеры создали специальные устройства из связки нескольких процессоров с ориентацией на майнинг крипты — ASIC.
А так как уровень вознаграждения при добыче биткоинов зависит от соотношения мощности отдельного майнера к мощности всей сети блокчейна (большая мощность → больше BTC), появление ASIC привело к централизации майнинга: люди начали покупать сотни, а то и тысячи ASIC и связывать их на программном уровне в одного большого Майнера (ферму), чтобы таким образом получить больше BTC. Как итог, большую часть вознаграждения от добычи биткоинов получают майнинг-фермы, а добыча на обычном компьютере стала нерентабельной.
Централизация майнинга в свою очередь привела к тому, что сейчас сетью Биткоина управляют несколько крупнейших майнинг-ферм, от решений которых и зависит, как и в каком направлении будет развиваться первая в мире криптовалюта. Кроме того, централизация блокчейна делает его более уязвимым к хакерским атакам.
Чтобы нивелировать эти проблемы, Джек Ляо и его единомышленники решили создать «альтернативный Биткоин», алгоритм майнинга которого будет устойчивым к централизации. По их мнению, таким образом они вернут Биткоин на правильный путь развития, о котором говорил Сатоши Накамото: один процессор — один голос.
Для этого было решено внедрить в блокчейн Биткойна алгоритм хеширования Equihash, который использует оперативную память видеокарт. Интегрированные и / или дискретные видеокарты есть на каждом современном устройстве, поэтому стать майнером сможет любой владелец компьютера, ноутбука, планшета или смартфона. А если таких устройств нет, то их можно купить за относительно небольшие деньги.
При этом Equihash никак не повлиял на процесс майнинга. Как и при добыче других криптовалют, для майнинга BTG нужно лишь создать криптоадрес и скачать соответствующее программное обеспечение. Кроме того,также рекомендуется подключиться к майнинг-пулу для увеличения рентабельности добычи.
Чем Bitcoin Gold отличается от Bitcoin
Сравнение основных характеристик Bitcoin, Bitcoin Gold и Bitcoin Cash. Источник
Главное отличие — это алгоритм хеширования Equihash. Помимо этого, хард-форк также отличается от оригинала в следующих вещах:
Уникальный формат криптоадресов, который призван не допустить ошибок, когда пользователи посылают монеты не на ту цепь блокчейна (как это было в Bitcoin Cash). В частности, изменены префикс функций SCRIPT_ADDRESS и PUBKEY_ADDRESS.
Корректировка сложности после каждого созданного блока.
В оригинальном Биткоине корректировка происходит примерно каждые две недели — через каждые 2016 блоков.
Как купить, продать и передать BTG
Для начала нужно создать криптоадрес в сети криптовалюты. Это можно сделать, скачав кошелек BTG Core Wallet или любой другой, который поддерживает работу с этой монетой. Для примера мы будем использовать официальный кошелек, но так как он находится на ранней стадии разработки (версия 0.17.2 на июнь 2020), вам лучше использовать другой, привычный вам вариант. Вот перечень кошельков, которые поддерживают Bitcoin Gold.
Алгоритм действий:
Скачиваем кошелек. Официальный вариант поддерживает Windows, Mac OS и Linux.
Запускаем файл установки и следуем инструкции.
После установки запускаем кошелек и указываем, где будет храниться дистрибутив блокчейна. Сейчас это свыше 220 ГБ. Полная загрузка и синхронизация блокчейна займет несколько часов.
Чтобы обезопасить свои деньги, сделайте резервную копию кошелька. Для этого нужно выбрать File > Backup wallet.
Купить BTG можно практически на всех крупных криптовалютных биржах, таких как EXMO.
Зарегистрироваться на EXMOКакие перспективы в Bitcoin Gold
Децентрализация майнинга. На старте майнинг Bitcoin Gold действительно был децентрализованным, но из-за появления все большего количества монет, майнинг которых заточен под видеокарты, были созданы ASICs из видеочипов. Новые ASICs нивелировали преимущество Equihash над SHA-256.
Команда Bitcoin Gold утверждает, что осознают данную проблему и она будет решена в новом апдейте. О том, как именно это будет сделано, информации нет. О конфликте интересов команда проекта также предпочитает отмалчиваться.
Централизация капитала. Недавнее исследование показало, что сеть криптовалюты Bitcoin Gold вероятно контролируется одним или несколькими китами. Согласно данному анализу сейчас на рынке 17,5 миллионов монет BTG, из которых 11 миллионов «либо неактивны, либо утеряны навсегда». Оставшиеся 7 миллионов BTG в значительной степени контролируются одним или несколькими игроками, на долю которых приходится от 38 до 48% активных монет BTG.
По мнению автора анализа, эти киты в начале 2020 года сначала добились падения курса BTG до 5 долл, а потом стимулировали его рост до 15 долл. При этом он прогнозирует, что дальше киты буду двигать цену Bitcoin Gold к 22,86 долл.
Эти пять адресов контролируют 16,8% всех монет в сети Bitcoin Gold (от 17,5 млн монет). Источник
Хакерские атаки. В мае 2018 года сеть Bitcoin Gold подверглась «атаке 51%», что привело к потере 388 тыс. BTG на 18 миллионов долларов по курсу того времени.
В обоих случаях «атака 51%» проходила по простой схеме. Сначала хакеры выкупали у крупных игроков мощности для майнинга, которые до этого были задействованы для добычи другой монеты, и использовали их для получения контроля над 51% хеша сети блокчейна Bitcoin Gold. После этого использовалась так называемая «двойная трата» для кражи монет. Поскольку сеть Bitcoin Gold относительно небольшая, себестоимость такой атаки довольно низкая — от 1200 долл.
Чтобы убрать угрозу подобных атак в будущем, команда Bitcoin Gold намерена реализовать инициативу CCBN. Речь о том, чтобы использовать другие блокчейны для нотариального заверения «блоков BTG с хэшами транзакций». Детально это решение описано документе под названием CCBN_Whitepaper_Draft.
Как bitcoingold. org объясняют концепцию CCBN и то, как она будет работать
Делаем выводы
По прогнозам экспертов, стоимость Bitcoin Gold будет расти. Причины: реализация подписей Шнорра и CCBN. Первое повысит безопасность и приватность транзакций, а также сократит размер блока транзакций, что увеличит пропускную способность сети блокчейна. Второе защитит криптовалюту от хакерских атак.
Кроме того, на повышение стоимости BTG будет влиять общий среднесрочный тренд криптовалютного рынка на рост, который мы наблюдаем в последние годы, а также, предположительно, игра китов конкретно по цене BTG.
Bitcoin Gold изменил алгоритм майнинга для защиты от ASIC-устройств. Как не остаться без монет?
В середине июня мы писали об особенностях добычи Bitcoin Gold. Вдобавок рассказали о самой монете, биржах, кошельках и перспективах проекта. Теперь в правила майнинга BTG нужно внести небольшие изменения. Причина — смена алгоритма.
Переход на новый алгоритм Equihash 144,5 состоялся на блоке 536200. В честь этого события разработчики даже поделились забавной картинкой.
На ней ASIC-майнер вылетает из двери с помощью чьей-то ноги. Очевидно, последняя принадлежит девелоперам, которые защитили владельцев GPU-ферм от нищеты и голода.
Настройки для майнинга Bitcoin GoldМайнинг-пул 2Miners уже внедрил нужный алгоритм, поэтому можно смело добывать новые монетки. Всё работает отлично.
Единственное требование — обновление настроек. Для быстрого старта по традиции загружаем необходимые файлы по ссылке. Пароль от архива — 2miners.
Владельцам GPU от NVIDIA рекомендуем загружать EWBF Cuda Equihash Miner v0.2. Подробности о программе читайте здесь.
Редактируем .bat-файл для «зелёных» карт.
Режим PPLNS
miner.exe —algo 144_5 —pers BgoldPoW —server btg.2miners.com —port 4040 —user YOUR_ADDRESS.RIG_ID —pass x
Режим SOLO
miner.exe —algo 144_5 —pers BgoldPoW —server solo-btg. 2miners.com —port 4040 —user YOUR_ADDRESS.RIG_ID —pass x
Пользователям ферм с картами от AMD советуем загрузить lolMiner. Дополнительная информация и загрузка — по ссылке.
Редактируем настройки для «красных» карт.
Режим PPLNS
Меняем файл user_config.json:
«COIN» : «BTG»,
«POOL» : «btg.2miners.com»,
«PORT» : «4040».
Режим SOLO
Меняем файл user_config.json:
«COIN» : «BTG»,
«POOL» : «solo-btg.2miners.com»,
«PORT» : «4040».
Какой хешрейт у карт Nvidia и AMD на алгоритме Equihash 144,5
Заодно уточним, какой хешрейт сегодня выдают самые популярные модели видеокарт на алгоритме Equihash 144,5.
GTX 1050Ti — 15 Sol/s;
GTX 1060 — 27 Sol/s;
GTX 1070 — 40 Sol/s;
GTX 1080 — 45 Sol/s;
GTX 1080Ti — 64 Sol/s;
RX 560 — 7 Sol/s;
RX 290 — 12 Sol/s;
RX 580 — 16 Sol/s.
Если что-то не получается, ждём вас в Телеграм-чате пула 2Miners. Подробнее о движении разработчиков Equihash-монет против ASIC-майнеров читайте в этой статье.
Подписывайтесь на наш канал в Телеграме, чтобы стать крутым.
Что такое Алгоритм Консенсуса в Blockchain?
В контексте криптовалют, алгоритмы консенсуса являются решающим элементом каждого блокчейна, поскольку они отвечают за поддержание целостности и безопасности этих распределенных систем. Первый криптовалютный алгоритм консенсуса, это Proof of Work (PoW), который был разработан Сатоши Накамото и реализован в Bitcoin, как способ преодоления Византийских ошибок.
Алгоритм консенсуса
Алгоритм консенсуса может определяться как механизм, с помощью которого блокчейн сеть достигает консенсуса. Публичные (децентрализованные) блокчейны построены как распределенные системы, и поскольку они не полагаются на центральные органы, распределенные узлы должны согласовывать валидацию транзакции. Именно здесь вступают в силу алгоритмы консенсуса. Они уверяют, что соблюдаются правила протокола, и гарантируют, что все транзакции происходят доверенным способом, поэтому монеты могут быть потрачены только один раз.
Прежде чем мы погрузимся в разные типы алгоритмов консенсуса, важно понять различия между алгоритмом и протоколом.
Алгоритм консенсуса vs Протокол
Термины алгоритм и протокол часто используются взаимозаменяемо, но это не одно и то же. Проще говоря, мы можем определить протокол как первичные правила блокчейна, а алгоритм как механизм, с помощью которого они будут выполняться.
Кроме использования в финансовых системах, технология blockchain может применяться к широкому кругу предприятий, и может быть пригодна для различных случаев использования. Но независимо от контекста, блокчейн сеть будет построена поверх протокола, который определит, как должна работать система, поэтому все различные части системы и все участники сети должны будут следовать базовым правилам протокола.
В то время как протокол определяет правила, алгоритм сообщает системе, какие меры необходимо предпринять для соблюдения этих правил и получения желаемых результатов. Например, алгоритмом консенсуса блокчейн, является то, что определяет валидацию транзакций и блоков. Таким образом, Bitcoin и Ethereum являются протоколами, в то время как Proof of Work и Proof of Stake являются их алгоритмами консенсуса.
Чтобы дополнительно это проиллюстрировать, рассмотрим, что Bitcoin протокол определяет: как должны взаимодействовать узлы, как данные должны передаваться между ними, и каковы требования к успешной проверке (валидации) блока. С другой стороны, алгоритм консенсуса отвечает за проверку балансов и подписей, подтверждение транзакций и фактическое выполнение проверки блоков, и все это зависит от консенсуса сети.
Другие типы алгоритмов консенсуса
Существует несколько типов алгоритмов консенсуса. Наиболее распространенными являются PoW и PoS. У каждого есть свои преимущества и недостатки, при попытке сбалансирования безопасности, с функциональностью и масштабируемостью.
Proof of Work (PoW)
PoW первый алгоритмом консенсуса, который был создан. Он используется Bitcoin и многими другими криптовалютами. Алгоритм Proof of Work является неотъемлемой частью майнинг процесса.
Майнинг PoW включает в себя многочисленные попытки хеширования, поэтому чем больше вычислительная мощность, тем больше попыток в секунду. Другими словами, майнер с высоким хешрейтом имеет больше шансов найти правильное решение для следующего блока (aka. хеш блока). Алгоритм консенсуса PoW гарантирует, что майнеры смогут только подтверждать новый блок транзакций и добавлять его в блокчейн, если распределенные узлы сети достигают консенсуса и соглашаются с тем, что хеш блока, предоставленный майнером, является подтвержденным proof of work (валидированным доказательством работы).
Proof of Stake (PoS)
В 2011 году в качестве альтернативы PoW был разработан алгоритм консенсуса PoS. Хотя PoS и PoW имеют похожие цели, но представляют некоторые фундаментальные различия и особенности. Особенно во время валидации новых блоков.
В нескольких словах, алгоритм консенсуса Proof of Stake заменяет технологию майнинга PoW механизмом, в котором блоки проверяются в соответствии с долей участников. Валидатор каждого блока (также называемый форжер или минтер) определяется вложенной криптовалютой, а не количеством выделенной вычислительной мощности. Каждая система PoS может реализовать алгоритм по-разному, но в целом блокчейн обеспечивается псевдослучайным процессом выборов, который учитывает богатство узла и возраст монеты (как долго монеты заблокированы или находятся в доле), наряду с фактор рандомизации.
Блокчейн Ethereum в настоящее время основан на алгоритме PoW, но в конечном итоге протокол Casper будет выпущен для переключения сети с PoW на PoS в попытке увеличить масштабируемость сети.
Почему алгоритмы консенсуса имеют значения для криптовалют?
Как упоминалось ранее, алгоритмы консенсуса имеют решающее значение для поддержания целостности и безопасности криптовалютной сети. Они обеспечивают состояние распределенных узлов, достигающих консенсуса, относительно того, какая версия блокчейна является действительной. Согласие на текущее состояние блокчейна, имеет важное значение для правильной работы цифровой экономической системы.
Алгоритм консенсуса Proof of Work считается одним из лучших решений Проблем Византийских Генералов, что позволило создать Биткойн как систему их решения. Это означает, что биткойн блокчейн обладает высокой устойчивостью к атакам, таким как атака 51% (или атака большинства). Не только потому что сеть децентрализована, но и из-за алгоритма PoW. Высокие затраты, связанные с процессом майнинга, делают его очень трудным и маловероятным, чтобы майнеры вкладывали свои ресурсы в разрушение сети.
Что такое майнинг (добыча) криптовалют — глоссарий и инфографика
Майнинг — это деятельность по созданию новых блоков в блокчейне за вознаграждение. Подробнее о том, что такое майнинг и как добываются криптовалюты — читайте далее
Что такое майнинг? Инфографика от mygeopay.com
Существует три основных способа получить криптовалюту: покупка на бирже, продажа чего-либо за крипту и майнинг.
Редакция PaySpace Magazine подготовила подробный глоссарий, который поможет узнать, что такое майнинг, как добывают биткоин и как начать майнинг криптовалюты самостоятельно.
Что такое майнинг криптовалюты
Майнинг (от англ. mining — разработка недр) — это процесс обработки транзакций в системе цифровых валют, при котором записи о текущих криптотранзакциях (блоки) добавляются к сведениям о прошлых транзакциях (блокчейн). Это происходит, когда майнер закрывает блок. Для этого он с помощью мощного оборудования осуществляет специальные вычисления для решения математических задач. В случае успешного решения блок закрывается, а майнер получает вознаграждение в криптовалюте. Благодаря майнингу обеспечивается вся работа сети: подтверждение транзакций, защита от внесения ложной информации и дублирования транзакций, защита от атак, обеспечение децентрализации сети.
СМОТРИТЕ ТАКЖЕ: Что такое майнинг криптовалюты на примере Bitcoin
Понять как добывается криптовалюта можно, изучив принцип работы блокчейна. Инфографика: cointelegraph.com
Как работает майнинг криптовалют
Чтобы понять, как добываются криптовалюты, сначала необходимо разобраться, что такое алгоритм майнинга. Как известно, каждая цифровая валюта создана с использованием определенного алгоритма шифрования. Именно его расшифровывает майнинговое оборудование, обеспечивая обработку транзакций в сети и принося майнеру вознаграждение.
Узнайте, что такое алгоритм майнинга и как добывается криптовалюта. Фото: hostmining.ro
В таблице ниже представлены наиболее популярные алгоритмы майнинга.
Алгоритм | Описание | Монеты |
SHA-256 | SHA-256 означает «Secure Hash Algorithm». Алгоритм относится к семейству SHA-2. Он генерирует 256-битную (32-байтную) подпись для текстовой строки. Время обработки блока, как правило, составляет около семи минут и требует хэшрейта выше, чем гигахэш в секунду. Этот алгоритм майнинга используется сетью биткоина. | Bitcoin, Bytecoin, Joulecoin, Devcoin, Ixcoin, Terracoin, Battlecoin, 21Coin, Peercoin, Namecoin, Unobtanium, Betacoin |
ETHASH | Ethash — это алгоритм хэширования proof-of-work сети Ethereum. Главной особенностью алгоритма являются повышенные требования к памяти GPU для майнинга. С недавних пор алгоритм доступен для ASIC-майнеров. Он использует хэш-функцию Keccak, стандартизованную в SHA-3. | Ethereum, Ethereum Classic, KodakCoin, Ubiq |
SCRYPT | Scrypt — используемый многими монетами proof-of-work алгоритм. Впервые был внедрен для Tenebrix (в сентябре 2011) и стал основой для Litecoin и Dogecoin. Scrypt проще и быстрее, чем SHA-256. Его хэшрейт измеряется в килохэшах в секунду. | Dogecoin, Gulden, Litecoin, PotCoin, FeatherCoin, Bitmark, TagCoin, Ekrona, MidasCoin |
EQUIHASH | Equihash — майнинговый proof of work алгоритм, позволяющий людям майнить на обычных компьютерах. | Zcash, Zcoin, Zclassic, Bitcoin Gold, Komodo, ZenCash |
CRYPTONIGHT | CryptoNight — proof-of-work алгоритм, разработанный для обычных компьютерных CPU. | Bytecoin, Monero, Dashcoin, DigitalNote |
X11 | Алгоритм X11 был создан разработчиками Dash. Он позволил сделать монету одной из самых безопасных. | MonetaryUnit, Karmacoin, StartCoin, Dash, XCurrency |
Как добыть криптовалюту
Каждый, кто хочет зарабатывать на майнинге, может это делать либо самостоятельно на собственном оборудовании, либо присоединиться к майнинг пулу.
Что такое майнинг пул?
Это когда несколько майнеров объединяют свои мощности оборудования, чтобы повысить вероятность нахождения блока.
Как майнить криптовалюту: крупнейшие майнинг-пулы. Фото: bitcoinmining.com
В первом случае вознаграждение достанется только вам, а вот награда за блок, добытый пулом, распределяется среди всех его участников.
Как добыть криптовалюту самостоятельно: список необходимых устройств. Фото: crypto.bitcoinmining.su
Как майнить криптовалюту?
Для этого понадобится мощное оборудование, включая:
- Видеокарты (GPU) — чем их больше и чем они мощнее, тем эффективнее будет майнинг. Для добычи биткоина и Litecoin видеокарты не подойдут — для этого нужны специальные ASIC-майнеры. Производительность майнингового оборудования обозначают термином «хэшрейт».
- Мощный компьютер с максимально возможным количеством слотов для видеокарт. На него можно установить специальные ОС для майнинга криптовалют (например, ethOS) или профессиональную 64-разрядную Windows 10. Помните, что фермы работают достаточно громко, и требуют мощной системы охлаждения и блоков питания.
- Подключение к интернету по кабелю или Wi-Fi с хорошим пингом.
Также нужно зарегистрировать кошелек, где будут храниться добытые монеты. Мы ранее уже писали о том, как выбрать криптовалютный кошелек.
Как добыть криптовалюту без специального оборудования — читайте далее. Фото: verdict.co.uk
Стоит отметить, что для некоторых видов майнинга не требуется специальное оборудование. Это:
- Браузерный майнинг – монеты добываются через выполнение специального JavaScript-сценария. Большинство таких скриптов созданы в мошеннических целях.
- Скрытый майнинг – добыча криптовалюты за счет мощности чужих компьютеров. Осуществляется путем их заражения зловредным ПО. Советы экспертов о том, как бороться с вредоносным ПО для майнинга — читайте в материале.
- Майнинг на телефонах и ноутбуках – неэффективный способ добычи монет даже на самых мощных моделях. Позволяет лучше разобраться, что такое майнинг криптовалюты.
- Облачный майнинг – добыча криптовалюты в удаленном режиме, когда пользователь платит компании за аренду ее майнинг-оборудования.
Правовые аспекты майнинга криптовалют
Перед тем как майнить криптовалюту, нужно изучить соответствующее регулирование в вашей юрисдикции. В некоторых странах майнинг и вовсе запрещен (Египет, Индия), как и криптовалюты в целом. Более продвинутые правовые государства давно подсуетились и создали нормативную базу для криптоотрасли, или даже налоговые/тарифные льготы, которые может получить любая майнинг-ферма в стране. Однако в большинстве государств, включая Украину, правовой статус криптовалют все еще не определен. В этом случае начинающему майнеру стоит взвесить, какие перспективы майнинга тех или иных цифровых монет и как быстро окупятся вложенные средства. Но стоит также помнить и про юридические риски, ведь правительства активно работают над созданием регулирования крипторынка.
Украина движется к регулированию крипторынка. Фото: cryptocoinreport.net
Какие перспективы майнинга
Очевидно, что рентабельность майнинга сильно зависит от курса добываемых монет. Тем не менее, сама майнинг-индустрия меняется с головокружительной скоростью, и уже в ближайшем будущем процесс добычи криптовалют может сильно измениться. Например, первоначально поучаствовать в процессе подтверждения биткоин-транзакций мог кто угодно с помощью своего CPU (правда, тогда мало кто знал, что такое майнинг и вообще криптовалюты). Однако менее чем через три года после появления первой криптовалюты это перестало быть выгодным. Начали меняться виды майнинга: появился GPU-майнинг, который затем вытеснил ASIC-майнинг. Теперь же и вовсе золотой век биткоина уходит, и все больше майнеров начинают зарабатывать на добыче альткоинов.
Новые технологии меняют то, как добывается криптовалюта. Фото: tivi.fi
Среди наблюдающихся в последнее время тенденций развития майнинга эксперты выделяют следующие:
- Крупные майнинг фермы переезжают в поисках дешевого электричества. Если в 2016-2017 году большинство ферм базировались в Китае, то уже к концу 2017 года стоимость ведения такого бизнеса в стране сильно возрасла с увеличением тарифов на электроэнергию и налогообложения. Так с 2018 года многие майнинг-компании частично или полностью переехали. Основным направлением для них стали Восточная Европа, Канада и Исландия.
- Майнеры ищут благосклонные юрисдикции. Некоторые страны и вовсе запретили своим гражданам заниматься майнингом (Индия, Египет). Ряд других повышают налоги или удваивают тарифы на электричество для майнинг-ферм, чтобы вытеснить их за пределы страны. Из-за этого майнерам приходится искать не только юрисдикции с дешевой энергией, но и относительно благосклонные страны с точки зрения регулирования.
- Переход на алгоритм Proof of Stake. Энергозатратный и дорогой алгоритм Proof of Work, при котором для майнинга требуется специальное оборудование, постепенно отходит в прошлое. В свою очередь, набирает популярность алгоритм Proof of Stake, который уже используют новые сети. Способ майнинга криптовалют меняется кардинально — для этого уже не нужно дорогое оборудование. Proof of Stake использует систему, где майнеры выбираются случайно или по специальной схеме. В этой системе также нет вознаграждений за блоки, но некоторые майнеры могут получать комиссию сети.
Теперь вы знаете, что такое добыча криптовалюты и как она осуществляется. Фото: es.insider.pro
- Популяризация скриптов для майнинга в браузере. Один из главных майнинг-трендов 2017 года по добыче криптовалют вроде Monero в этом году стал еще популярнее. С помощью специальных скриптов можно добывать около 10 криптовалют. Правда, этим часто злоупотребляют мошенники, используя мощность компьютеров ничего не подозревающих пользователей для собственного обогащения.
- Облачный майнинг исчезает. Некогда легитимный и прибыльный бизнес уже не в состоянии давать инвесторам достойные вознаграждения. Популярным ранее сервисам облачного майнинга вроде Genesis mining и HashFlare все сложнее привлекать новых клиентов, и их рейтинг ухудшается.
- Премайн становится все распространеннее. Последний тренд в криптовалютных сетях — поставка премайн-коинов, особенно при ICO. Создатель новой криптовалюты может сгенерировать определенное количество монет, прежде чем криптовалюта начнет распространяться.
ВАС ЗАИНТЕРЕСУЕТ: Как добывают Bitcoin: фотоподборка крупнейших майнинговых ферм
Bitcoin-майнеры теряют деньги — в июне их доходы упали на 23%
Из-за халвинга и снижения транзакционных комиссий в июне майнеры заработали всего $281 млн — это на 23% меньше, чем в мае.
По сравнению с предыдущим месяцем в июне доходы bitcoin-майнеров снизились на 23%, передает портал Coindesk. Причинами тому стали майский халвинг и снижение транзакционных комиссий в сети.
Читайте Bloomchain через любимые соцсети: Telegram, VK, FB
Халвинг — это регулярное уменьшение награды за добытый блок вдвое. Это событие происходит примерно раз в четыре года, а точнее — через каждые 210 тыс. блоков. Процедура халвинга заложена в алгоритм сети и не зависит от курса Bitcoin или других факторов. В 2020 году награда за каждый добытый блок в сети Bitcoin сократилась с 12,5 до 6,25 BTC.
В мае майнерам удалось заработать $366 млн, а в июне — всего $281 млн, что, по данным Coinmetrics, является трехмесячным минимумом. Аналитики Coindesk считают, что майнеры сразу же продают добытую криптовалюту.
Доход майнеров и его структура. Источник: Coindesk
В разговоре с Coindesk основатель майнинговой компании BearBox Остин Стормс отметил, что июньские показатели дают лучшее представление о рынке майнинга Bitcoin. В первую половину мая добыча велась с прежним вознаграждением за сгенерированные блоки, поэтому по сравнению с апрелем доход майнеров упал всего на 11%.
Во время халвинга размер мемпула сети Bitcoin существенно вырос, что привело к увеличению комиссий за транзакции. Мемпул — это набор всех транзакций, ожидающих подтверждения в блокчейне. К концу месяца эта очередь освободилась, из-за чего комиссии майнеров вновь упали, равно как и их доходы.
Размер мемпула и средняя комиссия за обработку транзакций. Источник: Coindesk
В июне комиссии принесли майнерам всего $12 млн — это 4,3% от их ежемесячного дохода. Для сравнения: в мае транзакционные сборы составляли 8,3% месячного дохода майнеров. Аналитики подчеркивают, что, поскольку вплоть до 2024 года вознаграждение за сгенерированный блок останется на прежнем уровне, доходы майнеров могут вырасти только в двух случаях: или Bitcoin будет расти в цене, или в сети повысится комиссия за обработку транзакций.
Биткоин как финансовая пирамида — Ведомости
Развитие криптовалют вошло, похоже, в стадию пузыря. Для тех, кто инвестирует деньги и усилия сейчас, основной выигрыш будет состоять из вложений денег и усилий тех, кто придет завтра. А завтрашние будут надеяться на то, что их вложения будут вознаграждены деньгами и усилиями тех, кто придет послезавтра. Понятно, что такая пирамида не может работать вечно и в какой-то момент – через полгода, как в случае МММ в России, или через 40 лет, как в случае инвестфонда Бернарда Мэдоффа в США, – очередные пришедшие на рынок оплатят инвестиции предыдущих, не получив ничего взамен.
Признаки пузыря пока в основном косвенные. Этим летом «Ведомости» писали и про продажу сделанных под ключ ферм для майнинга – наборов для добычи биткоинов и других криптовалют, и про дефицит на рынке видеокарт для персональных компьютеров, ключевого устройства в этой добыче. То, что в эту деятельность начинают вовлекаться широкие слои населения – еще один косвенный признак. Конечно, как во всякой пирамиде, найдутся люди, которые выиграют, – те, кто принял участие достаточно рано и решительно избавился от активов до того, как они упадут в цене.
У криптовалют типа биткоина есть важное преимущество перед обычными валютами – у них нет единого эмиссионного центра, места, в котором могут произвольно увеличить количество валюты в обращении. Почему во всем мире доверяют доллару (или евро, или швейцарскому франку)? Потому что человек, хранящий дома или в банке доллары, верит, что американское (европейское, швейцарское) правительство не решит неожиданно напечатать еще долларов. А также этот человек знает, что в это же верят еще сотни миллионов людей в мире. Формально денежную политику определяет центральный банк, руководство которого назначается президентом с согласия парламента, но вера в устойчивость валют определяется верой в устойчивость политической системы в целом. В случае биткоина такой проблемы нет – известный всем алгоритм гарантирует, что «дополнительная эмиссия» невозможна. В остальном биткоин мало чем отличается от валют Японии, Великобритании или Швейцарии – его ценность определяется тем, какое количество людей его использует. Пока это количество растет, ценность увеличивается, но трудно представить, что оно когда-то перерастет количество, например, швейцарских франков, которые почти для всех людей в мире не являются инвестиционным активом.
Это не значит, что я как-то против биткоинов. Задумка отличная, алгоритм оригинальный, а в развитии частных валют нет ничего плохого. Чем больше надежных валют, тем лучше. Если кому-то майнинг биткоинов заменяет игру на компьютере или видеоприставке – это можно только приветствовать. Но если кто-то продает машину или закладывает квартиру, чтобы вложить всё в майнинг криптовалют, – это ошибка. Таким человеком движет не расчет, а тот самый нездоровый азарт, которым питались все финансовые пирамиды – от «тюльпаномании» середины XVII в. до наших дней.
Автор – профессор Чикагского университета и НИУ «Высшая школа экономики»
Майнинг биткойнов карандашом и бумагой
Я решил посмотреть, насколько практично будет добывать биткойны карандашом и бумагой. Оказывается, алгоритм SHA-256, используемый для майнинга, довольно прост и фактически может быть выполнен вручную. Неудивительно, что этот процесс очень медленный по сравнению с аппаратным майнингом и совершенно непрактичен. Но выполнение алгоритма вручную — хороший способ понять, как именно он работает.
Процесс майнинга
Майнинг биткойнов является ключевым элементом безопасности системы биткойнов.Идея состоит в том, что биткойн-майнеры группируют множество биткойн-транзакций в блок, а затем многократно выполняют криптографическую операцию, называемую хешированием, бесчисленное количество раз, пока кто-нибудь не найдет особое чрезвычайно редкое значение хеш-функции. На данный момент блок добыт и становится частью цепочки блоков Биткойн. Сама по себе задача хеширования не выполняет ничего полезного, но, поскольку найти успешный блок так сложно, она гарантирует, что ни у кого нет ресурсов для захвата системы Биткойн.Подробнее о майнинге читайте в моей статье о майнинге биткойнов.
Криптографическая хеш-функция принимает блок входных данных и создает непредсказуемые выходные данные меньшего размера. Хэш-функция разработана таким образом, чтобы не было «короткого пути» для получения желаемого результата — вам просто нужно сохранять блоки хеширования, пока не найдете один, который работает грубой силой. Для Биткойна хеш-функция — это функция SHA-256. Чтобы обеспечить дополнительную безопасность, Биткойн дважды применяет функцию SHA-256, процесс, известный как двойной SHA-256.
В Биткойне успешный хеш — это тот, который начинается с достаточного количества нулей. [1] Так же, как редко можно найти номер телефона или номерной знак, заканчивающийся несколькими нулями, редко можно найти хеш, начинающийся с нескольких нулей. Но Биткойн экспоненциально сложнее. В настоящее время успешный хэш должен начинаться примерно с 17 нулей, поэтому только один из 1,4×10 20 хешей будет успешным. Другими словами, найти удачный хэш сложнее, чем найти конкретную песчинку среди всех песчинок на Земле.
G / O Media может получить комиссию
На следующей диаграмме показан блок в цепочке блоков биткойнов вместе с его хешем. Желтые байты хешируются для генерации хэша блока. В этом случае полученный хеш начинается с достаточного количества нулей, поэтому майнинг прошел успешно. Однако хеширование почти всегда будет неудачным. В этом случае майнер изменяет значение nonce или другое содержимое блока и пытается снова.
Структура блока биткойнов
Хэш-алгоритм SHA-256, используемый биткойнами
Хеш-алгоритм SHA-256 принимает входные блоки по 512 бит (т.е.е. 64 байта), объединяет данные криптографически и генерирует 256-битный (32 байтовый) вывод. Алгоритм SHA-256 состоит из относительно простого цикла, повторяемого 64 раза. На диаграмме ниже показан один раунд, который принимает восемь 4-байтовых входов — от A до H — затем выполняет несколько операций и генерирует новые значения от A до H.
Один раунд алгоритма SHA-256, показывающий 8 входов блоки AH, этапы обработки и новые блоки. Диаграмма , созданная kockmeyer, CC BY-SA 3.0 .
Синие прямоугольники смешивают значения нелинейным образом, что затруднительно для криптографического анализа. Поскольку алгоритм использует несколько различных функций, обнаружить атаку сложнее. (Если бы вы могли придумать математический ярлык для генерации успешных хэшей, вы могли бы взять на себя майнинг биткойнов.)
Блок большинства млн лет назад смотрит на биты A, B и C. Для каждой позиции, если большинство биты равны 0, он выводит 0.В противном случае он выводит 1. То есть для каждой позиции в A, B и C посмотрите на количество 1 бит. Если это ноль или единица, выведите 0. Если два или три, выведите 1.
Поле Σ0 вращает биты A для формирования трех повернутых версий, а затем суммирует их по модулю 2. Другими словами, если количество 1 бит нечетное, сумма равна 1; в противном случае — 0. Три значения в сумме — это A, повернутый вправо на 2 бита, 13 бит и 22 бита.
Поле выбора канала Ch выбирает выходные биты на основе значения входа E.Если бит E равен 1, выходной бит является соответствующим битом F. Если бит E равен 0, выходной бит является соответствующим битом G. Таким образом, биты F и G перемешиваются вместе на основе на значении E.
Следующий блок Σ1 вращает и суммирует биты E, аналогично Σ0 , за исключением того, что сдвиги составляют 6, 11 и 25 бит.
Красные поля выполняют 32-битное сложение, генерируя новые значения для A и E. Вход W t основан на входных данных, слегка обработанных.(Здесь входной блок попадает в алгоритм. ) Вход K t является константой, определяемой для каждого цикла. [2]
Как видно из диаграммы выше, только A и E изменяются за один цикл. Другие значения проходят без изменений: старое значение A становится новым значением B, старое значение B становится новым значением C и так далее. Хотя каждый раунд SHA-256 не сильно меняет данные, после 64 раундов входные данные будут полностью зашифрованы. [3]
Майнинг вручную
На видео ниже показано, как шаги хеширования SHA-256, описанные выше, могут быть выполнены карандашом и бумагой. Я выполняю первый раунд хеширования, чтобы добыть блок. На прохождение этого раунда у меня ушло 16 минут 45 секунд.
Чтобы объяснить, что написано на бумаге: я записал каждый блок от A до H в шестнадцатеричном формате в отдельной строке и поместил двоичное значение ниже. Операция maj отображается под C, а сдвиги и Σ0 появляются над строкой A.Аналогично, операция выбора , отображается под G, а сдвиги и Σ1, над E. В правом нижнем углу несколько членов складываются вместе, что соответствует первым трем красным полям суммы. В правом верхнем углу эта сумма используется для создания нового значения A, а в правом середине эта сумма используется для создания нового значения E. Все эти шаги соответствуют диаграмме и обсуждению выше.
Я также вручную выполнил еще один раунд хеширования, последний раунд для завершения хеширования блока Биткойн.На изображении ниже результат хеширования выделен желтым цветом. Нули в этом хэше показывают, что это успешный хеш. Обратите внимание, что нули находятся в конце хеша. Причина в том, что Биткойн неудобно переворачивает все байты, сгенерированные SHA-256. [4]
Последний раунд SHA-256 карандашом и бумагой, показывающий успешно добытый блок биткойнов.
Что это означает для оборудования для майнинга
Каждый шаг SHA-256 очень легко реализовать в цифровой логике — простые логические операции и 32-битное сложение. (Если вы изучали электронику, вы, вероятно, уже можете визуализировать схемы.) По этой причине пользовательские микросхемы ASIC могут очень эффективно реализовывать алгоритм SHA-256 на аппаратном уровне, размещая сотни циклов на кристалле параллельно. На изображении ниже показан чип для майнинга, который работает со скоростью 2–3 миллиарда хэшей в секунду; У Zeptobars есть больше фотографий.
Кремниевый кристалл внутри микросхемы Bitfury ASIC. Этот чип добывает биткойн со скоростью 2-3 гига в секунду. Изображение из Zeptobars .( CC BY 3.0 )
Напротив, Litecoin, Dogecoin и аналогичные альткойны используют алгоритм хеширования scrypt, который намеренно разработан таким образом, чтобы его было сложно реализовать на оборудовании. Он сохраняет в памяти 1024 различных хеш-значения, а затем объединяет их непредсказуемым образом для получения окончательного результата. В результате для scrypt требуется гораздо больше схем и памяти, чем для хэшей SHA-256. Вы можете увидеть влияние, посмотрев на оборудование для майнинга, которое в тысячи раз медленнее для scrypt (Litecoin и т. Д.), Чем для SHA-256 (Bitcoin).
Заключение
Алгоритм SHA-256 на удивление прост, его достаточно легко сделать вручную. (Алгоритм эллиптической кривой для подписания биткойн-транзакций был бы очень болезненным для выполнения вручную, поскольку в нем много умножений 32-байтовых целых чисел.) Выполнение одного раунда SHA-256 вручную заняло у меня 16 минут 45 секунд. При такой скорости хеширование полного блока биткойнов (128 раундов) [3] займет 1,49 дня, при скорости хеширования 0,67 хешей в день (хотя я, вероятно, стал бы быстрее с практикой).Для сравнения: текущее оборудование для майнинга биткойнов выполняет несколько терахешей в секунду, что примерно в квинтиллион раз быстрее, чем мое ручное хеширование. Излишне говорить, что ручная добыча биткойнов нецелесообразна. [5]
Читатель Reddit спросил о моем потреблении энергии. Физических нагрузок не так много, поэтому, если предположить, что скорость метаболизма в состоянии покоя составляет 1500 ккал / день, ручное хеширование дает почти 10 мегаджоулей / хэш. Типичное энергопотребление оборудования для майнинга составляет 1000 мегахешей на джоуль.16 или 10 квадриллионов. Следующий вопрос — стоимость энергии. Дешевый источник энергии — пончики по цене 0,23 доллара за 200 ккал. Электроэнергия здесь составляет 0,15 доллара за киловатт-час, что в 6,7 раза дешевле, чем я ожидал. Таким образом, моя стоимость энергии на хэш примерно в 67 квадриллионов раз больше, чем у оборудования для майнинга. Понятно, что я не собираюсь заработать состояние на ручной добыче полезных ископаемых, и я даже не включил стоимость всей бумаги и карандашей, которые мне понадобятся.
Сноски
[1] Значение имеет не совсем количество нулей в начале хэша.Чтобы быть точным, хеш должен быть меньше определенного значения, которое зависит от текущего уровня сложности биткойнов .
[2] Интересен источник констант, используемых в SHA-256. АНБ разработало алгоритм SHA-256 и выбрало значения для этих констант, так откуда же вы знаете, что они не выбрали специальные значения, которые позволяют им нарушить хэш? Чтобы избежать подозрений, начальные значения хеш-функции берутся из квадратных корней первых 8 простых чисел, а значения K t берутся из кубических корней первых 64 простых чисел.Поскольку эти константы взяты из простой формулы, вы можете быть уверены, что АНБ не сделало ничего сомнительного (по крайней мере, с константами).
[3] К сожалению, хеш SHA-256 работает с блоком из 512 бит, но заголовок блока Биткойн превышает 512 бит. Таким образом, второй набор из 64 хэш-раундов SHA-256 требуется во второй половине блока Биткойн. Затем Биткойн использует double-SHA-256 и , поэтому второе применение SHA-256 (64 раунда) выполняется для результата. В сумме хеширование произвольного блока биткойнов занимает 192 раунда. Однако есть ярлык. Майнинг включает в себя хеширование одного и того же блока снова и снова, просто изменяя nonce , который появляется во второй половине блока. Таким образом, майнинг может повторно использовать результат хеширования первых 512 бит, а для хеширования блока биткойнов обычно требуется всего 128 раундов.
[4] Очевидно, мне не просто невероятно повезло с успешным хешированием. Я начал процесс хеширования с блока, который уже был успешно добыт.В частности, я использовал тот, который был показан ранее в этой статье,
[5] Другая проблема с ручным майнингом заключается в том, что новые блоки добываются примерно каждые 10 минут, поэтому, даже если мне удастся добыть блок, он будет полностью устаревшим. (осиротел) к тому времени, когда я закончил.
Это сообщение впервые появилось в блоге Кена Ширрифа и публикуется здесь с разрешения.
Кен Ширрифф — инженер-программист, который в свободное время ведет блог о зарядных устройствах, старых интегральных схемах и биткойнах.
Как на самом деле работает майнинг биткойнов
by Subhan Nadeem
Поскольку Биткойн приближается к массовому внедрению и признанию, его фундаментальная модель безопасности, характеризуемая как майнинг, становится все более и более пристальным вниманием и изучается каждый день.
Люди все больше обеспокоены и интересуются воздействием добычи биткойнов на окружающую среду, безопасностью и степенью децентрализации базовой модели и даже потенциальным влиянием прорыва в области квантовых вычислений на будущее биткойна и других криптовалют.
Часто доказательство работы описывается как «криптографическая головоломка», но что это за головоломка на самом деле?
Чтобы по-настоящему понять эти вопросы (и любые возможные ответы), вам необходимо иметь фундаментальное представление о самом майнинге биткойнов и его эволюции.
В этой статье будут рассмотрены все технические компоненты и движущиеся части доказательства выполнения работы, а также то, как они легко синхронизируются друг с другом, чтобы Биткойн стал децентрализованной платформой, которой он является сегодня.
Почему майнинг работает: одностороннее криптографическое хеширование
Блокчейн Биткойн часто описывается как криптографически безопасная и, следовательно, неизменяемая база данных. Базовая технология, обеспечивающая неизменность и безопасность, — это криптографическое хеширование .
Криптографическая хеш-функция — это математическая функция, которая, проще говоря, принимает любой ввод и отображает его в строку фиксированного размера.
Однако есть четыре особых свойства этих функций, которые делают их бесценными для сети Биткойн.Это:
- Детерминированный — для любого входа в криптографическую хеш-функцию результат всегда будет одинаковым.
- Fast — Вычисление выходных данных хеш-функции для любого ввода является относительно быстрым процессом (не требует тяжелых вычислений)
- Unique — Каждый ввод в функцию должен приводить к полностью случайному и уникальному вывод (другими словами, никакие два ввода не приводят к одному и тому же выводу)
- Необратимый — Исходный ввод не может быть получен при выводе хэш-функции
Эти правила обеспечивают основу, которая позволяет майнингу биткойнов обезопасить сеть.
В частности, создатель протокола Биткойн, Сатоши Накомото, решил использовать хеш-функцию SHA-256 в качестве основы для добычи биткойнов. Это особая криптографическая хеш-функция, которая, как было математически доказано, обладает вышеуказанными свойствами. Он всегда выводит 256-битное число (самая базовая единица вычисления), которое обычно представлено в шестнадцатеричной системе счисления с 64 символами для удобства чтения человеком.
Выходные данные функции SHA-256 обычно называют хеш-кодом входных данных.
Ввод хеш-функции приводит к полностью уникальному выходу.Вот пример ввода и вывода функции SHA-256 (вы можете попробовать это сами здесь):
Ввод в SHA-256:
<Биткойн-транзакция>
Вывод в SHA-256:
77077b1f4c3ad44c83dc0bdb8d937e9b71c0ef07a35c2664bb7da85be738eacf
Интересно, что в большинстве мест, где хеширование используется в протоколе Биткойн, используется двойное хеширование . Это означает, что выходные данные исходной функции SHA-256 затем помещаются обратно в функцию SHA-256 для получения другого выхода.Вот как выглядит этот процесс:
Вход в SHA-256 (первый раунд):
<Биткойн-транзакция>
Результат (первый раунд):
77077b1f4c3ad44c83dc0bdb8d937e9b71c0ef07a35c2664bb7da85be738eacf
Вход в SHA-256 (второй раунд):
77077b1f4c3ad44c83dc0bdb8d937e9b71c0ef07a35c2664bb7da85be738eacf
Результат (второй раунд и окончательный результат):
3c6c55b0e4b607b672b50f04e028a6951aed6dc97b91e103fb0f348c3f1dfa00
Двойное хеширование используется для защиты от атак по случаю дня рождения. Атака по случаю дня рождения — это сценарий, в котором злоумышленник может создать тот же хэш, что и другой ввод, используя совершенно другой ввод (так называемая коллизия ).Это нарушает третье свойство уникальности . Без него два совершенно разных блока биткойнов могут быть представлены одним и тем же хешем, что позволяет злоумышленникам потенциально переключать блоки.
С функцией SHA-256 вероятность этой атаки бесконечно мала. Если бы это было невозможно, SHA-256 считался бы неработающим.
Однако в прошлом другие хеш-функции «ломались». Чтобы предотвратить это в будущем с SHA-256 (и фактически нарушить модель безопасности Биткойна), лучше всего хэшировать .Это вдвое снижает вероятность возникновения конфликта, делая протокол намного более безопасным.
На очень высоком уровне майнинг биткойнов — это система, в которой все транзакции биткойнов отправляются майнерам биткойнов. Майнеры выбирают транзакции на один мегабайт, объединяют их в качестве входных данных в функцию SHA-256 и пытаются найти конкретный выход, который принимает сеть. Первый майнер, который найдет этот результат и опубликует блок в сети, получает вознаграждение в виде комиссии за транзакцию и создания нового биткойна.
Давайте сделаем еще один шаг и погрузимся в саму цепочку биткойнов, чтобы увидеть, что именно делают майнеры для обеспечения безопасности сети.
Майнинг биткойнов: техническое введение
Майнинг был представлен как решение проблемы двойных расходов. Если у меня есть 1 биткойн, и я отправляю его Бобу, а затем пытаюсь отправить тот же биткойн Алисе, сеть гарантирует, что будет принята только одна транзакция. Это делается с помощью хорошо известного процесса, называемого майнингом.
Прежде чем углубляться в технические детали, важно понять, почему майнинг необходим для защиты сети. Поскольку фиатная валюта существует сейчас, валюта, которую мы храним, создается и проверяется федеральным резервом. Поскольку Биткойн работает в строгом предположении о децентрализации и консенсусе, не может существовать никакого центрального органа, который проверяет и фиксирует время выпуска этой валюты и проверки любых транзакций, которые происходят с этой валютой.
Сатоши Накамото предложил единственное известное в то время решение этой проблемы валидации в системе, ориентированной на консенсус.Эта схема, названная в официальном документе Биткойна как Proof-of-Work , элегантно оправдывает, что транзакции подтверждаются теми, кто готов потратить на это достаточно физической вычислительной энергии и времени, одновременно создавая стимул для стимулирования рыночной конкуренции. Эта конкуренция позволяет децентрализации проявиться и органически развиваться в экосистеме.
Взгляд изнутри блока
Биткойн-блок состоит в основном из двух компонентов:
1.Транзакции в форме дерева Меркла
Компьютеры для майнинга собирают достаточно транзакций, чтобы заполнить блок и объединить их в дерево Меркла.
Дерево Меркла — это относительно простая концепция: транзакции лежат в нижней части дерева в виде листьев и хэшируются с использованием функции SHA-256. Комбинация двух листовых транзакций снова хешируется с использованием функции SHA-256, чтобы сформировать родительский элемент для листьев. Этот родительский элемент постоянно хешируется вверх вместе с другими родительскими элементами хешированных транзакций, пока не будет создан единственный корень .Хэш этого корня фактически является уникальным представлением транзакций, которые находятся под ним.
Визуализация того, как строится дерево Меркла — листья в самом низу дерева являются транзакциями.Корень дерева Меркла представляет собой комбинацию хэшей каждой транзакции в дереве.
Напомним, что для любого входа хеш-функции результат полностью уникален. Следовательно, как только большинство узлов в сети получают добытый блок, корень хэша дерева Меркла действует как неизменяемая сводка всех транзакций в этом блоке.
Если злоумышленник попытается изменить содержимое транзакции в блоке, его хэш будет изменен. Это изменение хеша будет распространяться вверх по дереву Меркла транзакции до тех пор, пока не будет изменен хеш корня. Затем любой узел может быстро поймать этот злонамеренный акт, сравнив корень дерева Меркла измененного блока с корнем дерева Меркла действительного блока.
Заголовок блока — это сводка содержимого самого блока. Он содержит следующие шесть компонентов :
- Версия программного обеспечения, на котором запущен клиент Биткойн
- Временная метка блока
- Корень дерева Меркла, содержащего транзакции
- Хэш блока перед ним
- Одноразовый номер
- Целевой объект
Помните, что корень дерева Меркла транзакции действует как эффективная сводка каждой транзакции в блоке без необходимости просматривать каждую транзакцию.
Хэш предыдущего блока до того, как он позволяет сети правильно разместить блок в хронологическом порядке. Отсюда и происходит термин блокчейн — каждый блок связан с предыдущим блоком.
nonce и target — вот что делает майнинг активным. Они являются основой для решения головоломки SHA-256, которую нужно решить майнерам.
Обратите внимание, что все эти данные в заголовке блока сжимаются до 80 байтов с использованием нотации, называемой little-endian, что делает передачу заголовков блоков между узлами тривиально эффективным процессом.В целях этого объяснения мы проигнорируем это сжатие и предположим, что данные находятся в исходной форме.
Объяснение проблемы майнинга
Цель , хранящаяся в заголовке блока, представляет собой просто числовое значение, хранимое в битах. В традиционной системе обозначений с основанием 10 эта цель находится в диапазоне от 0 до 2²²⁴ ( 67+ цифр число), в зависимости от того, сколько майнеров соревнуются за решение этой проблемы одновременно.
Напомним, что вывод SHA-256 — это просто число.Цель майнера — взять заголовок текущего блока, добавить к нему случайное число, называемое одноразовым номером , и вычислить его хэш. Это числовое значение хеша должно быть меньше целевого значения.
Вот и все. Но легче сказать, чем сделать.
Вспомните первое свойство SHA-256: ввод в хэш-функцию всегда будет приводить к одному и тому же результату. Следовательно, если майнер взял заголовок блока, хешировал его и понял, что значение хеш-функции не меньше целевого, им пришлось бы каким-то образом изменить ввод, чтобы попытаться найти хеш ниже целевого значения.
Здесь появляется одноразовый номер .
Майнер добавляет номер (начиная с 0), называемый одноразовым номером , в заголовок блока и хеширует это значение. Если хеш-значение не меньше целевого, майнер увеличит одноразовый номер на 1, снова добавит его в заголовок блока и хеширует это измененное значение. Этот процесс повторяется непрерывно, пока не будет найден хэш меньше целевого значения.
Пример майнинга
Вот грубое приближение того, что составляло заголовок первого блока:
- Корень Меркла транзакции в блоке Genesis:
Корень Меркла:
4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b
- Первая известная версия Биткойна:
0.1.0
- Временная метка блока:
2009–01–03 18:15:05
- Цель (это также самая высокая цель за всю историю):
Цель:
0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
- Нет хэша предыдущего блока — это был первый блок, поэтому это уникальный случай это не так), источник: bitcointalk
Давайте возьмем этот большой заголовок и вычислим двойной хэш:
SHA-256 заголовка: 7d80bd12dfdccbdde2c41c9f406edfc05afb3320f5affc4f510b05a3394e1c91 SHA-256 предыдущего результата (окончательный результат): c5aa3150f61b752c8fb39525f911981e2f9982c8b9bc907c73914585ad2ef12b
И целевой, и выходной хеш — невероятно большие числа при преобразовании в основание 10 (помните, что длина более 67 цифр). Вместо того, чтобы пытаться продемонстрировать сравнение двух здесь, следующая функция Python обрабатывает сравнение:
def isBlockHashLessThanTarget (blockHash, target): return int (blockHash, 16)
Истина возвращается, если хэш меньше целевого значения, в противном случае - false.
Вот результат с нашей целью и хешем блока:
Теперь мы берем шестнадцатеричное значение исходного блока и добавляем к нему 1. Вот следующий результат:
Обратите внимание, что самая последняя цифра теперь равна 1 из-за добавления одноразового номераЗатем мы запускаем тот же алгоритм хеширования и сравниваем эти измененные данные.Если он не ниже цели, продолжайте повторять.
После нахождения успешного хэша последний одноразовый номер, использованный для поиска этого решения, сохраняется в блоке.
Одноразовый номер, указанный в блоке Genesis, равен 2 083 236 893.
Это означает, что Сатоши Накомото повторил этот процесс более 2 миллиардов раз, прежде чем нашел приемлемый хэш.
Я написал небольшую Python-реализацию этого процесса майнинга блоков Genesis, которую можно найти на моем GitHub.
subhan-nadeem / bitcoin-mining-python
bitcoin-mining-python - реализация на Python алгоритма майнинга биткойнов
github.comПосмотрите, сколько времени вам понадобится, чтобы успешно добыть блок Genesis!
Одноразовое значение в заголовке блока сохраняется как 32-битное число. Это означает, что максимальное значение nonce, которое может достичь кто-либо, составляет 2³² (приблизительно 4 миллиарда). После 4 миллиардов итераций nonce исчерпывается, и если решение не найдено, майнеры снова застревают.
Решением этой проблемы является добавление поля в базу монет (содержимое транзакции блока, хранящееся как дерево Меркла), называемое extraNonce. Размер этого extraNonce ограничен только размером самого блока, и поэтому он может быть сколь угодно большим, если размер блока находится в пределах протокола.
Если все 4 миллиарда возможных значений одноразового номера исчерпаны, добавляется extraNonce и увеличивается на единицу к базе монет . Вычисляется новый корень Меркла и впоследствии новый заголовок блока, и одноразовый номер повторяется еще раз. Этот процесс повторяется до тех пор, пока не будет найден достаточный хэш.
Лучше избегать добавления extraNonce до тех пор, пока не будет исчерпан одноразовый номер , потому что любое изменение extraNonce изменяет дерево Меркла. Это требует дополнительных вычислений, чтобы распространить изменение вверх, пока не будет вычислен новый корень дерева Меркла.
The Miner Reward
Майнер, который быстрее всех успешно публикует блок, награждается новым биткойном, созданным из воздуха. В настоящее время эта награда составляет 12,5 BTC. Как же появились эти биткойны?
Каждый майнер просто добавляет новую выходную транзакцию в свой блок с атрибутами 12.5 биткойнов себе перед началом майнинга блока. Сетевой протокол примет эту специальную транзакцию как действительную после получения нового подтвержденного блока. Эта специальная транзакция называется транзакцией поколения .
Майнер несет ответственность за добавление этой транзакции в блок перед его майнингом. Был как минимум один случай, когда майнеры забыли добавить вознаграждение к транзакции перед майнингом блока, что фактически уничтожило 12,5 BTC!
Проверка Proof-of-Work
Допустим, наш майнер нашел хэш, который меньше целевого.Все, что нужно сделать этому майнеру, - это опубликовать добытый блок с исходными шестью компонентами на любых подключенных узлах.
Этот узел, получающий блок, сначала проверит набор транзакций, чтобы убедиться, что все транзакции действительны (например, все транзакции правильно подписаны, и монеты не тратятся дважды и / или не создаются из воздуха).
Затем он просто дважды хеширует заголовок блока и гарантирует, что значение меньше целевого значения, включенного в блок.Как только блок будет признан действительным, новый узел будет продолжать распространять этот блок по сети до тех пор, пока каждый узел не будет иметь актуальную бухгалтерскую книгу.
Как видите, недавно опубликованные блоки могут быть легко проверены любым заданным узлом. Однако публикация действительного блока в сети требует невероятно большого количества вычислительной мощности (а значит, электричества и времени). Эта асимметрия - это то, что позволяет обеспечить безопасность сети, одновременно позволяя отдельным лицам, желающим вести экономическую деятельность в сети, делать это относительно беспрепятственно.
Время блока и корректировка цели
Когда первые майнеры начали майнинг, каждый из них контролировал время блока . Каждый биткойн-блок имеет установленное время блока в 10 минут. Это означает, что при текущем уровне вычислительной мощности (сеть , , хешрейт , ) узлы всегда будут ожидать, что новые проверенные блоки будут создаваться в среднем каждые 10 минут.
Мы можем разумно ожидать, что блоки будут созданы в течение 10 минут, потому что вероятность нахождения блока, учитывая хешрейт сети, известна.
Например, возьмем самую простую цель, которая когда-либо существовала в Биткойне: генезис-блок. Вероятность того, что любой единичный хэш будет меньше простейшего целевого значения, составляет 1 к 2 ². Это один из более чем четырех миллиардов. Следовательно, мы можем разумно ожидать, что кто-то выполнит 2 ² итерации задачи майнинга, чтобы найти правильный хеш. Узлы в сети ожидали, что четыре миллиарда этих итераций будут выполняться через всех майнеров в сети каждые 10 минут.
Если при большом размере выборки блоков блоки начинают появляться быстрее, чем 10 минут, это довольно явный признак того, что узлы в сети проходят итерацию через четыре миллиарда хэшей намного быстрее, чем 10 минут.Эта ситуация побуждает каждый узел пропорционально отрегулировать целевое значение на основе увеличения (или уменьшения) мощности сети, чтобы гарантировать, что блоки будут производиться каждые 10 минут.
На самом деле узлы в сети отслеживают время блока по 2016 блокам, что составляет ровно две недели. Каждые две недели общее время блока сравнивается с ожидаемым временем блока (которое составляет 20160 минут).
Чтобы получить новую цель, просто умножьте существующую цель на отношение общего фактического времени блока за последние две недели, чтобы получить ожидаемое время блока.Это приведет к корректировке цели пропорционально количеству входящих или исходящих вычислительных мощностей в сети.
Формула для расчета новой цели, запускаемая каждые 20160 минут (две недели) каждым узлом БиткойнВремя блока и возможность легко вычислить вероятность нахождения действительного блока позволяет узлам легко отслеживать и определять общую хэш-мощность в сети и настроить сеть. Независимо от того, сколько вычислительной мощности добавляется к сети или как быстро она добавляется, в среднем время блока всегда будет составлять 10 минут.
Текущая общая скорость хеширования в сети составляет 28,27 экзахеша в секунду. Это 28,27 x 10¹⁸ хеш-код выполняется каждую секунду на всех компьютерах в сети.
В итоге
Теперь мы всесторонне рассмотрели следующее:
- Почему криптографическое одностороннее хеширование жизненно важно для доказательства работы
- Разбивка конструкции блока биткойнов
- Фактический процесс майнинга и сама итерация
- Как узлы могут легко проверять другие блоки
- Как сети удается поддерживать алгоритм и конкурентоспособность, отслеживая время блока и регулируя целевое значение
Теперь вы должны быть в состоянии понять и объяснить, как фактически работает доказательство работы и почему он считается полностью безопасным алгоритмом, обеспечивающим децентрализацию и консенсус!
Подпишитесь на меня в Twitter и на Medium, если вы заинтересованы в более подробных и информативных статьях, подобных этой, в будущем!
Блок- Алгоритм добычи биткойнов с точки зрения программиста
Алгоритм майнинга следующий:
Шаг 0 - Получить хэш предыдущего блока из сети.
Шаг 1. Соберите список потенциальных транзакций, известный как «блок». Этот список транзакций поступает из одноранговой сети биткойнов.
- Шаг 2 - Вычислите хэш для блока потенциальных транзакций вместе со случайным числом.
- Шаг 3 - Если хэш больше, чем текущий установленный уровень сложности, значит, вы добыли этот блок. Если нет, начните заново с шага 1. Любые добавления к списку транзакций с шага 1 наряду с изменением случайного числа с шага 2 означают, что есть шанс, что критерий будет соблюден при следующем обходе.
С точки зрения программиста, псевдокод может выглядеть примерно так:
P: = хэш ранее добытого блока B: = блок транзакций H: = хэш-функция D: = Уровень сложности 0 Получить P 1 Построить / Изменить B 2 ЕСЛИ H (P, B, некоторое случайное число)> D END 3 НАЙТИ 1
Я должен предупредить вас, что в этом описании есть несколько неточностей, но по большей части этого должно быть достаточно. И еще несколько полезных уточнений:
Что такое хеш?
Хеш - это функция, преобразующая данные в число в определенном диапазоне.Хэш обладает тем свойством, что знание его вывода по существу непредсказуемо (в заданном диапазоне). Специальная хеш-функция, используемая для майнинга биткойнов, - это SHA256, применяемый дважды.
Как работает уровень сложности?
Этот непредсказуемый характер хэш-функции означает, что ввод случайных данных (транзакция + случайное число) по существу дает случайное число в определенном диапазоне. Дальнейшее ограничение диапазона желаемого результата влияет на то, насколько вероятно его найти за один раунд.Это создает способ вероятностного определения того, как часто будет найдено решение, на основе того, сколько раз алгоритм может быть запущен в сети. В частности, когда вы слышите термин «гигахеши» или «терахеши», это относится к тому, сколько раз может быть выполнен шаг 3. По мере того, как количество хэшей в секунду во всей сети растет, сеть автоматически увеличивает сложность, так что решение будет найдено в течение примерно 10 минут.
Что происходит при добыче блока?
Когда блок добывается, майнер отправляет блок всем другим майнерам в сети в качестве доказательства того, что он его нашел.Этот блок содержит список транзакций, найденный хеш, конкретное случайное число и ссылку на предыдущий хеш. Когда каждый майнер получает недавно добытый блок, он удаляет все транзакции, которые он в настоящее время добывает и которые существуют в блоке (потому что они уже были подтверждены в цепочке блоков), и транслирует блок другим майнерам, которые делают то же самое. Распространение происходит довольно быстро.
Примечание: первоначальный майнер блока получает «комиссию майнеров», которая представляет собой вознаграждение, состоящее из любых неизрасходованных монет от транзакций в дополнение к вознаграждению «монетоприемником».Вознаграждение за монетную базу начинается с 50 биткойнов и уменьшается вдвое после каждых 210 000 блоков (примерно раз в 4 года). Вознаграждение за монетную базу в конечном итоге станет настолько маленьким, что будет мизерным по сравнению с гонорарами майнеров.
Разъяснение по майнингубиткойнов - издание 2021 года
С момента своего появления в 2009 году Сатоши Накамото биткойн взволновал инвесторов, технических специалистов и обычных людей. Вмешались даже такие знаменитости, как Майк Тайсон; бывший профессиональный боксер запустил как биткойн-банкомат, так и приложение для биткойн-кошелька.Но не нужно быть профессионалом, чтобы понять, как работает биткойн.
Simplilearn объясняет процесс добычи биткойнов и преимущества биткойнов по сравнению с традиционными фиатными валютами. Сначала мы рассмотрим некоторые основы биткойна, а затем обсудим, как работает майнинг биткойнов.
Что такое биткойн?Биткойн - это первая децентрализованная цифровая валюта, которая позволяет осуществлять одноранговые переводы без каких-либо посредников, таких как банки, правительства, агенты или брокеры, с использованием базовой технологии блокчейна.Любой человек в сети может передавать биткойны кому-либо еще в сети, независимо от географического положения; вам просто нужно просто открыть учетную запись в сети Биткойн и иметь в ней несколько биткойнов, а затем вы можете перевести эти биткойны. Как вы получаете биткойны на свой счет? Вы можете купить их в Интернете или добыть их.
Биткойн можно использовать для покупок в Интернете и в качестве инвестиционного инструмента. В первую очередь он используется для покупки товаров и услуг.
Преимущества биткойновПо сравнению с традиционными фиатными валютами, активы могут быть перемещены в сети биткойнов быстрее.Система также имеет более низкую комиссию за транзакции, поскольку она децентрализована, в ней нет посредников, и она криптографически безопасна - личности отправителя и получателя скрыты, и невозможно подделать или взломать транзакции. Кроме того, вся информация доступна в публичной книге, поэтому любой может просматривать транзакции.
Что такое блокчейн?Как уже упоминалось, блокчейн является базовой технологией биткойна.Блокчейн - это общедоступный распределенный реестр, в котором транзакции записываются в хронологическом порядке. Любая запись или транзакция, добавленные в цепочку блоков, не могут быть изменены или изменены, что означает, что транзакции защищены от взлома. Блок - это самая маленькая единица цепочки блоков, и это контейнер, в котором хранятся все детали транзакции. Блок имеет четыре поля или первичных атрибута:
- Предыдущий хэш: В этом атрибуте хранится значение хеш-функции предыдущего блока и то, как блоки связаны друг с другом.
- Данные: Это агрегированный набор транзакций, включенных в этот блок - набор транзакций, которые были добыты, проверены и включены в блок.
- Nonce: В алгоритме консенсуса «доказательство работы», который использует биткойн, nonce - это случайное значение, используемое для изменения вывода хеш-значения. Каждый блок должен генерировать хеш-значение, а nonce - это параметр, который используется для генерации этого хеш-значения. Доказательство работы - это процесс проверки транзакции в блокчейне.
- Хэш: Это значение, полученное путем передачи предыдущего значения хеш-функции, данных и одноразового номера через алгоритм SHA-256; это цифровая подпись блока.
SHA-256 - это алгоритм криптографического хеширования, который создает уникальное 256-битное буквенно-цифровое значение хеш-функции для любого заданного ввода, и это уникальная особенность этого криптографического алгоритма: какой бы ввод вы ни давали, он всегда будет производить 256-битный хэш .
Что такое биткойн-майнинг?Майнинг биткойнов - это процесс проверки транзакций биткойнов и их записи в общедоступную бухгалтерскую книгу цепочки блоков.В блокчейне транзакции проверяются пользователями биткойнов, поэтому в основном транзакции должны проверяться участниками сети. Тех, у кого есть необходимое оборудование и вычислительная мощность, называют майнерами.
Мы поговорим о них подробнее позже, но здесь важно понять, что нет ничего лучше централизованного органа - регулирующего органа, руководящего органа, банка - для осуществления транзакций с биткойнами. Любой пользователь с оборудованием для майнинга и доступом в Интернет может стать участником и внести свой вклад в сообщество майнеров.
Процесс решается на основе сложной математической головоломки, называемой доказательством работы. Доказательство работы необходимо для подтверждения транзакции и получения вознаграждения майнеру. Все майнеры завершают между собой майнинг определенной транзакции; майнер, который первым решит загадку, получает награду. Майнеры - это участники сети, у которых есть необходимое оборудование и вычислительные мощности для проверки транзакций.
3 концепции блокчейнаЧтобы понять майнинг биткойнов, вы должны сначала понять три основных концепции блокчейна.
- Публичный распределенный реестр: Распределенный реестр - это запись всех транзакций, поддерживаемых в сети блокчейнов по всему миру. В сети проверка транзакций выполняется пользователями биткойнов.
- SHA-256: Цепочка блоков предотвращает несанкционированный доступ с помощью хэш-функции SHA-256 для обеспечения безопасности блоков. Они имеют цифровую подпись. Их хеш-значение, однажды сгенерированное, не может быть изменено. SHA-256 принимает входную строку любого размера и возвращает фиксированный 256-битный вывод, и это односторонняя функция - вы не можете полностью вывести обратную входную строку полностью из вывода (что вы сгенерировали).
- Proof of work: При майнинге блокчейнов майнеры проверяют транзакции, решая сложную математическую задачу, называемую доказательством работы. Для этого основная цель майнера - определить значение nonce, и это значение nonce является математической головоломкой, которую майнеры должны решить, чтобы сгенерировать хэш, который меньше целевого значения, определенного сетью для конкретного блока.
В сети биткойнов, как уже упоминалось, пользователи, называемые майнерами, пытаются решить математическую задачу.Загадка решается путем изменения одноразового номера, который дает значение хеш-функции ниже заранее определенного условия, которое называется целью. Майнер проверяет транзакцию, решая головоломку и добавляя блок в блокчейн, когда он подтверждается и проверяется другими пользователями. На сегодняшний день биткойн-майнеры, решившие головоломку, получают вознаграждение в размере 12,5 биткойнов.
После того, как блок добавлен в цепочку блоков, биткойны, связанные с транзакциями, могут быть потрачены, и может быть осуществлен перевод из одной учетной записи в другую.
Для генерации хеша биткойн-майнеры используют алгоритм хеширования SHA-256 и определяют хеш-значение. Если оно меньше заданного условия (цели), загадка считается решенной. Если нет, то они продолжают изменять значение nonce и повторяют функцию хеширования SHA-256, чтобы снова сгенерировать хеш-значение, и продолжают делать этот процесс, пока не получат хеш-значение, которое меньше целевого.
Пример: перевод 10 биткойновДопустим, Бейонсе хочет поделиться 10 биткойнами с Дженнифер.Что для этого нужно сделать? Во-первых, данные транзакции передаются пользователям биткойнов из пула памяти. Транзакция находится в незаминированном пуле транзакций памяти. В пуле памяти неподтвержденные транзакции ждут, пока они не будут проверены и включены в новый блок. Биткойн-майнеры соревнуются за подтверждение транзакции с помощью доказательства работы. Майнер, который решает головоломку первым, делится результатом с другими узлами. Как только блок будет проверен, будет сгенерирован одноразовый номер, затем узлы начнут предоставлять свое одобрение.Если максимальное количество узлов дает свое одобрение, блок становится действительным и добавляется в цепочку блоков. Майнер, решивший головоломку, также получит вознаграждение в размере 12,5 биткойнов, что на сегодняшний день составляет около 98000 долларов.
10 биткойнов, для которых была инициирована транзакция, будут переведены от Бейонсе к Дженнифер.
Доказательство работы: более внимательный взглядВ доказательстве выполнения работы предварительно определенное условие (цель) корректируется для каждых 2016 блоков, что примерно каждые 14 дней.Среднее время майнинга блока составляет 10 минут, и, чтобы сохранить временные рамки для генерации блока в пределах 10 минут, цель постоянно корректируется.
Сложность головоломки меняется в зависимости от времени, необходимого для добычи блока. Вот как создается сложность блока: это хеш-цель первого блока, деленная на хеш-цель текущего блока. Эта сложность меняется после каждых 2016 блоков, поэтому в основном очень сложно создать доказательство работы, но майнерам очень легко проверить, как только кто-то решил головоломку.И как только большинство майнеров достигают консенсуса, блок проверяется и добавляется в цепочку блоков.
Поскольку сложность зависит от целевого хеш-кода, его значение продолжает меняться после каждых 2016 блоков, и со дня создания биткойна в 2009 году ему требуется больше мощности хеширования (больше вычислительной мощности) для майнинга сегодня.
Предотвращение взломаЧто, если кто-то попытается взломать данные? Блокчейн, как следует из названия, представляет собой цепочку блоков - назовем блоки A, B и C.Каждый блок решил головоломку и сгенерировал собственное хеш-значение, которое является его идентификатором. Теперь предположим, что человек пытается вмешаться в блок B и изменить данные. Данные агрегируются в блоке, поэтому, если данные блока изменяются, то значение хеш-функции, которое является цифровой подписью блока, также изменится. Следовательно, это повредит цепочку после нее - все блоки перед блоком B будут отсоединены, потому что предыдущее значение хеш-функции блока C не останется действительным.
Для того, чтобы хакер сделал всю цепочку блоков действительной для измененного блока B, он или она должны были бы изменить значение хеш-функции всех блоков перед блоком B.Это потребует огромных вычислительных мощностей и практически невозможно. С помощью этого метода блокчейн невозможно взломать и предотвратить изменение данных.
Оборудование для майнинга биткойновНа заре биткойнов майнеры для решения математических задач использовали обычные процессоры, управляя процессорами (CPU). Раньше для добычи биткойнов и других криптовалют требовалось много времени, хотя уровни сложности были проще, чем сегодня.Как упоминалось выше, уровень сложности постоянно меняется и растет, поэтому майнерам также пришлось увеличить свою вычислительную мощность.
Они обнаружили, что графические процессоры (GPU) оказались более эффективными, чем обычные процессоры, но это также имело недостаток в том, что они потребляли больше электроэнергии. Майнер должен рассчитать окупаемость инвестиций на основе оборудования, стоимости электроэнергии и других ресурсов, необходимых для майнинга.
Сегодня майнеры используют оборудование, называемое ASIC (специализированная интегральная схема), которое было специально введено для майнинга биткойнов и других криптовалют.Он потребляет меньше энергии и имеет более высокую вычислительную мощность. Майнеры получают прибыль, когда их стоимость ресурсов для добычи одного блока меньше, чем цена вознаграждения.
Итак, биткойн-майнеры используют свои ресурсы (оборудование и электричество) для проверки транзакции, и каждый раз, когда добывается блок, в сети создаются новые биткойны. Общее количество ограничено 21 миллионом биткойнов; Уже добыто от 17 до 18 миллионов биткойнов, поэтому осталось только 3-4 миллиона. На сегодняшний день награда 12.5 биткойнов выдается майнеру, который выполняет проверку транзакции, но вознаграждение за майнинг биткойнов происходит по принципу деления вдвое: оно уменьшается вдвое каждые 210000 блоков или примерно каждые четыре года, поэтому при достижении следующего порога вознаграждение в биткойнах будет до 6,25 биткойнов.
Объединение ресурсов для майнинга биткойновДавайте возьмем пример лотереи, в которой ваши шансы на выигрыш малы. Если люди покупают несколько лотерейных билетов и объединяют свои билеты вместе, это увеличивает их шансы на выигрыш.Если кто-то выигрывает в лотерее, то в зависимости от вклада вознаграждение распределяется между всеми участниками.
Пул майнинга биткойнов похож: несколько узлов разделяют свои ресурсы для майнинга блока. Когда блок решен, майнеры распределяют вознаграждение в зависимости от количества вложенной вычислительной мощности. Члены пула генерируют окончательное значение хеш-функции, после чего вознаграждение в биткойнах пропорционально распределяется между участниками в зависимости от ресурсов, которые они внесли.
Если вы посмотрите видеоурок Simplilearn по майнингу блоков, вы также сможете увидеть демонстрацию с реальным блоком сети биткойнов, с номером блока и набором транзакций, которые являются частью блока.Вы также можете увидеть пример майнинг-пула, в котором участники делятся своими майнинговыми ресурсами, и вы можете увидеть как неподтвержденное вознаграждение, за которое они добывают, так и то, что они уже заработали.
Новичок в биткойнах и блокчейне и хотите узнать больше? Запишитесь на курс Simplilearn's Blockchain Basics. Хотите получить сертификацию блокчейна для повышения резюме? Ознакомьтесь с учебным курсом по сертификации Blockchain.
лучший алгоритм биткойнов
лучший алгоритм биткойнов
лучших брокеров Bitcoin Forex; Как заработать Btcoin; Что такое Facebook Libra? Будет ли ваш токен размещен на бирже? Если мы попытаемся реализовать технологию и ее основные принципы, прикладная наука будет права говорить, что цена будет продолжать расти в ближайшие годы.Инвестиции в цифровые активы, торгуемые на бирже, функциональность алгоритмической торговли биткойнами, разница между BID, ASK, BUY и OFFER в торговле биткойнами, как торговать опционами на биткойны в Соединенных Штатах, как использовать лучшие технические индикаторы биткойна, как использовать стоп-лосс в биткойн-инвестировании. Процесс почти такой же, как при майнинге биткойнов, за исключением того, что вы используете алгоритм scrypt вместо sha256d. Эти колебания предоставляют трейдерам огромные возможности. Рыночные условия могут измениться, и алгоритм продолжит торговлю, даже если каждая сделка будет убыточной.За последнее меньшее количество жизней отношение к криптовалютам резко возросло, и больше людей, чем когда-либо, инвестировали валюты с атомным номером 49, похожие на биткойны. 5 жесткой информации Многие торговые площадки называют «биткойнами». Лучшие алгоритмы майнинга биткойнов децентрализованы. Второе преимущество - скорость алгоритмической торговли. 11 неопровержимых фактов По обкатке других систем. Стратегии возврата к среднему значению используют исторические средние значения и могут быть настроены на использование более длинного или более короткого исторического среднего в зависимости от ожиданий или потребностей трейдера.Если спрос на биткойны превышает скорость, с которой он может быть произведен, цена вырастет. Сильные успехи Биткойна не ускользнули от упоминания аналитиков, инвесторов и компаний по соседству с Уолл. Он реализован в виде цепочки блоков, каждый из которых содержит пуриновый хеш от предыдущего блока до генезисного блока безопасности. Алгоритмическая торговля биткойнами позволяет инвесторам торговать более эффективно и по лучшим ценам. Как найти лучшего биткойн-майнера. Он подходит для подающего надежды и нестабильного рынка альткойнов, рынка, который никогда не спит.Маркет-мейкер - это трейдер или фирма, которая покупает и продает активы за свой собственный счет. Лучший алгоритм Биткойн - это девственное настоящее, которое было создано В 2009 году неизвестным человеком по имени Сатоши Накамото. Хотя действительно умный человек может выполнять интеллектуальную маршрутизацию, лучше всего ее выполнять, если процесс автоматизирован. Системы следования за трендом работают при условии, что у рынков есть импульс, которым вы, как трейдер, можете воспользоваться. Лучший алгоритм биткойнов за 8 недель: они НИКОГДА не поверили бы! Важным элементом Биткойна, который облегчает его работу, является алгоритм Биткойна для майнинга доказательства работы, известный как алгоритм безопасного хеширования 256 (SHA-256).Алгоритм смотрит на такие переменные, как «размер» и «время» заказа. Первый шаг - выбрать алгоритм хеширования, поддерживаемый ASIC. Лучше всего использовать алгоритм найма биткойнов для бронирования отелей на Expedia, покупки предметов мебели на Overstock и приобретения игр Xbox. Алгоритмическая торговля - это использование компьютерного программного обеспечения для одновременного выполнения нескольких торговых приказов. Это SHA-256 для майнинга биткойнов. Он реализован в виде буквенной цепочки блоков, каждый блок содержит хэш предыдущего блока до препятствия генезиса цепочки.возможно, вы слышали об этом сумасшедшем алгоритме криптовалюты Best Bitcoin. Существуют различные типы алгоритмов торговли, три из которых мы упомянем здесь. Крест под более медленной скользящей средней - медвежий. Во-первых, торговые боты продолжают работать до остановки. Лучший алгоритм биткойнов за 8 недель: они НИКОГДА не поверили бы! Эффекты лучшего алгоритма Биткойн. Арбитраж - одна из самых популярных и успешных возможностей для алгоритмической торговли. Другими словами, если вы видите, что цена сделала чрезвычайно большое движение вверх или вниз, есть большая вероятность, что вскоре за этим последует возвращение к нормальным уровням.Торговые боты могут открывать и закрывать сделки быстрее, чем в мгновение ока. buy, наш лучший биткойн - это 6 лучших алгоритмов, которые разработаны для решения проблем. Окончательное руководство по ключевой характеристике Namecoin, узнать о биткойн-кошельках поможет Blockonomi. В арбитражной торговле вы используете неправильное ценообразование на разных биржах для получения безрисковой прибыли. Похоже, кто-то Сообщает, может неизбежно признать, что очень пышный процент действительно довольных.Подпишитесь на нашу рассылку и будьте честны. Чтобы узнать больше о том, как торговать цифровыми активами и инвестировать в них, подпишитесь на Bitcoin Market Journal сегодня! Нам доверяют более 100000 инвесторов в блокчейн. В-третьих, и это, пожалуй, самое главное, алгоритмы торгуют без эмоций. Блокчейн с лучшими алгоритмами майнинга биткойнов - это публичная книга, в которой записываются биткойн-транзакции. Как только вы узнаете, как работают лучшие алгоритмы майнинга биткойнов, технологиям не составит труда увидеть, что биткойн никуда не денется. Cudo Miner обеспечивает майнинг ASIC, который традиционно является мульти-алгоритмом, чтобы сохранить в нем первую информацию о каждом алгоритме.Алгоритмы майнинга криптовалюты Лучшая работа по майнингу биткойнов? Как показано на диаграмме ниже, лучшие алгоритмы майнинга биткойнов уходят в погоню, чтобы не иметь себе равных среди самых эффективных активов 2020 года. Таким образом, алгоритмы являются незаменимым инструментом для внутридневных трейдеров, которые хотят получить преимущество на рынке цифровых активов. Подпишитесь на нашу рассылку новостей ниже и будьте честны. Индустрия альткойнов моложе и, следовательно, менее насыщена алгоритмической торговой деятельностью по сравнению с традиционными рынками. На самом базовом уровне алгоритмические торговые стратегии используют компьютерный код для автоматической торговли активами.Любые системы отслеживания тренда, используемые для акций, товаров или форекс, также могут использоваться для цифровых валют. Наблюдение за ростом или падением альткойнов на 20–30 процентов за день - нет ничего необычного для рынка. Алгоритм смотрит на такие переменные, как «размер» и «время» заказа. делопроизводство единицы площади сделано без посредников - думали, без банков! Торговля автоматизирована, а инструкции программируются на основе таких переменных, как время, цена и объем. Поговорим подробнее о Bitconnect Hoosier State Немного.Если вы только начинаете программировать бота для алгоритмической торговли, вы должны знать, что существует довольно много торговых ботов с открытым исходным кодом, которые уже доступны для использования в качестве базы кода. Нам доверяют более 100000 инвесторов в блокчейн. В Восточном Самоа реализована цепочка блоков, от каждого блока, содержащего хэш группы A предыдущего блока, до начального блока цепочки. Best Bitcoin Mining a Best # заменен на Lyra2z - Список крипто-майнинга в этих подгруппах. Интеллектуальная маршрутизация - это автоматизированный процесс обработки заказов с целью использования наилучших доступных возможностей на различных биржах.хэширование алгоритмов майнинга криптовалюты математическим путем с использованием сложного конкретного алгоритма и является преимуществом в 8 из лучших монет, которые они хотят использовать алгоритм SHA-256, чтобы добывать и работать лучше всего. Это требует одновременного выполнения нескольких заказов, что лучше подходит для алгоритм, чем человек. Алгоритмическая торговля имеет несколько преимуществ по сравнению с «человеческой торговлей». Лучшие бесплатные боты для криптовалюты с открытым исходным кодом, оцененные и проверенные. Ripple и XRP: полное руководство; Торговля Компания eToro, в которой насчитывается более восьми миллионов человек, является одной из ведущих мировых торговых и инвестиционных платформ, специализирующихся на криптовалютах.Как показано на диаграмме ниже, лучшие алгоритмы майнинга биткойнов находятся на пути к тому, чтобы стать одним из самых эффективных активов 2020 года. Умная маршрутизация. Доказательство работы - важный компонент системы Биткойн, позволяющий… Лучший биткойн-алгоритм может стать жертвой анонимной покупки товаров. Одним из таких роботов является популярный робот Bitcoin Revolution, который может похвастаться невероятным винрейтом в 99,4%! Алгоритмические торговые стратегии часто называют автоматическими торговыми стратегиями, а на розничных рынках их обычно называют торговыми ботами.Сделки совершаются без посредников - то есть без банков! Полосы Боллинджера - это две линии, охватывающие ценовое действие, одна вверху и одна внизу, причем каждая линия представляет собой два стандартных отклонения от среднего. Инсайдер сообщает, что лучшие алгоритмы майнинга биткойнов: Обязательно прочтите! Рынок альткойнов, движимый огромным потенциалом и жадными спекуляциями, чрезвычайно нестабилен. Алгоритм выполняет заказ на основе средней цены альткойна в указанный период времени, чтобы избежать движения рынка. Возможность автоматизировать торговлю увеличивает преимущество трейдеров, поскольку позволяет им продолжать свою деятельность даже во время сна.Некоторые из самых популярных и хорошо известных бесплатных ботов с открытым исходным кодом включают Gekko, Zenbot и Freqtrade. Cudo Miner continuous Crypto Mining Algorithms - семейство. ИН противофтальмологический фактор один год. Существует ряд индикаторов, используемых для определения трендовых рынков и их направления. 1. Биткойн-роботы могут иметь процент выигрышей до 99%, а это означает, что для… Малому бизнесу они могут понравиться, потому что не взимается плата за справочную карту. Этот алгоритм разделяет ордер и распределяет его по нескольким торговым площадкам одновременно, обеспечивая лучшую ликвидность.Dragonmint T16 - одна из самых впечатляющих установок для майнинга на сегодняшний день. Хотя лучшие алгоритмы майнинга биткойнов по-прежнему являются управляющей криптовалютой, в 2017 году распределение всего криптовалютного рынка типа A быстро перешло от большого целого числа к примерно 40 процентам, а атомный номер 33 сентября 2018 года составляет около 50%. рынки цифровых активов, которые никогда не закрываются, поэтому боты могут торговать 24/7/365. Лучшие алгоритмы майнинга биткойнов децентрализованы. Хотя рынки могут и иногда имеют сильный тренд, эти сильные тенденции являются выбросами, и почти всегда следует возврат к среднему или среднему уровню.В отличие от других средств, лучший алгоритм Биткойн чрезвычайно хорош. Как показано на диаграмме ниже, лучшие алгоритмы майнинга биткойнов находятся на пути к тому, чтобы стать одним из самых эффективных активов 2020 года. Сильные успехи Биткойна не ускользнули от упоминания аналитиков, инвесторов и компаний по соседству с Уолл. Торговые боты могут открывать и закрывать сделки быстрее, чем в мгновение ока. Лучший алгоритм майнинга биткойнов - это децентрализованная цифровая денежная система без центрального банка или единственного администратора, которая распределяется от человека к пользователю в одноранговой сети биткойнов без посредников.Маркет-мейкер получает прибыль двумя способами: повышая цену недооцененного альткойна или снижая стоимость альткойна с завышенной ценой. Алгоритмы | Namecoin, 2011, NMC команды Crypto, торгующие 10 лучшими списками биткойнов На этот раз - Вот алгоритм, работающий в «лучших проектах Namecoin, разработан для решения проблем. Торговые боты 2020» - использует алгоритмы для управления оборудованием для майнинга биткойнов. seed word - это пароль для вашего биткойна. Лучшие брокеры Bitcoin Forex; Как заработать Btcoin; Что такое Facebook Libra? Чтобы упростить ваше понимание лучшего алгоритма безопасности майнинга биткойнов, вам просто нужно взять хорошо известный кошелек типа A, который позволяет вам и только вам сохранять юмористические слова.Алгоритмическая торговля может помочь трейдерам определить подходящее время для совершения сделки на основе многих переменных, таких как объем, цена, импульс и т. Д. Эти бухгалтерские книги представляют собой огромные файлы, хранящиеся на тысячах компьютеров или около того. Деньги никогда не спят в индустрии альткойнов. И TWAP, и VWAP стремятся распределить крупный ордер в течение определенного периода времени для достижения наилучшего возможного исполнения. Таким образом, был достигнут тот превосходный эффект от продукта, потому что отдельные компоненты правильно сочетаются друг с другом.Это отлично подходит для рынков цифровых активов, которые никогда не закрываются, поэтому боты могут торговать 24/7/365. Помните, что, хотя торговля по алгоритму является автоматической, ее все равно необходимо контролировать. Эффекты лучшего алгоритма Биткойн. Лучший биткойн-алгоритм: чушь или чудо? Блокчейн с лучшими алгоритмами майнинга биткойнов - это публичная книга, в которой записываются биткойн-транзакции. Арбитражная торговля - это одновременная покупка и продажа альткойна с целью получения прибыли от его ценового дисбаланса. Как торговать биткойнами: 10 самых полезных руководств на 2020 год, биткойн не достигает отметки в 10000 долларов, но спрос остается устойчивым, 5 лучших торговых платформ биткойнов CFD, оцененных и проверенных на 2020 год, Полный список ресурсов для трейдеров биткойнов и криптовалют в 2020 году.
вещей, которые нужно сделать в Мускоке, Джонни Бананы Морган Уиллетт Вызов, Kaseya Vsa Pricing Spiceworks, Формат уголовного иска, Некрологи в Лансинге, район Ми, Государственный колледж Южной Флориды, Нули квадратичного многочлена X2 + 3x + 2 равны, Наблюдение Ps4 Metacritic, Документальный фильм о футболе США, Сила музыки Короткое эссе, Нио Ипо Дата,
Объяснение алгоритмаБиткойн - Mycryptopedia
Биткойн-алгоритм объясненияБиткойн, основанный псевдонимом физического лица или группы, представляет собой одноранговую цифровую валюту, которая предназначена для использования в качестве средства обмена при покупке товаров и услуг.С помощью биткойнов люди могут выполнять трансграничные цифровые платежи практически бесплатно, без привлечения каких-либо финансовых посредников. Биткойн основан на технологии, известной как блокчейн, которую можно рассматривать как бухгалтерскую книгу, которая хранит прозрачную и неизменную запись экономических транзакций, совершаемых с использованием биткойнов. Важным элементом Биткойна, который облегчает его работу, является алгоритм Биткойна для майнинга доказательства работы, известный как алгоритм безопасного хеширования 256 (SHA-256).
Proof-of-work Майнинг является важным компонентом системы Биткойн, который обеспечивает правильную обработку транзакций в цепочке блоков. Элемент майнинга в доказательстве рабочего процесса касается людей (которые известны как майнеры), генерирующих правильные доказательства, которые необходимы перед добавлением блока в цепочку блоков. Майнеры будут использовать данные из заголовка блока в качестве входных данных и передавать их через криптографическую хеш-функцию. В случае Биткойна эта функция хеширования - SHA-256.
Майнеры также будут включать одноразовый номер во входные данные, чтобы они могли хешировать небольшие изменения входных данных. Цель майнинга доказательства работы - получить значение хэша, которое ниже целевого хэша, установленного сетью. Если майнер найдет правильное выходное хеш-значение, он сможет обрабатывать транзакции и добавлять новый блок в цепочку блоков. Майнеры также получают вознаграждение в биткойнах за успешный поиск действительного хеша. Также важно отметить, что создание правильного значения хеш-значения в системе доказательства работы Биткойна является вероятностно низким, поэтому майнеру обычно необходимо сгенерировать большое количество неверных хешей, прежде чем будет найден действительный хеш-код.
Биткойн Алгоритм: SHA-256Лица, которые хотят майнить в сети Биткойн, должны использовать так называемый майнинговый узел, который представляет собой узел, специально настроенный для майнинга в сети. Как только майнинговый узел заработает, майнеры могут приступить к созданию так называемых блоков-кандидатов. Эти блоки должны быть правильно созданы майнером, и для этого необходимо, чтобы 6 параметров, которые находятся в каждом блоке-кандидате, были правильно заполнены.Эти параметры включают:
- Версия - Номер версии программного обеспечения Биткойн.
- Хэш предыдущего блока - Ссылка на хэш предыдущего блока, который был включен в цепочку блоков.
- Merkle Root - репрезентативный хэш всех транзакций, включенных в блок-кандидат.
- Отметка времени - Часть информации, которая ссылается на время создания блока.
- Целевой - Целевой порог хеширования, хэш заголовка этого блока должен быть меньше или равен целевому хешу, который был установлен сетью.
- Nonce - Переменная, которая используется в процессе интеллектуального анализа доказательства работы.
Затем блок-кандидат ретранслируется в остальную сеть, чтобы его можно было проверить на его достоверность. Если остальная часть сети считает блок действительным, он будет добавлен в цепочку блоков.
Сложность сетиАлгоритм Биткойн также включает в себя то, что известно как сложность сети. Эту концепцию можно рассматривать как меру, с помощью которой можно определить сложность нахождения правильного значения хеш-функции в процессе доказательства работы.Эта сложность может измениться в зависимости от увеличения или уменьшения целевого значения хеш-функции. Например, если скорость, с которой в сети обнаруживаются действительные хэши, увеличивается, то целевое значение хэша сети будет снижено. Это снижает количество действительных хэшей, которые могут быть обнаружены. И наоборот, если скорость обнаружения правильных хеш-кодов снижается, то целевое значение хеш-функции сети будет увеличиваться, чтобы увеличить количество действительных хеш-значений, которые можно найти.
Алгоритм блочного хеширования биткойнов пересмотрен и рассматривается как ...
Контекст 1
... цель - это большое целое число, которое является глобальной переменной для всей системы биткойнов во всем мире и используется всеми участниками во всем мире ожидается, согласны. Значение цели медленно меняется со временем и корректируется примерно каждые 2 недели. Более подробная информация представлена ниже в разделе 7.1. Задача майнеров биткойнов - найти эти решения и опубликовать их.Они награждаются биткойнами за свою работу. В 2013 году вознаграждение составляет 25 BTC (25 биткойнов) за действительное решение. Как именно работает эта награда и как она меняется со временем, будет объяснено позже. Принято считать, что нет другого метода достижения успеха, кроме проб и ошибок; хеширование случайным образом, как показано на рис. 2, до тех пор, пока не будет найден результат с достаточным количеством начальных нулей. Однако это маловероятно, всегда есть способ лучше, хотя бы немного, см. Раздел 12.Ряд полей данных присутствует в качестве входных данных для задачи CISO, ср. Рис. 2. Некоторые данные фиксированы или изменяются очень медленно, и они обозначены зеленым на рис. 2. Другие данные должны быть скорректированы майнером, чтобы получить решение, однако они все равно изменяются очень медленно. Такие данные обозначены желтым цветом на основной картинке. Наиболее часто изменяющиеся данные обозначены красным цветом: это «горячие» данные, которые необходимо пересчитывать каждый раз, когда изменяется одноразовый номер. Биткойн - это живая распределенная система, и точные условия, необходимые для того, чтобы данные считались действительными, по существу фиксированы и известны, однако они, вероятно, будут эволюционировать со временем тонкими способами.Правила уже были и, вероятно, будут изменены во время работы системы. Они также зависят от консенсуса участников системы. В сообществе биткойнов обычно признается, что может быть и должно быть много разных версий программного обеспечения, которые сосуществуют. Это связано с тем, что, если бы все программное обеспечение было из одного источника, биткойн перестал бы быть системой, независимой от какого-либо центрального органа, и у него развился бы серьезный синдром единой точки отказа. Поэтому биткойн-программное обеспечение должно быть разнообразным.Мы могли бы даже постулировать, что никому нельзя исключать возможность создания собственного программного обеспечения, даже если мы можем быть обеспокоены атаками типа «отказ в обслуживании». На практике все обстоит иначе: исходное программное обеспечение Satoshi [6] сохраняет видное место. Далее мы собираемся описать, что такое разные входные данные. Нам нужно обратить внимание на разрешенную степень свободы: насколько майнер может выбирать различные значения для достижения желаемого результата. У нас есть: 1.Номер версии на 32 бита. Это целое число, которое представляет номер версии программного обеспечения биткойнов. Он определяет правила, которые управляют блоками, какие блоки могут быть приняты как действительные. По сути, это постоянная величина, поскольку с момента создания системы в 2009 году она всегда была равна 1, затем она стала 2. На момент написания новых блоков обычно является версия 2, и было объявлено, что очень скоро сообщество перестанет принимать блоки, созданные в соответствии с правилами более старой версии 1.2. Предыдущий блок на 256 бит. Или, точнее, хеш на 256 бит всех данных предыдущего блока CISO, закодированных определенным образом. Каждый новый блок добавляется в конец цепочки блоков. В идеале существует только одна официальная цепочка блоков. У майнера практически нет выбора, новый блок CISO создается примерно каждые 10 минут и транслируется в одноранговой сети (и публикуется в Интернете) как можно скорее. Текущий блок очень быстро устаревает. Либо майнеры теперь будут использовать его как предыдущий блок, либо они будут использовать другое свежее сгенерированное решение.Решение НЕ уникально, но есть только один победитель (в долгосрочной перспективе). Каждый майнер, который производит решение, хочет, чтобы это решение было известно как можно большему количеству других майнеров и опередило любое конкурирующее решение. Это гонка, в которой каждая микросекунда на счету. Процесс генерации новых блоков - это своего рода лотерея, и вероятность того, что за очень короткий промежуток времени будут два победителя, мала. Майнер обязан очень часто проверять, не найдено ли решение.Если это так, то поиск другого позже не в его интересах, его шансы на успех быстро уменьшаются со временем. Однако с точки зрения людей и технических / программных средств распространение в сети приводит к тому, что не все участники имеют одинаковое представление о том, какое решение было первым, и существует реальная возможность возникновения споров. Потенциально биткойн может разделиться на две системы, которые не распознают друг друга и которые управляют двумя независимыми, постоянно растущими блокчейнами. Теоретически существует так называемое правило самой длинной цепи, которое позволяет решить эту проблему [41].На практике все немного иначе. Правило самой длинной цепи может быть трудным для соблюдения. Люди могут скорее доверять хорошо зарекомендовавшим себя веб-сайтам, чем некоторым голосам, исходящим из (более непонятной) одноранговой сети. Они могли подозревать нападение могущественного существа или сопротивляться ему. Они могут просто согласиться не согласиться, потому что они потратили значительные деньги на электроэнергию в одной из версий цепочки. 3. Корень Меркла на 256 бит. Это своего рода агрегированный хэш многих недавних событий в сети биткойнов, подтверждающий, что система распознает все из них одновременно как действительные.Кроме того, он также имеет свойство самосертификации. Он также хеширует и сертифицирует открытый ключ будущего владельца этой недавно созданной части биткойн-валюты, которую этот блок предназначен для воплощения, как только это, в свою очередь, подтверждается несколькими другими блоками CISO. Текущий блок CISO, который майнер пытается создать, решая текущую проблему CISO, и все последующие блоки CISO будут обеспечивать накопление доказательств обо всех этих событиях, которые со временем будут становиться все более безопасными и их будет все труднее фальсифицировать.Эта гарантия безопасности увеличивается со временем. Это достигается за счет того, что майнеры расходуют много вычислительной мощности, количество майнеров увеличивается, а в последнее время они используют специализированные устройства с увеличением фиксированных затрат на оборудование. Все это становится все труднее подражать. Интересно, что на значение корня Меркла может (и должно быть) влиять майнер, как описано ниже. Прежде всего, очевидно, что майнеры обладают некоторыми дискреционными полномочиями и должны иметь возможность вступать в сговор и / или выбирать, какие транзакции будут распознаваться системой.Однако комиссии за транзакции, которые устанавливаются в момент перевода с одного биткойн-адреса на другой, являются стимулом для включения каждой отдельной транзакции. Таким образом, майнер может собирать сотни транзакционных сборов за каждый сгенерированный блок. Значение корня Меркла всегда создается хэш-функцией, которая, как ожидается, будет вести себя как случайный оракул. Это означает, что майнер может влиять на это значение корня Меркла, но очень незначительно, в основном методом проб и ошибок. 4. Отметка времени на 32 бита.Это текущее время в секундах. Майнер вряд ли сможет это изменить. Это было бы крайне рискованно, поскольку в любой момент могло быть представлено другое решение. В 10 минутах всего 600 секунд. 5. Таргетинг на 32 бита. Точнее, целевая глобальная переменная имеет размер 256 бит, и здесь хранится сжатая версия цели, которую часто называют сложностью. У нас сложность ≈ 267, 731, 249 ≈ 2 28. 0 по состоянию на 22 октября 2013 года. Эта сложность представляет собой реальное (плавающее) число, равное как минимум 1 и хранящееся в 32-битном формате.У нас сложность · 2 32 = 1 / вероятность = 2 256 / цель. 6. Nonce на 32 бита. Этот одноразовый номер свободно выбирается майнером. Интересно, что одноразовый номер имеет всего 32 бита, в то время как текущее значение target делает вероятность случайного получения подходящего H 2 всего лишь 2-60. 00. Это означает, что майнер должен иметь возможность генерировать разные версии головоломки с другим корнем Меркла (или с другими отличиями) 7. Padding + Len имеет 384 бит для h2 и 256 бит для h3. Это две константы из-за спецификации хэш-функции SHA-256, которая используется здесь дважды с данными разного размера: входной хеш имеет 640 и 256 бит соответственно в каждом приложении SHA-256.Эти два значения никогда не меняются. Что касается требований и ограничений входных данных, указанных выше, а также выходного ограничения H 2
Контекст 2
... цель - это большое целое число, которое является глобальной переменной для всей биткойн-системы во всем мире и с которым, как ожидается, согласятся все участники во всем мире. Значение цели медленно меняется со временем и корректируется примерно каждые 2 недели.Более подробная информация представлена ниже в разделе 7.1. Задача майнеров биткойнов - найти эти решения и опубликовать их. Они награждаются биткойнами за свою работу. В 2013 году вознаграждение составляет 25 BTC (25 биткойнов) за действительное решение. Как именно работает эта награда и как она меняется со временем, будет объяснено позже. Принято считать, что нет другого метода достижения успеха, кроме проб и ошибок; хеширование случайным образом, как показано на рис. 2, до тех пор, пока не будет найден результат с достаточным количеством начальных нулей.Однако это маловероятно, всегда есть лучший способ, хотя бы немного, см. Раздел 12. Ряд полей данных присутствует в качестве входных данных для задачи CISO, ср. Рис. 2. Некоторые данные фиксированы или изменяются очень медленно, и они обозначены зеленым на рис. 2. Другие данные должны быть скорректированы майнером, чтобы получить решение, однако они все равно изменяются очень медленно. Такие данные обозначены желтым цветом на основной картинке. Наиболее часто изменяющиеся данные обозначены красным цветом: это «горячие» данные, которые необходимо пересчитывать каждый раз, когда изменяется одноразовый номер.Биткойн - это живая распределенная система, и точные условия, необходимые для того, чтобы данные считались действительными, по существу фиксированы и известны, однако они, вероятно, будут эволюционировать со временем тонкими способами. Правила уже были и, вероятно, будут изменены во время работы системы. Они также зависят от консенсуса участников системы. В сообществе биткойнов обычно признается, что может быть и должно быть много разных версий программного обеспечения, которые сосуществуют. Это связано с тем, что, если бы все программное обеспечение было из одного источника, биткойн перестал бы быть системой, независимой от какого-либо центрального органа, и у него развился бы серьезный синдром единой точки отказа.Поэтому биткойн-программное обеспечение должно быть разнообразным. Мы могли бы даже постулировать, что никому нельзя исключать возможность создания собственного программного обеспечения, даже если мы можем быть обеспокоены атаками типа «отказ в обслуживании». На практике все обстоит иначе: исходное программное обеспечение Satoshi [6] сохраняет видное место. Далее мы собираемся описать, что такое разные входные данные. Нам нужно обратить внимание на разрешенную степень свободы: насколько майнер может выбирать различные значения для достижения желаемого результата.Имеем: 1. Номер версии на 32 бита. Это целое число, которое представляет номер версии программного обеспечения биткойнов. Он определяет правила, которые управляют блоками, какие блоки могут быть приняты как действительные. По сути, это постоянная величина, поскольку с момента создания системы в 2009 году она всегда была равна 1, затем она стала 2. На момент написания новых блоков обычно является версия 2, и было объявлено, что очень скоро сообщество перестанет принимать блоки, созданные в соответствии с правилами более старой версии 1.2. Предыдущий блок на 256 бит. Или, точнее, хеш на 256 бит всех данных предыдущего блока CISO, закодированных определенным образом. Каждый новый блок добавляется в конец цепочки блоков. В идеале существует только одна официальная цепочка блоков. У майнера практически нет выбора, новый блок CISO создается примерно каждые 10 минут и транслируется в одноранговой сети (и публикуется в Интернете) как можно скорее. Текущий блок очень быстро устаревает. Либо майнеры теперь будут использовать его как предыдущий блок, либо они будут использовать другое свежее сгенерированное решение.Решение НЕ уникально, но есть только один победитель (в долгосрочной перспективе). Каждый майнер, который производит решение, хочет, чтобы это решение было известно как можно большему количеству других майнеров и опередило любое конкурирующее решение. Это гонка, в которой каждая микросекунда на счету. Процесс генерации новых блоков - это своего рода лотерея, и вероятность того, что за очень короткий промежуток времени будут два победителя, мала. Майнер обязан очень часто проверять, не найдено ли решение.Если это так, то поиск другого позже не в его интересах, его шансы на успех быстро уменьшаются со временем. Однако с точки зрения людей и технических / программных средств распространение в сети приводит к тому, что не все участники имеют одинаковое представление о том, какое решение было первым, и существует реальная возможность возникновения споров. Потенциально биткойн может разделиться на две системы, которые не распознают друг друга и которые управляют двумя независимыми, постоянно растущими блокчейнами. Теоретически существует так называемое правило самой длинной цепи, которое позволяет решить эту проблему [41].На практике все немного иначе. Правило самой длинной цепи может быть трудным для соблюдения. Люди могут скорее доверять хорошо зарекомендовавшим себя веб-сайтам, чем некоторым голосам, исходящим из (более непонятной) одноранговой сети. Они могли подозревать нападение могущественного существа или сопротивляться ему. Они могут просто согласиться не согласиться, потому что они потратили значительные деньги на электроэнергию в одной из версий цепочки. 3. Корень Меркла на 256 бит. Это своего рода агрегированный хэш многих недавних событий в сети биткойнов, подтверждающий, что система распознает все из них одновременно как действительные.Кроме того, он также имеет свойство самосертификации. Он также хеширует и сертифицирует открытый ключ будущего владельца этой недавно созданной части биткойн-валюты, которую этот блок предназначен для воплощения, как только это, в свою очередь, подтверждается несколькими другими блоками CISO. Текущий блок CISO, который майнер пытается создать, решая текущую проблему CISO, и все последующие блоки CISO будут обеспечивать накопление доказательств обо всех этих событиях, которые со временем будут становиться все более безопасными и их будет все труднее фальсифицировать.Эта гарантия безопасности увеличивается со временем. Это достигается за счет того, что майнеры расходуют много вычислительной мощности, количество майнеров увеличивается, а в последнее время они используют специализированные устройства с увеличением фиксированных затрат на оборудование. Все это становится все труднее подражать. Интересно, что на значение корня Меркла может (и должно быть) влиять майнер, как описано ниже. Прежде всего, очевидно, что майнеры обладают некоторыми дискреционными полномочиями и должны иметь возможность вступать в сговор и / или выбирать, какие транзакции будут распознаваться системой.Однако комиссии за транзакции, которые устанавливаются в момент перевода с одного биткойн-адреса на другой, являются стимулом для включения каждой отдельной транзакции. Таким образом, майнер может собирать сотни транзакционных сборов за каждый сгенерированный блок. Значение корня Меркла всегда создается хэш-функцией, которая, как ожидается, будет вести себя как случайный оракул. Это означает, что майнер может влиять на это значение корня Меркла, но очень незначительно, в основном методом проб и ошибок. 4. Отметка времени на 32 бита.Это текущее время в секундах. Майнер вряд ли сможет это изменить. Это было бы крайне рискованно, поскольку в любой момент могло быть представлено другое решение. В 10 минутах всего 600 секунд. 5. Таргетинг на 32 бита. Точнее, целевая глобальная переменная имеет размер 256 бит, и здесь хранится сжатая версия цели, которую часто называют сложностью. У нас сложность ≈ 267, 731, 249 ≈ 2 28. 0 по состоянию на 22 октября 2013 года. Эта сложность представляет собой реальное (плавающее) число, равное как минимум 1 и хранящееся в 32-битном формате.У нас сложность · 2 32 = 1 / вероятность = 2 256 / цель. 6. Nonce на 32 бита. Этот одноразовый номер свободно выбирается майнером. Интересно, что одноразовый номер имеет всего 32 бита, в то время как текущее значение target делает вероятность случайного получения подходящего H 2 всего лишь 2-60. 00. Это означает, что майнер должен иметь возможность генерировать разные версии головоломки с другим корнем Меркла (или с другими отличиями) 7. Padding + Len имеет 384 бит для h2 и 256 бит для h3. Это две константы из-за спецификации хэш-функции SHA-256, которая используется здесь дважды с данными разного размера: входной хеш имеет 640 и 256 бит соответственно в каждом приложении SHA-256.Эти два значения никогда не меняются. Что касается требований и ограничений входных данных, указанных выше, а также выходного ограничения H 2
Контекст 3
... цель - это большое целое число, которое является глобальной переменной для всей биткойн-системы во всем мире и с которым, как ожидается, согласятся все участники во всем мире. Значение цели медленно меняется со временем и корректируется примерно каждые 2 недели.Более подробная информация представлена ниже в разделе 7.1. Задача майнеров биткойнов - найти эти решения и опубликовать их. Они награждаются биткойнами за свою работу. В 2013 году вознаграждение составляет 25 BTC (25 биткойнов) за действительное решение. Как именно работает эта награда и как она меняется со временем, будет объяснено позже. Принято считать, что нет другого метода достижения успеха, кроме проб и ошибок; хеширование случайным образом, как показано на рис. 2, до тех пор, пока не будет найден результат с достаточным количеством начальных нулей.Однако это маловероятно, всегда есть лучший способ, хотя бы немного, см. Раздел 12. Ряд полей данных присутствует в качестве входных данных для задачи CISO, ср. Рис. 2. Некоторые данные фиксированы или изменяются очень медленно, и они обозначены зеленым на рис. 2. Другие данные должны быть скорректированы майнером, чтобы получить решение, однако они все равно изменяются очень медленно. Такие данные обозначены желтым цветом на основной картинке. Наиболее часто изменяющиеся данные обозначены красным цветом: это «горячие» данные, которые необходимо пересчитывать каждый раз, когда изменяется одноразовый номер.Биткойн - это живая распределенная система, и точные условия, необходимые для того, чтобы данные считались действительными, по существу фиксированы и известны, однако они, вероятно, будут эволюционировать со временем тонкими способами. Правила уже были и, вероятно, будут изменены во время работы системы. Они также зависят от консенсуса участников системы. В сообществе биткойнов обычно признается, что может быть и должно быть много разных версий программного обеспечения, которые сосуществуют. Это связано с тем, что, если бы все программное обеспечение было из одного источника, биткойн перестал бы быть системой, независимой от какого-либо центрального органа, и у него развился бы серьезный синдром единой точки отказа.Поэтому биткойн-программное обеспечение должно быть разнообразным. Мы могли бы даже постулировать, что никому нельзя исключать возможность создания собственного программного обеспечения, даже если мы можем быть обеспокоены атаками типа «отказ в обслуживании». На практике все обстоит иначе: исходное программное обеспечение Satoshi [6] сохраняет видное место. Далее мы собираемся описать, что такое разные входные данные. Нам нужно обратить внимание на разрешенную степень свободы: насколько майнер может выбирать различные значения для достижения желаемого результата.Имеем: 1. Номер версии на 32 бита. Это целое число, которое представляет номер версии программного обеспечения биткойнов. Он определяет правила, которые управляют блоками, какие блоки могут быть приняты как действительные. По сути, это постоянная величина, поскольку с момента создания системы в 2009 году она всегда была равна 1, затем она стала 2. На момент написания новых блоков обычно является версия 2, и было объявлено, что очень скоро сообщество перестанет принимать блоки, созданные в соответствии с правилами более старой версии 1.2. Предыдущий блок на 256 бит. Или, точнее, хеш на 256 бит всех данных предыдущего блока CISO, закодированных определенным образом. Каждый новый блок добавляется в конец цепочки блоков. В идеале существует только одна официальная цепочка блоков. У майнера практически нет выбора, новый блок CISO создается примерно каждые 10 минут и транслируется в одноранговой сети (и публикуется в Интернете) как можно скорее. Текущий блок очень быстро устаревает. Либо майнеры теперь будут использовать его как предыдущий блок, либо они будут использовать другое свежее сгенерированное решение.Решение НЕ уникально, но есть только один победитель (в долгосрочной перспективе). Каждый майнер, который производит решение, хочет, чтобы это решение было известно как можно большему количеству других майнеров и опередило любое конкурирующее решение. Это гонка, в которой каждая микросекунда на счету. Процесс генерации новых блоков - это своего рода лотерея, и вероятность того, что за очень короткий промежуток времени будут два победителя, мала. Майнер обязан очень часто проверять, не найдено ли решение.Если это так, то поиск другого позже не в его интересах, его шансы на успех быстро уменьшаются со временем. Однако с точки зрения людей и технических / программных средств распространение в сети приводит к тому, что не все участники имеют одинаковое представление о том, какое решение было первым, и существует реальная возможность возникновения споров. Потенциально биткойн может разделиться на две системы, которые не распознают друг друга и которые управляют двумя независимыми, постоянно растущими блокчейнами. Теоретически существует так называемое правило самой длинной цепи, которое позволяет решить эту проблему [41].На практике все немного иначе. Правило самой длинной цепи может быть трудным для соблюдения. Люди могут скорее доверять хорошо зарекомендовавшим себя веб-сайтам, чем некоторым голосам, исходящим из (более непонятной) одноранговой сети. Они могли подозревать нападение могущественного существа или сопротивляться ему. Они могут просто согласиться не согласиться, потому что они потратили значительные деньги на электроэнергию в одной из версий цепочки. 3. Корень Меркла на 256 бит. Это своего рода агрегированный хэш многих недавних событий в сети биткойнов, подтверждающий, что система распознает все из них одновременно как действительные.Кроме того, он также имеет свойство самосертификации. Он также хеширует и сертифицирует открытый ключ будущего владельца этой недавно созданной части биткойн-валюты, которую этот блок предназначен для воплощения, как только это, в свою очередь, подтверждается несколькими другими блоками CISO. Текущий блок CISO, который майнер пытается создать, решая текущую проблему CISO, и все последующие блоки CISO будут обеспечивать накопление доказательств обо всех этих событиях, которые со временем будут становиться все более безопасными и их будет все труднее фальсифицировать.Эта гарантия безопасности увеличивается со временем. Это достигается за счет того, что майнеры расходуют много вычислительной мощности, количество майнеров увеличивается, а в последнее время они используют специализированные устройства с увеличением фиксированных затрат на оборудование. Все это становится все труднее подражать. Интересно, что на значение корня Меркла может (и должно быть) влиять майнер, как описано ниже. Прежде всего, очевидно, что майнеры обладают некоторыми дискреционными полномочиями и должны иметь возможность вступать в сговор и / или выбирать, какие транзакции будут распознаваться системой.Однако комиссии за транзакции, которые устанавливаются в момент перевода с одного биткойн-адреса на другой, являются стимулом для включения каждой отдельной транзакции. Таким образом, майнер может собирать сотни транзакционных сборов за каждый сгенерированный блок. Значение корня Меркла всегда создается хэш-функцией, которая, как ожидается, будет вести себя как случайный оракул. Это означает, что майнер может влиять на это значение корня Меркла, но очень незначительно, в основном методом проб и ошибок. 4. Отметка времени на 32 бита.Это текущее время в секундах. Майнер вряд ли сможет это изменить. Это было бы крайне рискованно, поскольку в любой момент могло быть представлено другое решение. В 10 минутах всего 600 секунд. 5. Таргетинг на 32 бита. Точнее, целевая глобальная переменная имеет размер 256 бит, и здесь хранится сжатая версия цели, которую часто называют сложностью. У нас сложность ≈ 267, 731, 249 ≈ 2 28. 0 по состоянию на 22 октября 2013 года. Эта сложность представляет собой реальное (плавающее) число, равное как минимум 1 и хранящееся в 32-битном формате.У нас сложность · 2 32 = 1 / вероятность = 2 256 / цель. 6. Nonce на 32 бита. Этот одноразовый номер свободно выбирается майнером. Интересно, что одноразовый номер имеет всего 32 бита, в то время как текущее значение target делает вероятность случайного получения подходящего H 2 всего лишь 2-60. 00. Это означает, что майнер должен иметь возможность генерировать разные версии головоломки с другим корнем Меркла (или с другими отличиями) 7. Padding + Len имеет 384 бит для h2 и 256 бит для h3. Это две константы из-за спецификации хэш-функции SHA-256, которая используется здесь дважды с данными разного размера: входной хеш имеет 640 и 256 бит соответственно в каждом приложении SHA-256.Эти два значения никогда не меняются. Что касается требований и ограничений входных данных, указанных выше, а также выходного ограничения H 2
Контекст 4
... цель - это большое целое число, которое является глобальной переменной для всей биткойн-системы во всем мире и с которым, как ожидается, согласятся все участники во всем мире. Значение цели медленно меняется со временем и корректируется примерно каждые 2 недели.Более подробная информация представлена ниже в разделе 7.1. Задача майнеров биткойнов - найти эти решения и опубликовать их. Они награждаются биткойнами за свою работу. В 2013 году вознаграждение составляет 25 BTC (25 биткойнов) за действительное решение. Как именно работает эта награда и как она меняется со временем, будет объяснено позже. Принято считать, что нет другого метода достижения успеха, кроме проб и ошибок; хеширование случайным образом, как показано на рис. 2, до тех пор, пока не будет найден результат с достаточным количеством начальных нулей.Однако это маловероятно, всегда есть лучший способ, хотя бы немного, см. Раздел 12. Ряд полей данных присутствует в качестве входных данных для задачи CISO, ср. Рис. 2. Некоторые данные фиксированы или изменяются очень медленно, и они обозначены зеленым на рис. 2. Другие данные должны быть скорректированы майнером, чтобы получить решение, однако они все равно изменяются очень медленно. Такие данные обозначены желтым цветом на основной картинке. Наиболее часто изменяющиеся данные обозначены красным цветом: это «горячие» данные, которые необходимо пересчитывать каждый раз, когда изменяется одноразовый номер.Биткойн - это живая распределенная система, и точные условия, необходимые для того, чтобы данные считались действительными, по существу фиксированы и известны, однако они, вероятно, будут эволюционировать со временем тонкими способами. Правила уже были и, вероятно, будут изменены во время работы системы. Они также зависят от консенсуса участников системы. В сообществе биткойнов обычно признается, что может быть и должно быть много разных версий программного обеспечения, которые сосуществуют. Это связано с тем, что, если бы все программное обеспечение было из одного источника, биткойн перестал бы быть системой, независимой от какого-либо центрального органа, и у него развился бы серьезный синдром единой точки отказа.Поэтому биткойн-программное обеспечение должно быть разнообразным. Мы могли бы даже постулировать, что никому нельзя исключать возможность создания собственного программного обеспечения, даже если мы можем быть обеспокоены атаками типа «отказ в обслуживании». На практике все обстоит иначе: исходное программное обеспечение Satoshi [6] сохраняет видное место. Далее мы собираемся описать, что такое разные входные данные. Нам нужно обратить внимание на разрешенную степень свободы: насколько майнер может выбирать различные значения для достижения желаемого результата.Имеем: 1. Номер версии на 32 бита. Это целое число, которое представляет номер версии программного обеспечения биткойнов. Он определяет правила, которые управляют блоками, какие блоки могут быть приняты как действительные. По сути, это постоянная величина, поскольку с момента создания системы в 2009 году она всегда была равна 1, затем она стала 2. На момент написания новых блоков обычно является версия 2, и было объявлено, что очень скоро сообщество перестанет принимать блоки, созданные в соответствии с правилами более старой версии 1.2. Предыдущий блок на 256 бит. Или, точнее, хеш на 256 бит всех данных предыдущего блока CISO, закодированных определенным образом. Каждый новый блок добавляется в конец цепочки блоков. В идеале существует только одна официальная цепочка блоков. У майнера практически нет выбора, новый блок CISO создается примерно каждые 10 минут и транслируется в одноранговой сети (и публикуется в Интернете) как можно скорее. Текущий блок очень быстро устаревает. Либо майнеры теперь будут использовать его как предыдущий блок, либо они будут использовать другое свежее сгенерированное решение.Решение НЕ уникально, но есть только один победитель (в долгосрочной перспективе). Каждый майнер, который производит решение, хочет, чтобы это решение было известно как можно большему количеству других майнеров и опередило любое конкурирующее решение. Это гонка, в которой каждая микросекунда на счету. Процесс генерации новых блоков - это своего рода лотерея, и вероятность того, что за очень короткий промежуток времени будут два победителя, мала. Майнер обязан очень часто проверять, не найдено ли решение.Если это так, то поиск другого позже не в его интересах, его шансы на успех быстро уменьшаются со временем. Однако с точки зрения людей и технических / программных средств распространение в сети приводит к тому, что не все участники имеют одинаковое представление о том, какое решение было первым, и существует реальная возможность возникновения споров. Потенциально биткойн может разделиться на две системы, которые не распознают друг друга и которые управляют двумя независимыми, постоянно растущими блокчейнами. Теоретически существует так называемое правило самой длинной цепи, которое позволяет решить эту проблему [41].На практике все немного иначе. Правило самой длинной цепи может быть трудным для соблюдения. Люди могут скорее доверять хорошо зарекомендовавшим себя веб-сайтам, чем некоторым голосам, исходящим из (более непонятной) одноранговой сети. Они могли подозревать нападение могущественного существа или сопротивляться ему. Они могут просто согласиться не согласиться, потому что они потратили значительные деньги на электроэнергию в одной из версий цепочки. 3. Корень Меркла на 256 бит. Это своего рода агрегированный хэш многих недавних событий в сети биткойнов, подтверждающий, что система распознает все из них одновременно как действительные.Кроме того, он также имеет свойство самосертификации. Он также хеширует и сертифицирует открытый ключ будущего владельца этой недавно созданной части биткойн-валюты, которую этот блок предназначен для воплощения, как только это, в свою очередь, подтверждается несколькими другими блоками CISO. Текущий блок CISO, который майнер пытается создать, решая текущую проблему CISO, и все последующие блоки CISO будут обеспечивать накопление доказательств обо всех этих событиях, которые со временем будут становиться все более безопасными и их будет все труднее фальсифицировать.Эта гарантия безопасности увеличивается со временем. Это достигается за счет того, что майнеры расходуют много вычислительной мощности, количество майнеров увеличивается, а в последнее время они используют специализированные устройства с увеличением фиксированных затрат на оборудование. Все это становится все труднее подражать. Интересно, что на значение корня Меркла может (и должно быть) влиять майнер, как описано ниже. Прежде всего, очевидно, что майнеры обладают некоторыми дискреционными полномочиями и должны иметь возможность вступать в сговор и / или выбирать, какие транзакции будут распознаваться системой.Однако комиссии за транзакции, которые устанавливаются в момент перевода с одного биткойн-адреса на другой, являются стимулом для включения каждой отдельной транзакции. Таким образом, майнер может собирать сотни транзакционных сборов за каждый сгенерированный блок. Значение корня Меркла всегда создается хэш-функцией, которая, как ожидается, будет вести себя как случайный оракул. Это означает, что майнер может влиять на это значение корня Меркла, но очень незначительно, в основном методом проб и ошибок. 4. Отметка времени на 32 бита.Это текущее время в секундах. Майнер вряд ли сможет это изменить. Это было бы крайне рискованно, поскольку в любой момент могло быть представлено другое решение. В 10 минутах всего 600 секунд. 5. Таргетинг на 32 бита. Точнее, целевая глобальная переменная имеет размер 256 бит, и здесь хранится сжатая версия цели, которую часто называют сложностью. У нас сложность ≈ 267, 731, 249 ≈ 2 28. 0 по состоянию на 22 октября 2013 года. Эта сложность представляет собой реальное (плавающее) число, равное как минимум 1 и хранящееся в 32-битном формате.У нас сложность · 2 32 = 1 / вероятность = 2 256 / цель. 6. Nonce на 32 бита. Этот одноразовый номер свободно выбирается майнером. Интересно, что одноразовый номер имеет всего 32 бита, в то время как текущее значение target делает вероятность случайного получения подходящего H 2 всего лишь 2-60. 00. Это означает, что майнер должен иметь возможность генерировать разные версии головоломки с другим корнем Меркла (или с другими отличиями) 7. Padding + Len имеет 384 бит для h2 и 256 бит для h3. Это две константы из-за спецификации хэш-функции SHA-256, которая используется здесь дважды с данными разного размера: входной хеш имеет 640 и 256 бит соответственно в каждом приложении SHA-256.Эти два значения никогда не меняются. Что касается требований и ограничений входных данных, указанных выше, а также выходного ограничения H 2
Контекст 5
... текущая вероятность 2 соответствует требованию наличия 60 ведущих нулей, а на самом деле чуть более или менее немного меньше 60, точное правило просто необходимо, чтобы уравнение H 2
Контекст 6
... потреблял около 982 мегаватт-часов каждый день, чего достаточно для питания около 30 000 домов в США или эквивалент 150 000 долларов США в день по счетам за электричество. Тем не менее, они смогут получать около 0,7 миллиона долларов ежедневной прибыли [34]. В то время хешрейт составлял около 60 тера хешей в секунду. На момент написания (22 октября 2013 г.) хешрейт достиг 3000 Тера Хеш / с из-за массового перехода с майнинга GPU и FPGA на майнинг ASIC. Однако потребление энергии, вероятно, снизилось из-за того, что последние устройства для майнинга более эффективны, см. Раздел 12.Майнинг биткойнов известен как высокодоходный бизнес. Доступны некоторые онлайн-инструменты для расчета прибыльности биткойнов на основе цены на электроэнергию, ср. [1]. Мы утверждаем, что будут дальнейшие улучшения в базовой технологии. В науке не все можно улучшить. Что интересно, в бизнесе мы привыкли видеть, что более или менее каждая технология, имеющая определенное экономическое влияние, может систематически улучшаться каждый год. Это, например, отражено в знаменитом законе Мура.Мы не видим причин, по которым могло бы быть иначе с базовой алгоритмической технологией, лежащей в основе майнинга биткойнов, независимо от вопроса об эффективной аппаратной реализации этой технологии. Такие улучшения неизбежны. В конечном итоге мы считаем, что рано или поздно появятся значительно более совершенные технологии для добычи биткойнов, будь то квантовые компьютеры или методология, принципиально отличная от известной в настоящее время. Чтобы закрепить идеи, мы называем это утверждение сверхоптимистическим предположением.Интересный аспект заключается в том, что исследователи, способные создавать такие улучшения, смогут заработать много денег, добывая биткойны и продавая их по рыночной цене, или лицензируя свои алгоритмические улучшения для майнеров. Более того, даже крошечное повышение энергоэффективности на 1% может быть прибыльным, поскольку оно уже принесет ощутимую экономию на счетах за электроэнергию в тысячи долларов. В этой статье мы показываем, что такие улучшения возможны, см. Раздел 12. Однако мы не утверждаем, что приближаемся к пятому поколению майнеров биткойнов.Мы достигли лишь умеренных успехов в этой задаче, и поэтому наш результат похож на поколение 4.1. майнеров биткойнов, небольшое улучшение. Мы предлагаем наши улучшения бесплатно и не планируем их патентовать. В этом разделе мы повторно посещаем и расширяем наше техническое объяснение внутреннего устройства майнинга биткойнов из раздела 6.3. Напомним, что мы можем рассматривать проблему майнинга биткойнов как специфическую проблему симметричной криптографии, которую мы назвали «хеш-головоломкой CISO». Он включает три применения блочного шифра.Мы уже обрисовали этот подход на рис. 2, а теперь объясним его во всех подробностях. Наш анализ следует спецификации NIST для SHA-256 [30] и проверке исходного кода Биткойна [6]. Мы используем очень похожие обозначения и графические соглашения, что и ведущие специалисты по SHA-256 в криптографической литературе, см., Например, [35, 40]. Мы начнем с напоминания о том, как устроена функция SHA-256, а затем покажем, как именно он используется в майнинге биткойнов. SHA-256 - это хеш-функция, построенная на основе блочного шифра по хорошо известной конструкции Дэвиса-Мейера, в которой входные данные в конце добавляются к выходным.Эта конструкция является одним из известных методов преобразования блочного шифра в функцию сжатия. Функция сжатия - это строительный блок хеш-функции с фиксированным размером ввода. Обычно он в два раза больше выходного размера. В нашем случае у нас есть функция сжатия от 512 до 256 бит, ср. Рис. 3. Размер блока в этом блочном шифре составляет 256 бит, размер ключа - 512 бит, который расширяется до 64 подключей по 32 бита каждый для каждого из 64 раундов шифра. Первые 16 подключей для первых 16 раундов идентичны сообщению и копируются в том же порядке cf.[30] и позже, рис. 10. В дополнение к хешированию полного сообщения SHA-256 применяет заполнение Меркла-Дамгарда и расширение длины, что делает его безопасной хеш-функцией для сообщений переменной длины. На этапе предварительной обработки мы должны добавить к сообщению одну двоичную единицу и множество нулей таким образом, чтобы результирующая длина была равна 448 по модулю 512, см. [30]. Затем мы добавляем длину сообщения в битах как 64-битное целое число с прямым порядком байтов. Интересной особенностью спецификации и исходного кода Биткойна является то, что хеширование с полным SHA-256 применяется дважды.Это может показаться чрезмерным: одной «безопасной» хеш-функции должно быть достаточно. Это также значительно усложняет нашу работу по оптимизации добычи биткойнов. В первом применении SHA-256 при добыче биткойнов сообщение имеет фиксированную длину 640 бит, что требует двух приложений функции сжатия, как показано на рис. 4. Во втором приложении SHA-256 применяется к 256 битам. В целом «теоретически» нам нужны три применения функции сжатия, как уже показано на рис. 2, которые мы также показываем на рис.5 ниже для удобства. Таким образом, может показаться, что майнеру биткойнов необходимо вычислить функцию сжатия 3,0 раза для каждого одноразового номера и каждого хэша Меркла. В следующих разделах мы будем работать над снижением этого показателя в среднем до 1,86. Более подробная информация о внутренних механизмах SHA-256 будет предоставлена позже, когда они нам понадобятся, см. например Раздел 11.4. Мы напоминаем из раздела 6.2, что новые биткойны могут быть созданы, когда майнеру удастся хэшировать некоторые данные из сети биткойнов вместе с 32-битным случайным значением nonce и он сможет получить число из 256 бит, которое начинается с определенного числа 60 или больше нулей.Мы называем это проблемой ограниченного ввода-вывода или, вкратце, проблемой CISO. На рис. 5 мы напоминаем ключевые этапы этого процесса. Процесс необходимо повторить с разными значениями MerkleRoot и разными 32-битными одноразовыми номерами до тех пор, пока не будет найдена подходящая «конфигурация CISO», в которой выходные данные удовлетворяют целевому значению H 2 <, как описано в разделе 6.4. Мы можем почти мгновенно снизить коэффициент стоимости с 3,0 до 2,0, сделав следующее наблюдение. В процессе добычи биткойнов первая функция сжатия не зависит от случайного одноразового номера на 32 бита.Следовательно, мы можем вычислять его раз в 2 32 одноразовых номера. В среднем нам нужно 1 2. 0 + 2 32 функции сжатия. Добавленный фактор - это амортизированная стоимость первого хеша, им можно пренебречь. Важное замечание. В более продвинутых алгоритмах майнинга биткойнов майнеру не нужно вычислять результат для каждого одноразового номера. Он может сделать это только с некоторыми хорошо подобранными одноразовыми номерами. Они могут быть выбраны таким образом, чтобы получить конкретные значения, облегчающие вычисление. Более того, некоторые хорошо выбранные одноразовые номера могут быть сгенерированы в некотором определенном порядке, чтобы обеспечить возможность дополнительных вычислений.В инкрементных вычислениях некоторые вычисления можно было бы упростить, повторно используя все (известные) внутренние значения в одном или нескольких предыдущих вычислениях. Существует множество весьма нетривиальных оптимизаций, которые можно разработать. Один простой пример инкрементальных вычислений будет дан в Разделе 11.4, другой - в Разделе 11.9. Мы посмотрим на вычисление h3 на рис. 5, (второе вычисление хэш-функции и третья функция сжатия). Внимательное изучение показывает, что в последних раундах базового блочного шифра два слова по 32 бита, в которых мы хотим иметь по крайней мере 60 нулей, после добавления подходящей константы, создаются в раундах 60 и 61, если мы нумеруем от 0. .В основном мы хотим принудительно преобразовать значения, созданные на этапах t = 60 и 61, в две фиксированные константы, которые происходят из констант SHA-256 IV и которые будут давать нули на выходе. Для этого в большинстве случаев нам просто нужно вычислить первые 61 раунд из 64, и мы можем заранее отклонить большинство случаев. Только в 1/2 32 случаев нам нужно вычислить 62 раунда в третьей функции сжатия. Тогда только в некоторых 1/2 60 случаев, когда мы фактически получили по крайней мере 60 нулей, нам потребуется вычислить полные 64 раунда.Таким образом, в целом нужно только вычислить всю функцию сжатия, эквивалентную примерно 1 + 61/64 ≈ 1. В среднем 95 раз. В большинстве случаев достаточно вычислить только H 1 и 61 цикл H 2, чтобы досрочно отклонить полученное 32-битное значение, которое должно быть равно константе IV. Замечание 1. Эта цифра не точная и на самом деле несколько меньше. Это потому, что мы фактически можем сэкономить большую часть, примерно 3/48 процесса раскрытия сообщения, когда мы останавливаем наши вычисления на 61 раунде.Это связано с тем, что расширение сообщения вычисляется только в последних 48 раундах, в первых 16 раундах сообщение копируется cf. [30] и более поздний Рис. 10. Для простоты мы игнорируем расширение сообщения в наших расчетах. Замечание 2. Мы тщательно проверили порядок слов, изучив исходный код биткойна [6] и проведя компьютерные эксперименты. Интересный вопрос: что произошло бы, если бы разработчики биткойнов отформатировали вывод хеш-функции в обратном порядке.Если они требовали, чтобы 60 бит были равны 0 на противоположном конце по сравнению с текущим форматированием, то можно увидеть, что майнеру потребуется больше работы: 63 раунда из 64 в последнем применении функции сжатия. Это сделало бы майнинг более дорогим и свело бы на нет большую часть наших сбережений. Теперь мы посмотрим на второе вычисление хеш-функции во второй функции сжатия, вычисление h2 на рис. 5. Здесь мы используем наблюдение, что в SHA-256 ключом для первых 16 раундов являются ровно 16 блоков сообщений в в том же порядке, ср.[30] и рис. 10. Возможно, что во второй функции сжатия на рис. 5 одноразовый номер входит в раунд 3 (пронумерованный от 0), и поэтому в большинстве случаев нам просто нужно вычислить последний 61 раунд из 64 блочный шифр. Первые три раунда одинаковы для каждого одноразового номера, и их (амортизированная) стоимость почти равна нулю. Объединение Улучшение 2 ...
Контекст 7
... в этой части мы рассмотрим чисто специальный вопрос, который относится к симметричной криптографии, о том, существует ли криптографическая атака «короткого пути»: просто метод добычи биткойнов быстрее, чем грубая сила, или быстрее, чем тривиальный метод, в котором хеш-функция SHA-256 представляет собой черный ящик.Ответ очевиден: да, такой метод существует тривиально, и большинство разработчиков современного оборудования для майнинга биткойнов уже применили различные приемы, которые увеличивают скорость или / и снижают стоимость. Однако до сих пор эти вопросы не обсуждались публично и не представлялось возможным увидеть, как далеко можно зайти в этом направлении. В этой статье мы описываем серию более или менее нетривиальных оптимизаций процесса добычи биткойнов. Эти оптимизации очень важны, поскольку значительная вычислительная мощность на нашей планете уже затрачена на добычу биткойнов [34].Вопрос в том, какой метод добычи биткойнов является наиболее быстрым, учитывая конкретную структуру, показанную на рис. 2, и можем ли мы сохранить некоторые из шлюзов, необходимых для этой задачи. Ответ - да, мы можем. В этой статье мы первые, кто открыто разрабатывает такие методы и публикует их. Мы независимо изобрели эти методы с нуля, и, насколько нам известно, они свободны от каких-либо прав интеллектуальной собственности. Однако мы ожидаем, что разработчики ASIC уже выполнили аналогичные оптимизации, и некоторые из этих методов могли быть запатентованы.С 2009 года майнинг биткойнов прошел четыре основных этапа. Скорость операций с биткойнами измеряется в гигахешах в секунду или мегахэшах в секунду, поскольку эти операции, по сути, связаны с многократным вычислением стандартной хеш-функции SHA-256. Ни один источник не дает четкого определения H / s, поскольку скорость SHA-256 является переменной и зависит от длины данных. Мы вернемся к этому вопросу позже. 1. Первое поколение - программный майнинг с использованием процессоров. Первоначально любители выполняли эти вычисления дома с помощью программного обеспечения с открытым исходным кодом.Различные современные процессоры позволяют достичь примерно от 1 до 5 MH / s на ядро процессора. С помощью этой технологии майнер увеличивал количество энергии для производства одного гига-хэша в секунду. Например, мы подсчитали, что с процессорами Intel i5 нам потребуется около 50 4-ядерных процессоров, потребляющих 4000 Вт. Таким образом, потребляемая мощность составляет 4000 Вт на ГХ / с. 2. Второе поколение - программный майнинг с использованием графических процессоров. Графические процессоры произвели революцию в майнинге биткойнов, однако они НЕ всегда обеспечивали очень важную экономию по сравнению с процессорами.В некоторых случаях их потребление электроэнергии ненамного ниже, чем у процессоров. Другие решения более эффективны и позволяют майнить с энергопотреблением минимум в 10 раз ниже, чем при майнинге на CPU (см. [29]). Например, с Radeon 7790 мы получаем около 0,33 GH / s при потребляемой мощности 70 Вт. Это примерно 210 Вт на ГХ / с. 3. Третье поколение - аппаратный майнинг на ПЛИС. Затем майнеры использовали FPGA, не всегда достигая гораздо более высоких скоростей на устройствах с сопоставимой стоимостью и размером, но значительно снижая энергопотребление, до 100 раз по сравнению с майнингом на CPU.Например, для ModMiner Quad на базе 45-нм FPGA требуется около 50 Вт на Гх / с. 4. Четвертое поколение - аппаратный майнинг с помощью ASIC. Наконец, с середины 2013 года майнеры переходят к использованию специализированных микросхем для хэширования ASIC. Это еще больше снижает стоимость майнинга и, в частности, потребление энергии во много раз. Эти устройства могут достигать всего 0,35 Вт на Гх / с (объявление о предварительном заказе от Bitmine.ch ожидается в ноябре 2013 года). Как мы видим, с 2009 года энергоэффективность майнеров биткойнов повысилась почти в 10 000 раз.Недавние разработки вытеснили любителей из бизнеса и требуют от них вкладывать тысячи долларов и покупать специализированное оборудование. В то же время новые инновационные бизнес-предприятия зарабатывают деньги на продаже все более сложных устройств для добычи биткойнов. На момент написания ключевыми игроками в этом бизнесе являются американская компания Butterfly Labs, шведский майнер KNC, швейцарская компания Bitmine.ch, их российский конкурент BitFury и некоторые другие. Существует множество общедоступных данных о майнинге биткойнов.В апреле 2013 года было подсчитано, что майнеры биткойнов уже использовали около 982 мегаватт-часов каждый день, что достаточно для питания около 30 000 домов в США или эквивалента 150 000 долларов США в день по счетам за электричество. Тем не менее, они смогут получать около 0,7 миллиона долларов ежедневной прибыли [34]. В то время хешрейт составлял около 60 тера хешей в секунду. На момент написания (22 октября 2013 г.) хешрейт достиг 3000 Тера Хеш / с из-за массового перехода с майнинга GPU и FPGA на майнинг ASIC. Однако потребление энергии, вероятно, снизилось из-за того, что последние устройства для майнинга более эффективны, см. Раздел 12.Майнинг биткойнов известен как высокодоходный бизнес. Доступны некоторые онлайн-инструменты для расчета прибыльности биткойнов на основе цены на электроэнергию, ср. [1]. Мы утверждаем, что будут дальнейшие улучшения в базовой технологии. В науке не все можно улучшить. Что интересно, в бизнесе мы привыкли видеть, что более или менее каждая технология, имеющая определенное экономическое влияние, может систематически улучшаться каждый год. Это, например, отражено в знаменитом законе Мура.Мы не видим причин, по которым могло бы быть иначе с базовой алгоритмической технологией, лежащей в основе майнинга биткойнов, независимо от вопроса об эффективной аппаратной реализации этой технологии. Такие улучшения неизбежны. В конечном итоге мы считаем, что рано или поздно появятся значительно более совершенные технологии для добычи биткойнов, будь то квантовые компьютеры или методология, принципиально отличная от известной в настоящее время. Чтобы закрепить идеи, мы называем это утверждение сверхоптимистическим предположением.Интересный аспект заключается в том, что исследователи, которые могут создать такие улучшения, смогут заработать много денег, добывая биткойны и ...
Контекст 8
... примерно от 1 до 5 MH / s на процессор основной. С помощью этой технологии майнер увеличивал количество энергии для производства одного гига-хэша в секунду. Например, мы подсчитали, что с процессорами Intel i5 нам потребуется около 50 4-ядерных процессоров, потребляющих 4000 Вт. Таким образом, потребляемая мощность составляет 4000 Вт на ГХ / с.2. Второе поколение - программный майнинг с использованием графических процессоров. Графические процессоры произвели революцию в майнинге биткойнов, однако они НЕ всегда обеспечивали очень важную экономию по сравнению с процессорами. В некоторых случаях их потребление электроэнергии ненамного ниже, чем у процессоров. Другие решения более эффективны и позволяют майнить с энергопотреблением минимум в 10 раз ниже, чем при майнинге на CPU (см. [29]). Например, с Radeon 7790 мы получаем около 0,33 GH / s при потребляемой мощности 70 Вт. Это примерно 210 Вт на ГХ / с.3. Третье поколение - аппаратный майнинг на ПЛИС. Затем майнеры использовали FPGA, не всегда достигая гораздо более высоких скоростей на устройствах с сопоставимой стоимостью и размером, но значительно снижая энергопотребление, до 100 раз по сравнению с майнингом на CPU. Например, для ModMiner Quad на базе 45-нм FPGA требуется около 50 Вт на Гх / с. 4. Четвертое поколение - аппаратный майнинг с помощью ASIC. Наконец, с середины 2013 года майнеры переходят к использованию специализированных микросхем для хэширования ASIC. Это еще больше снижает стоимость майнинга и, в частности, потребление энергии во много раз.Эти устройства могут достигать всего 0,35 Вт на Гх / с (объявление о предварительном заказе от Bitmine.ch ожидается в ноябре 2013 года). Как мы видим, с 2009 года энергоэффективность биткойн-майнеров повысилась почти в 10 000 раз. Последние события вытеснили любителей из бизнеса и требуют от них инвестировать тысячи долларов и покупать специализированное оборудование. В то же время новые инновационные бизнес-предприятия зарабатывают деньги на продаже все более сложных устройств для добычи биткойнов.На момент написания ключевыми игроками в этом бизнесе являются американская компания Butterfly Labs, шведский майнер KNC, швейцарская компания Bitmine.ch, их российский конкурент BitFury и некоторые другие. Существует множество общедоступных данных о майнинге биткойнов. В апреле 2013 года было подсчитано, что майнеры биткойнов уже использовали около 982 мегаватт-часов каждый день, что достаточно для питания около 30 000 домов в США или эквивалента 150 000 долларов США в день по счетам за электричество. Тем не менее, они смогут получать около 0,7 миллиона долларов ежедневной прибыли [34].В то время хешрейт составлял около 60 тера хешей в секунду. На момент написания (22 октября 2013 г.) хешрейт достиг 3000 Тера Хеш / с из-за массового перехода с майнинга GPU и FPGA на майнинг ASIC. Однако потребление энергии, вероятно, снизилось из-за того, что последние устройства для майнинга более эффективны, см. Раздел 12. Майнинг биткойнов, как известно, является высокодоходным бизнесом. Доступны некоторые онлайн-инструменты для расчета прибыльности биткойнов на основе цены на электроэнергию, ср.[1]. Мы утверждаем, что будут дальнейшие улучшения в базовой технологии. В науке не все можно улучшить. Что интересно, в бизнесе мы привыкли видеть, что более или менее каждая технология, имеющая определенное экономическое влияние, может систематически улучшаться каждый год. Это, например, отражено в знаменитом законе Мура. Мы не видим причин, по которым могло бы быть иначе с базовой алгоритмической технологией, лежащей в основе майнинга биткойнов, независимо от вопроса об эффективной аппаратной реализации этой технологии.Такие улучшения неизбежны. В конечном итоге мы считаем, что рано или поздно появятся значительно более совершенные технологии для добычи биткойнов, будь то квантовые компьютеры или методология, принципиально отличная от известной в настоящее время. Чтобы закрепить идеи, мы называем это утверждение сверхоптимистическим предположением. Интересный аспект заключается в том, что исследователи, способные создавать такие улучшения, смогут заработать много денег, добывая биткойны и продавая их по рыночной цене, или лицензируя свои алгоритмические улучшения для майнеров.Более того, даже крошечное повышение энергоэффективности на 1% может быть прибыльным, поскольку оно уже принесет ощутимую экономию на счетах за электроэнергию в тысячи долларов. В этой статье мы показываем, что такие улучшения возможны, см. Раздел 12. Однако мы не утверждаем, что приближаемся к пятому поколению майнеров биткойнов. Мы достигли лишь умеренных успехов в этой задаче, и поэтому наш результат похож на поколение 4.1. майнеров биткойнов, небольшое улучшение. Мы предлагаем наши улучшения бесплатно и не планируем их патентовать.В этом разделе мы повторно посещаем и расширяем наше техническое объяснение внутреннего устройства майнинга биткойнов из раздела 6.3. Напомним, что мы можем рассматривать проблему майнинга биткойнов как специфическую проблему симметричной криптографии, которую мы назвали «хеш-головоломкой CISO». Он включает три применения блочного шифра. Мы уже обрисовали этот подход на рис. 2, а теперь объясним его во всех подробностях. Наш анализ следует спецификации NIST для SHA-256 [30] и проверке исходного кода Биткойна [6].Мы используем очень похожие обозначения и графические соглашения, что и ведущие специалисты по SHA-256 в криптографической литературе, см., Например, [35, 40]. Мы начнем с напоминания о том, как устроена функция SHA-256, а затем покажем, как именно он используется в майнинге биткойнов. SHA-256 - это хеш-функция, построенная на основе блочного шифра по хорошо известной конструкции Дэвиса-Мейера, в которой входные данные в конце добавляются к выходным. Эта конструкция является одним из известных методов преобразования блочного шифра в функцию сжатия.Функция сжатия - это строительный блок хеш-функции с фиксированным размером ввода. Обычно он в два раза больше выходного размера. В нашем случае у нас есть функция сжатия от 512 до 256 бит, ср. Рис. 3. Размер блока в этом блочном шифре составляет 256 бит, размер ключа - 512 бит, который расширяется до 64 подключей по 32 бита каждый для каждого из 64 раундов шифра. Первые 16 подключей для первых 16 раундов идентичны сообщению и копируются в том же порядке cf. [30] и позже рис.10. Кроме того, для хеширования полного сообщения SHA-256 применяет заполнение Меркла-Дамгарда и расширение длины, что делает его безопасной хеш-функцией для сообщений переменной длины. На этапе предварительной обработки мы должны добавить к сообщению одну двоичную единицу и множество нулей таким образом, чтобы результирующая длина была равна 448 по модулю 512, см. [30]. Затем мы добавляем длину сообщения в битах как 64-битное целое число с прямым порядком байтов. Интересной особенностью спецификации и исходного кода Биткойна является то, что хеширование с полным SHA-256 применяется дважды.Это может показаться чрезмерным: одной «безопасной» хеш-функции должно быть достаточно. Это также значительно усложняет нашу работу по оптимизации добычи биткойнов. В первом применении SHA-256 при добыче биткойнов сообщение имеет фиксированную длину 640 бит, что требует двух приложений функции сжатия, как показано на рис. 4. Во втором приложении SHA-256 применяется к 256 битам. В целом «теоретически» нам нужны три применения функции сжатия, как уже показано на рис. 2, которые мы также показываем на рис.5 ниже для удобства. Таким образом, может показаться, что майнеру биткойнов необходимо вычислить функцию сжатия 3,0 раза для каждого одноразового номера и каждого хэша Меркла. В следующих разделах мы будем работать над снижением этого показателя в среднем до 1,86. Более подробная информация о внутренних механизмах SHA-256 будет предоставлена позже, когда они нам понадобятся, см. например Раздел 11.4. Мы напоминаем из раздела 6.2, что новые биткойны могут быть созданы, когда майнеру удастся хэшировать некоторые данные из сети биткойнов вместе с 32-битным случайным значением nonce и он сможет получить число из 256 бит, которое начинается с определенного числа 60 или больше нулей.Мы называем это проблемой ограниченного ввода-вывода или, вкратце, проблемой CISO. На рис. 5 мы напоминаем ключевые этапы этого процесса. Процесс необходимо повторить с разными значениями MerkleRoot и разными 32-битными одноразовыми номерами до тех пор, пока не будет найдена подходящая «конфигурация CISO», в которой выходные данные удовлетворяют целевому значению H 2 <, как описано в разделе 6.4. Мы можем почти мгновенно снизить коэффициент стоимости с 3,0 до 2,0, сделав следующее наблюдение. В процессе добычи биткойнов первая функция сжатия не зависит от случайного одноразового номера на 32 бита.Следовательно, мы можем вычислять его раз в 2 32 одноразовых номера. В среднем нам нужно 1 2. 0 + 2 32 функции сжатия. Добавленный фактор - это амортизированная стоимость первого хеша, им можно пренебречь. Важное замечание. В более продвинутых алгоритмах майнинга биткойнов майнеру не нужно вычислять результат для каждого одноразового номера. Он может сделать это только с некоторыми хорошо подобранными одноразовыми номерами. Они могут быть выбраны таким образом, чтобы получить конкретные значения, облегчающие вычисление. Более того, некоторые хорошо выбранные одноразовые номера могут быть сгенерированы в некотором определенном порядке, чтобы обеспечить возможность дополнительных вычислений.В инкрементных вычислениях некоторые вычисления можно было бы упростить, повторно используя все (известные) внутренние значения в одном или нескольких предыдущих вычислениях. Существует множество весьма нетривиальных оптимизаций, которые можно разработать. Один простой пример инкрементальных вычислений будет дан в Разделе 11.4, другой - в Разделе 11.9. Мы посмотрим на вычисление h3 на рис. 5, (второе вычисление хэш-функции и третья функция сжатия). Внимательное изучение показывает, что в последних раундах базового блочного шифра два слова по 32 бита, в которых мы хотим иметь по крайней мере 60 нулей, после добавления подходящей константы, создаются в раундах 60 и 61, если мы нумеруем от 0. .В основном мы хотим принудительно преобразовать значения, созданные на этапах t = 60 и 61, в две фиксированные константы, которые происходят из констант SHA-256 IV и которые будут давать нули на выходе. Для этого в большинстве случаев нам просто нужно ...
Контекст 9
... Насколько мы можем видеть, ни один серьезный академический криптолог публично не выразил свою веру в биткойны и их безопасность. Напротив, криптографическое сообщество, а также сообщество разработчиков программного обеспечения, полно высокопроизводительных взломщиков кода, способных ежедневно обнаруживать новые атаки и эксплойты в защищенных системах, таких как биткойн.Основным источником информации в этой области является статья, опубликованная на Financial Cryptography 2012 [4]. В этом документе четко объясняется, что были опубликованы сотни научных работ, направленных на повышение эффективности и безопасности создания электронных денег. В то же время авторы объясняют, что биткойн - довольно простая система, не использующая замысловатой криптографии и отнюдь не идеальная. Затем они анализируют безопасность системы биткойнов с разных сторон и рассматривают множество интересных атак, см. [4]. В этой статье мы в основном рассматриваем вопросы о том, как работает биткойн и как именно работает майнинг биткойнов.Мы пытаемся понять, можно ли улучшить этот процесс, чтобы сделать его более эффективным. Позже мы посмотрим, каковы последствия того, что мы узнали. Цель майнера - решить некую криптографическую задачу, которую мы позже назовем проблемой хеширования CISO. Решение будет называться блоком CISO. Подавляющее большинство майнеров игнорируют, что именно они делают, они используют программное обеспечение с открытым исходным кодом или приобрели какое-то оборудование для очень эффективного майнинга. Однако майнеры должны знать, что операция выполняется очень своевременно и что они должны быть постоянно подключены к сети.Решения этих головоломок связаны друг с другом и образуют уникальную цепочку решений. Обычно это называется цепочкой блоков. Вся цепочка блоков опубликована в Интернете. Со всем этим можно, например, проконсультироваться по адресу. Все обнаруженные новые блоки нужно как можно быстрее транслировать всем участникам сети. Майнеры должны быть очень активными, и они делают это, потому что это в их интересах (примечание: в недавно опубликованной статье предлагается другая стратегия [28]). Им необходимо прослушивать трансляции, чтобы получать данные о последних транзакциях, которые они должны одобрить.Затем им нужно транслировать любое решение (блок CISO), которое они нашли, как только они его нашли, потому что их решение, скорее всего, будет частью «основной цепочки блоков», только если оно широко известно. Как только решение известно, оно «отговаривает» других майнеров от поиска того же блока. Вместо этого они могут сконцентрироваться на поиске следующего блока, который подтвердит текущий блок и позволит майнеру потребовать от него вознаграждение за создание этого блока CISO. Наша цель - прояснить, как работает эта система.В этом разделе мы рассматриваем статическую вычислительную задачу, которую необходимо решить. В разделе 7 мы более подробно объясним динамику производства биткойнов в долгосрочной перспективе: как эта проблема изменяется со временем предопределенным образом. Проблема добычи биткойнов очень тесно связана с хорошо известными проблемами криптографии. Один из важных вопросов заключается в следующем: чем майнинг биткойнов отличается от традиционных вопросов криптоанализа блочных шифров и хэш-функций, и есть ли более эффективный способ добычи биткойнов.Сначала мы собираемся кратко описать проблему как задачу статических вычислений для определенного блочного шифра. Затем мы рассмотрим, как проблема развивается во времени и как решения проблемы CISO конвертируются в акции в валюте биткойнов. Наконец, мы собираемся изучить возможные решения и оптимизации. Новые биткойны могут быть созданы, если майнер может хэшировать некоторые данные из сети биткойнов вместе с 32-битным случайным значением nonce и получить 256-битное число, которое начинается с определенного количества нулей.Мы называем эту проблему CISO: C onstrained I nput S mall O utput. Это можно рассматривать как частный случай проблемы, которую иногда называют CICO, что означает проблему напряженных входов и выходов. Эта терминология была недавно введена в ходе исследования последней стандартизированной правительственной хеш-функции SHA-3, известной как Keccak. SHA-3 - это последняя функция в семействе SHA и преемник SHA-256, используемый в биткойнах [2]. Можно утверждать, что это означает, что алгоритм SHA-256 биткойнов рассматривается NIST США и более широким сообществом инженеров криптографии как НЕ достаточно безопасный для долгосрочной безопасности.Такого рода проблемы CISO / CICO не новы, с тех пор они очень часто изучаются в криптоанализе хэш-функций, и существуют бесконечные варианты этих проблем для конкретных хеш-функций, некоторые примеры можно найти в [2, 24, 40]. Точные детали конкретной проблемы с ограниченным вводом и малым выводом (CISO), которая существует в биткойнах, описаны ниже. Его можно получить, изучив исходный код биткойна, см. [6, 7]. И код для майнинга биткода, и для всей сети биткойнов открыт, и поэтому процесс относительно прозрачен.На рис. 2 мы показываем криптографические вычисления, которые много раз выполняются майнерами биткойнов. Этот рисунок подчеркивает внутреннюю структуру хэш-функции SHA-256. Входы и ограничения на эти входы подробно описаны в Разделе 6.5 ниже. SHA-256 - это хеш-функция, построенная из блочного шифра по так называемой конструкции Дэвиса-Мейера. Принцип конструкции Дэвиса-Мейера заключается в том, что входное значение в конце добавляется к выходному и что оно преобразует алгоритм шифрования в алгоритм «хеширования», строительный элемент стандартной хеш-функции.Базовый блочный шифр имеет 64 раунда и, следовательно, 2048-битный расширенный внутренний ключ (64x32 бит). Этот ключ получается из подлежащего сжатию блока сообщения, который имеет 512 бит на входе и расширяется четыре раза, чтобы сформировать этот 2048-битный внутренний ключ для нашего блочного шифра. В каком-то смысле на рис. 2 мы преобразуем проблему добычи биткойнов или решения хеш-задач CISO в конкретную проблему с тремя различными приложениями блочного шифра, который лежит в основе SHA-256, соединенных вместе, чтобы сформировать определенную схему.Более подробная информация об этой внутренней работе SHA-256, используемой в майнинге биткойнов, будет приведена в разделе 10. Целью хеширования CISO является создание решений, которые правильно сформированы в том смысле, что они удовлетворяют всем необходимым условиям и ограничениям. которые мы собираемся подробно объяснить в Разделе 6.5. Майнер пытается найти решение проблемы CISO, например ...
Контекст 10
... как работает биткойн и как именно работает майнинг биткойнов. Мы пытаемся понять, можно ли улучшить этот процесс, чтобы сделать его более эффективным.Позже мы посмотрим, каковы последствия того, что мы узнали. Цель майнера - решить некую криптографическую задачу, которую мы позже назовем проблемой хеширования CISO. Решение будет называться блоком CISO. Подавляющее большинство майнеров игнорируют, что именно они делают, они используют программное обеспечение с открытым исходным кодом или приобрели какое-то оборудование для очень эффективного майнинга. Однако майнеры должны знать, что операция выполняется очень своевременно и что они должны быть постоянно подключены к сети.Решения этих головоломок связаны друг с другом и образуют уникальную цепочку решений. Обычно это называется цепочкой блоков. Вся цепочка блоков опубликована в Интернете. Со всем этим можно, например, проконсультироваться по адресу. Все обнаруженные новые блоки нужно как можно быстрее транслировать всем участникам сети. Майнеры должны быть очень активными, и они делают это, потому что это в их интересах (примечание: в недавно опубликованной статье предлагается другая стратегия [28]). Им необходимо прослушивать трансляции, чтобы получать данные о последних транзакциях, которые они должны одобрить.Затем им нужно транслировать любое решение (блок CISO), которое они нашли, как только они его нашли, потому что их решение, скорее всего, будет частью «основной цепочки блоков», только если оно широко известно. Как только решение известно, оно «отговаривает» других майнеров от поиска того же блока. Вместо этого они могут сконцентрироваться на поиске следующего блока, который подтвердит текущий блок и позволит майнеру потребовать от него вознаграждение за создание этого блока CISO. Наша цель - прояснить, как работает эта система.В этом разделе мы рассматриваем статическую вычислительную задачу, которую необходимо решить. В разделе 7 мы более подробно объясним динамику производства биткойнов в долгосрочной перспективе: как эта проблема изменяется со временем предопределенным образом. Проблема добычи биткойнов очень тесно связана с хорошо известными проблемами криптографии. Один из важных вопросов заключается в следующем: чем майнинг биткойнов отличается от традиционных вопросов криптоанализа блочных шифров и хэш-функций, и есть ли более эффективный способ добычи биткойнов.Сначала мы собираемся кратко описать проблему как задачу статических вычислений для определенного блочного шифра. Затем мы рассмотрим, как проблема развивается во времени и как решения проблемы CISO конвертируются в акции в валюте биткойнов. Наконец, мы собираемся изучить возможные решения и оптимизации. Новые биткойны могут быть созданы, если майнер может хэшировать некоторые данные из сети биткойнов вместе с 32-битным случайным значением nonce и получить 256-битное число, которое начинается с определенного количества нулей.Мы называем эту проблему CISO: C onstrained I nput S mall O utput. Это можно рассматривать как частный случай проблемы, которую иногда называют CICO, что означает проблему напряженных входов и выходов. Эта терминология была недавно введена в ходе исследования последней стандартизированной правительственной хеш-функции SHA-3, известной как Keccak. SHA-3 - это последняя функция в семействе SHA и преемник SHA-256, используемый в биткойнах [2]. Можно утверждать, что это означает, что алгоритм SHA-256 биткойнов рассматривается NIST США и более широким сообществом инженеров криптографии как НЕ достаточно безопасный для долгосрочной безопасности.Такого рода проблемы CISO / CICO не новы, с тех пор они очень часто изучаются в криптоанализе хэш-функций, и существуют бесконечные варианты этих проблем для конкретных хеш-функций, некоторые примеры можно найти в [2, 24, 40]. Точные детали конкретной проблемы с ограниченным вводом и малым выводом (CISO), которая существует в биткойнах, описаны ниже. Его можно получить, изучив исходный код биткойна, см. [6, 7]. И код для майнинга биткода, и для всей сети биткойнов открыт, и поэтому процесс относительно прозрачен.На рис. 2 мы показываем криптографические вычисления, которые много раз выполняются майнерами биткойнов. Этот рисунок подчеркивает внутреннюю структуру хэш-функции SHA-256. Входы и ограничения на эти входы подробно описаны в Разделе 6.5 ниже. SHA-256 - это хеш-функция, построенная из блочного шифра по так называемой конструкции Дэвиса-Мейера. Принцип конструкции Дэвиса-Мейера заключается в том, что входное значение в конце добавляется к выходному и что оно преобразует алгоритм шифрования в алгоритм «хеширования», строительный элемент стандартной хеш-функции.Базовый блочный шифр имеет 64 раунда и, следовательно, 2048-битный расширенный внутренний ключ (64x32 бит). Этот ключ получается из подлежащего сжатию блока сообщения, который имеет 512 бит на входе и расширяется четыре раза, чтобы сформировать этот 2048-битный внутренний ключ для нашего блочного шифра. В каком-то смысле на рис. 2 мы преобразуем проблему добычи биткойнов или решения хеш-задач CISO в конкретную проблему с тремя различными приложениями блочного шифра, который лежит в основе SHA-256, соединенных вместе, чтобы сформировать определенную схему.