Формат адресов Decimal

Материал из Decimal Wiki
(перенаправлено с «Формат адреса»)
Перейти к навигации Перейти к поиску

Decimal-адрес — номер счёта пользователя блокчейна Decimal, содержащий буквы, цифры и символы латинского алфавита. Адрес может быть представлен в виде QR-кода, является анонимным и не содержит информации о владельце. Decimal-адрес тождественен понятию «адрес кошелька Decimal». По сути, это «публичный» адрес, который вам понадобится для получения средств от другой стороны через сеть Decimal.

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

Историческая справка

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

Энтузиаст и разработчик блокчейна Питер Уилле (Pieter Wuille) предложил модернизировать формат адресов в сети Bitcoin. Это предложение известно как BIP 173, или 4 bc1-адреса, и на май 2020 года оно было успешно внедрено в значительное количество криптопроектов, в том числе за рамками блокчейна Bitcoin.

Адреса формата 0x

В блокчейне Ethereum и других сетях, совместимых с виртуальной машиной EVM, все публичные адреса имеют одинаковый формат: они начинаются с 0x, за ними следуют 40 буквенно-цифровых символов (цифры и буквы), в сумме получается 42 символа. Эта запись адреса не чувствительна к регистру.

Обратите внимание: адрес представляет собой число, хотя содержит и алфавитные символы. Это потому, что шестнадцатеричная система, используемая для генерации адреса, использует не только цифры, как привычная нам десятичная система. В шестнадцатеричной системе используются цифры 0-9 и буквы A-F. Таким образом, что в распоряжении оператора 16 символов, что сильно расширяет диапазон доступных сочетаний, делая число возможных адресов практически бесконечным.

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

Как формируется адрес в блокчейне Decimal

С 4.09.2024 блокчейн Decimal перешел на виртуальную машину Ethereum (EVM), и использует адреса формата 0x… вместо устаревших d0….

Адрес кошелька в блокчейне Decimal — 42-символьный шестнадцатеричный адрес, полученный из последних 20 байт открытого ключа, управляющего учетной записью, с добавлением префикса 0x, например, 0x71C7656EC7ab88b098defB751B7401B5f6d8976F. Адрес неразрывно связан с такими понятиями, как приватный и публичный ключ, хэш-функция, кошелёк.

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

Что же происходит «за кадром»? Процесс создания — сложная криптографическая операция, которую условно можно разделить на 4 этапа:

  1. Генерируется 32-байтный приватный ключ (64 символа), например 0xb533ffad9736e46ef0fbe34018fb0a30572fbe477bcc3a4e641c210ecc3ed8b5.
  2. Из приватного ключа с помощью ECDSA (алгоритм цифровой подписи на эллиптической кривой) генерируется открытый 64-байтный публичный ключ (128 символов).
  3. Вычисляется хэш публичного ключа с помощью хэш-функции keccak-256. Получается строка длиной 64 символа (32 байта).
  4. Из полученного хэша берутся последние 40 символов (20 байт). Это и есть наш адрес.[1]

Условия ввода адреса

С целью исключения ошибки при ручном вводе адреса рекомендуется использовать буфер обмена. При ручном вводе учитывается регистр символов. В случае неверного ввода адреса монеты отправляются не по адресу или транзакция отклоняется.

Ссылки

См. также

  • Приложение. Адреса формата d01
Внимание! Этот раздел посвящён устаревшему формату адресов, который с не используется в блокчейне.

Примечания

  1. При подсчёте длины строки не учитывается префикс 0х, так как он несёт лишь информацию о том, что строка справа представляет собой шестнадцатеричную последовательность.

‏‎