Оценить:
 Рейтинг: 3.5

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

Год написания книги
2019
Теги
<< 1 2 3 4 5 6 7 >>
На страницу:
6 из 7
Настройки чтения
Размер шрифта
Высота строк
Поля

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

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

Пара ключей: публичный и приватный

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

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

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

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

Хэширование

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

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

Перед отправкой транзакции в сеть кошелек «подписывает» ее нашим приватным ключом.

Как он ее подписывает? Очень просто, выполняя всего три шага:

1. Все данные из нашей транзакции собираются в одну строку.

2. Эта строка обрабатывается при помощи специального шифровального алгоритма.

3. В результате получается строка-подпись. Она называется хэш (hash), а весь этот процесс называется хэширование.

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

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

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

У хэширования есть четыре очень важных свойства:

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

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

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

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

Рис. 2. Как работает хэширование

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

Реестр транзакций

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

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

Майнинг

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

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

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

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

Что же это за вознаграждение, которое так хотят получить майнеры? При создании нового блока в блокчейне «чеканится» новая монета этой сети. Кстати, правильнее будет называть ее не монета, а токен. Поэтому переформулируем: при формировании нового блока блокчейн генерирует новый токен и перечисляет его на адрес участника, создавшего блок. Фактически майнинг совмещает в себе три очень полезные функции: проверяет транзакции, надежно сохраняет их в блокчейне, создает новые токены (чеканит монеты).

Сколько токенов получит майнер, зависит от двух параметров:

1) от того, в каком блокчейне он проверяет транзакции;

2) от текущего уровня развития этого блокчейна.

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

А вот про уровень развития блокчейна давайте поговорим подробнее. Дело в том, что в основных блокчейнах заранее заложена так называемая бомба сложности. Это значит, что награда за блок периодически уменьшается. Например, в 2009 году, при старте сети биткойн за каждый новый блок майнер получал 50 ВТС. Такая величина награды сохранялась до 2012 года. А потом в определенный момент награда уменьшается ровно в 2 раза. С 2012 до 2016 года награда составляла 25 ВТС за блок. После уменьшения в 2016 году за каждый новый блок майнеры получают 12,5 ВТС.

Правила, по которым уменьшается награда за блок, запрограммированы внутри блокчейна и не могут быть изменены. Внутри биткойна действуют следующие правила: один блок формируется раз в 10 минут, через каждые 210 000 блоков награда уменьшается в два раза, максимально может быть сформирован 21 000 000 (21 млн) биткойнов.

Несложно подсчитать, что уменьшение награды за блок в два раза будет происходить раз в 4 года (ближайшее ожидается в 2020 году), а все биткойны будут намайнены примерно к 2140 году.

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

Напомню, что первый опубликованный курс биткойна был 1 доллар США за 1000 ВТС. Соответственно, за создание одного блока майнер получал 5 центов. В июне 2018-го курс биткойна составляет 6500 долларов и за создание одного блока майнер получает 81 250 долларов.

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

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

Начнем с биткойна. Здесь самым красивым считается хэш, который начинается с цифры «О», чем больше нулей в начале строки хэша, тем красивее хэш. У этого есть простое логическое объяснение: чтобы получить хэш с большим количеством нулей, майнеру нужно предпринять больше вычислительных усилий. Как майнер формирует новый блок? Он проверяет транзакции, добавляет их в блок, высчитывает хэш блока. А мы помним, что при малейшем изменении хэшируемых данных мы будем получать разный результат.

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

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

Есть еще один фактор, непосредственно влияющий на майнинг.

Внутри биткойна существует параметр, который называется уровень сложности, или сложность майнинга. От него зависит, сколько нулей обязательно должно быть в начале хэша. Блокчейн биткойна следит, чтобы новые блоки появлялись раз в 10 минут. Статистика берется на примере 2016 блоков, их создание должно занимать 14 дней. Если 2016 блоков были созданы быстрее, то уровень сложности возрастает. Если медленнее, то уровень сложности снижается.
<< 1 2 3 4 5 6 7 >>
На страницу:
6 из 7