Если в ходе изучения этой статьи у вас возникнут вопросы, обязательно ознакомьтесь с нашим словарём криптовалютных терминов.
Что такое блокчейн
Блокчейн (с англ. blockchain — «цепь блоков») — это база данных с транзакциями, состоящая из последовательно выстроенной цепочки цифровых блоков, в каждом из которых хранится информация о предыдущем и следующем блоках.
Для каждого блока справедлива следующая последовательность:
1) Пользователь 1 совершает транзакцию, отправляя активы пользователю 2.
2) Транзакция попадает в т.н. мемпул (memory pool), в котором находятся все инициированные, но ещё не обработанные транзакции.
3) Все транзакции обрабатываются майнерами или валидаторами. Например, в блокчейне Bitcoin, работающем по принципу Proof-of-Work, майнером может стать любой пользователь, подключенный к сети и управляющий специальным оборудованием для майнинга. Понятие “валидатор” применимо к сетям, работающим по технологии Proof-of-Stake, где подтверждение транзакций осуществляют пользователи / узлы с большим количеством заблокированных на счету нативных токенов. Майнеры (далее в тексте будем упоминать только их, поскольку технически валидация в сетях Proof-of-Stake происходит немного иначе, чем в “классическом” блокчейне) выбирают транзакции из мем пула и записывают их в список транзакций, которые необходимо совершить — этот список транзакций называется блоком.
4) Размер каждого блока ограничен, поэтому они содержат в себе строго определенное количество транзакций. Как только в блоке не остаётся места для внесения новых записей, майнеры закрепляют этот блок в цепочке, как последний. Все транзакции и активы поступают на счета конечных пользователей, а майнеры начинают подбирать транзакции для создания следующих блоков.
Транзакции для внесения в блок выбираются отнюдь не в случайном порядке, а с учётом комиссий, которые готовы оплатить пользователи. Т.е. отправитель сам указывает ту сумму, которую он готов заплатить майнерам за обработку его транзакции. Как уже было сказано выше, количество транзакций в блоке ограничено, поэтому первыми будут обработаны транзакции пользователей, оплативших самую высокую комиссию.
Ещё одним механизмом вознаграждения за поддержание работоспособности блокчейна для майнеров является распределение нативных токенов сети. На уровне кода установлены алгоритмы, позволяющие блокчейну автономно создавать новые монеты и выдавать их майнерам в качестве оплаты за создание новых блоков. Из всех участников сети, подтверждающих транзакции, вознаграждение получает только один майнер (тот, чей блок оказался в блокчейне). Такая конкуренция является одним из механизмов по регулировке комиссий за транзакции.
Хэш-функция / хэширование
Чтобы понять, как определяется майнер, который подтверждает и получает вознаграждение за блок, необходимо разобраться с понятием хэш.
Все транзакции, находящиеся внутри блоков, формируют локальные базы данных (символы, буквы) различной величины, т.е. для каждого блока их размер может отличаться. Эти данные вводятся в хэш-функцию и в процесе хэширования преобразуются в выходные данные фиксированной величины. Имея входные данные, мы можем вычислить результат хэширования (выходные данные или же хэш), однако, имея только выходные данные, мы не сможем понять, как этот результат хэширования был получен.
Например, нашими входными данными выступают числа 1, 2, 3 и 4. Задача: хэшировать их путем сложения. Результатом такого хеширования станет число 10. Однако, имея лишь число 10, мы не можем понять, из чего оно складывалось. Входные данные в виде выражений 2+2+2+2+2, 4+4+1+1, 5+3+2 и т.д.— все они на выходе справедливо дают один и тот же результат, однако понять, какие из этих входных данных непосредственно использовались, невозможно.
Работа майнеров заключается в подборе цифр и символов хэша до тех пор, пока он не будет соответствовать всем заданным параметрам сети. Изначально у всех майнеров одинаковые шансы на успех, но всё же на них можно повлиять за счёт увеличения вычислительной мощности. Каждый компьютер или же подключенная к нему майнинговая ферма перебирает тысячи возможных комбинаций для того, чтобы определить верную. Чем больше таких комбинаций за фиксированное время сможет перебрать отдельно взятый компьютер / ферма, тем выше шанс вычислить правильный хэш и получить за это награду.
Масштабы и особенности майнинга
Ещё некоторое время назад для того, чтобы участвовать в процессе майнинга, было достаточно приобрести мощную видеокарту. Сейчас дела обстоят иначе, потому что к этому процессу подключились крупные игроки. Вдобавок ко всему прогресс не стоит на месте, и компании начали производить более мощное оборудование под названием ASIC (Application-Specific Integrated Circuit, или же интегральная схема специального назначения). Это оборудование, которое выполняет специфические майнинговые задачи.
Сейчас всё майнинговое оборудование в мире потребляет около 91ТВт-часов ежегодно — это чуть больше, чем то количество электроэнергии, которое тратит за год вся Аргентина. В процентном соотношении на майнинг в сети Биткоин уходит около 0,5% всей мировой электроэнергии.
Из-за того, что майнинговая мощность постоянно растёт, в сети Биткоин есть механизмы замедления производства блоков. Алгоритм анализирует то, как быстро майнеры добавляют в цепочку новые блоки, и в случае необходимости увеличивает сложность хэша, чтобы майнерам приходилось перебирать большее количество комбинаций. Благодаря этому в среднем каждый новый блок создается примерно каждые 10 минут.
Многие компании вкладывают сотни миллионов долларов в оборудование для майнинга, поэтому простым пользователям заниматься этим в одиночку просто невыгодно: вероятность того, что их игровая видеокарта подберёт комбинацию быстрее, чем это сделает многомиллионная ферма, практически равна нулю. Для этого индивидуальные майнеры объединяют свои мощности и создают майнинговые пулы. Если такой пул вычисляет правильный хэш блока, то все участники пула получают часть вознаграждения за этот блок пропорционально их вычислительной мощи.
Новая экономика
Резюмируя вышесказанное, криптовалюты предлагают новые способы взаимодействия между пользователями или же новую экономическую модель. Она построена вокруг децентрализации, т.е. пользователи совершают транзакции без посредников. Да, они по-прежнему вынуждены оплачивать комиссию сети, чтобы их транзакции были обработаны быстрее транзакций других пользователей. Но эти комиссии нужны для обеспечения работы самой сети и поощрения работы майнеров, которые в числе прочего отвечают за её безопасность и прозрачность.
Все операции в блокчейне зашифрованы таким образом, что их нельзя подменить, однако, в исключительных случаях их можно отменить, откатив цепочку блоков назад до проблемного блока. Любой пользователь может создать анонимный кошелёк без привязки к своим паспортным или иным данным. У этой медали есть обратная сторона, мы обязательно осветим вопросы безопасности в блокчейне в следующих статьях.
Если эта статья оказалась полезной для вас, подпишитесь на наш блог в Medium или других социальных сетях:
Cerebright | Medium | Telegram | Youtube | Twitter | Discord