Могут ли два человека сгенерировать один и тот же TRON-адрес? Разбор уникальности
Могут ли адреса TRON совпасть? Ответ прост: теоретически коллизия возможна, но на практике вы почти наверняка с ней не столкнётесь. Адрес — это строка, полученная из приватного ключа с помощью эллиптической кривой и хеш-алгоритма, его эффективное пространство составляет 2 в 160-й степени. Насколько велико это число? Предположим, вы генерируете 1 миллиард адресов в секунду. Чтобы найти коллизию любых двух адресов с помощью атаки «дней рождения», в среднем потребуется 2 в 80-й степени попыток, что составляет более 38 миллионов лет. Так что «совпадение адресов» — не то, о чём вам стоит беспокоиться. Действительно стоит беспокоиться о хранении приватного ключа и качестве случайных чисел.
Как генерируется адрес?
В основной сети TRON процесс создания адреса фиксирован: сначала генерируется случайный 256-битный приватный ключ, затем с помощью алгоритма эллиптической кривой secp256k1 вычисляется публичный ключ, после чего к публичному ключу применяется хеш Keccak-256, берутся последние 20 байт, добавляется префикс 0x41, и наконец результат кодируется в Base58Check в строку, начинающуюся с T. Во всём процессе нет никакой централизованной регистрации — адрес является просто результатом кодирования хеша публичного ключа. Такие инструменты, как TronLink и кошельки TRON, следуют одним и тем же правилам, поэтому адрес, сгенерированный любым кошельком, можно найти в Tronscan.
Насколько низка вероятность коллизии?
Эффективное пространство адреса составляет 160 бит, то есть 2 в 160-й степени возможных вариантов. Если перебирать 1 миллиард адресов в секунду, среднее количество попыток для нахождения коллизии с помощью атаки «дней рождения» составит 2 в 80-й степени, то есть примерно 1,2 × 10 в 24-й степени. При скорости 1 миллиард в секунду на это потребуется более 38 миллионов лет. И это лишь среднее время для «нахождения какой-либо коллизии». Чтобы столкнуться с конкретным адресом (например, адресом, на котором хранится большое количество USDT), сложность составляет 2 в 160-й степени, что в 2 в 80-й степени раз труднее описанного выше процесса. Поэтому адреса TRON не совпадают при случайной генерации — так же, как если вы бросите горсть песка, положение каждой песчинки не совпадёт в точности с другой.
Почему некоторые опасаются совпадения адресов?
Опасения обычно проистекают из двух заблуждений. Первое — адрес воспринимается как учётная запись, которую можно зарегистрировать повторно, как номер телефона. На самом деле адрес не регистрируется, а выводится математически, и не существует этапа проверки «уже занят». Второе — слышали, что «квантовые вычисления» могут взломать эллиптическую кривую, но это угроза совсем другого уровня и к коллизиям отношения не имеет. На самом деле адрес становится опасным не из-за коллизий, а из-за утечки приватного ключа. Например, кража приватного ключа трояном, фотографирование сид-фразы и сохранение в облаке, использование ненадёжных онлайн-генераторов — эти риски в бесчисленное количество раз выше, чем совпадение адресов.
Генерация красивых адресов и уникальность
Красивый адрес TRON по сути также является результатом поиска среди случайных приватных ключей. Генератор непрерывно создаёт приватные ключи и вычисляет адреса, пока адрес не совпадёт с желаемым шаблоном, например, с восемью подряд идущими восьмёрками или определённым словом. Этот процесс также подчиняется правилам генерации адресов, и каждому кандидату соответствует уникальный приватный ключ. Поэтому в таких маркетплейсах красивых адресов TRON, как Akali, каждый красивый адрес соответствует отдельному приватному ключу, и не бывает ситуации, когда два адреса используют один и тот же приватный ключ. После покупки рекомендуется сразу импортировать адрес в свой кошелёк, подтвердить право владения приватным ключом, а затем проверить баланс адреса и настройки прав.
Как проверить, действителен ли адрес?
Вам не нужно проверять «наличие коллизии» — достаточно проверить формат адреса и его состояние в цепочке. Поиск адреса в Tronscan покажет историю транзакций, баланс TRX и взаимодействие с контрактами. Если формат адреса некорректен, кошелёк сразу выдаст ошибку. Для красивых адресов вы также можете проверить в маркетплейсе Akali или в Tronscan, активирован ли адрес (есть ли транзакции). Адрес, который никогда не появлялся в цепочке, при наличии приватного ключа всё равно может нормально принимать средства, поскольку состояние в цепочке создаётся только с первой транзакции.
Заключение
Уникальность адреса обеспечивается математикой: приватный ключ случаен и достаточно длинен, поэтому вероятность коллизии пренебрежимо мала. Вместо того чтобы переживать о совпадении адресов, лучше сосредоточиться на холодном хранении приватного ключа и проверке адреса перед транзакцией. Если вы хотите получить легко запоминающийся адрес TRON, загляните в маркетплейс красивых адресов TRON Akali — у каждого адреса есть отдельный приватный ключ, и передача выполняется по процедуре покупки.
Хотите незабываемый красивый TRON-адрес?
В маркет→