Содержание

Что Значит Хэш? Как работает в майнинге (простыми словами)

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

Как работает хэш

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

Блокчейн содержит только надежные, проверенные транзакции и тем самым предотвращает мошеннические операции и двойные траты.

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

Особенности:

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

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

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

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

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

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

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

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

Пример хэша

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

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

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

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

О чем говорит хеш в майнинг-фермах?

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

Что такое хеш в майнинге?

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

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

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

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

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

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

Как появляется хеш

Для генерации нового хеша решается сложная математическая задача. Этим занимаются графические процессоры, которые содержатся в видеокартах, или процессоры ASIC – специальные интегральные схемы, которые «заточены» на решение определенной задачи.

Скорость добычи блоков — это хешрейт. Чем больше хешей ваше оборудование может сгенерировать – тем больше блоков вы можете записать в блокчейн. И тем больше комиссии за проделанную работу вы получите.

От чего зависит хешрейт

Каждая криптовалюта майнится на определенном алгоритме, и скорость добычи блоков зависит от его сложности. Например, для вычисления хеша для биткоина используется алгоримт SHA-256, для добычи эфира — Ethash, для лайткоина — алгоритм Scrypt. Это значит, что одна и та же видеокарта с одинаковыми физическими параметрами может иметь разный хешрейт, в отличие от ASIC. У них хешрейт всегда один, поскольку интегральные схемы выпускаются только под один алгоритм. То есть на ASIC для добычи биткоина нельзя добывать эфир.

Как рассчитать хешрейт

Рассчитать хешрейт и прибыль с майнинга можно с помощью калькулятора Whattomine.

Например, у одной видеокарты AMD Radeon RX Vega 64 хешрейт при добычи разных монет отличается. Для алгоритма Ethash – 40 Mh/s, а для Equihash, на котором добывается Bitcoin Gold – 450 h/s.

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

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

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

Майнинг

16.08.2021

Комментариев: 0

Просмотров: 764

Читать: 6 мин

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

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

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

Функция хэширования или хэш-функция (hash-function), или функция свертки  –

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

Хэш — это, простыми словами, выходное значение хэш-функции, то есть полученный блок фиксированный длины.

Хэш также называют «хеш-кодом», «хеш-суммой» и «сводкой сообщения».

Хеш или хэш — как правильно?

Слово хэш берет начало с английского выражения hash — «превращать в фарш», «мешанина». В русскоязычном сообществе распространена как транслитерация “хеш”, так и написание через “э” — “хэш”.

Свойства хеш-функций

Хэш обеспечивает безопасность всего блокчейна, в этом его основная функция.

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

Но сначала обратимся еще к одному понятию:

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

Теперь рассмотрим свойства хэш-функций:

  • Детерминированность. Не имеет значения, сколько будет проведено преобразований, на выходе получается один и тот же хэш. Данное свойство дает возможность отследить исходную информацию.
  • Оперативное вычисление. Хэш-функции необходимо как можно быстрее обеспечить возвращение исходной информации, иначе вся система окажется неэффективной.
  • Устойчивость к коллизиям. Данное свойство обеспечивает надежную безопасность цифровых монет.

Хеширование в блокчейне Биткоин

Биткоин работает на блокчейне и использует алгоритм хеширования SHA-256 (алгоритм криптографического хеширования 256). Данный алгоритм позволяет преобразовать любой объем информации в строку из 64 символов.

В случае с биткоином хеш-функции выполняют три основные задачи: 

  1. Майнинг – майнеры конкурируют за решение задач. Каждый майнер берет информацию из блоков, о которых они уже знают и выстраивают из них новый блок. Если на выходе алгоритм выдает значение, меньше целевой цифры, оно считается действительным и может быть принято остальными участниками сети. Майнер получает право на создание следующего блока.
  2. Соединение блоков – в целях дополнительной безопасности. Каждый блок в блокчейне связан с предыдущим, что достигается посредством хеш-указателя (переменные, хранящие адрес другой переменной). Каждый блок содержит результат хеширования от предыдущего блока в блокчейне. Благодаря этой функции можно легко отслеживать историю в блокчейне и исключить добавления вредоносного блока в сеть.
  3. Создание ключей – чтобы отправить или получить криптовалюту необходимы частный и публичный ключи. Оба ключа связаны друг с другом через хеш-функцию. Это неотъемлемый компонент, который исключает получение вашего частного ключа третьими лицами.

Процесс майнинга (биткоинов) осуществляется следующим образом:

  • Берется хэш содержимого нового блока.
  • К хешу добавляется одноразовый номер (случайная строка).
  • Новая строка снова хешируется.
  • Затем окончательный хэш сравнивается с уровнем сложности и проверяется, действительно ли он меньше этого или нет.
  • Если нет, то одноразовый номер изменяется, и процесс повторяется снова.
  • Если да, то блок добавляется в цепочку, а публичный реестр обновляется и получает уведомление о добавлении.
  • Майнеры, ответственные за это, награждаются биткоинами.

