Что такое приватный ключ и публичный адрес?
Другим важным нововведением стал открытый программный продукт и система управления банковскими счетами.
Чтобы начать пользоваться новой денежной системой, в первую очередь необходимо открыть счет.
В случае с централизованной системой вы получаете номер банковского счета, на который можете получать деньги. Он уникален и не повторяется у других клиентов банка. Ведь в ином случае, если б вы дали кому-то номер своего счета для отправки средств, то другой клиент банка с идентичным номером мог бы получить такую же сумму.
Сама процедура открытия банковских счетов в некоторых странах непростая. Как результат, по подсчетам экономистов, более 2 миллиардов человек по всему миру не имеют доступа к банковскому обслуживанию. Еще одна проблема – возможность блокировки или заморозки банковского счета.
В децентрализованной системе такого произойти не может, поскольку отсутствует центральный орган, контролирующий открытие счетов, а значит, и руководящий ими. Никто не может отказать вам в доступе или что-либо от вас потребовать. Но как в таком случае избежать ситуации появления двух и более человек в системе, обладающих одним и тем же «счетом»?
Решить проблему повторения адресов удалось благодаря криптографии, а именно – приватному ключу и публичному адресу.
Приватный ключ – секретная информация, дающая право доступа к средствам кошелька.
Поскольку в блокчейне нет централизованной базы, при регистрации вы не сами выбираете себе идентификатор – он выдается в виде случайного числа, так называемого приватного ключа, который является набором букв, цифр или случайных слов. В случае биткоина, самой распространенной криптовалюты, вы получите ключ из диапазона от 0 до 2А256. Общее количество ключей – число, состоящее из единицы и 80 нулей.
Количество возможных вариаций настолько большое, что вы можете создать столько счетов, сколько атомов находится в видимой части Вселенной.
Обычно приватный ключ отображается в шестнадцатеричной форме, состоящей из 64 цифр / букв.
Приватный ключ нужен для того, чтобы передавать деньги, точно так же, как вам нужен пароль, чтобы войти в аккаунт электронной почты и отправить письмо. Но в случае криптовалюты появляется существенное различие: так называемый публичный адрес своего счета указываете не вы, он высчитывается математически с помощью приватного ключа.
Публичный адрес – математически сгенерированный криптографический хеш открытого ключа для проведения операций с криптовалютами.
Просто представьте, что в Яндекс Почте вам нужно только придумать пароль, а адрес автоматически генерируется из него. В биткоине это реализуется с помощью эллиптической криптографии, а также функций SHA 256 и RIPEMD 160.
Что касается этих математических функций, то главный нюанс состоит в том, что практически невозможно подобрать «пароль» (приватный ключ), если вы знаете только «адрес почты» (публичный адрес). Но при этом очень просто и быстро можно получить публичный адрес, если вы знаете свой приватный ключ.
Попробуем объяснить это упрощенно. Представьте, что приватный ключ – это случайное число, а связанный с ним публичный адрес – это его квадрат. Например, если приватный ключ равняется 8, то публичный адрес был бы 8 в квадрате, или 64. Да, большинство из нас может провести такие вычисления самостоятельно на листе бумаги. Но давайте попробуем пойти в обратную сторону. Каково это – подбирать корень числа, состоящего из 50 или больше цифр. Возвести в квадрат – дело пяти секунд, но обратная операция займет у вас много времени.
Я напомню, что возведение в квадрат было просто упрощенным примером, поскольку на самом деле в криптовалютах этот процесс в бесконечное количество раз более сложен.
Даже если бросить ресурсы всех компьютеров на выполнение этой задачи, Вселенная прекратит свое существование прежде, чем они найдут решение.
Приведу другую аналогию: что более безопасно – хранить свои миллиарды долларов в сейфе, местоположение которого известно всем, и нужно лишь взломать систему безопасности, либо же иметь бесконечное количество совершенно открытых сейфов?!