概述
Fiber Network 是一个基于 Nervos CKB 和链外通道构建的下一代公共闪电网络,可以为 RGB++ 资产提供快速、低成本和去中⼼化的多币种⽀付和点对点交易。
背景
区块链技术的发展与挑战
区块链技术自比特币问世以来,经历了迅猛的发展.从最初的简单支付功能,逐步扩展到智能合约、去中心化金融(DeFi)、非同质化代币(NFT)等广泛的应用领域。尽管区块链技术在安全性、透明度和去中心化方面具备显著优势,但其在扩展性和交易速度方面面临诸多挑战。
Nervos CKB 虽然在性能以及确认时间上有所改进,但仍然需要进一步提高交易速度和降低交易成本,以满足小额支付和即时支付的需求。
闪电网络的启示
闪电网络(Lightning Network)作为比特币网络的二层扩展解决方案,通过链下交易和支付通道技术,成功实现了快速、低成本的微支付。其核心理念包括:
Nervos CKB 的优势
Nervos CKB 是一个专注于通用性和安全性的区块链平台。其独特的设计使其在解决区块链扩展性和互操作性问题上具备独特优势:
Fiber Network 项目的意义
通过在 Nervos CKB 上构建链外通道,我们希望结合闪电网络的成功经验和 CKB 的技术优势,构建一个快速、低成本和去中心化的多资产实时支付交换网络。具体而言:
架构设计
总体架构
Fiber Network 总体架构包括以下核心模块:
链下支付通道
链下支付通道是 Fiber Network 的核心,通过它可以实现多次链下交易,仅在通道关闭时进行链上结算。这种机制显著减少了链上交易的数量,提高了交易速度和降低了交易费用。
大致的工作流程如下:
具体的消息交互格式可以参考 Fiber Network P2P Message Protocol[2]
链上合约
目前我们采用哈希时间锁合约(HTLC) 来确保链下交易的安全性并兼容闪电网络。通过它可以避免交易对手风险,确保即使在链下交易失败的情况下,用户也能通过链上合约获得资金保障。
大致的工作流程如下:
得益于 CKB 的图灵完备性,我们可以实现更灵活以及更安全的链上合约。之后会进一步扩展合约的功能,比如引入基于版本号的撤销机制和更安全的 Point Time-Locked Contracts。
多跳路由
多跳路由技术允许用户在没有和对方直接建立支付通道的情况下,通过多个中间节点完成支付。这种机制增强了网络的灵活性和覆盖范围。
工作流程:
同时我们也会在这里用HTLC合约实现跨链的支付,通过 cross-chain hub service 的方式来支持与闪电网络的互操作,具体可以参考 Payment Channel Cross-Chain Protocol with HTLC[3]
监控服务
监控服务是 Fiber Network 的重要组成部分,它负责监控链下支付通道的状态,确保通道的安全性和资金的安全。功能和作用如下:
当前进展和计划
目前我们已经完成一个 Fiber Network 的原型,实现了两个节点之间的通道的创建、更新和关闭的基本功能,同时也验证了和比特币闪电网络做跨链的功能。项目代码可在这 2 个 GitHub 仓库中找到:
接下来的工作计划准备完成多跳路由和监控服务,以及完善 RPC 接口和 SDK,使得更多的开发者可以方便的接入 Fiber Network。
多跳路由协议基于 Dijkstra 算法来搜索支付路径,以此降低路由费用,并提高多跳路径支付成功率。在 Fiber Network 上线运行之后, 我们会根据网络流量和运行情况优化路由算法, 预计将会提供 2~3 种路径搜索策略,以适应用户不同的路由偏好和需求。Fiber Network 还将引入多路径支付策略,将较大的支付额分成多份,每一份由不同的路径传送,进一步增加支付成功概率。
监控服务将由 Fiber Network 中的一些节点提供, 他们保持在线,关注网络中的异常情况,帮助保护通道中的资产。监控服务还将追踪 cross-chain hub service。即使用户在一段时间内离线, 监控服务也能确保与闪电网络的交换能成功进行。
此外,我们还将考虑在 Fiber Network 中加入更多功能,比如,利用 CKB 的可编程性实现隐私保护算法, 并基于此优化路由算法和监控服务,保护用户支付信息的安全和隐私。