Заключение: почему это важно?

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

С помощью хеш-функции можно достигать высокого уровня безопасности систем.Также она позволяет хешировать пароли и шифровать другие данные.

Что такое хеш-функция биткоина?

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

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

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

Алгоритм, используемый биткоином для хеш-функции SHA-256, создаёт 256-битный хеш и требует предсказуемый объём вычислительной мощности компьютера.

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

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

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

Хеш-функция и сложность майнинга

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

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

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

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

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

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

Новости от Happycoin News доступны теперь и в Яндекс.Мессенджер

Загрузка…

Виктор блоггер, философ, творческая личность. Его страсть к словам и чудесам цифрового мира – вот что побуждает его писать для вас.

Что делает компьютер во время майнинга криптовалют простыми словами







Информация о материале


Опубликовано: 17.01.2020, 04:41

Понятие майнинг криптовалют знакомо многим не понаслышке, т.к. запускать программу для майнинга пробывали наверно уже все опытные пользователи ПК. Тот факт, что с помощью майнинга добывается криптовалюта и на этом можно заработать, знаком тоже многим. А вот, что конкретно делает компьютер или asic (специализированное устройство для майнинга) во время майнинга, зачем перебирать какие-то хеши, т.е. техническую сторону вопроса, уже знакома более узкому кругу пользователей. Из-за этого в сети возникает множество «теорий заговора», на подобие того, что Bitcoin это чей-то проект по завладению огромной вычислительной мощности для взламывания Пентагона или других подобных организаций. Что компьютерные мощности криптовалют используются для секретных научных разработок, общения с инопланетным разумом, а сами криптовалюты придумали как прикрытие для всех этих «темных дел». Далее мы постараемся наиболее понятно осветить процесс майнинга биткойна и какие задачи решает Ваш компьютер в это время, что бы Вы смогли более точно представлять техническую часть процесса майнинга, а на все «теории заговора» Вы смотрели как на не самую удачную шутку. 


 Сначала приведем небольшую теорию по технологии Блокчейн (Blockchain) для тех кто еще не знаком с этим понятием. 

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

Для аналогии blockchain можно представить как папку с листами, а блок здесь будет листом, на котором записаны транзакции между кошельками. Нахождение очередного блока означает, что в папку был добавлен новый лист с новыми данными (переводами). Все листы при этом пронумерованы и лежат по порядку.

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

Т.е. Blockchain это архив всех переводов, которые существуют и его нельзя подделать.

Что бы Blockchain обладал 100% надежностью и люди полностью доверяли сделкам через блокчейн, используется несколько технологий, в том числе и проверка работы, т.е. Proof of Work майнинг.

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

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

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

Хеш-функция (алгоритм хеширования)- способ с помощью которого происходит шифрование. Написать текст задом наперед, заменить все буквы цифрами или объединить оба этих способа тоже можно назвать хеш-функцией. Для Bitcoin хеш-функция гораздо сложнее и называется SHA-256, Ethereum — Dagger Hashimoto, Litecoin — Scrypt.

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

Сложность хеширования (сложность майнинга) — для криптовалют сложность хеширования задается за счет включения дополнительного условия при создании хеш-сумм. Для этого в начале хеш-суммы добавляется неизменяемое число ноль (0). С увеличением сложности количество нулей в начале  хеш-суммы увеличивается. На данный момент хеш-сумма Bitcoin в обязательном порядке должна содержать 18 нулей.

Транзакция (перевод) — информация по передаче криптовалюты с одного адреса на другой, при этом эта информация так же хешируется в строку из 64 символов той же хеш-функцией (SHA-256 для биткойна), причем дважды. Хеширование транзакций происходит быстро, т.к. нету дополнительный условия к созданию хеш-функций, в отличии от нахождения хеш-функции всего блока. Хеш-сумму транзакции обычно называют TxID.

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

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

Зная и понимая терминологию можно уже понять что же на самом деле делает компьютер (процессор, видеокарта, asic, fpga) во время майнинга криптовалют

Вернемся к блоку, который все так усердно «ищут». Блок содержит в себе следующую информацию: хеш-сумму предыдущего блока, хеш-сумму всех включенных в него транзакций и число nonce. Хеш-сумма предыдущего блока нужна для защиты от записи в блокчейн недостоверной информации, хеш-суммы транзакций берутся из мем пула (Mempool), в котором хранятся все не подтвержденные транзакции. При этом стоит отметить, что каждый майнер берет из мемпула свой набор транзакций, т.е. каждый ищет свой блок (свою хеш-сумму), а не вся сеть ищет какой-то определенный блок. Нонсер или произвольное число служит, как мы уже говорили, для облегчения поиска хеш-суммы блока с заданной сложностью. Т.к. если бы в данных были только хеш-суммы транзакций и предыдущего блока, то возможен такой вариант, что найти хеш-сумму из текущих данных в мемпуле будет вообще невозможно, не говоря уже о времени поиска блока, который стремится к заданному значению (10 минут у биткоин).

