⚫️ На первый взгляд адреса некастодиальных кошельков выглядят случайными символами, однако за ними стоят некоторые принципы. Можно пользоваться TON, ничего об этом не зная, но интереснее разобраться с рубрикой
#howtoton.
⚫️ На сайтах ton.org/address и stels-cs.github.io/ton-tools можно ввести свой или чужой адрес (например, UQBLiDaV9no7RRwDvQrYI1kLdGfbeUSO_gLHmUxyJ6EJ1Vse) и увидеть несколько разных форм его отображения. В первом случае — целых пять. Зачем столько, и чем они различаются?
⚫️ Первая форма, HEX — «техническая». Она может использоваться в коде, но считается менее удобной для людей, поэтому пользователи обычно её не видят. В её начале, до двоеточия, идёт номер воркчейна: пока что в TON все пользуются стандартным воркчейном, но уже идёт
работа над увеличением их числа, поэтому этот параметр сыграет роль в будущем.
⚫️ Дальше идут привычные формы. Возможно, вы замечали, что иногда встречаете TON-адреса с началом «EQ...», а иногда «UQ...». Как видите, на самом деле у любого адреса есть сразу обе этих формы. Их разница — в значении параметра «bounceable»: если на EQ-адрес приходит транзакция, которую он не может обработать, он «отфутболит» её обратно отправителю.
⚫️ В кошельках чаще используют UQ-форму ради случаев, когда пользователь ещё не успел активировать кошелёк, а кто-то уже присылает ему деньги: тогда с UQ они не «отфуболятся» обратно. Но обычно пользователям не требуется думать над разницей этих форматов, это забота разработчиков.
⚫️ Обратите внимание, что кроме «EQ/UQ», в этих вариантах различаются последние символы. Поэтому нельзя просто заменить в адресе EQ на UQ (или наоборот). Если сделать так в строке ввода на ton.org/address, сайт скажет «Not valid TON address».
⚫️ А как он определяет ошибку? Дело в том, что последние символы — это «контрольная сумма», они высчитываются из предыдущих. Поэтому, если в предыдущих что-то поменялось, то и конец должен меняться. Зачем это? Как раз для проверок на ошибки. Если пользователь перепутал один символ, то возможно высчитать, что контрольная сумма должна была получиться другой, и сообщить ему «ты где-то ошибся, не отправляй деньги на такой адрес».
⚫️ Наконец, ещё два варианта с началами kQ/0Q — адреса в тестнете, о нём мы писали
ранее.
💡 Про начало и конец поняли, а откуда берётся само «тело» адреса? Если чуть упрощать, оно высчитывается из кода кошелька и сид-фразы. Так что в вашем адресе есть «следы» ваших секретных слов. Но сделано всё так, чтобы у злоумышленников не получилось проделать операцию обратно и по адресу вычислить сид-фразу.
@thedailytonrus