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