Наглядный пример поиска нового блока, хеш-суммы или майнинга криптовалюты:

В данном примере рассчитано 4 хеш-суммы с разными Nonce числами (3001, 3002, 3003, 3004), хеш-суммы предыдущего блока и хеш-суммы транзакции остаются без изменений. 

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

Таким образом получаем, что майнинг криптовалют это подбор произвольного числа Nonce с последующим хешированием, что бы получаемая хеш-сумма блока после хеширования отвечала требованиям сложности сети (имела нужное количество нулей). Т.к. процесс хеширования не моментальный процесс и требует математических и логических операций от компьютера, поэтому для каждого алгоритма то или иное оборудование имеет свою скорость хеширования. Например, при хешировании по алгоритму Dagger-Hashimoto или Ethash видеокарта AMD Radeon RX580 в течении одной секунды хеширует 30 миллионов вариантов хеш-сумм с различным числом Nonce. Собственно поэтому и говорят, видеокарта RX580 выдает 30 мегахеш (MH/s). При этом скорость хеширования зависит не только от оборудования, но и от алгоритма шифрования, сложности майнинга и программного обеспечения (майнеров). 

Вся информация по блокам открыта в свободном доступе. Для биткоин можно посмотреть на сайте Blockchain.com. Пример блока под номером 613181 можно посмотреть ниже:

 

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

Теперь Вы, наверно, спросите: «Зачем вообще все этого нужно?». Ответ на этот вопрос лежит в самой технологии блокчейн, которой для защиты данных от взлома нужно обеспечить определенный интервал появления новых блоков. И этот временной интервал как раз регулируется сложностью майнинга, а сам майнинг служит доказательством работы (Proof of Work), за которую майнер получает награду в виде вновь выпущенной криптовалюты в найденом им блоке. Совершаемая при этом работа тоже не бесплатна, т.к. требует покупки оборудования и траты ресурсов (электроэнергии). Поэтому и выстраивается устойчивая экономическая модель криптовалют, за счет которой у криптовалют появляется начальная материальная ценность в обществе.

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

Что такое хэшрейт? — Cripta Me

Скорость хеширования вычисляется в хешах в секунду (h / s).

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

  • килохеш (KH / s) используется для 1000 хешей,
  • мегахеш (MH / s) для 1000 килохешей,
  • терахеш (TH / s) для 1000 мегахешей,
  • петахеш (PH / s) для 1000 терахешей.

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

Например, майнинг-машина для добычи биткойна имеет разную хеш-скорость, с той, которая добывает ethereum. Это определяется различными алгоритмами, используемыми криптовалютами, поскольку они не используют одинаковый объём памяти и вычислений для добычи.

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

Влияние Электроэнергии На Рентабельность
Для прибыльности рассмотрим биткоин. В настоящее время устройство для добычи биткойнов, такое как ASIC, имеет мощность добычи примерно 12 терахешей в секунду. Если прикинуть сложность на сегодня, то машина может производить 0.318 BTC в год.

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

Чем сложнее майнинг криптовалюты, тем больше стоимость электроэнергии.

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

Что такое Хешрейт и как его узнать?

Получи скидку 3%! Используй бонус код: HF17TOPBTC3

В Bitcoin сети единица вычислительной мощности – это хешрейт. Добыча криптовалюты называется майнингом. Его суть заключается в том, что компьютеры для получения криптомонет должны решить математические задачи. Когда «шахтер» решает это задание, он зарабатывает денежную награду. Выпуском криптовалюты занимается не один центр, что гарантирует некоторый уровень защиты.

История всех операций записывается в общем доступе. А цель майнеров заключается в том, чтобы методом перебора подобрать необходимый хэш из всех возможных комбинаций. Данный хэш соответствует секретному ключу и дает доступ к новым операциям. Таким образом, при решении задачи майнер получает минимум 25 монет единоразово. В определении хеша участвует сразу множество девайсов. Как только кто-то «угадывает» комбинацию, открывается новый блок, и все начинается заново.

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

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

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

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

Как узнать хешрейт?

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

  • Производитель специального майнингового аппарата или видеокарты. При общих одинаковых параметрах техника от двух разных производителей будет вести себя по-разному.
  • Слот, в который подключается техника к материнской плате. Удивительно, но иногда от переподключения даже в один и тот же слот, хэшрейт может упасть или значительно подняться.
  • Алгоритм, с которым вы работаете. Разное оборудование с разной скоростью работает с существующими алгоритмами. Например, при определенном числе вычислений при работе с алгоритмом Script скорость работы с SHA будет другой.

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

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

Есть ли способ проще?

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

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

Что такое хеш-функция в транзакции блокчейна? — Bitpanda Academy

Термин «хеш-функция» происходит от французского слова «hacher», что означает «нарезать на мелкие кусочки», что указывает на то, как хеш-функция предназначена для «измельчения» данных. Другой тип структуры данных, хеш-таблица, часто используется для быстрого обнаружения любых двух идентичных хеш-значений (хеш-значений).

