Введение
Одним из творений Сатоши Накамото, направленных на то, чтобы сделать Биткоин реальностью, является кодирование Base58, тип криптографической функции, специально разработанной для Биткоина. Основная функция этого формата заключается в преобразовании байтов, полученных в результате синтеза данных, представленных серией байтов (в которых применяется специальный криптографический процесс для преобразования выходных данных в стандартизированный формат внутри сети) в нечто легко читаемое и проверяемое.
Функция может не только кодировать информацию, но и декодировать ее и производить обратные вычисления. Фактически, все эти функции легко идентифицировать в исходном коде Биткоина.
Хотя код функций можно просмотреть и проверить, просмотрев файл base58.cpp. Именно эти две части позволяют Base58 работать внутри Биткоина.
Функция, облегчающая использование биткоинов
Таким образом, Base58, по сути, делает то, что делает Биткоин для нас проще: преобразует исходные данные адреса в читаемый формат. Например, такая простая функция позволяет сократить большой объем данных, а именно ECDSA , во что-то гораздо более управляемое и читаемое, например, биткоин- адрес длиной 20 символов (в стандартном или устаревшие версии этих адресов, начинающиеся с 1 или 3).
Описание процесса
Процесс довольно прост и может быть разделен на следующие этапы:
- Сначала берутся данные версии/приложения вместе с данными, соответствующими открытому ключу криптовалюты. Эти данные обрабатываются в байты.
- Затем начинает рассчитываться хэш SHA-256 всех объединенных данных. На этом этапе получается первый SHA-256
- Предыдущий результат принимается как значение для нового раунда SHA-256, и вместе с ним мы получаем хэш SHA-256 предыдущего хеша.
- Вычислив второй хеш, мы возьмем полученные из него первые четыре байта.
- Теперь мы объединяем данные из второго хеша SHA-256 (шаг 3) и присоединяем их к набору данных из шага 1.
Вышеуказанные операции будут рассматриваться как набор байтов в формате с обратным порядком байтов (формат хранения и обработки вычислительных данных). На этом этапе начинается преобразование данных в Base58 с использованием специального алфавита. На протяжении всего этого процесса необходимо нормализовать результат, чтобы в начале строки не было нулей Base58 (в этом случае они представляются со значением «1»).
В конце концов, процесс заканчивается объединением всех «1», полученных на предыдущем шаге, для получения окончательного значения Base58.
Используется в адресах и других криптографических данных внутри Биткоина и за его пределами.
Использование Base58 можно увидеть в разных частях Биткоина. Например, это можно увидеть в кодировке адресов биткоинов, поскольку они обрабатываются функцией Base58 для преобразования в известные нам адреса биткоинов. Он также используется в закрытых ключах в формате WIF. Эта функция используется не только в Биткоине, но и в других криптовалютах. Например, производные биткоинов, а именно Litecoin или Dogecoin, используют Base58 в своем программном обеспечении. Также используют Base58 в своем программном обеспечении цифровые валюты, такие как Ripple, Dash, Elixir и даже межпланетная файловая система (IPFS).
Это ясно демонстрирует огромную полезность этой функции, которая завоевала место не только в мире криптовалют, но и в различных пространствах, посвященных предложению децентрализованных технологий, и куда включено творение Сатоши Накамото не только из-за своей функциональности, но и как дань уважения и напоминание обо всем достигнутом с момента появления биткоина.
Комментарии
Комментарии для сайта Cackle