Как заработать на криптовалютах и блокчейне. Объясняем на пальцах
Шрифт:
Итак, мы знаем, что блокчейн – это сеть, участники сети называются нодами, для подключения к сети нужна специальная программа-кошелек. При создании кошелька мы получаем публичный и приватный ключи, которые очень важно сохранить. Эти ключи невозможно восстановить или сменить, они генерируются автоматически, поэтому нельзя установить свой приватный ключ, который будет проще запомнить.
Перевод криптовалюты с одного адреса на другой называется транзакция. Кстати, если речь идет о блокчейне, в котором хранятся файлы, а не деньги, то транзакцией будет называться запрос на загрузку или скачивание файла.
Перед отправкой транзакции в сеть кошелек «подписывает» ее нашим приватным ключом.
Как он ее подписывает? Очень просто, выполняя всего три шага:
1. Все данные из нашей транзакции собираются в одну строку.
2. Эта строка обрабатывается при помощи специального шифровального алгоритма.
3. В результате получается строка-подпись. Она называется хэш (hash), а весь этот процесс называется хэширование.
Хэширование – это очень важная часть блокчейна, при этом она опять-таки не является его изобретением. Программисты достаточно давно используют хэши для безопасного хранения различных данных.
Например, когда вы регистрируетесь в каком-нибудь интернет-магазине и придумываете себе пароль, в базе данных магазина сохраняется не ваш пароль, а его обработанная версия – хэш. Когда вы вводите свой пароль, сайт хэширует его и сравнивает с хэшем, который уже хранится в базе данных. Если значения совпадут, значит, вы ввели правильный пароль.
Это нужно для того, чтобы даже сотрудники этого магазина не могли залезть в базу данных, подсмотреть ваш пароль и зайти с ним в ваш аккаунт. Из-за того, что в базе магазина нет вашего пароля, сайт не может прислать ваш старый пароль, если вы вдруг его забудете. Но он может прислать ссылку на ваш e-mail, по которой вы сможете придумать новый пароль.
У хэширования есть четыре очень важных свойства:
1. Алгоритм работает всегда одинаково: передавая одни и те же данные, мы всегда будем получать одинаковую хэш-строку в результате. Именно это свойство хэша используется при проверке данных, передаваемых из кошелька в блокчейн.
2. Хэширование – это необратимая функция, то есть ее невозможно расшифровать обратно. Даже зная алгоритм, по которому данные были зашифрованы, мы не можем вычислить, что же было в исходной строке.
3. Мы можем обрабатывать строку любой длины, при этом в результате всегда будет получен хэш одинаковой длины. Можем взять текст «Войны и мира» или всего одну цифру, – в результате хэширования будет получено одинаковое количество символов.
4. При малейшем изменении тех данных, которые мы хэшируем, результаты будут отличаться очень сильно.
Рис. 2. Как работает хэширование
На рисунке 2 видно, как изменится результат хэширования, если мы всего лишь уберем знак точки в конце исходной строки.
Реестр транзакций
Вернемся к нашей транзакции. Кошелек собирает все данные о транзакции, подписывает их при помощи приватного
В реестре все транзакции, подписанные кошельками, собираются в один длинный список и ждут своей очереди на проверку (верификацию, валидацию). Если очень сильно упростить процедуру, то суть проверки состоит в том, что участники сети берут исходные данные транзакции, добавляют к ним ваш публичный адрес и вычисляют хэш. Потом сравнивают полученный хэш с хэшем в реестре. Для всех вычислений и сравнений используются инструменты из высшей математики, которые заложены в алгоритмах блокчейна. Если все правильно, то транзакция считается валидной и будет добавлена в блок к другим «правильным» транзакциям.
Майнинг
Кто же выполняет проверки транзакций? Этой полезной работой занимается особая категория участников блокчейн-сети – они называются майнеры, а сама процедура проверки транзакции и добавления ее в блок таких же проверенных транзакций называется майнинг.
Майнерам для проверки транзакций и добавления их в блоки обязательно нужны две вещи: во-первых, хранить у себя полную ноду блокчейна, а во-вторых, иметь очень много вычислительных мощностей на компьютере.
Дело в том, что блокчейн создает среди майнеров очень сильную конкуренцию. Они все видят одинаковые транзакции в реестре. Все проверяют их и собирают в блоки.
Все высчитывают хэш для собранных блоков. А вознаграждение получит только один – тот, у кого будет самый красивый хэш блока. Как только появился новый блок, его автор получает свое вознаграждение, а все остальные начинают проверять новые транзакции, собирать их в блоки, высчитывать хэш и пытаться в этот раз выиграть и получить заветное вознаграждение.
Что же это за вознаграждение, которое так хотят получить майнеры? При создании нового блока в блокчейне «чеканится» новая монета этой сети. Кстати, правильнее будет называть ее не монета, а токен. Поэтому переформулируем: при формировании нового блока блокчейн генерирует новый токен и перечисляет его на адрес участника, создавшего блок. Фактически майнинг совмещает в себе три очень полезные функции: проверяет транзакции, надежно сохраняет их в блокчейне, создает новые токены (чеканит монеты).
Сколько токенов получит майнер, зависит от двух параметров:
1) от того, в каком блокчейне он проверяет транзакции;
2) от текущего уровня развития этого блокчейна.
Я думаю, что с первым параметром все понятно: если мы проверяем транзакции биткойна, то мы получаем вознаграждение в биткойнах, если эфира, то в эфире, и т. д.
А вот про уровень развития блокчейна давайте поговорим подробнее. Дело в том, что в основных блокчейнах заранее заложена так называемая бомба сложности. Это значит, что награда за блок периодически уменьшается. Например, в 2009 году, при старте сети биткойн за каждый новый блок майнер получал 50 ВТС. Такая величина награды сохранялась до 2012 года. А потом в определенный момент награда уменьшается ровно в 2 раза. С 2012 до 2016 года награда составляла 25 ВТС за блок. После уменьшения в 2016 году за каждый новый блок майнеры получают 12,5 ВТС.