После того, как Диффи и Хеллман впервые определили потребность в односторонней хэш-функции в своей основополагающей статье 1976 года по криптографии с открытым ключом, в течение следующих двух десятилетий развитие криптографии быстро прогрессировало.В 1990 году криптограф и профессор Массачусетского технологического института Рональд Ривест изобрел хэш-функцию MD4, а затем функции MD5 и MD6. В 1995 году NSA (Агентство национальной безопасности) разработало SHA-1 (алгоритм безопасного хеширования 1) на основе дизайна Ривеста, за которым последовало обновление SHA-2 в 2001 году. SHA-2 — это стандарт, который вдохновил SHA-256, который служил в качестве основы для алгоритма консенсуса Биткойн.

Назначение хэш-функций

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

  • Расчет (короткой) контрольной суммы для объекта, такой как контрольная сумма для ISBN (международный стандартный номер книги)
  • Идентификация любого контента почти без двусмысленности, но все же «кратко» , не раскрывая ничего о содержимом в криптографических приложениях

Свойства хэш-функций

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

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

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

Хеш-функции в процессе майнинга

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

Чтобы объединенный блок был добавлен в цепочку блоков, майнерам необходимо найти хэш, который соответствует целевой сложности. Каждый блок содержит заголовок блока с номером блока, хеш-кодом предыдущего блока и «одноразовый номер», который включает временную метку. Целью одноразового номера является изменение входных данных криптографической хеш-функции, то есть повышение случайности вычислений во время процесса добычи полезных ископаемых.

Решение хеш-функции

Затем узел начинает «хеширование» данных путем преобразования их в хеш-значение или «хэш», которое всегда должно содержать определенное количество нулей.Узел проверяет, соответствует ли хэш критериям сложности. Хеш должен начинаться с правильного количества нулей. Если хеш соответствует критериям сложности, он транслируется другим майнерам в сети. Первый майнер, который найдет действительный хэш, проверяет блок на новый блок и получает вознаграждение в виде вознаграждения за блок и комиссионных в биткойнах.

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

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

Что такое хеширование? [Пошаговое руководство — Под капотом блокчейна]

Итак, что же такое хеширование?

TL; DR:

  1. Хеширование — это создание значения или значений из строки текста с использованием математической функции.
  2. Хеширование — это один из способов обеспечения безопасности в процессе передачи сообщения, когда сообщение предназначено только для определенного получателя. Формула генерирует хэш, который помогает защитить безопасность передачи от несанкционированного доступа.

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

Так что же такое хеширование?


Проще говоря, хеширование означает получение входной строки любой длины и выдачу выходных данных фиксированной длины. В контексте криптовалют, таких как биткойн, транзакции принимаются в качестве входных данных и проходят через алгоритм хеширования (биткойн использует SHA-256), который дает результат фиксированной длины.

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

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

Криптографические хэш-функции

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

Свойство 1: Детерминированный

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

Свойство 2: Быстрое вычисление

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

Свойство 3: Сопротивление предварительного изображения

Какие состояния сопротивления прообраза заключаются в том, что при H (A) невозможно определить A, где A — вход, а H (A) — выходной хэш.Обратите внимание на использование слова «невозможно» вместо «невозможно». Мы уже знаем, что невозможно определить исходный ввод по его хэш-значению. Возьмем пример.

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

Но это работает только тогда, когда заданный объем данных очень меньше. Что происходит, когда у вас есть огромное количество данных? Предположим, вы имеете дело со 128-битным хешем. Единственный способ найти исходный ввод — это использовать «метод грубой силы». Метод грубой силы в основном означает, что вам нужно выбрать случайный ввод, хэшировать его, а затем сравнить результат с целевым хешем и повторять, пока не найдете совпадение.

Итак, что будет, если воспользоваться этим методом?

  • Лучший сценарий: Вы получите ответ с первой попытки.38. Другими словами, это огромное количество.

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

Свойство 4: Небольшие изменения во входных данных изменяют хеш.

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

.

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

Свойство 5: Устойчивость к столкновениям

Учитывая два разных входа A и B, где H (A) и H (B) — их соответствующие хэши, невозможно, чтобы H (A) было равно H (B). Это означает, что по большей части каждый вход будет иметь свой уникальный хэш. Почему мы сказали «по большей части»? Давайте поговорим об интересной концепции под названием «Парадокс дня рождения».

Что такое парадокс дня рождения?

Если вы встретите любого случайного незнакомца на улице, шансы, что у вас обоих одинаковый день рождения, очень низки. Фактически, если предположить, что все дни года имеют одинаковую вероятность иметь день рождения, вероятность того, что другой человек разделит ваш день рождения, составляет 1/365, что составляет 0,27%. Другими словами, он действительно низкий.

Однако, если вы соберете 20-30 человек в одной комнате, шансы на то, что у двух человек будет один и тот же день рождения, астрономически возрастут.Фактически, в этом сценарии есть 50-50 шансов, что 2 человека будут праздновать один и тот же день рождения!

