跳到主要内容

ADNL 协议

实现:

概览

TON的基石是抽象数据报网络层(ADNL)。

这是一个基于UDPIPv4(将来是IPv6)之上运行的覆盖层、点对点、不可靠(小尺寸)数据报协议,如果UDP不可用,可以选择TCP备选

ADNL 地址

每个参与者都有一个256位的ADNL地址。

ADNL协议允许您仅使用ADNL地址发送(不可靠)和接收数据报。IP地址和端口由ADNL协议隐藏。

ADNL地址本质上等同于一个256位的ECC公钥。这个公钥可以任意生成,从而为节点创建尽可能多的不同网络身份。然而,为了接收(并解密)发给接收地址的消息,必须知道相应的私钥。

实际上,ADNL地址不是公钥本身;相反,它是一个序列化TL对象的256位SHA256哈希,该对象可以根据其构造器来描述几种类型的公钥和地址。

加密与安全

通常,每个发送的数据报都由发送方签名,并加密,以便只有接收方可以解密消息并通过签名来验证其完整性。

邻居表

通常,一个TON ADNL节点会有一些“邻居节点(neighbors)”,其中包含了其他已知节点的信息,如他们的抽象地址、公钥、IP地址和UDP端口。随着时间的推移,它将逐渐使用从这些已知节点收集的信息扩展此表。这些新信息可以是对特殊查询的回答,或有时是过时记录的移除。

ADNL允许您建立点对点的通道和隧道(一系列代理)。

还可以在ADNL之上构建类TCP的流协议。

参阅