Формат адресов Decimal: различия между версиями

[досмотренная версия][досмотренная версия]
Нет описания правки
Нет описания правки
 
(не показаны 2 промежуточные версии этого же участника)
Строка 5: Строка 5:
                     |description= Формат адресов Decimal
                     |description= Формат адресов Decimal
                     }}
                     }}
'''Decimal-адрес''' — номер счёта, содержащий буквы, цифры и символы латинского алфавита. Адрес может быть представлен в виде QR-кода, является анонимным и не содержит информации о владельце.
'''Decimal-адрес''' — номер счёта пользователя [[блокчейн Decimal|блокчейна Decimal]], содержащий буквы, цифры и символы латинского алфавита. Адрес может быть представлен в виде QR-кода, является анонимным и не содержит информации о владельце. '''''Decimal-адрес тождественен понятию «адрес [[кошелёк Decimal|кошелька Decimal]]»'''''. По сути, это «публичный» адрес, который вам понадобится для получения средств от другой стороны через сеть Decimal.


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


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


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


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


== Адрес в Decimal ==
Обратите внимание: '''''адрес представляет собой число''''', хотя содержит и алфавитные символы. Это потому, что шестнадцатеричная система, используемая для генерации адреса, использует не только цифры, как привычная нам десятичная система. В шестнадцатеричной системе используются цифры 0-9 и буквы A-F. Таким образом, что в распоряжении оператора 16 символов, что сильно расширяет диапазон доступных сочетаний, делая число возможных адресов практически бесконечным.
 
В информатике и многих языках программирования префикс <code>0x</code> используется в начале всех известных шестнадцатеричных чисел, чтобы отличать их от десятичных значений.
 
=== Как формируется адрес в блокчейне Decimal ===
{{комментарий|С 4.09.2024 блокчейн Decimal перешел на виртуальную машину Ethereum ([[EVM]]), и использует адреса формата <code>0x…</code> вместо устаревших <code>d0…</code>.}}
 
'''Адрес кошелька в блокчейне Decimal''' — 42-символьный шестнадцатеричный адрес, полученный из последних 20 байт открытого ключа, управляющего учетной записью, с добавлением префикса <code>0x</code>, например, <code>0x71C7656EC7ab88b098defB751B7401B5f6d8976F</code>. Адрес неразрывно связан с такими понятиями, как [[приватный ключ|приватный]] и [[публичный ключ]], [[хэш-функция]], [[кошелёк]].
 
Хэш-функция является ключевым элементом при создании адресов. Ethereum для генерации адресов использует хэш-функцию [[keccak-256]]. Процесс генерации адреса кошелька в блокчейне Decimal полностью автоматизирован, и для его получения вам [[Инструкция:Как создать кошелёк в DecimalChain|достаточно нажать всего одну кнопку]].
 
Что же происходит «за кадром»? Процесс создания — сложная криптографическая операция, которую условно можно разделить на 4 этапа:
# '''Генерируется 32-байтный приватный ключ''' (64 символа), например <code>0xb533ffad9736e46ef0fbe34018fb0a30572fbe477bcc3a4e641c210ecc3ed8b5</code>.
# Из приватного ключа с помощью [[ECDSA]] (алгоритм цифровой подписи на эллиптической кривой) '''генерируется открытый 64-байтный публичный ключ''' (128 символов).
# '''Вычисляется [[хэш]] публичного ключа''' с помощью хэш-функции keccak-256. Получается строка длиной 64 символа (32 байта).
# Из полученного хэша берутся последние 40 символов (20 байт). '''Это и есть наш адрес'''.<ref>При подсчёте длины строки не учитывается префикс 0х, так как он несёт лишь информацию о том, что строка справа представляет собой шестнадцатеричную последовательность.</ref>
 
== Условия ввода адреса ==
С целью исключения ошибки при ручном вводе адреса рекомендуется использовать буфер обмена. При ручном вводе учитывается регистр символов. В случае неверного ввода адреса [[монета|монеты]] отправляются не по адресу или [[транзакция]] отклоняется.
 
== Ссылки ==
* [https://ethereumbook.ru/book/kniga/ключи_и_адреса.html Ключи и адреса — Осваиваем Ethereum | Mastering Ethereum]
 
== См. также ==
* '''Приложение. Адреса формата d01'''
{{комментарий|'''Внимание!''' Этот раздел посвящён устаревшему формату адресов, который с не используется в блокчейне.}}
{{скрыть|Нажмите show, чтобы развернуть текст →|
[[Файл:Wiki-2020-12-11_16-46-20.png|600px|frameless|right]]
[[Файл:Wiki-2020-12-11_16-46-20.png|600px|frameless|right]]
Команда [[Decimal]] поддерживает Bech32 и обеспечила его уже на старте проекта [[DecimalChain]].
На старте проекта [[DecimalChain]] в блокчейне использовался [[Bech32]]-формат адресов.


'''Адрес Bech32 имеет длину, которая не превышает 90 символов, и содержит:'''
Адрес Bech32 имеет длину, которая не превышает 90 символов, и содержит:
# '''Часть, удобную для чтения человеком.''' Сюда входят данные, которые может понадобиться передать или которые имеют какое-либо отношение к владельцу адреса, длиной минимум в один символ. Например, по умолчанию для адресов mainnet используются символы «bc», а для testnet — символы «tb».
# '''Часть, удобную для чтения человеком.''' Сюда входят данные, которые может понадобиться передать или которые имеют какое-либо отношение к владельцу адреса, длиной минимум в один символ. Например, по умолчанию для адресов mainnet используются символы «bc», а для testnet — символы «tb».
# '''Разделитель''' — им является последний из символов «1».
# '''Разделитель''' — им является последний из символов «1».
Строка 26: Строка 53:
# '''Чек-сумма.''' Последние шесть символов части данных образуют контрольную сумму и не содержат никакой информации.
# '''Чек-сумма.''' Последние шесть символов части данных образуют контрольную сумму и не содержат никакой информации.


Все буквы являются строчными, хотя для генерации QR-кода возможно их преобразование в заглавные.}}


'''Все буквы являются строчными, хотя для генерации QR-кода возможно их преобразование в заглавные.'''
== Примечания ==
 
{{примечания}}
== Условия ввода адреса ==
С целью исключения ошибки при ручном вводе адреса рекомендуется использовать буфер обмена. При ручном вводе учитывается регистр символов. В случае неверного ввода адреса [[монета|монеты]] отправляются не по адресу или [[транзакция]] отклоняется.


[[Категория:Терминология]]
[[Категория:Терминология]]
Строка 36: Строка 62:
[[Категория:DecimalChain]]
[[Категория:DecimalChain]]
[[Категория:Криптобезопасность]]
[[Категория:Криптобезопасность]]
[[Категория:Кошелёк Decimal]]‏‎

Текущая версия от 12:18, 22 сентября 2024

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х, так как он несёт лишь информацию о том, что строка справа представляет собой шестнадцатеричную последовательность.

‏‎