Изображение предоставлено: (YouTube)

Почему это происходит? Это из-за простого правила вероятности, которое гласит: Предположим, у вас есть N различных возможностей возникновения события, тогда вам нужен квадратный корень из N случайных элементов, чтобы у них была 50% вероятность столкновения.

Итак, применяя эту теорию к дням рождения, у вас есть 365 различных вариантов дней рождения, поэтому вам просто понадобится Sqrt (365), что составляет ~ 23 ~, случайно выбранных людей для 50% вероятности того, что двое людей разделяют дни рождения.64-й экземпляр.

Как видите, преодолеть сопротивление столкновению намного проще, чем сопротивление прообразу. Никакая хеш-функция не свободна от коллизий, но обычно на поиск коллизии уходит много времени. Итак, если вы используете такую ​​функцию, как SHA-256, можно с уверенностью предположить, что если H (A) = H (B), то A = B.

Свойство 6: Совместимость с головоломками

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

Для каждого выхода «Y», если k выбирается из распределения с высокой мин-энтропией, невозможно найти такой вход x, что H (k | x) = Y.

Это, наверное, взбесило вам голову! Но все в порядке, давайте теперь разберемся, что означает это определение.

Что означает «высокая мин-энтропия»?

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

Что означает «k | x»?

Знак «|» обозначает конкатенацию. Конкатенация означает сложение двух строк вместе. Например. Если бы я связал «СИНИЙ» и «НЕБО» вместе, то результат был бы «СИНИЙ».

Итак, давайте вернемся к определению.

