В чем опасность подключения через ноду-посредника? Подключаясь к чужой ноде, мы вынуждены доверять ей и надеяться, что владелец не строит коварных планов по перехвату наших транзакций и передаче нам ложных сведений о блокчейне.
Чтобы поддерживать данные в актуальном состоянии, ноды постоянно синхронизируют свою информацию с другими участниками сети. Для этого ноды устанавливают между собой peer-to-peer соединения. Похожий протокол используется в торрентах. Все, кто подключается к торренту, устанавливают специальную программу. Когда компьютер с такой программой подключен к сети, другие участники могут скачивать с него файлы. Чтобы дать другим людям доступ к файлам, их не надо никуда загружать, нужно просто установить торрент-программу и добавить файл в разрешенные для скачивания.
Примерно так же взаимодействуют ноды блокчейна: установленный кошелек скачивает обновленные данные о транзакциях с других нод и отдает информацию о своих. Для такой синхронизации у ноды должен быть доступ в Интернет. Если компьютер с нодой какое-то время был отключен от сети, то при запуске программы сначала произойдет синхронизация всех данных, и только после этого можно будет увидеть актуальный баланс и делать переводы.
Пара ключей: публичный и приватный
При создании кошелька для него автоматически создается пара из двух ключей: публичного и приватного. Публичный ключ, или публичный адрес, – это то, что вы передаете всем желающим отправить вам деньги. А вот приватный нужно хранить в секретном и очень надежном месте, так как для подтверждения владения кошельком и управления им обязательно нужен приватный (секретный) ключ. Фактически человек, у которого есть приватный ключ, является владельцем кошелька и может им полностью распоряжаться.
Криптовалютный кошелек можно сравнить с анонимной прозрачной ячейкой в банке: все видят ее содержимое, а принадлежать оно будет тому, у кого есть ключ. При этом ячейка защищена очень надежно, ее невозможно взломать и вытащить содержимое без ключа.
Представьте, что этот ключ от ячейки, где деньги лежат, был сломан или потерян. В этом случае доступ в ячейку не сможет получить никто, и все деньги, которые в ней лежат, останутся там навсегда.
А с другой стороны, если кто-то получил ключ, то он спокойно придет в ячейку и запросто заберет ее содержимое. Так как наша ячейка абсолютно прозрачна, то любой желающий может увидеть, что в ней хранится, и понять, стоит ли тратить время и силы, пытаясь завладеть ключом от этой ячейки.
Хэширование
Итак, мы знаем, что блокчейн – это сеть, участники сети называются нодами, для подключения к сети нужна специальная программа-кошелек. При создании кошелька мы получаем публичный и приватный ключи, которые очень важно сохранить. Эти ключи невозможно восстановить или сменить, они генерируются автоматически, поэтому нельзя установить свой приватный ключ, который будет проще запомнить.
Перевод криптовалюты с одного адреса на другой называется транзакция. Кстати, если речь идет о блокчейне, в котором хранятся файлы, а не деньги, то транзакцией будет называться запрос на загрузку или скачивание файла. В общем, любое сообщение, которое мы отправляем с одного блокчейнадреса на другой, – это транзакция.
Перед отправкой транзакции в сеть кошелек «подписывает» ее нашим приватным ключом.
Как он ее подписывает? Очень просто, выполняя всего три шага:
1. Все данные из нашей транзакции собираются в одну строку.
2. Эта строка обрабатывается при помощи специального шифровального алгоритма.