Что значит найти блок в майнинге
Что такое блок в Биткоине и криптовалюте? Время, награда и майнинг
Блоки- это файлы, в которых постоянно записываются данные, относящиеся к сети криптовалюты (к примеру, Биткоин). Блок записывает некоторые или все самые последние транзакции монеты, которые еще не вошли в какие- либо предыдущие блоки.
Таким образом, блок подобен странице книги учета или книге записей. Каждый раз, когда блок «завершается», он уступает место следующему блоку в блокчейне.
Таким образом, блок является постоянным хранилищем записей, которые, будучи однажды записаны, не могут быть изменены или удалены.
После того, как блок сформируется он организуются в линейную последовательность (также известную как блокчейн). Новые транзакции постоянно обрабатываются майнерами (если монета PoW – то есть майнится), или валидаторами (если монета PoS – то есть не майнится) в новые блоки, которые добавляются в конец цепочки блокчейна.
Ключевые моменты статьи:
Что такое блок?
Каждый блок содержит, помимо прочего, текущее время, запись некоторых или всех недавних транзакций и ссылку на блок, который шел непосредственно перед ним.
Он также содержит ответ на сложную для решения математическую головоломку, ответ на которую уникален для каждого блока. Новые блоки не могут быть переданы в сеть без правильного ответа.
Транзакции Биткоинов передаются в сеть отправителем, и все одноранговые узлы, пытающиеся решить блоки, собирают записи транзакций и добавляют их в блок, над которым они работают. Майнеры получают стимул включать транзакции в свои блоки из-за взимаемой комиссии за транзакции.
Поскольку каждый блок содержит ссылку на предыдущий блок, можно сказать, что совокупность всех существующих блоков образует цепочку. Однако в цепочке возможно временное разделение, например, если два майнера одновременно примут два разных допустимых решения для одного и того же блока, без ведома друг друга.
Одноранговая сеть предназначена для устранения этих расщеплений в течение короткого периода времени, так что выживает только одна ветвь цепочки.
Как работает блок
Рассмотрим на примере Биткоина. Биткоин-сеть имеет одну из самых больших активностей транзакций. Ведение записей об этих транзакциях помогает пользователям отслеживать, за что и кем они были оплачены. Транзакции, выполненные в течение заданного периода времени, записываются в файл, называемый блоком, который является основой блокчейн-сети.
Блок представляет собой «настоящее» и содержит информацию о своем прошлом и будущем. Каждый раз, когда блок завершается, он становится частью прошлого и уступает место новому блоку в блокчейне.
Таким образом, вся система работает в цикле, и данные постоянно сохраняются. Каждый блок содержит записи о некоторых или всех недавних транзакциях и ссылку на предшествующий блок, что, наряду с одноранговой системой проверки Биткоина, делает практически невозможным для пользователя подделать ранее записанные данные транзакций.
Майнинг Биткойнов
С каждым блоком связана математическая задача. Майнеры постоянно обрабатывают и регистрируют транзакции как часть процесса соревнования в каком-то виде гонки.
Поскольку за решение каждого блока вознаграждаются майнеры совершенно новыми BTC, каждый блок также содержит запись о том, какие адреса или скрипты Биткойн имеют право на получение награды. Количество сгенерированных биткойнов на блок начинается с 50 и уменьшается вдвое каждые 210 000 блоков (около четырех лет) – этот процесс называется халвингом.
Для примера, в Эфире каждые 13.46 секунд (время проверки 1 блока) создаются 2 монеты ETH.
Сравнение блока с банками
В качестве аналогии можно сравнить обычные банковские транзакции с транзакциями в сети Биткоин.
Блокчейн похож на запись банковских транзакций, тогда как блок может быть отдельным подтверждением транзакции, которую банкомат банка распечатывает после использования аппарата.
Внутри сети блокчейнов отдельные блоки создают «бухгалтерскую книгу», очень похожую на то, как банкомат или банк будут регистрировать ваши транзакции.
Однако блокчейн записывает цепочку через всех своих пользователей, а не через одного. Это похоже на банк, но блокчейн предлагает повышенный уровень конфиденциальности по сравнению с обычными банковскими учреждениями.
Общие вопросы о блоках
Ниже мы ответим на самые популярные, часто задаваемые вопросы касательно блоков в различных блокчейнах.
Какое максимальное количество блоков?
Максимального количества не существует, блоки просто продолжают добавляться в конец цепочки со средней скоростью:
Монета | Время блока |
---|---|
Bitcoin | 10м 52с |
Ethereum | 13.42с |
Bitcoin Cash | 9м 46с |
Litecoin | 2 м 32 с |
Tron | 3c |
BitcoinSV | 9м 38с |
Dash | 2 м 38 с |
Zcash | 1 м 15 с |
Ethereum Classic | 13.15c |
Что будет, когда все монеты одной криптовалюты будут сгенерированы?
Блоки служат для подтверждения того, что транзакции существовали в определенное время. Транзакции будут выполняться после того, как все монеты будут сгенерированы, поэтому блоки будут создаваться, пока люди торгуют этой криптовалютой.
Что такое награды за блок? Как получить вознаграждение за майнинг Биткойнов?
В этой статье мы объясним, что такое награда за блок и как майнеры Биткойнов получают вознаграждение за нахождение блока. Эта статья относится не только к Биткойнам, но и ко всем криптовалютам, работающим по технологии Proof of Work.
Большинство людей, которые владеют Биткойнами, не вовлечены в процесс майнинга, они просто покупают и держат BTC. У таких пользователей и новичков много вопросов, связанных с майнингом, особенно с тем, как получить награды за разгадывание блока.
Некоторые из вопросов с форумов: что такое награда за блок? Кто выплачивает эти награды за блок и что произойдет, когда награды за блок Биткоина дойдут до 0? Здесь мы объясним все, что связано с наградами за биткойн-блок. Но перед этим давайте сначала разберемся, что такое майнинг Биткойна и как функционирует Биткойн сеть?
Биткойн Майнинг
Добыча (Mining) – это процесс добычи угля или других полезных ископаемых из земли. Есть добыча угля, добыча меди, добыча золота, а есть добыча (майнинг) Биткойнов.
Хотя Биткойн-майнинг и золотодобыча совершенно разные, у них есть некоторое сходство. Оба являются интенсивным процессом, и оба выполняются главным образом ради одной цели – получения вознаграждения.
При золотодобыче человек использует силу и машины для извлечения золота из земли. В Биткойн-майнинге пользователи используют специальное компьютерное оборудование для решения вычислительной математической задачи (крипто задачи), за решение которой майнеры награждаются монетами (Биткойнами).
Подождите!? Кто эти майнеры? Почему они решают математические задачи? Почему они получают за это Биткойны, и кто выпускает эти монеты? Чтобы понять это, давайте сначала поймем, как работает традиционная валютно-банковская система.
Банковская транзакция против Биткойн-транзакции
В такой системе, как эта, только банк отвечает за безопасность и работу сети, так как он единственный, кто контролирует всю платежную сеть. Однако сеть Биткойна отличается от традиционной.
Итак, кто поддерживает безопасность сети Биткойн, и кто проводит транзакции? Майнеры.
В сети Биткойн майнеры являются основой всей сети. Без них вся система была бы неисправна. Они несут ответственность за безопасность сети, выпуск новых Биткойнов и проведение транзакций.
Допустим, Антон хочет перевести несколько BTC или несколько сатоши Борису. Антон создает транзакцию, подписывает ее, используя свои приватные ключи, и передает транзакцию в сеть Биткойн. Теперь майнеры обязаны проверить эту транзакцию и добавить ее в бухгалтерскую книгу.
Блок и Блокчейн
Протокол Биткойн построен на блокчейне, который представляет собой растущий список записей, называемых блоками. Когда Вы инициируете транзакцию, майнеры выбирают вашу транзакцию вместе с несколькими другими транзакциями, которые были переданы в сеть. Затем они заключают список транзакций в блок, проверяют их и затем добавляют в блокчейн Биткойна.
В сети Биткойн примерно каждые 10 минут создается новый блок, и каждый блок содержит набор самых последних транзакций. Он содержит информацию не только о транзакции, но и о блокчейне (версия, идентификатор блока, хэш предыдущего блока и т. д.).
Теперь перейдем к проверке транзакций: в Биткойн сети установлены определенные правила проверки транзакций, которые гарантируют, что монеты еще не потрачены. Проверяется размер транзакции, синтаксис и другие параметры. Как только майнер подтверждает, что транзакция действительна, он добавляет ее в блок, но пока не разрешает передавать блок в сеть.
Теперь перед присоединением блока к сети майнеры должны решить криптографическое уравнение. Они должны предоставить решение Proof of Work. Мы не будем рассматривать технические детали. В любом случае следующий пункт должен дать Вам базовое понимание происходящего.
Решение Proof of Work
Как только блок принят сетевыми майнерами, они соревнуются друг с другом, чтобы создать следующий блок в цепочке блоков.
Поскольку эта система децентрализована, любой может участвовать в проверке транзакции. Однако обратите внимание, что добыча криптовалют очень интенсивна. Чтобы решить математическую задачу, нужно много электроэнергии и вычислительной мощности. Поскольку эти задачи требуют много ресурсов, для компенсации затрат победивший майнер получит вознаграждение в виде Биткойнов. Эти награды – на самом деле новые монеты, которые распространяются в сети.
Вознаграждение включает комиссию за все транзакции + вознаграждение за блок, которое представляет собой заранее определенную сумму Биткойнов.
Такая структура стимулирования побуждает майнеров постоянно проверять Биткойн-транзакции в сети. Мало того, по мере того, как все больше и больше майнеров присоединяются к блоечейну, возрастает сложность, которая, в свою очередь, обеспечивает безопасность сети и гарантирует неизменность блокчейна.
Надеемся, это объяснение Вам понятно! Теперь вот некоторые из общих вопросов, связанных с наградами за блок.
Что значит Block Reward?
В Биткойне «Вознаграждение за блок» относится к количеству новых BTC, распределенных сетью майнерам, которые решают каждый блок.
Награды за блок – это единственный способ создания новых Биткойнов в сети. Он действует как механизм стимулирования, а также как инфляционный механизм. Итак, сколько стоит награда за блок и кто устанавливает эти правила?
Как определяются награды за блок?
Не только вознаграждения за блок, но и общий запас монет, и структура деления (уменьшения) награды уже закодированы в программном обеспечении и установлены создателем Биткойна, Сатоши Накамото.
Изначально награда за блок в сети Биткойн составляла 50 BTC. Однако это длилось недолго. Структура вознаграждения за блоки в Биткойне разработана таким образом, что она делится пополам каждые 210 000 блоков. Так как время блокировки биткойна составляет 10 минут, то примерно каждые 4 года происходит уменьшение вознаграждения за блок.
Майнинг BTC начался в 2009 году, соответсвенно первое сокращение произошло в ноябре 2013 года, что привело к снижению вознаграждения за блок с 50 BTC до 25 BTC.
В настоящее время (по состоянию на март 2019 года) вознаграждение за Биткойны составляет 12,5 BTC. Каждый раз, когда майнер находит новый блок, он получает вознаграждение в 12,5 BTC (без учета комиссии за транзакцию). Так зачем уменьшать награды за блок?
Вознаграждение за блок уменьшается вдвое
Как Вы, наверное, знаете, общий объем Биткойнов ограничен 21 миллионами. Это означает, что после достижения максимального запаса в сети больше не будет создаваться новых монет.
А теперь представьте, если бы награда за блок была установлена на уровне 50 BTC постоянно. Тогда к этому времени все 21 миллион монет были бы добыты. Эта уменьшающаяся награда за блок предназначена для создания самодостаточной сети, в которой майнеры будут постоянно вознаграждены за безопасность сети.
Так как же майнеры будут защищать сеть в долгосрочной перспективе, если награда за блок будет уменьшаться?
Что случится с сетью, если награды за блок не будет?
Это один из самых распространенных вопросов, которые задают большинство начинающих пользователей. Награда за блок является единственным основным стимулом для майнеров. Как они будут поддерживать сеть, если не получат вознаграждение? Будут ли майнеры продолжать майнинг?
Согласно White Paper Биткойн, после того, как награда за блок будет разделена пополам 64 раза, она, наконец, становится равной нулю. Однако есть так называемые комиссии за транзакции, которые Вы должны учитывать.
В настоящее время сумма, которую майнеры получают в качестве вознаграждения за создание нового блока, представляет собой сумму вознаграждения за блок плюс комиссии за транзакции.
Чтобы отправить транзакцию в сети Биткойн, пользователи должны платить комиссии, которые в настоящее время незначительны. Однако в будущем, поскольку сеть растет и получает широкое признание, считается, что комиссии за транзакции должны быть более чем достаточны для компенсации затрат майнеров.
Майнинг и как он работает: матчасть
Привет, %username%!
Я расскажу и покажу как работает основа генерации денег в криптовалютах — майнинг. Как создается первый блок, новые блоки и как появляются деньги из ниоткуда.
Чтобы было проще понять, мы напишем свой импровизированный майнер для импровизированной криптовалюты HabraCoin.
Сначала упрощенный ликбез, куда без него.
Кошельки
Каждый кошелек — это случайно сгенерированная пара ключей. Собственно, адрес кошелька — это хэш от публичного ключа. Так его можно однозначно идентифицировать.
Транзакция
Это запись о том, с какого кошелька на какой какая сумма переводятся. А так же, время и дата операции. Эта запись (её хэш) подписывается закрытым ключом отправителя и рассылается всем в округе в ожидании подтверждения.
Подтверждение
Чтобы о транзакции узнали и все себе её записали, необходимо её подтверждение, которое получается в результате создания нового блока.
Это служебные данные + список транзакций + номер кошелька майнящего + волшебное число.
Цепочка блоков
Последовательность, в которой каждый следующий блок включает в себя Id предыдущего.
Начало
Итак, есть некоторое количество народа, можно один. Назовём его Хаброша. Он решает запустить свою систему криптовалюты HabraCoin.
Поскольку выделенных серверов у этой валюты нет, то все её участники равноправны и должны как-то договариваться о валидности транзакций. То есть, нужен механизм, который обеспечит:
Для этого он формирует блок из существующих на данный момент неподтвержденных транзакций, номера предыдущего блока, номера своего кошелька и т.д. Для самого первого блока транзакций у нас нет, номера предыдущего блока у нас нет, ничего толком нет. Только адрес кошелька Хаброши да дата со временем.
Так же, в алгоритме HabraCoin указаны следующие вещи.
Ограничение скорости
Как мы видим, сам факт создания блока говорит о том, что его создатель получает за это вознаграждение. И чтобы это вообще имело смысл, скорость и сложность создания блоков следует ограничить. Иначе сами понимаете, тонны блоков из ничего и никакого толку.
Как этого добиться?
Если помните, все блоки состоят из нескольких полей. Мы берем эти поля, конкатенируем, получаем из них массив байт. Это массив байт отдаем хэш функции, получаем результат и смотрим: меньше то, что получилось с учетом текущей сложности, или нет?
Если нет, то изменяем этот массив байт до тех пор, пока не получим нужное значение. А именно:
В каждом блоке есть поле, называемое nonce. Это число размером несколько байт, которое нужно увеличивать на единицу, дописывать к блоку и опять считать от него хэш. Поскольку хорошие хэш функции выдают более-менее равновероятностные значения, то мы не знаем заранее, сколько раз придется повторять процесс. Может 1-2 раза, а может миллиарды.
Тот, кому удалось получить хэш, удовлетворяющий условиям сложности, рассылает всем блок с включенными в него транзакциями. На случай, если несколько человек сделали это одновременно, вводится условие, что несколько цепочек блоков существовать вместе не могут, а побеждает самая длинная. Таким образом, если у нас есть две цепочки:
то победит та, для которой 4й блок найдут раньше времени. А меньшая цепочка выкидывается и её транзакции снова попадают в очередь на подтверждение.
Комиссия
Все у себя в кошельках видели поле «комиссия» при совершении транзакции. Эта комиссия идет людям, занимающимся генерацией блоков. То есть, они в первую очередь будут выбирать из всех транзакций, ожидающих подтверждения, те, которые содержат в себе комиссию. После формирования блока считается, что вся комиссия, содержащаяся в транзакциях, отходит к его (блока) создателю.
То есть, когда кончится вознаграждение за генерацию блока (если это прописано в алгоритме валюты), то майнерам останется лишь комиссия, а халявные транзакции могут быть никогда не обработаны.
Давайте смоделируем ситуацию и поможем Хаброше скрафтить какой нибудь блок.
Под спойлером программа (в виде Junit теста), которая ради приличия генерирует 2 случайных пары ключей, формирует какое то подобие транзакции (даже подписывает её, все по честному!), а потом ищет такую к ней добавку, чтобы первые 2 байта хэша были нулевыми. Типа сложность такая. Работает пару минут, а потом действительно выдает хэш, который можно быстро проверить, сконкатенировав байты транзакции и счетчика.
Пример получившегося блока:
1824B9ADF09908222CF65069FDE226D32F165B3CF71B7AA0039FDFEF75EAA61610909EBFFBAC023480FC87FCF640C4A
009B82C4A6D25A0F4B8A732AE54EF733E792681137BA378577DFDC2732D192DAF323966EAD4ADC9635D7A12EDD50E34
9F660622D186AF3C03BF7D265F2AA7EB125056F4BF45BE519E8B22B845B28065110000006400000142E5D667CB01CEE
EDD0AC15EC4C491819A99030BD5FEF7CD2B469F2B90BA13D7981EDCD0708353D13390B8564F496C44FAC2777B0AF79D
C94CBF36D0CC0F047E807889F34C4DC5FEB724699C257391F84F3DDD70B84F841D115F4EFEAF4E58779042F35257E5C
035046037DE740718D199A8F06AD7A58E37CCCD4CC5E95295DCC2C5F3C70847BD59FA57BCC5FF4B208F93948FCFD763
EC1E5C85B61C43EB64B77A9F53B28785D7DE2335333003260A0839D53927976751A8D8967B2BB325909D86E82BC4125
2A28ECF6F0E7476BB99B29585EB0E75410000
Вот мы и заработали пару хабракоинов для Хаброши. Статья конечно поверхностная, так что готов к вашим вопросам.
Про удачу в майнинге
Большой процент майнеров как начинающих, так и уже опытных не понимают, что такое удача в майнинге. В этот раз я попытаюсь простыми словами вам рассказать о таком важном аспекте при майнинге криптовалюты.
Что такое майнинг?
реклама
У тех людей, кто не знаком с этим процессом, зарождаются конспирологические теории, якобы майнинг – это спланированная акция, а вся крипта придумана некими людьми, дабы использовать ваше оборудование как «бесплатный суперкомпьютер» для просчета возможных ущербов при ядерной атаке и т.д.
На самом деле все куда проще. Если говорить простыми словами, то майнинг – это процесс создания криптовалюты с помощью специального алгоритма. На ПК генерируются уникальные наборы данных (блоки), подтверждающие достоверность платежных транзакций. Эти блоки состоят из хеша заголовков предыдущих блоков, хеша транзакций и случайных чисел. Блокчейн – это цепь. В ней содержатся все транзакции. За нахождение блока начисляется награда.
Так, ферме, занимающейся майнингом Эфириума, каждые 13,2 секунды дается новая задачка. Эта самая ферма пробует выиграть в «угадайку», для создания нового блока.
реклама
Разные алгоритмы майнинга являются разными уравнениями. Допустим, первый алгоритм M+N=R, второй M*N=R. Каждым блокам дается постоянное значение M, а ответ – число R с 2 нулями в конце. В случайном порядке перебирается число N, пока не найдется ответ. Сетью подбирается такое число нолей, чтобы блок находился в среднем за то самое значение (10 минут Биткоин или 13,2 секунд Эфириум).
Приведу простой пример.
Допустим, есть сеть крипты G. Вы там один занимаетесь майнингом. Время блока – 5 минут. Сетью дается задача, в конце ответа которой (R) два ноля.
реклама
Вычисление примера идет путем подбора чисел. Специальных методик, патчей и т.д, с помощью которых примеры решаются быстрее, нет. Есть лишь разница в скорости подстановки этих чисел. Все дело в мощности карты: чем мощнее, тем быстрее.
Затем приходят еще друзья. Сеть опять же усложняет задачку так, чтобы время появления блока было все те же 5 минут
Если количество майнеров уменьшается, то сеть опять реагирует на это, но теперь уже упрощает задачку так, чтобы блок создавался раз в 5 минут.
Удача в майнинге.
Итак, что же из себя представляет эта удача?
реклама
Приведу излюбленный многими пример с бросанием кубика. Допустим, вы бросаете кубик, и вам нужно, чтобы выпало число 6. В идеале шанс выпадения цифры 6 равен 16,6%, то есть каждый 6 раз, так как у куба 6 граней. На практике это число может выпасть как несколько раз подряд, так и не выпасть с 10 бросков.
Поиск решений блоков точно такой же. Допустим, вы обладаете одной видеокартой, а у знакомого их десять. Это равносильно тому, что у вашего знакомого десять кубиков, а в ваших руках только один.
Шанс того, что у вашего знакомого выпадет нужная цифра намного больше. Однако, это не означает, что шансов выиграть у него у вас совсем нет. Представим, что наградой за блок будет 110 долларов. Вам доступны следующие варианты:
Выбрав второй вариант, в идеальных условиях вам нужно в 11 раз больше времени, чем в пуле с знакомым, но у нас не идеальные условия.
Иначе говоря, майнеры играют в «угадайку». Чем выше мощность, которой располагает майнер (МХ/с), тем его оборудование быстрее перебирает эти цифры с целью нахождения решения блока. Чем большей мощностью вы обладаете (больше видеокарт и их мощность), тем вами быстрее проходится эта игра.
В вашем распоряжении, к примеру, оборудование на 100 МХ/с, а у знакомого – 600 МХ/с. Разумно было бы предположить, что знакомый вас обыграет. Причем это будет выглядеть так: на 1 вашу победу приходится 6 его побед. Это в идеальных условиях.
Однако в реальной жизни работает та же логика, что и в ситуации с кубиками: может повезти, а может и нет.
Главное знать, что везти вам будет максимум день-два. Затем вычислительные мощности вашего знакомого возьмут верх. В среднем, соотношение ваших побед к победам вашего знакомого будет равно 1/6.
Удача в майнинг-пуле.
Это такое значение в %, указывающее значение удачи в момент поиска пулом блока. В идеале пулом всякий раз находился бы блок при значении в 100 процентов. Если пул испытывает везение, то блок будет найден до отметки 100%, если же нет – то может быть 100 процентов и больше.
Приведу пример.
Период нахождения блока равняется 10 минутам. Ежедневно это равняется 144 блокам. Допустим, хешрейт сети – 40 MS/s. Если хешрейт пула равен 10 MS/s, то им находится примерно каждый 4 блок, следовательно, это 36 блоков за сутки. Если им найдено «сверх нормы», для примера, 43 блока – значит в этот раз он был более удачлив, а если 23 блока –повезло меньше. В среднем, значение параметра удача всякий раз стремится к 100%.
Давайте посмотрим все это на примере нескольких валют: Aeternity, Эфириум, Эфириум Классик.
Как мы видим, значение удачи всегда почти равно 100%. Здесь главное терпение. Сперва значение удачи могло равняться 10 процентам или 500 процентам, но она все время приближается к значению в 100 процентов. Поэтому не нужно постоянно метаться с одного пула к другому.
Удача в соло-майнинге
Все, что написано выше, распространяется и на соло-майнинг. Будете ли вы владельцем одной видеокарты или целой майнинг-фермы размером с комнату – вы столкнетесь с параметром «удача».
Возможно ли падение удачи?
Рост удачи в майнинге продолжается до того момента, пока не найдется решение блока, затем она сбросится до нуля. Бывает и такое, что значение удачи падает, например, с 95 до 85 процентов. Такое возможно, когда падает или поднимается сложность сети. Но это не означает, что вам резко повезет.