扩展解决方案
Kaia 提供强大的扩展解决方案,即使在网络负荷很重的情况下,也能确保高吞吐量和高响应速度。 这些解决方案包括服务链和新颖的多渠道通信架构
服务链
Kaia 中的服务链是独立于 Kaia 主链的辅助区块链, ,为需要特殊节点配置、定制安全级别、 或超高吞吐量的单个 dApp 量身定制,这使得在主链上部署 dApp 变得不方便或经济上不可行。
虽然有完全去中心化的扩展解决方案,但由于其难以接近的界面(如挑战或退出)和非即时终结性, ,我们在 Kaia 的服务链中采取了不同的方法,牺牲了完全去中心化以获得更好的可用性、 即时终结性、高性能和高可用性。
Kaia 服务链可用于实现各种特定服务目标, ,并可因多种原因连接到主链,包括数据锚定(定期将区块哈希值 从服务链存储到主链,以弥补因节点数量较少而降低的服务链安全性)或 价值转移(KAIA(Kaia 的原生价值单位)和 dApp 发行的代币 的链间转移)。
网络
与 Kaia 主链相连的服务链统称为服务链网络。 请注意,在 Kaia 未来的迭代中,服务链和主链之间的连接方法可能会发生变化。
图 1 显示了用于满足各种业务需求的服务链的网络拓扑结构,这些服务链与 Kaia 主链连接 ,以扩展 Kaia 网络。
图 2 显示了 SCN(服务链共识节点)与 Kaia 主链的 EN(端点节点)直接连接的示例 ,该示例在使用服务链功能时采用了主/分桥模式。
特点
服务链通过提供数据完整性机制和支持不同链之间的令牌传输,对 Kaia 进行了扩展和增强。
数据锚定
为了保证数据的完整性,服务链可以自动将每个服务链块的哈希值作为特殊事务锚定到主链上。 这种数据锚定可以向服务用户确保,服务链中的数据一旦创建就不能更改。
价值转移
为了帮助服务提供商(SP)在不同链之间轻松迁移服务用户和价值,可以启用 在不同链之间传输代币,如 KAIA(Kaia 的原生价值单位)和 dApp 发行的 Kaia 代币。 用户可以通过向一个特殊合约(称为桥合约)发送交易,轻松申请将代币转移到其他链上。
多渠道传播
Kaia 采用多通道通信架构,以提高网络性能和弹性,尤其是在交易量大的时期。 通过将不同类型的信息分离到专用通信信道上,Kaia 即使在网络严重拥塞的情况下也能保持高效的区块传播和共识。
建筑学
多通道服务器](/img/learn/multichannel.png)
多通道连接
单通道连接
配置模式
- 多通道: 使用两个端口。 由于
kend.conf
中的MULTICHANNEL=1
,kend
默认已启用。 通过设置MULTICHANNEL=0
禁用。 使用--port
和--subport
标志自定义端口。 - 单通道: 使用一个端口(默认为 32323)。 未设置 "MULTICHANNEL "或设置为 "0 "时有效。
多渠道如何发挥作用
多通道将不同的报文类型分离到专用端口上:
- 主端口: 处理与区块相关的信息(哈希值、标头、正文、收据的请求/响应)和共识信息(请求、准备、准备、提交、轮换)。 信息的含义见 PBFT。
- 子端口: 处理交易信息。
这种分离增强了网络的稳定性:如果一个端口出现故障,另一个端口仍可继续运行。 例如,如果子端口(通常在高流量时发生拥塞)发生故障,主端口仍可维持基本的分块和共识操作。
建立连接
- 多通道到多通道: 两个端口都使用。
- ** 其他情况(多通道转单通道或单通道转单通道):** 使用单个端口。
如果节点在未指定子端口的情况下尝试连接,它最初会使用单个端口进行连接。 在握手过程中,如果对等方是多通道,则使用两个端口重新建立连接。
端口配置(KNI)
详见KNI 计划。 默认端口为 32323(主端口)和 32324(子端口)。
与 KNI 集成
多通道与 KNI 集成,用于节点发现和连接。 KNI URL 允许指定主端口和子端口。
实施说明
Kaia 的多通道实施与原始规范略有不同。 虽然这种偏离的细节超出了本文件的范围,但增强网络通信和稳健性的核心原则仍然是 Kaia 运行的核心。 这些信息主要与节点操作员和开发人员相关。
总之,多通道通过隔离信息流量、提高效率和弹性来增强 Kaia 的网络。 在为节点操作员提供高级配置选项的同时,该系统对普通用户仍然是透明的。