Протокол ADNL
Эта страница переведена сообществом на русский язык, но нуждается в улучшениях. Если вы хотите принять участие в переводе свяжитесь с @alexgton.
Реализация:
Общие сведения
Краеугольным камнем TON является абстрактный сетевой уровень датаграмм (ADNL - Abstract Datagram Network Layer).
Это оверлейный, одноранговый, недоверенный (небольшого размера) протокол датаграмм, работающий поверх UDP в IPv4 (в будущем IPv6), с дополнительным резервным протоколом TCP, если UDP недоступен.
Адрес ADNL
Каждый участник имеет 256-битный адрес ADNL.
Протокол ADNL позволяет отправлять (недоверенные) и получать датаграммы, используя только адреса ADNL. IP-адреса и порты скрыты протоколом ADNL.
Адрес ADNL по сути равен 256-битному открытому ключу ECC. Этот открытый ключ может быть сгенерирован произвольно, тем самым создавая столько различных сетевых идентификаторов, сколько нужно узлу. Однако необходимо знать соответствующий закрытый ключ, чтобы получать (и расшифровывать) сообщения, предназначенные для адреса получателя.
На самом деле, адрес ADNL не является самим открытым ключом; вместо этого это 256-битный хэш SHA256 сериализованного TL-объекта, который может описывать несколько типов открытых ключей и адресов в зависимости от его конструктора.