1. 业务链
一种为某一具体业务而构建的链,可以轻松地部署自己的个人业务链链,以满足其应用的需求。eg. VPN service有VPN服务链、d-storage service有去中心化存储服务链。
- 默认情况下,每条业务链都具有与主链相同的分片架构,由分片、集群和Beacon组成。
- 业务链允许通过用户合约执行复杂的业务逻辑,而主链只处理资产转移和系统级功能。
1.1 业务链 vs 侧链
- 侧链
有一个双向挂钩过程,其中token锁定在主链上,然后在侧链上释放。 - 业务链
● 资产可以*地在主链和其他业务链上转移。每个账户都可以存储多种类型的资产,并可以直接接受TOP Network发行的原生token;
● 账户在主链和所有业务链中(全网)是唯一的。
1.2 . 业务链开发框架
业务链开发框架包含以下内置特性:
- P2P网络让业务链与主链及所有其他业务链互联互通。
- 账户系统在主链和所有业务链之间全网有效。
- 原生token可以在主链和所有业务链之间流通。
- TOP Network和业务链有关原生token常见资产操作包括:锁定资产、解锁资产或质押资产,以及主链和业务链之间的资产转移。
- 多种共识机制可供选择。
- 用户合约,集成了链上存储和分布式链下存储。
开发人员可以在开发过程中定制业务链参数以满足业务需求。eg,可以配置一个交易所需的最小gas,或者一个分片所需的最小节点数。
1.3 业务链部署框架
- 提交一个调用部署在Beacon上的智能合约应用程序。
- 储存一定数量的TOP token作为保证金,并为业务链配置参数,包括将使用哪种共识机制、分片中最小节点数等。在成功提交应用程序后,Beacon智能合约将产生一个链ID、业务链原生token,并向所有现存的业务链和主链节点广播。
TOP Network的业务链框架进一步解决了一个和侧链类似的主要问题,即如何获取节点。
step1. 在应用程序准备就绪后,主链Beacon上的TOP Network选举智能合约将引导业务链指派节点作为业务链的Beacon节点。一旦业务链Beacon开始运行,它将获得主链Beacon的所有功能,包括核心原生智能合约(如选举合约、资产业务合约等)。
step2. 业务链Beacon会接受节点注册,并开始以与主链类似的方式将新节点分配到分片和集群。这些节点将验证、执行交易及运行必要业务逻辑的用户合约以通过提供初始核心Beacon节点来帮助、引导业务链,但是为了获得更多的节点,业务链需要承载有用的应用程序以提升交易量。如果一条业务链很热门,就更容易获得更多的节点,而如果它没有交易量,那么就更难说服其他节点加入。
2. 单向状态通道
TOP Network构建了内置的状态通道,其目标是增加特定应用系统的吞吐量。适用于涉及低价值、高频率的微小交易的应用。
2.1 VPN业务链
状态通道是根据特定服务构建在业务链之上的。
- VPN业务链交易的参与者: VPN客户端、VPN服务提供商、 VPN边缘节点中继。
- 当发起一个VPN会话时,这些参与者将形成一个虚拟共识网络。部署在这个虚拟共识网络上的是我们所说的虚拟智能合约,它在会话期间由每个节点本地存储。虚拟智能合约可以从VPN业务链获取信息,比如当前VPN客户端的余额。
2.1.1 计费
-
VPN会话是根据计费单位计费的,这些单位通常为1Mb的带宽。如果每次计费都要执行一次交易,那么一个完整的会话就需要执行上百次交易。
-
虚拟智能合约会跟踪、汇总某一个会话期间使用的计费单元的数量,并在最后向业务链提交单个交易。客户端、服务节点和边缘中继将定期向虚拟智能合约提交所消耗的或中继转发计费单元的数量。由会话参与者组成的虚拟网络将使用我们所称的带宽证明(PoB)执行一轮小范围的共识验证。
2.2 结算和争议程序
-
通常状态通道实现方案
解决和争议的过程非常复杂。状态通道中的每个参与者必须完全同意每个状态转换。如果其中一名参与者离线了,或者出现了分歧,在有一个解决方案前这个通道都无法就绪。为了安全退出,通常需要一个比较长时间的“挑战窗口”,让有异议的用户提交他们认为有效的状态证明来进行“上诉”。 -
TOP Network单向通道
客户拥有最终决定权。如果在共识验证中发现不一致,状态通道将被关闭。
客户支付虚拟智能合约中最后记录的金额。例如,客户端提交的信息是它使用了90Mb,而服务节点提交的是它贡献了92Mb,且客户端只愿意付90Mb。由于每个计费单位的价值都很小,服务节点不会蒙受巨大金额的损失。 -
何种情况下关闭通道,参数可由服务节点来配置。如果一个服务提供商是一个拥有额外带宽的大数据中心,它不会计较因为一些不诚实客户端而造成的少量资源丢失。而一些个体服务提供商可能会更严格,当出现1或者2Mb的差异,就会立刻关闭通道。
各业务链的共识验证略有不同,但大体流程是相同的。状态通道有助于极大地提高应用系统的可扩展性。由于这个功能是内置的,开发人员不需要困扰于集成,相反,他们可以轻松地享受系统性能的提高