Время на прочтение
10 мин
Количество просмотров 749K
О Bitcoin я узнал относительно недавно, но он меня сразу подкупил своей идеей p2p. Чем глубже я зарывался в их Wiki, тем больше проникался этой идеей. Ее реализация красива и элегантна с технической точки зрения.
Поиск хабра по Bitcoin выдает два топика. Но это скорее новости. По комментариям заметно, что у многих людей, особенно не знакомых с Bitcoin напрямую, возникает много вопросов насчет принципов его работы. Также много догадок, зачастую неверных. Чтобы как-то прояснить ситуацию, было решено написать эту статью.
Настоящие деньги?
Первое место в списке главных заблуждений насчет Bitcoin занимает идея о том, что Bitcoin это очередные «бумажки», пускай и электронные, которые лишь представляют «настоящие» деньги, являются эдакими долговыми расписками. Отсюда берет начало большинство остальных заблуждений: раз это бумажки, то они ничего не стоят; их можно напечатать или уничтожить сколько угодно; их можно подделать; их можно скопировать.
Повторюсь — все это не более, чем заблуждения. В основе идеи Bitcoin лежало желание создать не очередные «бумажки», которые представляют реальные деньги, такие как золото, а аналог самого золота. Взять те свойства золота, благодаря которым оно является идеальными деньгами, и сделать электронную валюту на их основе.
Сложность добычи
Золото нельзя скопировать — его можно только добыть. Но это очень затратный процесс как по времени, так и по ресурсам. Частично из-за этого золото ценится так высоко. Чтобы было понятнее, рассмотрим на примере.
Допустим человек весь день усердно добывал золото и добыл в итоге 1 кг. Для него стоимость добытого золота равна одному дню усердной работы. После тяжелого рабочего дня он решил отдохнуть и сходить в кинотеатр. По счастливому совпаденью кассир отдавал билеты в обмен на золото. Почему? Потому что кассиру нравится золото, но не нравится весь день работать с киркой. Поэтому он готов оказать услугу — отдать билет — в обмен на 1 кг золота. Фактически же он обменивает свою услугу на один день тяжелой работы.
Теперь представим другую ситуацию. Изобрели копир, который работает с золотом. И любой человек может за минуту из одного 1 кг золота сделать 10 кг. В данной ситуации кассир уже не будет обменивать билеты на золото, так как теперь он сам легко сможет его напечатать столько, сколько захочется. Золото перестанет иметь какую-либо ценность и его уже нельзя будет использовать в качестве денег.
В Bitcoin процесс добычи монеток тоже требует ресурсов и времени. Но в данном случае это не человеческие ресурсы, а компьютерные.
Условно ограниченный ресурс
Чем дольше добывается золото, тем труднее (затратнее по ресурсам) становится его добывать. Это гарантирует, что инфляция будет под контролем.
В Bitcoin похожее поведение достигается путем введения функции скорости суммарно добываемых монеток от времени. Эта функция обратно пропорциональная, т. е. скорость со временем падает и стремится к нулю. Если взять интеграл этой функции по времени, то получится экспонента. Приблизительно такая:
Здесь видно, что общее число монеток стремится к 21 000 000. Подробности работы Bitcoin будут рассмотрены далее. А пока нужно знать две вещи: монетки появляются в системе пачками приблизительно каждые 10 минут, количество монеток в одной пачке — 50, и оно уменьшается вдвое каждые 4 года.
Материальность
Это уже свойство не столько золота, сколько любой не электронной валюты. Один слиток золота нельзя дважды обменять на услугу или товар. Т. е. в один момент времени он может быть либо у продавца, либо у покупателя.
Такое поведение естесственно для материальной валюты, но не для электронной. Чтобы добиться такого поведения виртуальных денег, нужно приложить немало смекалки. В Bitcoin это поведение обеспечено механизмом транзакций. Все транзакции объеденяются в цепочки. Каждая транзакция берет монетки из одной или нескольких существующих транзакций и указывает, кому они предназначаются. Поэтому всегда можно проверить всю цепочку на валидность.
Сложность добычи, ограниченный ресурс, материальность — эти свойства, плюс использование криптографии для обеспечения безопасности, позволяют использовать Bitcoin в качестве денег. На них основано ядро Bitcoin. Это не просто договоренности. Все они заложены в системе by design, и по-другому она работать не будет. Настало время рассмотреть этот самый дизайн.
Цепочка блоков
Любая электронная платежная система должна где-то и как-то хранить транзакции. В Bitcoin вся информация хранится в цепочке блоков. Блоки передаются в формате JSON. Каждый блок содержит заголовок и список транзакций. Заголовок состоит из нескольких свойств, среди которых есть хэш предыдущего блока. Таким образом вся цепочка блоков хранит все транзакции за все время работы Bitcoin.
В текущих версиях программы Bitcoin цепочка блоков скачивается целиком каждым клиентом, что делает систему полностью децентрализованной. Данные никак не шифруются и любой может вручную проследить все транзакции. Существует даже специальный сайт — Bitcoin Block Explorer, на котором можно легко посмотреть всю информацию о блоках и транзакциях.
На момент написания статьи количество блоков в цепочке было равно 110 968, и, как я уже говорил ранее, это количество приблизительно через каждые 10 минут увеличивается на 1. Это значит, что кто-то из участников смог создать новый блок.
Кстати говоря, все участники делятся на две группы: на тех, кто работает над новым блоком и кто не работает. По статистике эти группы соотносятся как 1 к 3. Зачем вообще создавать блоки, да еще каждые 10 минут? В блоках записываются транзакции. Каждый блок содержит все транзакции, которые проходили во время его создания, т. е. за 10 минут.
Работает это следующим образом. Один из клиентов создает новую транзакцию и рассылает ее другим клиентам, которые заняты генерацией блока. Они добавляют эту транзакцию к своему блоку и продолжают генерацию. Рано или поздно у кого-то получится сгенерировать блок. Такой блок запечатывается (к нему больше не добавляются транзакции) и рассылается по сети. Далее клиенты проверяют блок и транзакции внутри него на валидность. Если никаких проблем нет, то транзакции считаются одобренными. К этому моменту свежий блок уже доехал до каждого клиента и добавлен в цепочку. После этого процесс повторяется — клиенты начинают генерировать очередной блок и собирать в него новые транзакции.
Блок
Рассмотрим содержимое блока и процесс его генерации более подробно. Пример блока можно найти на все том же Bitcoin Block Explorer. Блок состоит из заголовка и списка транцакций. Заголовок состоит из следующих свойств:
hash — SHA-256 хэш заголовка блока. Такой хэш является достаточно случайным, а время его вычисления предсказуемо. Хочу заметить, что хэшируется только заголовок, без транзакций. Так что число транзакций не будет сильно влиять на время вычисления хэша.
ver — Версия схемы блока. На данный момент у всех блоков одна версия — 1.
prev_block — Хэш предыдущего блока в цепочке. Благодаря этому свойству цепочку нельзя подделать, заменив в ней один из блоков, так как хэш блока всегда зависит от хэша предыдущего блока в цепочке. Изменив один из блоков, придется пересоздавать все последующие.
mrkl_root — Merkle root — список хэшей транзакций. Хэш блока должен обязательно зависеть от транзакций, чтобы их нельзя было подделать. Но вычислять его напрямую будет долго, если количество транзакций велико. Поэтому сначала хэшируются сами транзакции, а затем их хэши используются для вычисления хэша всего блока.
Может показаться абсурдным — зачем дважды вычислять хэш одного и того же. Но дело в том, что хэш транзакций обновляется только при добавлении к блоку новой транзакции, а хэш заголовка блока пересчитывается несколько тысяч раз в секунду. К тому же, чем ближе размер заголовка в константе, тем точнее можно предсказать время вычисления его хэша.
time — uint32_t представляющее время создания блока. Максимально допустимый год — 2106.
bits — Одно из самых важных свойств. Является сокращенной формой целевого значения хэша. Блок считается сгенерированным (валидным), когда его хэш меньше этого целевого значения. Целевое значение определяет сложность создания блока. Чем оно меньше, тем меньше вероятность подобрать подходящий хэш за одну итерацию. Это свойство обновляется каждые две недели.
Происходит это следующим образом. Подсчитывается число сгенерированных блоков за последние две недели и сравнивается с эталоном (1 блок каждые 10 минут). Если блоков слишком много, то сложность увеличивается. Если блоков слишком мало — уменьшается. Таким образом система адаптируется к увеличению числа пользователей и, как следствие, суммарной мощности их компьютеров.
nonce — Число, которое, начиная с нуля, инкрементируется после каждой итерации вычисления хэша. Собственно, так и происходит перебор, пока хэш не будет меньше целевого значения. Чтобы каждый новый хэш отличался от предыдущего, должно отличаться хотя бы одно из свойств заголовка блока.
Например, версия никогда не меняется. Хэш предыдущего блока обновляется тогда, когда кто-нибудь нас опередит и сгенерирует новый блок. Merkle root обновляется при добавлении транзакции. Время — каждые несколько секунд. Bits (целевое значение, сложность) — каждые две недели. Все это слишком долго. Чтобы не ждать, пока обновится одно из свойств и существует nonce.
Рассмотрим гипотетическую ситуацию. Все значения nonce были проверены и ни одно из них не подходит. За это время ни одно другое свойство не изменилось. Происходит переполнение nonce и оно снова начинается с нуля. Получается, что далее хэши будут повторяться. Чтобы избежать подобных ситуаций, после переполнения nonce, меняется специальное свойство одной из транзакций. После этого обновляется Merkle root и хэши заголовка блока уже не будут повторяться.
n_tx — Количество транзакций в списке.
size — Размер блока в байтах.
Транзакции
Транзакции содержатся в блоках в виде списка. Они, также как и блоки, выстраиваются в цепочки. Каждая транзакция должна указать, откуда она берет деньги (из какой существующей транзакции), и куда направляет.
Для указания адресата используется его публичный ключ. Чтобы адресат мог использовать полученные деньги, он должен создать новую транзакцию, которая будет брать деньги с предыдущей и перенаправлять их по другому адресу. Чтобы доказать, что человек использует для перевода именно свои деньги, а не чужие, он должен оставить в своей транзакции свою цифровую подпись. Тогда в любой момент времени можно удостоверится, что все транзакции в системе являются валидными.
На практике все это реализовано с помощью следующих свойств:
hash — Хэш всей транзакции. Получается, что транзакции хешируются дважды. Первый раз во время вычисления хэша транзакции. Второй раз во время вычисления хэша блока. Кроме того каждый блок ссылается на хэш предыдущего блока, а каждая транзакция — на хэш предыдущей транзакции (или транзакций). Если изменить транзакцию и каким-то чудом ее хэш не поломается, то поломаются все остальные хэши и измененная цепочка блоков будет отвергнута всеми клиентами.
ver — Версия схемы транзакции. Пока она ни разу не менялась, так что везде равна 1.
vin_sz — Количество предыдущих транзакций, из которых деньги переводятся на новые адреса. Одна или более.
vout_sz — Количество адресов, на которые переводятся деньги. Один или более.
lock_time — Пока не используется и везде равно 0. Идея в том, чтобы создавать отложенные транзакции, чтобы они добавлялись не в текущий генерируемый блок, а, например, в слещующий. Подразумевается, что в этом свойстве указано количество блоков, которые должна пропустить транзакция перед добавлением. Это дает возможность в течении некоторого времени изменить транзакцию и переподписать ее.
size — Размер транзакции в байтах. Подразумевается размер транзакции в формате JSON.
in — Содержит список входов (источников) транзакции. В качестве входов используются выходы предыдущих транзакций (prev_out). У каждого выхода есть следующие свойства:
hash — Хэш предыдущей транзакции.
n — Так как у транзакции может быть несколько выходов, то нужно указывать, из какого из них берутся деньги. Для этого и существует данное свойство. В нем содержится порядковый номер выхода предыдущей транзакции, начиная с 0.
scriptSig — В этом свойстве отправитель должен доказать, что он переводит именно свои деньги, а не чужие. Для этого он указавает публичный ключ получателя предыдущей транзакции, т. е. свой ключ, так как он должен быть получателем. Кроме того он добавляет ECDSA подпись этой же транзакции, которая сделана его приватным ключем. Это доказывает, что он распоряжается своими деньгами, а не чужими.
После списка входов транзакции (in) указывается список выходов (out), т. е. адресатов. Каждый выход имеет следующие свойства:
value — Содержит количество денег, которые будут переведены по новому адресу. Они берутся из предыдущих транзакций. Поэтому данное число не должно превышать их сумму. Например, мы хотим взять 10 монеток из одной транзакции и 20 из другой и направить 25 по новому адресу. Чтобы оставшися 5 монеток не пропали, мы посылаем их самим себе, как сдачу. Таким образом в нашей транзакции будет два адресата, одним из которых являемся мы сами. Value всегда указывается в наномонетах, чтобы избежать дробных чисел.
scriptPubKey — Это свойство, вместе с scriptSig составляют сценарий на модифицированном Forth-like языке. ScriptPubKey содержит операторы языка и хэш публичного ключа получателя транзакции. Сценарий проверяет транзакцию на валидность. Использование подобного сценария дает богатые возможности для описания условий получения денег адресатом. Например, можно заставить получателя указывать пароль вместо ECDSA.
Суммарное количество денег на входе транзакции всегда равно суммарному количеству на выходе. В противном случае деньги либо возникали из воздуха, либо исчезали из оборота. Но в самом начале был график, по которому видно, что число денег экспоненциально растет. Так откуда берутся новые деньги в системе?
На мой вкус, эмиссия денег реализовано просто и элегантно. В каждом блоке первая транзакция в списке является особой транзакцией. У нее всегда один вход, у которого вместо свойства scriptSig есть свойство coinbase. Это свойство может содержать что угодно.
Выход у транзакции также всегда один. Он перенаправляет 50 монеток тому, кто сгенерировал блок, в котором расположена эта транзакция. Это своего рода награда за потраченное время и ресурсы на генерацию блока. Создавая новый блок в цепочке, клиент вносит вклад в работу Bitcoin.
Каждые четыре года эта награда уменьшается вдвое, таким образом суммарное количество монеток в обороте стабилизируется. После этого даже если злоумышленник создаст блок с помощью модифицированной версии программы и припишет себе 50 монеток, этот блок не будет добавлен в цепочку, так как его отвергнут другие честные клиенты, которых должно быть большинство.
Стабильность работы системы основана на количестве пользователей, у которых запущен официальный клиент. Пока их большинство, Bitcoin ничего не угрожает.
Заключение
Proof of work (доказательство работы) — результат работы, которого трудно добиться, но легко проверить. Работа сети Bitcoin основана на этом принципе. Проверить хэш (результат работы) можно за доли секунды. А для того, чтобы его подобрать, требуется много работы.
Здесь можно вспомнить аналогию с золотом, на добычу которого уходит много времени и ресурсов. Но понять, что перед тобой золото, можно практически сразу. В этом смысле Bitcoin также имеет свою ценность. Но не надо понимать это как цену в долларах или в счетах за электричество, которое использовал компьютер во время подбора хэша.
Цена в долларах — это немного другое. Она никак не заложена в Bitcoin и определяется исключительно рынком. Ведь золото само по себе тоже не гарантирует вам определенную цену в долларах. Ее гарантирует лишь человек, который хочет обменять золото на доллары.
Изначальная стоимость золота определялась исключительно тем, кто его добывал. За добытое золото он просил столько, чтобы можно было компенсировать усилия на его добычу. А уже после этого на цену золота начинает влиять рынок.
Как только Bitcoin попал на рынок, его ценность определяется исключительно уровнем доверия к системе. Чем больше человек будут доверять, тем больше купят Bitcoin, тем больше долларов в него вложат и, как следствие, тем дороже будет Bitcoin.
Прежде чем люди смогут доверять Bitcoin, они должны узнать, обладает ли эта система достаточной степенью безопасности, а также можно ли ее использовать в качестве денег, т. е. обладает ли она свойствами денег, которые я перечислил в начале. Узнать это наверняка можно только разобравшить в принципах работы Bitcoin.
Надеюсь, что после этой статьи уровень доверия к Bitcoin хотя бы немного вырастет.
Эксперты пояснили, как частному майнеру удалось получить награду за найденный блок, обладая едва заметной вычислительной мощностью своих устройств
Удачливый частный майнер, обладая едва заметной долей вычислительной мощности в сети биткоина, получил награду в размере 6,35 BTC за найденный блок под номером 772 793 в блокчейне первой криптовалюты.
Чтобы добавить блок в блокчейн с алгоритмом Proof-of-Work (на котором работает биткоин), майнер должен первым найти достоверный хеш этого блока, применяя для этого вычислительные ресурсы своего устройства. Машины, созданные специально для выполнения этой функции (ASIC), способны вычислять триллионы уникальных хешей каждую секунду.
Шансы добавить блок в качестве одиночного майнера определяются количеством хешей, которые устройство майнера вычисляет в секунду, по отношению к общему количеству хешей, которые каждую секунду вычисляют все машины в сети.
Как правило, блоки добываются крупными пулами, объединяющие мощности тысяч устройств участвующих в пуле пользователей. Крупнейшими из них являются Foundry, AntPool и собственный пул биржи Binance.
В момент добавления блока в блокчейн общий хешрейт биткоина составлял чуть более 269 EH/s (экзахешей в секунду), то есть хешрейт одиночного майнера в 10 TH/s (терахешей в секунду) составлял всего 0,000000037% от всей вычислительной мощности сети.
Нетипичный случай
Это крайне нетипичный случай, комментирует событие сооснователь BitCluster Сергей Арестов. Один майнер в частном порядке «может проработать 30 лет и не подобрать за это время правильный хеш», при этом он будет потреблять электроэнергию и вырабатывать ресурс оборудования. Рисков ничего не найти и получить убыток гораздо больше.
«Похоже на покупку лотерейного билета. Вы можете покупать по одному билету каждый день и не получать выигрыш. А можно купить один единственный раз и выиграть, но шансы невелики», — поясняет эксперт, добавляя, что, если подходить к майнингу как к бизнесу, прагматичнее получать более скромный, но гарантированный доход каждый день.
По мнению финансового аналитика BitRiver Владислава Антонова, получить вознаграждение за найденный блок при соло-майнинге — «все равно, что сорвать джекпот». Сейчас хешрейт сети составляет 283 млн TH/s против 10,6 TH/s мощности неизвестного майнера. По идее, с такими параметрами оборудования он должен добывать один блок из почти 27 тыс. добытых блоков. С учетом того, что в день добывается порядка 900 BTC, это примерно один блок в 81 год, заключает аналитик.
Соло-майнинг можно использовать при добыче новых монет, где мощность сети достаточно низкая, и оборудование одного человека забирает на себя заметную долю всей вычислительной мощности сети, объясняет Антонов. С пулами вероятность получения вознаграждения растет в разы, но пользователь получает только долю от вознаграждения, пропорционально рассчитанную от всей вычислительной мощности пула.
Пользователи форума Bitcointalk, обсуждая удачливого майнера, пришли к выводу, что его установка состояла из четырех простейших USB-майнеров, каждый из которых выдавал не более 3 TH/s и стоил порядка $200.
«По характеристикам сложно найти оборудование под хешрейт 10,6 TH/s. Есть старенький ASIC Antminer S9 с параметрами на 30% лучше. Его производительность — до 14 TH/s.», — комментирует Антонов
Сложность сети
Год назад, менее чем за две недели было зафиксировано три случая, когда соло-майнеры успешно добыли блоки, причем хешрейт третьего составил всего 8,3 TH/s по сравнению с общим хешрейтом сети в 190 719 350 TH/s. Вероятность получить награду за блок при таких параметрах составляет 1 к 23 миллионам.
Поскольку система майнинга в алгоритме Proof-of-Work основана на случайной генерации значений хешей и ответных механизмах, не существует какой-то уникальной стратегии для разных по мощности устройств. Таким образом редкие случаи везения одиночных майнеров вполне вероятны, и, скорее всего, еще будут иметь место в будущем.
Сложность майнинга биткоина 16 января установила новый рекорд. В результате очередного перерасчета она обновила исторический максимум, увеличившись до 37,59 Т, по данным BTC.com. Среднее время нахождения блока сейчас составляет сейчас 9 мин 4 с. Хешрейт биткоина (суммарная вычислительная мощность оборудования, добывающего криптовалюту) при текущей сложности ожидается на уровне в 269,02 EH/s, что также близко к максимальным значениям.
Как объясняет Антонов, из-за падения курса биткоина до $15 476 резко снизились цены на оборудование для добычи криптовалюты. Несмотря на энергетический кризис и неопределенность на финансовых рынках, инвесторы предпочли вкладываться в майнинговое оборудование в ожидании восстановления биткоина и обновления исторического максимума перед халвингом в 2024 году. В предыдущие циклы рынка курс биткоина начинал повышаться за год до уменьшения вознаграждения майнеров.
— Цифровая недвижимость. Токены и земли в метавселенных растут в цене
— Президент Сальвадора обвинил ведущие мировые СМИ во лжи
— В Pantera Capital заявили о главной роли DeFi в сфере финансов будущего
— Календарь: главные события криптомира в первом квартале 2023 года
— ФБР обвинило северокорейских хакеров во взломе сети Harmony на $100 млн
Больше новостей о криптовалютах вы найдете в нашем телеграм-канале РБК-Крипто.
Вопрос очень важный, который задают многие: Чем обеспечивается Bitcoin и как он добывается? Криптовалюта, платформа для обмена деньгами, или пирамида? Как разобраться и получить понятный ответ на все вопросы, этим мы сейчас и займемся.
Так что же такое Bitcoin? Это по сути первая в мире децентрализованная цифровая валюта, выпущенная в 2009 году неким Сатоши Накамото. Мы не знаем кто это такой, да это и не суть важно, но основной ключ по Биткоин это децентрализация, анонимность, безопасность, ограниченность.
А теперь нормально русским языком, что это значит. До Биткоина уже было очень много попыток создать какую-то цифровую валюту теже Вэбма́ни, Яндекс Деньги это все что угодно по сути их много было, в разных компаниях свои какие-то бонусные баллы это всё цифровые валюты. Но Bitcoin стал первой децентрализованной криптовалютой. На практике это значит, что не было никого кто смог бы выпускать Биткоин сверху и управлять им миняя его курс либо ограничивая его эмиссию. Это и привело к тому, что он стал таким популярным. В биткоине есть кошельки у каждого человека, но мы не знаем конкретно кто владелец этого кошелька, он скрыт. Есть просто номера транзакций, которые переходят на кошелёк и из кошелька, но тем не менее они доступны каждому участнику сети, но мы не знаем кто конкретно держатель данного кошелька. Пусть какая-то, но первая анонимность в сети появилась.
Очень важный факт, то что Bitcoin ограничен. В алгоритме заложено, что будет добываться определенное количество. Соответственно к 2200 году количество биткоинов полностью иссякнет, он ограничен количеством. А мы понимаем, где больше ажиотаж, где меньше того, что хотят люди, соответственно это что то будет расти в цене. Эти четыре вещи позволили Биткоина привести к гигантской популярности и плюс бесплатные транзакции в идеале подразумевались, но к сожалению сейчас у нас возникли некоторые проблемы о которых мы поговорим дальше и которые бесплатные транзакции свели на нет.
Как же работает вообще сам по себе Bitcoin, что и как он вообще заточен? Биткоин работает по системе цепочки блоков или блокчейн по-другому. В чём смысл цепочки блоков?
У нас есть один блок, дальше основным настраивается следующий блок, дальше ещё один. Каждый блок, чтобы он появился в сети его нужно добыть, грубо говоря его нужно найти и вычислить, то есть обнаружить. Что бы его добыть, нужно использовать некие вычислительной мощности ваших компьютерных программ, вашего жилья за компьютером грубо говоря, то есть чтобы блок найти нужно использовать мощности ваших компьютеров. И когда блок находится, чтобы мотивировать вас использовать свои компьютерные вычислительные мощности, вам дается в нахождение блока 12,5 биткоинов, это вознаграждение за то, что вы потратили свои ресурсы. Когда блок находится и чтобы перейти к добыче следующего блока и построить его, нужно сначала предыдущий найденый блок заполнить транзакциями, которые совершают участники сети. Как пример Маша отправила денежки Паше, Паша отправил денежки Серёже – это всё транзакции. Транзакции нужно, как-то поместить сначала в блок, то есть майнеры или люди, которые дают свои вычислительные мощности, внедряя транзакции в блок его заполняют и когда блок считается завершенным, начинается добыча следующего блока. Так работает блокчейн.
Один важный нюанс, что прежде чем транзакция майнерами будет отправлена в сам блок, эти транзакции должны подтвердить другие компьютеры. Другие люди, у которых кошельки установлены и эти кошельки полностью синхронизированы с технологией блокчейном – это называется полные ноды. Ноды – это просто обычный человек, который скачал кошелёк и положил туда биткоины. Полная нода – это обычный человек, который скачал себе кошелёк и полностью дождался, когда кошелёк синхронизировался с сетью блокчейн. Когда он становится полной НОДОЙ, он становится по сути узлом, человеком или называйте, как хотите, который в будущем подтверждает транзакцию и эти транзакции потом вставляются в блок.
Также хочется дополнить, что каждый блок у него есть тело блока и заголовок блока и шапочка блока. В шапочке блока содержится информация о предыдущем лоте, в теле блока содержится подтвержденная транзакция. Вот так состоит блок соответственно. Шапочки блока нужны, чтобы понимать, что произошло с предыдущим блоком, а в теле блока дополняются транзакции.
13 мая курс ВТС обвалился, когда Илон Маск объявил, что Tesla больше не принимает Bitcoin: мол, майнинг неэкологичен. Почему майнинг Bitcoin потребляет столько энергии — и как он вообще работает? Объясняем простым языком.
Каждые 10 минут — по загадке
Возможно, вы удивитесь, но в основе процесса майнинга биткоина лежит разгадывание загадок. Задачи задает система, а решают их майнеры — вернее, мощные вычислительные устройства.
Мы не будем вдаваться в подробности того, как устроены эти загадки: скажем лишь, что майнерам нужно найти число, удовлетворяющее определенным требованиям. Причем просто решить задачу, как уравнение, нельзя: нужно перебрать миллионы потенциальных решений и транслировать их другим майнерам, чтобы они проверили их на правильность.
Загадочный создатель Bitcoin Сатоши Накамото наладил систему таким образом, что решение криптографической задачи требует огромных вычислительных усилий, зато проверка на правильность совершается очень просто. Когда все майнеры в сети согласятся, что найденное число — правильное, новый блок присоединяется к сети — а система тут же выдает новую загадку. В среднем это происходит каждые 10 минут.
Данный алгоритм называется Proof-of-Work (PoW), то есть «доказательство работы». Понимать это можно так: транслируя потенциальные решения в сеть, майнер доказывает, что совершил вычислительную работу.
Тот, кто первым найдет заветное число — вернее, тот, чье решение первым признают правильным остальные, — получает в награду биткоины. В 2021 г. награда за блок составляет 6,25 ВТС.
Три загадочных слова: хешрейт, сложность и асики
Заработок майнера во многом зависит от производительности оборудования. Чем больше решений в секунду выдает машина, тем больше вероятность, что одно из них окажется правильным. Это количество потенциальных решений (хешей) за единицу времени называется хешрейт и отражает вычислительную мощность устройства. А хешрейт сети — это суммарная мощность всех одновременно работающих майнеров (кстати, майнер — это и машина, и человек, занимающийся майнингом).
На протяжении последних 10 лет хешрейт сети Bitcoin постепенно рос. Казалось бы: если все майнеры трудятся над одной и той же задачей, то с ростом их числа (т. е. суммарного хешрейта) нужно будет все меньше времени, чтобы найти решение. А вот и нет: сложность задач тоже повышается, так что в среднем на решение нужны все те же 10 минут. И наоборот: если много майнеров вдруг покинут сеть, сложность вскоре автоматически упадет.
Кстати, именно это произошло в мае-июне 2021 г., когда в ряде регионов Китая запретили майнинг. Майнерам пришлось массово отключить оборудование и покинуть Юннань, Сычуань и др. Хешрейт сети снизился на 54%, за чем последовало уменьшение сложности на 28%. Опять-таки, спасибо Сатоши Накамото за этот элегантный балансирующий механизм.
На заре развития Bitcoin сложность была такой низкой, что майнить ВТС можно было на обычном компьютере. Теперь же для этого используются специальные устройства: ASIC, или Application Specific Integrated Circuit, что означает «интегральная схема особого назначения». Это микрочип, способный выполнять только один вид вычислений — зато крайне эффективно.
Проблема энергопотребления
Хешрейт современных «асиков» исчисляется в терахешах в секунду, то есть в триллионах хешей (решений). Для такой мощности эти устройства очень эффективны: один ASIC потребляет в разы меньше электричества, чем набор видеокарт (GPU) с таким же суммарным хешрейтом.
Хотя каждый отдельно взятый ASIC имеет хороший КПД, все асики вместе взятые потребляют гигантское количество электроэнергии: больше, чем Австрия или Венесуэла. Значительная часть этого электричества получена из ископаемых источников, таких как уголь. Это и имел в виду Илон Маск, говоря, что майнинг Bitcoin неэкологичен.
Проблему можно обозначить так: сеть Bitcoin хорошо защищена от атак и манипуляций потому, что все майнеры должны прийти к консенсусу и совершить работу. Однако тот факт, что все они соревнуются в решении одной задачи, приводит к гигантской затрате ресурсов.
В этом парадокс алгоритма Proof-of-Work, и майнинг Bitcoin останется затратным до тех пор, пока не будет намайнена последняя монета — предположительно в 2140 г.
Единственное, что можно сделать, — перевести майнеров на возобновляемые источники энергии. К этому призывают Илон Маск и недавно созданный Bitcoin Mining Council (Совет по Bitcoin-майнингу). Кстати, в свежем отчете Совета говорится, что в во 2-м квартале 2021 г. доля возобновляемой энергии в потреблении майнеров выросла с 37% до 56%, так что экологичный майнинг — не просто фантазия.
Стоит ли игра свеч?
Напоследок затронем интереснейшую тему доходности майнинга. С точки зрения обычных пользователей, главная функция майнеров — подтверждать транзакции (за что они получают комиссию), объединять их в блоки и присоединять к цепочке.
Однако самих майнеров интересуют те самые 6,25 ВТС за блок, что по ценам июля 2021 г. составляет около $200 000. Майнеры продают эти биткоины на криптобиржах, таких как Binance, Coinbase или регулируемая белорусская площадка FREE2EX.
Найти блок самостоятельно практически невозможно, поэтому майнеры присоединяются к так называемым пулам. За счет большого суммарного хешрейта пул регулярно «находит» новые блоки (т. е. правильные решения) и получает биткоины, которые делятся между участниками пропорционально работе, проделанной каждым. Самые крупные пулы — AntPool, ViaBTC, F2Pool и Binance Pool.
Специальный онлайн-калькуляторы помогают рассчитать, сколько в среднем заработает владелец асика конкретной модели, если будет майнить в пуле. Ключевые параметры — хешрейт асика и цена электроэнергии. Взяв для примера популярную модель AntMiner S17 P (производительность 56 TH/s, мощность 2094 Вт) и цену электроэнергии в Минске ($0,07 за киловатт-час), получим доход в размере $370 в месяц.
Подержанный асик этой модели стоит около $4000. Таким образом, если цена ВТС не изменится, то срок окупаемости устройства составит почти 11 месяцев.
11 месяцев, чтобы отбить первоначальную инвестицию — это много. Пожалуй, самый ценный вывод для обычного пользователя заключается в том, что майнинг — вовсе не легкий способ разбогатеть, каким его часто изображают. Напротив, это очень затратный вид деятельности, в котором профит никогда не гарантирован.
В качестве альтернативы майнингу ВТС на асиках часто предлагается майнинг других PoW-криптовалют на GPU (видеокартах). Действительно, сложность добычи таких монет, как Monero (XMR) или Ravencoin (RVN), во много раз ниже, чем у Bitcoin. Но не все так радужно с GPU-майнингом:
- для создания качественной домашней майнинговой фермы потребуется не менее 6 GPU стоимостью от $500 каждая;
- видеокарты потребляют много электричества и нуждаются в охлаждении (они куда менее эффективны асиков);
- цена альтернативных PoW-монет очень волатильна и может обрушиться вслед за ценой BTC.
Мораль: если вас посещают мысли о том, чтобы заняться майнингом, не ведитесь на рекламные обещания. Нужно хорошенько рассчитать срок окупаемости оборудования с учетом реальной стоимости электричества и возможной волатильности курсов криптовалют. Скорее всего, вы поймете, что игра не стоит свеч: лучше уж купить Bitcoin, когда его цена упадет, а затем продать на очередном витке роста. Сделать это можно просто и безопасно, например, через сервис мгновенного обмена от криптобиржи FREE2EX, где комиссия за покупку с банковской карты составляет всего 2,95%.
Информация о криптовалютах в интернете зачастую некорректна или слишком запутана. Чтобы пользователям было легче сделать первые шаги, портал MyFin и регулируемая криптобиржа FREE2EX запустили данную серию статей, которые помогут новичкам разобраться, где в криптоиндустрии правда, а где — просто громкие заявления. Не пропустите следующую публикацию!
Деятельность, связанная со сделками (операциями) с токенами, связана с высоким уровнем риска полной потери денежных средств и иных объектов гражданских прав (инвестиций), переданных в обмен на токены. Правовое регулирование сделок с токенами не имеет единообразного подхода, и последствия совершения таких сделок могут иметь разную правовую оценку в различных государствах.
Данная статья не является консультацией или руководством, а создана в качестве информационно-просветительского материала.
*Партнерский материал. ООО «Пиксель Интернет» УНП: 590995582
Еще больше новостей – в нашем Telegram-канале
Подписаться на канал
Поделитесь своей новостью или «денежной» историей через @myfinby_bot
Если вы заметили ошибку в тексте новости, пожалуйста, выделите
её и нажмите Ctrl+Enter
@daemon1,
Я тут как всегда с глупыми идеями влезу. А как насчет того, чтоб не размышлять и придумывать, а прочитать все в доках?
Описанное выше соло майнинга вообще мало касается, там и шар нет. Там или нашел решение, или нет.
Обычно же между майнерами и демоном стоит прослойка- пулсервер, он нужен как раз для учета работы, если много майнеров работают одновременно, чтобы меньше грузить демон и раздать всем награду после нахождения блока.
Вот для начала сойдет: Биткоин изнутри для непонимающих если останутся вопросы, могу еще ссылок накидать.
Опять же очень упрощенно:
1. Пулсервер
2. Пулсервер получает от демона криптовалюты информацию о предыдущем блоке, текущих не включенных в блок транзакциях, добавляет транзакцию получения себе эмиссионного вознаграждения, делает из всего этого добра заголовок блока и отправляет майрерам, чтобы они перебирали нонсы.
3. Затраченная работа майнерами учитывается с помощью шар. Шара это найденный хэш не менее определенной сложности. По количеству шар после нахождения блока можно сказать. кто какой вклад внес при его нахождении и пропорционально разделить награду. например.
4. Не понял вопрос. Кто они и кем отслеживаются.
5. В сети появляются постоянно новые транзакции, можно заголовок блока обновлять, и находятся блоки другими пулами, при этом тоже изменяется заголовок блока, который ищется в данный момент.
6. Чтобы придумать новую лучшую схему, стоит как минимум разобраться, как работает старая.
Если хочется понять глубже, то курите для начала доки по Getwork и stratum