Предположим, у вас есть выходное значение «Y».Если вы выберете случайное значение «k» из широкого распределения, невозможно найти такое значение X, чтобы хэш конкатенации k и x давал результат Y. 21 хеша.61 хеш.

  • SHA 256: производит 256-битный хэш. В настоящее время это используется биткойнами.
  • Keccak-256: производит 256-битный хэш и в настоящее время используется Ethereum.
  • Хеширование и структуры данных

    Структура данных — это специальный способ хранения данных. Есть два свойства структуры данных, которые имеют решающее значение, если вы хотите понять, как работает блокчейн. Их:

    1. Указатели.
    2. Связанные списки.

    Указатели

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

    Напр. int a = 10 означает, что существует переменная «a», в которой хранятся целочисленные значения. В этом случае он сохраняет целое число, равное 10. Это обычная переменная.

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

    Связанные списки

    Связанный список — один из самых важных элементов в структурах данных.Так выглядит связанный список:

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

    Здесь следует отметить одну важную вещь: указатель внутри каждого блока содержит адрес следующего блока. Вот как достигается наведение.Теперь вы можете спросить, что это значит для первого блока в списке? Где остается указатель первого блока?

    Первый блок называется «генезис-блок», и его указатель находится внутри самой системы. Это примерно так:

    Изображение предоставлено Coursera

    Если вам интересно, что означает «хеш-указатель», мы скоро доберемся до него.

    Как вы уже догадались, это то, на чем основана структура блокчейна.Блокчейн — это в основном связанный список. Давайте посмотрим, как выглядит структура блокчейна:

    Блокчейн — это связанный список, содержащий данные и хеш-указатель, указывающий на его предыдущий блок, что создает цепочку. Что такое хеш-указатель? Указатель на хэш похож на указатель, но вместо того, чтобы просто содержать адрес предыдущего блока, он также содержит хеш данных внутри предыдущего блока. Эта небольшая настройка делает блокчейны такими удивительно надежными и новаторскими.

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

    Так как же выглядит заголовок блока?

    Заголовок блока содержит:

    • Версия: Номер версии блока.
    • Время: текущая отметка времени.
    • Текущая цель сложности. (Подробнее об этом позже).
    • Хеш предыдущего блока.
    • Nonce (подробнее об этом позже).
    • Хеш корня Меркла.

    А сейчас давайте сосредоточимся на хэше корня Меркла. Но перед этим нам нужно понять, что такое Дерево Меркла.

    Что такое дерево Меркла?

    Изображение предоставлено Википедией

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

    Конечный узел: Концевые узлы — это узлы самого нижнего уровня дерева. Итак, согласно диаграмме выше, листовыми узлами будут L1, L2, L3 и L4.

    Дочерние узлы: для узла узлы ниже его уровня, которые подаются на него, являются его дочерними узлами.Что касается диаграммы, узлы, помеченные «Hash 0-0» и «Hash 0-1», являются дочерними узлами узла, помеченного «Hash 0».

    Корневой узел: единственный узел на самом высоком уровне, помеченный как «Верхний хэш», является корневым узлом.

    Итак, какое отношение дерево Меркла имеет к блокчейнам?

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

    Давайте посмотрим на это на примере. Рассмотрим следующее дерево Меркла:

    Изображение предоставлено Coursera

    Теперь предположим, что я хочу выяснить, принадлежат ли эти данные к блоку или нет:

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

    Это значительно сокращает время.

    Хеширование в майнинге: крипто-головоломки.

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

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

    • Больше коллизий: будет сгенерировано больше хэш-функций, что неизбежно приведет к большему количеству коллизий.
    • Больше осиротевших блоков: если многие майнеры заканчивают майнинг, они будут одновременно создавать новые блоки. Это приведет к тому, что или несколько блоков не станут частью основной цепочки и станут бесхозными блоками.

    Итак, чтобы ограничить создание блоков, установлен определенный уровень сложности. Майнинг похож на игру: вы решаете головоломку и получаете награды. Установка сложности значительно усложняет решение этой головоломки и, следовательно, требует больше времени. Биткойны WRT цель сложности — это 64-символьная строка (которая совпадает с выводом SHA-256), которая начинается с кучи нулей.Количество нулей увеличивается с увеличением уровня сложности. Уровень сложности меняется после каждого 2016-го блока.

    Процесс добычи

    Примечание. Здесь мы в первую очередь будем говорить о майнинге биткойнов.

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

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

    Итого:

    • Берется хеш содержимого нового блока.
    • К хешу добавляется одноразовый номер (случайная строка).
    • Новая строка снова хешируется.
    • Затем окончательный хэш сравнивается с уровнем сложности и проверяется, действительно ли он меньше этого или нет.
    • Если нет, то одноразовый номер изменяется, и процесс повторяется снова.
    • Если да, то блок добавляется в цепочку, а публичный реестр обновляется и получает уведомление о добавлении.
    • Майнеры, ответственные за это, награждаются биткойнами.

    Помните свойство номер 6 хэш-функций? Загадка дружелюбия?

    Для каждого выхода «Y», если k выбирается из распределения с высокой мин-энтропией, невозможно найти такой вход x, что H (k | x) = Y.

    Итак, когда дело доходит до майнинга биткойнов:

    • K = одноразовый номер
    • x = хэш блока
    • Y = цель сложности

    Весь процесс полностью случайен, за выбором одноразовых номеров не стоит мыслить.Это просто чистый перебор, когда программа продолжает случайным образом генерировать строки, пока они не достигнут своей цели. Весь процесс следует протоколу Proof Of Work, что в основном означает:

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

    Что такое хешрейт?

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

    Заключение — Что такое хеширование?

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

    Что такое хешрейт?

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

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

    Что такое криптографическая хеш-функция?

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

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

    Ноутбуки и майнеры

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

    Графический процессор является частью системы рендеринга видео. Работа, которую он выполняет, очень однообразная и имеет дело с большим объемом информации. Такая громоздкая математическая работа может выполняться графическим процессором гораздо лучше и в гораздо большем объеме, чем центральный процессор (центральный процессор) компьютера.

    Какие бывают разные хешрейты?

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

    • 1 кХ / с * (один килограмм хешей) — это 1000 (одна тысяча) хэшей в секунду
    • 1 MH / s (один мегахеш) — это 1000000 (один миллион) хешей в секунду
    • 1 GH / s (один гига хэш) — это 1000000000 (один миллиард) хешей в секунду
    • 1 TH / s (один тера хэш) — это 1000000000000 (один триллион) хэшей в секунду
    • 1 PH / s (один пета-хэш) — это 100000000000000 (один квадриллион) хешей в секунду
    • 1 EH / s (один хэш exa) — это 1000000000000000000 (один квинтиллион) хешей в секунду
    • 1 ZH / s (один дзета-хеш) — это 10000000000000000000000 (один секстиллион) хэшей в секунду
    • 1 YH / s (один хеш-код yotta) составляет 1,000,000,000,000,000,000,000,000 (один септиллион) хешей в секунду

    * kH / s всегда записывается с нижнего регистра k, поскольку верхний регистр K зарезервирован для Кельвина (который является мерой тепла).

    Гонка вооружений

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

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

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

    • Хэш-мощность
    • Потребляемая мощность
    • Стоимость 1 кВтч
    • Плата за пул

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

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

    Ради интереса посмотрим, сколько времени займет мой ноутбук, чтобы добыть один биткойн.Из приведенного выше примера нам нужно обеспечить теоретическую 16 500 TH / s за целый день. Мы знаем, что мой ноутбук имеет хешрейт 48, так что давайте посчитаем. Готовьтесь….

    Теоретическая TH / s в день для майнинга одного биткойна

    16 500

    TH в минуту в день для майнинга одного биткойна

    990 000

    TH в час в день для майнинга одного биткойна

    59 400 000

    TH в день для майнинга одного биткойна

    1,425,600,000

    Всего хешей

    1,425,600,000,000,000,000,000

    Скорость хеширования компьютера в секунду

    48

    Всего секунд, необходимых для доставки требуемых хэшей

    29 700 000 000 000 000 000

    Всего минут, необходимых для доставки требуемых хэшей

    495 000 000 000 000 000

    Общее количество часов, необходимых для доставки требуемых хэшей

    8,250,000,000,000,000

    Общее количество дней, необходимых для доставки требуемых хэшей

    343,750,000,000,000

    Общее количество лет, необходимых для доставки требуемых хэшей

    941,780,821,918

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

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

    , почему майнинг биткойнов станет проще с падением хешрейта на фоне репрессий в Китае

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

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

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

    Скорость хеширования
    Биткойн в 2021 году росла, достигнув 168 000 петахешей в секунду (PH / s) 15 мая. С тех пор она упала на 40% до почти 86 000 PH / s по состоянию на 23 июня.
    Для таких пулов, как AntPool и F2Pool, хешрейт снизился более чем на 50%.

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

    Какова скорость хеширования биткойнов?

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

    Китай внес 65% в хэшрейт Биткойна, но сейчас идет большой исход, поскольку майнеры пакуют мешки из плодородных земель Сычуани в поисках более зеленых пастбищ на Западе.

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

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

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

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

    Не бойтесь, Биткойн имеет встроенную защиту.

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

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

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

    Китайская криптоиндустрия будет в порядке, даже если весь ее майнинг будет осуществляться за рубежом

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

    «По мере того, как в сети падает больше хешрейта, сложность будет уменьшаться, и хешрейт, который остается активным в сети, будет получать больше за свою пропорциональную долю вознаграждения за майнинг», — Кевин Чжан, вице-президент крипто-майнинговой фирмы Foundry , сказал
    CNBC.

    Многих экспертов это не слишком беспокоит, поскольку уже идет масштабная миграция, которую часто называют «
    великая миграция горняков ». Это означает, что майнеры не собираются прекращать добычу из-за того, что так сказал Китай. Они активно выезжают из Китая и открывают новые фермы в США, Казахстане, России и других странах.

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

    Многие майнинговые фермы, базирующиеся за пределами США, например Foundry USA, не наблюдали падения хешрейта и фактически показали положительный рост, в то время как китайские коллеги закрывались.

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

    Для более подробного обсуждения перейдите в Business Insider Cryptosphere
    — форум, где пользователи могут глубоко погрузиться во все, что связано с криптовалютой, участвовать в интересных обсуждениях и быть впереди всех.

    СМОТРИ ТАКЖЕ:
    Крупнейший в мире продавец буровых установок для майнинга биткойнов в обозримом будущем не принимает никаких новых заказов

    Китайские биткойн-майнеры смотрят на США, Казахстан, Канаду и Европу в условиях массового исхода, но не каждый вариант отвечает всем требованиям.

    Ух, вот что означает хешрейт Биткойна и почему это важно.

    Добро пожаловать в Основы Hard Fork, сборник советов, приемов, руководств и информации, чтобы держать вас в курсе событий в мире криптовалюты и блокчейнов.

    Ранее в этом году Биткойн устанавливал рекорды 12-месячных ценовых максимумов. Он также демонстрирует доминирование на рынке, подтверждая свое место в качестве криптовалюты номер один.

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

    Низкая скорость хеширования

    Проще говоря, хешрейт — это общая мера вычислительной мощности сети Биткойн.

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

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

    Это означает, что скорость хеширования является хорошим индикатором состояния сети Биткойн. Более высокая скорость хеширования по сравнению с более низкой предпочтительнее, так как это фактически означает, что сеть более защищена от атак 51%.

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

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

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

    Это все килограммы, мегабайты, гига, тера, эксас, петас и зетта.

    Как уже упоминалось, скорость хеширования измеряется в хэшах в секунду, или сокращенно H / s. На момент написания (5 августа 2019 г.) хешрейт составлял 74 EH / s … Но подождите, что такое EH / s? Я слышу твой крик.

    Кредит: Blockchain.com Скорость хеширования биткойнов

    По мере того, как сеть Биткойн растет и может вычислять больше хешей в секунду, ее скорость хеширования увеличивается.Добавление более мощных машин для майнинга на интегральных схемах (ASIC) для конкретных приложений также увеличивает хешрейт сети.

    За 10 лет существования Биткойна сеть стала настолько мощной, что может вычислять квинтиллионы хэшей каждую секунду . Для облегчения понимания 74 квинтиллионов хэшей в секунду записываются как 74 EH / s.

    Также часто хешрейты сетей блокчейнов записываются в kH / s (одна тысяча килограмм хэшей в секунду), MH / s (один миллион мегахешей в секунду), GH / s (один миллиард) гига хэшей в секунду), TH / s (один триллион тера хэшей в секунду), PH / s (квадриллион пета хэшей в секунду) и ZH / s (один секстиллион зетта хэшей в секунду).

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

    Биткойн запрограммирован на майнинг блока в среднем каждые 10 минут. Он поддерживает эту скорость производства, регулируя «сложность майнинга» в соответствии с общей скоростью хеширования сети.

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

    Как на самом деле работает майнинг биткойнов

    by Subhan Nadeem

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

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

    Часто доказательство работы описывается как «криптографическая головоломка», но что это за головоломка на самом деле?

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

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

    Почему майнинг работает: одностороннее криптографическое хеширование

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

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

    Однако есть четыре особых свойства этих функций, которые делают их бесценными для сети Биткойн.Это:

    1. Детерминированный — для любого ввода в криптографическую хеш-функцию результат всегда будет одинаковым.
    2. Fast — Вычисление выходных данных хеш-функции при любом вводе является относительно быстрым процессом (не требует тяжелых вычислений)
    3. Уникально — Каждый ввод в функцию должен приводить к полностью случайному и уникальному выход (другими словами, никакие два входа не приводят к одному и тому же выходу)
    4. Необратимый — Учитывая выход хеш-функции, исходный вход не может быть получен

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

    В частности, создатель протокола Биткойн, Сатоши Накомото, решил использовать хеш-функцию 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, чтобы сформировать родительский элемент для листьев. Этот родительский элемент непрерывно хешируется вверх вместе с другими родительскими элементами хешированных транзакций, пока не будет создан единственный корень .Хэш этого корня фактически является уникальным представлением транзакций, которые находятся под ним.

    Визуализация того, как строится дерево Меркла — листья в самом низу дерева являются транзакциями.

    Корень дерева Меркла представляет собой комбинацию хэшей каждой транзакции в дереве.

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

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

    Заголовок блока — это сводка содержимого самого блока. Он содержит следующие шесть компонентов :

    • Версия программного обеспечения, на котором запущен клиент Биткойн
    • Временная метка блока
    • Корень дерева Меркла, содержащего транзакции
    • Хэш блока перед ним
    • Одноразовый номер
    • Целевой объект

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

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

    nonce и target — вот что заставляет майнинг работать. Они являются основой для решения головоломки SHA-256, которую нужно решить майнерам.

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

    Объяснение проблемы майнинга

    Целевой объект , хранящийся в заголовке блока, представляет собой просто числовое значение, хранящееся в битах. В традиционной системе обозначений с основанием 10 эта цель находится в диапазоне от 0 до 2²²⁴ ( 67+ цифр число), в зависимости от того, сколько майнеров соревнуются за решение этой проблемы одновременно.

    Напомним, что вывод SHA-256 — это просто число.Цель майнера — взять заголовок текущего блока, добавить к нему случайное число, называемое одноразовым номером , и вычислить его хэш. Это числовое значение хэша должно быть меньше целевого значения.

    Вот и все. Но легче сказать, чем сделать.

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

    Вот где появляется nonce .

    Майнер добавляет число (начиная с 0), называемое nonce , в заголовок блока, и хеширует это значение. Если хеш-значение не меньше целевого, майнер увеличит одноразовый номер на 1, снова добавит его в заголовок блока и хеширует это измененное значение. Этот процесс повторяется непрерывно, пока не будет найден хэш меньше целевого значения.

    Пример майнинга

    Вот грубое приближение того, что составляло заголовок первого блока:

    • Корень Меркла транзакции в блоке Genesis:
      Корень Меркла:
    4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b  
    • Первая известная версия Биткойна: 0.1.0
    • Временная метка блока: 2009–01–03 18:15:05
    • Цель (это также самое высокое значение, которое когда-либо будет у цели):
      Цель:
    0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF  
    • Нет хэша предыдущего блока — это был первый блок, поэтому это уникальный случай

    Последний заголовок блока после сложения его компонентов:

    Данные блока Genesis (это включает в себя одноразовый номер, но позволяет это не так), источник: 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!

    Значение nonce в заголовке блока сохраняется как 32-битное число. Это означает, что максимальное значение nonce, которое может достичь кто-либо, составляет 2³² (приблизительно 4 миллиарда). После 4 миллиардов итераций одноразовый номер исчерпывается, и если решение не найдено, майнеры снова застревают.

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

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

    Лучше избегать добавления extraNonce до тех пор, пока не будет исчерпан nonce , потому что любое изменение 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, если вас интересуют более подробные и информативные статьи, подобные этой, в будущем!

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

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

    Новый анализ исторической скорости хеширования Биткойна, составленный на основе мониторинга ресурса Glassnode, показывает, что 7 января среднее значение достигло 119 квинтиллионов хэшей в секунду - это лучший результат за все время.

    Скорость хеширования биткойнов (дневная скользящая средняя) в зависимости от цены. Источник: Glassnode

    Консенсус по записи скорости хэширования BTC

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

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

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

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

    Сложность установлена ​​для еще одного всплеска на 6%

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

    Сложность майнинга биткойнов.Источник: Blockchain.com

    Сложность майнинга, которая раньше снижалась, теперь увеличивается. На прошлой неделе показатель увеличился на 6%, в то время как еще 6-7% ожидаются при следующей корректировке через девять дней.

    Ожидание также строилось вокруг движения цены биткойнов на ближайшие двенадцать месяцев, при этом отраслевые показатели становятся рекордными, чтобы предсказать новые исторические максимумы для биткойнов / долларов США до 2021 года.