Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
BLOCKCHAIN-BASED DATA PROCESSING METHOD, DEVICE AND MEDIUM
Document Type and Number:
WIPO Patent Application WO/2020/142000
Kind Code:
A1
Abstract:
The embodiments of the present application provide a blockchain-based data processing method, a device and a medium. The method comprises: sending a first closed channel message over an off-chain channel; receiving a second signature and a second closed channel message of a second state sent over the off-chain channel, the second signature being obtained by signing the second closed channel message; and signing a third closed channel message to obtain a first signature of the second state and sending the first signature. The present application can ensure the transaction security and improve the transaction processing capability.

Inventors:
HE WEI (SG)
WU SHUANG (SG)
YUEN TSZ HON (SG)
Application Number:
PCT/SG2019/050001
Publication Date:
July 09, 2020
Filing Date:
January 03, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HUAWEI INT PTE LTD (SG)
International Classes:
H04L9/00; G06Q20/38
Other References:
TREMBACK, J.: "Universal Payment Channels", ALTHEA, vol. 0.5, 1 November 2015 (2015-11-01), XP055677587, Retrieved from the Internet [retrieved on 20190320]
RYAN R. FOX, JOHN M. JONES, TACONATOR: "Hashed Time-Locked Contract", GITHUB, 22 August 2018 (2018-08-22), XP055723149, Retrieved from the Internet [retrieved on 20190320]
JOSEPH POON; THADDEUS DRYJA: "The Bitcoin Lighting Network: Scalable Off-Chain Instant Payments", LIGHTING NETWORK PAPER, 14 January 2016 (2016-01-14), pages 1 - 59, XP055358006, Retrieved from the Internet [retrieved on 20190320]
HERLIHY, M.: "Atomic Cross-Chain Swaps", PROCEEDINGS OF THE 2018 ACM SYMPOSIUM ON PRINCIPLES OF DISTRIBUTED COMPUTING , PODC '18, 21 May 2018 (2018-05-21), pages 245 - 254, XP055538164, DOI: 10.1145/3212734.3212736
See also references of EP 3862957A4
Attorney, Agent or Firm:
ALLEN & GLEDHILL LLP (SG)
Download PDF:
Claims:
权 利 要 求 书

1、 一种基于区块链的数据处理方法, 其特征在于, 包括:

第一客户端设备在离链通道上, 向第二客户端设备发送第二状态的第一关闭通道消息, 所述第二状态的第一关闭通道消息包括: 第二状态的资金信息, 和所述第二状态的第一哈 希锁,所述第二状态的第一关闭通道消息用于使得所述第二客户端设备根据所述第二状态 的资金信息将资金状态从第一状态切换至所述第二状态; 所述第二状态的第一哈希锁为所 述第一客户端设备在所述第二状态的哈希锁;

所述第一客户端设备接收所述第二客户端设备在所述离链通道上, 发送的所述第二状 态的第二签名, 和所述第二状态的第二关闭通道消息, 所述第二状态的第二签名为所述第 二客户端设备根据所述第二客户端设备的私钥, 对所述第二状态的第二关闭通道消息进行 签名所得到; 所述第二状态的第二关闭通道消息包括: 所述第二状态的资金信息、 所述第 二状态的第一哈希锁和所述第二状态的第二哈希锁; 所述第二状态的第二哈希锁为所述第 二客户端设备在所述第二状态的哈希锁;

所述第一客户端设备根据所述第一客户端设备的私钥, 对所述第二状态的第三关闭通 道消息进行签名, 得到所述第二状态的第一签名, 并将所述第二状态的第一签名发送给所 述第二客户端设备; 所述第二状态的第三关闭通道消息包括: 所述第二状态的资金信息、 所述第二状态的第一哈希锁和所述第二状态的第二哈希锁。

2、 根据权利要求 1 所述的方法, 其特征在于, 所述第一客户端设备在离链通道上, 向第二客户端设备发送状态更新消息之前, 所述方法还包括:

所述第一客户端设备和所述第二客户端设备在所述第一状态下建立所述离链通道; 所述第一客户端设备向区块链节点设备发送创建通道消息, 所述创建通道消息用于使 得区块链节点设备根据预设的创建通道智能合约对所述创建通道消息进行处理, 并确定所 述离链通道在区块链上的资金状态为所述第一状态。

3、 根据权利要求 2 所述的方法, 其特征在于, 所述第一客户端设备和所述第二客户 端设备在所述第一状态下建立所述离链通道, 包括:

所述第一客户端设备生成在所述第一状态下, 创建所述离链通道所需信息; 所述创建 所述离链通道所需信息包括: 所述第一状态的资金信息;

所述第一客户端设备根据所述第一状态的资金信息, 生成所述创建通道消息; 所述第一客户端设备向所述第二客户端设备发送所述创建所述离链通道所需信息; 所 述创建所述离链通道所需信息, 用于使得所述第二客户端设备根据所述第一状态的资金信 息生成所述创建通道消息。

4、 根据权利要求 3 所述的方法, 其特征在于, 所述第一客户端设备和所述第二客户 端设备在所述第一状态下建立所述离链通道, 还包括:

所述第一客户端设备根据所述第一客户端设备的私钥, 对所述创建通道消息进行签名, 得到所述第一客户端设备对所述创建通道消息的签名;

所述第一客户端设备向所述第二客户端设备发送所述第一客户端设备对所述创建通 道消息的签名;

所述第一客户端设备接收所述第二客户端设备发送的所述第二客户端设备对所述第 二客户端设备生成的所述创建通道消息的签名。 5、 根据权利要求 4所述的方法, 其特征在于, 所述第一客户端设备和所述第二客户 端设备在所述第一状态下建立所述离链通道, 还包括

所述第一客户端设备向区块链节点设备发送所述第一客户端设备对所述创建通道消 息的签名, 和所述第二客户端设备对所述创建通道消息的签名。

6、 根据权利要求 3 所述的方法, 其特征在于, 所述创建所述离链通道信息还包括: 所述第一状态的第一哈希锁, 所述第一状态的第一哈希锁为所述第一客户端在所述第一状 态的哈希锁;

所述第一客户端设备和所述第二客户端设备在所述第一状态下建立所述离链通道, 还 包括:

所述第一客户端设备接收所述第二客户端设备发送的所述第一状态的第一关闭通道 消息, 和, 所述第二客户端设备对所述第一状态的第一关闭通道消息的签名; 所述第一状 态的第一关闭通道消息包括: 所述第一状态的资金信息、 所述第一状态的第一哈希锁和所 述第一状态的第二哈希锁; 所述第一状态的第二哈希锁为所述第一客户端设备在所述第一 状态的哈希锁;

所述第一客户端设备根据所述第一客户端设备的私钥, 对所述第一状态的第二关闭通 道消息进行签名, 得到所述第一客户端设备对所述第一状态的第二关闭通道消息的签名; 所述第一状态的第二关闭通道消息包括: 所述第一状态的资金信息、 所述第一状态的第一 哈希锁和所述第一状态的第二哈希锁;

所述第一客户端设备向所述第二客户端设备发送所述第一客户端设备对所述第一状 态的第二关闭通道消息的签名。

7、 根据权利要求 6 所述的方法, 其特征在于, 所述第一状态的第一关闭通道消息还 包括: 所述时间锁, 所述第一状态的第二关闭通道消息还包括: 所述时间锁。

8、 根据权利要求 1-7 中任一项所述的方法, 其特征在于, 所述第一客户端设备在离 链通道上, 向第二客户端设备发送第一关闭通道消息之前, 所述方法还包括:

所述第一客户端设备生成创建所述第二状态所需信息, 所述创建所述第二状态所需信 息包括; 所述第二状态的资金信息、 时间锁和所述第二状态的第一哈希锁。

9、 根据权利要求 1-8中任一项所述的方法, 其特征在于, 所述方法还包括: 所述第一客户端设备向所述第二客户端设备发送所述第一客户端设备在所述第一状 态的哈希锁原象;

所述第一客户端设备接收所述第二客户端设备发送的所述第二客户端设备在所述第 一状态的哈希锁原象。

10、 根据权利要求 9所述的方法, 其特征在于, 所述方法还包括:

所述第一客户端设备生成退出通道消息, 所述退出通道消息包括: 所述第二客户端设 备在所述第一状态的哈希锁原象;

所述第一客户端设备根据所述第一客户端设备的私钥和所述第一客户端设备在区块 链上的资金地址, 对所述退出通道消息进行签名;

所述第一客户端设备向区块链节点设备发送监控请求, 所述监控请求包括: 所述退出 通道消息和所述第一客户端设备对所述退出通道消息的签名; 所述监控请求用于使得所述 区块链节点设备监控所述第二客户端设备发送的关闭通道消息。 11、 一种客户端设备, 所述客户端设备为第一客户端设备, 其特征在于, 所述客户端 设备包括: 发送器、 处理器与接收器; 所述发送器和所述接收器分别与所述处理器连接; 所述发送器, 用于在离链通道上, 向第二客户端设备发送第二状态的第一关闭通道消 息, 所述第二状态的第一关闭通道消息包括: 第二状态的资金信息, 和所述第二状态的第 一哈希锁, 所述第二状态的第一关闭通道消息用于使得所述第二客户端设备根据所述第二 状态的资金信息将资金状态从第一状态切换至所述第二状态; 所述第二状态的第一哈希锁 为所述第一客户端设备在所述第二状态的哈希锁;

所述接收器, 用于接收所述第二客户端设备在所述离链通道上, 发送的所述第二状态 的第二签名, 和所述第二状态的第二关闭通道消息, 所述第二状态的第二签名为所述第二 客户端设备根据所述第二客户端设备的私钥, 对所述第二状态的第二关闭通道消息进行签 名所得到; 所述第二状态的第一关闭通道消息包括: 所述第二状态的资金信息、 所述第二 状态的第一哈希锁和所述第二状态的第二哈希锁; 所述第二状态的第二哈希锁为所述第二 客户端设备在所述第二状态的哈希锁;

所述处理器, 用于根据所述第一客户端设备的私钥, 对所述第二状态的第三关闭通道 消息进行签名, 得到所述第二状态的第一签名; 所述第二状态的第三关闭通道消息包括: 所述第二状态的资金信息、 所述第二状态的第一哈希锁和所述第二状态的第二哈希锁; 所述发送器, 还用于向所述第二客户端设备发送所述第二状态的第一签名。

12、 根据权利要求 11所述的客户端设备, 其特征在于,

所述处理器, 还用于和所述第二客户端设备在所述第一状态下建立所述离链通道; 所述发送器, 还用于向区块链节点设备发送创建通道消息, 所述创建通道消息用于使 得区块链节点设备根据预设的创建通道智能合约对所述创建通道消息进行处理, 并确定所 述离链通道在区块链上的资金状态为所述第一状态。

13、 根据权利要求 12所述的客户端设备, 其特征在于,

所述处理器, 具体用于生成在所述第一状态下, 创建所述离链通道所需信息; 所述创 建所述离链通道所需信息包括:所述第一状态的资金信息;根据所述第一状态的资金信息, 生成所述创建通道消息;

所述发送器, 还用于向所述第二客户端设备发送所述创建所述离链通道所需信息; 所 述创建所述离链通道所需信息, 用于使得所述第二客户端设备根据所述第一状态的资金信 息生成所述创建通道消息。

14、 根据权利要求 13所述的客户端设备, 其特征在于,

所述处理器, 具体用于根据所述第一客户端设备的私钥, 对所述创建通道消息进行签 名, 得到所述第一客户端设备对所述创建通道消息的签名;

所述发送器, 还用于向所述第二客户端设备发送所述第一客户端设备对所述创建通道 消息的签名;

所述接收器, 还用于接收所述第二客户端设备发送的所述第二客户端设备对所述第二 客户端设备生成的所述创建通道消息的签名。

15、 根据权利要求 14所述的客户端设备, 其特征在于,

所述发送器, 还用于向区块链节点设备发送所述第一客户端设备对所述创建通道消息 的签名, 和所述第二客户端设备对所述创建通道消息的签名。

16、 根据权利要求 11-15中任一项所述的客户端设备, 其特征在于,

所述发送器, 还用于向所述第二客户端设备发送所述第一客户端设备在所述第一状态 的哈希锁原象;

所述接收器, 还用于接收所述第二客户端设备发送的所述第二客户端设备在所述第一 状态的哈希锁原象。

17、 根据权利要求 16所述的客户端设备, 其特征在于,

所述处理器, 还用于生成退出通道消息, 所述退出通道消息包括: 所述第二客户端设 备在所述第一状态的哈希锁原象; 根据所述第一客户端设备的私钥和所述第一客户端设备 在区块链上的资金地址, 对所述退出通道消息进行签名;

所述发送器, 还用于向区块链节点设备发送监控请求, 所述监控请求包括: 所述退出 通道消息, 和, 所述第一客户端设备对所述退出通道消息的签名; 所述监控请求用于使得 所述区块链节点设备监控所述第二客户端设备发送的关闭通道消息。

18、 一种客户端设备, 所述客户端设备为第二客户端设备, 其特征在于, 所述客户端 设备包括: 接收器、 处理器与发送器; 所述发送器和所述接收器分别与所述处理器连接; 所述接收器, 用于在离链通道上接收第一客户端设备发送的第二状态的第一关闭通道 消息, 所述第二状态的第一关闭通道消息包括: 第二状态的资金信息, 和所述第二状态的 第一哈希锁; 所述第二状态的第一哈希锁为所述第一客户端设备在所述第二状态的哈希锁 所述处理器, 用于根据所述第二状态的资金信息将资金状态从第一状态切换至所述第 二状态;根据所述第二客户端设备的私钥,对所述第二状态的第二关闭通道消息进行签名, 得到所述第二状态的第二签名; 所述第二状态的第二关闭通道消息包括: 所述第二状态的 资金信息、 所述第二状态的第一哈希锁和所述第二状态的第二哈希锁; 所述第二状态的第 二哈希锁为所述第二客户端设备在所述第二状态的哈希锁;

所述发送器, 用于在所述离链通道上, 向所述第一客户端设备发送的所述第二状态的 第二签名, 和, 所述第二状态的第二关闭通道消息;

所述接收器, 还用于在所述离链通道上接收所述第一客户端设备发送的所述第二状态 的第一签名, 所述第二状态的第一签名为所述第一客户端设备根据所述第一客户端设备的 私钥, 对所述第二状态的第三关闭通道消息进行签名所得到的签名; 所述第二状态的第三 关闭通道消息包括: 所述第二状态的资金信息、 所述第二状态的第一哈希锁和所述第二状 态的第二哈希锁。

19、 根据权利要求 18所述的客户端设备, 其特征在于,

所述处理器, 还用于和所述第一客户端设备在所述第一状态下建立所述离链通道。

20、 根据权利要求 19所述的客户端设备, 其特征在于,

所述接收器, 还用于接收所述第一客户端设备发送的创建所述离链通道所需信息; 所 述创建所述离链通道所需信息包括: 所述第一状态的资金信息;

所述处理器, 还用于根据所述第一状态的资金信息, 生成创建通道消息, 并根据所述 第二客户端设备的私钥, 对所述创建通道消息进行签名, 得到所述第二客户端设备对所述 创建通道消息的签名; 所述第一状态的第二哈希锁为所述第二客户端设备在所述第一状态 的哈希锁;

所述发送器, 还用于向所述第一客户端设备发送所述第二客户端设备对所述创建通道 消息的签名。

21、 根据权利要求 18-20中任一项所述的客户端设备, 其特征在于,

所述接收器, 还用于接收所述第一客户端设备发送的所述第一客户端设备在所述第一 状态的哈希锁原象;

所述发送器, 还用于向所述第一客户端设备发送所述第二客户端设备在所述第一状态 的哈希锁原象。

22、 根据权利要求 18所述的客户端设备, 其特征在于,

所述处理器, 还用于生成退出通道消息, 所述退出通道消息包括: 所述第一客户端设 备在所述第一状态的哈希锁原象; 根据所述第二客户端设备的私钥和所述第二客户端设备 在区块链上的资金地址, 对所述退出通道消息进行签名;

所述发送器, 还用于向区块链节点设备发送监控请求, 所述监控请求包括: 所述退出 通道消息, 和, 所述第二客户端设备对所述退出通道消息的签名; 所述监控请求用于使得 所述区块链节点设备监控所述第一客户端设备发送的关闭通道消息。

23、 一种计算机可读存储介质, 其上存储有计算机程序, 其特征在于, 所述计算机程 序被处理器执行时实现权利要求 1-10中任一项所述的基于区块链的数据处理方法。

Description:
说 明 书 基于区块链的数据处理方法、 设备及介质 技术领域

本申请涉及区块链技术, 尤其涉及一种基于区块链的数据处理方法、 设备及介质。 背景技术

区块链核心技术起源于 2008 年由中本聪 (Satoshi Nakamoto)所提出的以对等网络 (p2p网络)为基础的比特币系统, 是按照时间顺序将交易 (Transaction)数据所构成的区 块 (Block)顺序相连的方式组合成的链式数据结构

随着区块链应用的兴起, 大量依附于如以太坊 ( Ethereum ) ,企业操作系统 (Enterprise Operating Systems, EOS) 区块链平台的分布式应用被开发。 区块链的交 易扩容一直是阻碍其大规模应用的主要问题之 一。 现有的交易扩容方案主要包括: 区块扩 容、 共识算法改良、 架构创新等。 然而, 区块扩容损害分布式特性, 共识算法的改良对性 能提升空间已不大, 架构创新则受限于高技术难度与复杂度, 且无法与现有区块链架构兼 容。无论哪种方案都难以同时兼顾去中心化 (Decentral izat ion) ,可扩展性 (Scalability) 和安全性 (Security)三个关键需求。

因而如何在保证安全性的前提下大规模提升交 易处理能力, 是目前区块链应用的关键 问题之一。 发明内容

本申请实施例提供一种基于区块链的数据处理 方法、 设备及介质, 以在保证交易安全 的情况下, 提 交易处理能力。

第一方面, 本申请实施例提供一种基于区块链的数据处理 方法, 包括:

第一客户端设备在离链通道上, 向第二客户端设备发送第二状态的第一关闭通 道消息, 以使得该第二客户端设备根据该第二状态的资 金信息将资金状态从第一状态切换至该第 二状态, 其中, 该第二状态的第一关闭通道消息包括: 第二状态的资金信息和该第二状态 的第一哈希锁, 该第二状态的第一哈希锁为该第一客户端设备 在该第二状态的哈希锁。

该第一客户端设备接收该第二客户端设备在该 离链通道上发送的该第二状态的第二 签名和该第二状态的第二关闭通道消息, 其中, 该第二状态的第二签名为该第二客户端设 备根据该第二客户端设备的私钥对该第二状态 的第二关闭通道消息进行签名所得到; 该第 二状态的第二关闭通道消息包括该第二状态的 资金信息、 该第二状态的第一哈希锁和该第 二状态的第二哈希锁; 该第二状态的第二哈希锁为该第二客户端设备 在该第二状态的哈希 锁;

该第一客户端设备根据该第一客户端设备的私 钥对该第二状态的第三关闭通道消息 进行签名, 得到该第二状态的第一签名, 并将该第二状态的第一签名发送给该第二客户 端 设备; 该第二状态的第三关闭通道消息包括: 该第二状态的资金信息、 该第二状态的第一 哈希锁和该第二状态的第二哈希锁。 该方法中, 该第一客户端设备可在离链通道上与第二客户 端设备进行交易的过程中向 第二客户端设备发送第二状态的第一关闭通道 消息, 使得第二客户端设备进行资金状态的 更新, 而无需通过区块链的主链进行通信, 实现了客户端设备间的快速交易, 并且, 在该 交易过程中, 还在该离链通道上交互各自许可对方在第二状 态发送关闭通道消息的签名, 保证了双方在离链通道上的交易公平性及安全 性。 因而, 该方法可在保证交易安全的情况 下, 有效提升大规模的交易处理能力。

在一种实现方式中, 如上所示的该第一客户端设备在离链通道上, 向第二客户端设备 发送状态更新消息之前, 该方法还包括:

该第一客户端设备和该第二客户端设备在该第 一状态下建立该离链通道;

该第一客户端设备向区块链节点设备发送创建 通道消息, 以使得区块链节点设备根据 预设的创建通道智能合约对该创建通道消息进 行处理, 并确定该离链通道在区块链上的资 金状态为该第一状态。

该方法,还可在建立该离链通道的情况下,通 过向区块链节点设备发送创建通道消息, 使得区块链节点设备根据预设的创建通道智能 合约对该创建通道消息进行处理, 使得区块 链上的智能合约可对该离链通道进行约束, 同时确定该离链通道在该区块链上的资金状态 为该第一状态, 建立了该离链通道与区块链上资金状态的关系 , 从而可有效保证了离链通 道上交易的安全性。

在另一种实现方式中, 如上所示的该第一客户端设备和该第二客户端 设备在该第一状 态下建立该离链通道, 可包括:

该第一客户端设备生成在该第一状态下创建该 离链通道所需信息; 其中, 该创建该离 链通道所需信息至少包括: 该第一状态的资金信息;

该第一客户端设备根据该第一状态的资金信息 , 生成该创建通道消息;

该第一客户端设备向该第二客户端设备发送该 创建该离链通道所需信息, 以使得该第 二客户端设备根据该第一状态的资金信息生成 该创建通道消息。

在又一种实现方式中, 如上所示的第一客户端设备和第二客户端设备 在该第一状态下 建立该离链通道, 还包括:

该第一客户端设备根据该第一客户端设备的私 钥对该创建通道消息进行签名, 得到该 第一客户端设备对该创建通道消息的签名, 并向该第二客户端设备发送该第一客户端设备 对该创建通道消息的签名;

该第一客户端设备接收该第二客户端设备发送 的该第二客户端设备对该第二客户端 设备生成的该创建通道消息的签名。

在再一种实现方式中, 如上所示的第一客户端设备和该第二客户端设 备在该第一状态 下建立该离链通道, 还包括

该第一客户端设备向区块链节点设备发送该第 一客户端设备对该创建通道消息的签 名, 和该第二客户端设备对该创建通道消息的签名 。

该方法中, 还通过第一客户端设备还向区块链节点设备发 送该第一客户端设备对创建 通道消息的签名, 以及该第二客户端设备对该创建通道消息的签 名, 用以使得该区块链节 点设备在创建离链通道的过程中, 基于预设的创建通道智能合约对该第一客户端 设备和该 第二客户端设备进行身份验证, 保证了离链通道的安全性, 继而保证离链通道上的交易安 全性。

在再一种实现方式中, 如上所示的该创建所需离链通道信息还包括: 该第一状态的第 一哈希锁, 该第一状态的第一哈希锁为该第一客户端在该 第一状态的哈希锁;

如上所示的该第一客户端设备和该第二客户端 设备在该第一状态下建立该离链通道, 还包括:

该第一客户端设备接收该第二客户端设备发送 的该第一状态的第一关闭通道消息, 和, 该第二客户端设备对该第一状态的第一关闭通 道消息的签名; 其中, 该第一状态的第一关 闭通道消息包括: 该第一状态的资金信息、 该第一状态的第一哈希锁和该第一状态的第二 哈希锁; 该第一状态的第二哈希锁为该第一客户端设备 在该第一状态的哈希锁;

该第一客户端设备根据该第一客户端设备的私 钥对该第一状态的第二关闭通道消息 进行签名, 得到该第一客户端设备对该第一状态的第二关 闭通道消息的签名, 并向该第二 客户端设备发送该第一客户端设备对该第一状 态的第二关闭通道消息的签名;

其中, 该第一状态的第二关闭通道消息包括: 该第一状态的资金信息、 该第一状态的 第一哈希锁和该第一状态的第二哈希锁。

该实施例的方法中, 该第一客户端设备和该第二客户端设备还在建 立离链通道的过程 中, 交互各自在第一状态下针对对方客户端设备的 关闭通道消息的签名, 保证了双方的交 易安全性。

在再一种实现方式中, 如上所示的该第一客户端设备和该第二客户端 设备在该第一状 态下建立该离链通道, 还包括:

该第一客户端设备向该第二客户端设备发送该 第一状态的第二关闭通道消息。

在再一种实现方式中, 如上所示的该第一客户端设备和该第二客户端 设备在该第一状 态下建立该离链通道, 还包括:

该第一客户设备根据该第一客户端设备的私钥 对该第一状态的第一关闭通道消息进 行签名, 得到该第一客户端设备对该第一状态的第一关 闭通道消息的签名。

在再一种实现方式中, 该第一状态的第一关闭通道消息还包括: 该时间锁, 该第一状 态的第二关闭通道消息还包括: 该时间锁;

在再一种实现方式中, 该第一客户端设备在离链通道上, 向第二客户端设备发送第一 关闭通道消息之前, 该方法还可包括:

该第一客户端设备生成创建该第二状态所需信 息, 其中, 该创建该第二状态所需信息 包括; 该第二状态的资金信息、 时间锁和该第二状态的第一哈希锁。

在再一种实现方式中, 该第二状态的第一关闭通道消息还包括: 时间锁;

该第二状态的第二关闭通道消息还包括: 该时间锁, 该第二状态的第三关闭通道消息 还包括: 该时间锁。

在再一种实现方式中, 该方法还可包括:

该第一客户端设备还向该第二客户端设备发送 该第二状态的第三关闭通道消息。

在再一种实现方式中, 该方法还可包括:

该第一客户端设备根据该第一客户端设备的私 钥, 对该第二状态的第二关闭通道消息 进行签名, 得到该第一客户端设备对该第二状态的第二关 闭通道消息的签名。

在再一种实现方式中, 该方法还包括: 该第一客户端设备向该第二客户端设备发送该 第一客户端设备在该第一状态的哈希 锁原象, 并接收该第二客户端设备发送的该第二客户端 设备在该第一状态的哈希锁原象。

该方法中, 该第一客户端设备和该第二客户端设备还在离 链通道上进行交易的过程中, 交互各自在旧状态的哈希锁原象, 用以表示放弃该旧状态, 一旦一方发送旧状态的关闭通 道消息, 则作为对以旧状态的关闭通道消息发起方的惩 罚, 将该发起在该第一状态的资金 配额转入对方在区块链的资金地址, 从而使得双方尽可能地以新的状态发起关闭通 道消息, 避免了非正常退出,保证了双方的交易安全性 。因而,该方法可在保证交易安全的情况下, 有效提升大规模的交易处理能力。

在再一种实现方式中, 该方法还包括:

该第一客户端设备生成退出通道消息, 其中, 该退出通道消息包括: 该第二客户端设 备在该第一状态的哈希锁原象;

该第一客户端设备根据该第一客户端设备的私 钥和该第一客户端设备在区块链上的 资金地址, 对该退出通道消息进行签名;

该第一客户端设备向区块链节点设备发送包括 有该退出通道消息, 和, 该第一客户端 设备对该退出通道消息的签名的监控请求, 用以使得该区块链节点设备监控该第二客户端 设备发送的关闭通道消息。

该方法中, 该第一客户端设备可向区块链节点设备发送监 控请求, 以监控对方客户端 设备发起的关闭通道消息, 继而保证离链通道上的交易安全。

第二方面, 本申请实施例还提供一种基于区块链的数据处 理方法, 包括:

第二客户端设备在离链通道上接收第一客户端 设备发送的第二状态的第一关闭通道 消息, 并根据该第二状态的资金信息将资金状态从第 一状态切换至该第二状态, 其中, 该 第二状态的第一关闭通道消息包括: 第二状态的资金信息, 和该第二状态的第一哈希锁; 该第二状态的第一哈希锁为该第一客户端设备 在该第二状态的哈希锁;

该第二客户端设备根据该第二客户端设备的私 钥, 对该第二状态的第二关闭通道消息 进行签名, 得到该第二状态的第二签名, 并在该离链通道上, 向该第一客户端设备发送的 该第二状态的第二签名, 和, 该第二状态的第二关闭通道消息; 其中, 该第二状态的第二 关闭通道消息包括: 该第二状态的资金信息、 该第二状态的第一哈希锁和该第二状态的第 二哈希锁; 该第二状态的第二哈希锁为该第二客户端设备 在该第二状态的哈希锁;

该第二客户端设备还在该离链通道上接收该第 一客户端设备发送的该第二状态的第 一签名, 该第二状态的第一签名为该第一客户端设备根 据该第一客户端设备的私钥, 对该 第二状态的第三关闭通道消息进行签名所得到 的签名; 该第二状态的第三关闭通道消息包 括: 该第二状态的资金信息、 该第二状态的第一哈希锁和该第二状态的第二 哈希锁。

在一种实现方式中, 如上所示的该第二客户端设备在离链通道上接 收第一客户端设备 发送的状态更新消息之前, 该方法还包括:

该第二客户端设备和该第一客户端设备在该第 一状态下建立该离链通道。

在另一种实现方式中, 如上所示的该第二客户端设备和该第一客户端 设备在该第一状 态下建立该离链通道, 包括:

该第二客户端设备接收该第一客户端设备发送 的创建该离链通道所需信息; 该创建该 离链通道所需信息包括: 该第一状态的资金信息; 该第二客户端设备根据该第一状态的资金信息 , 生成创建通道消息, 并根据该第二客 户端设备的私钥, 对该创建通道消息进行签名, 得到该第二客户端设备对该创建通道消息 的签名, 并向该第一客户端设备发送该第二客户端设备 对该创建通道消息的签名。 该第一 状态的第二哈希锁为该第二客户端设备在该第 一状态的哈希锁;

在又一种实现方式中, 如上所示的该第二客户端设备和该第一客户端 设备在该第一状 态下建立该离链通道, 还包括:

该第二客户端设备根据该第一客户端设备的私 钥, 对该第一状态的第一关闭通道消息 进行签名, 得到该第二客户端设备对该第一状态的第一关 闭通道消息的签名; 其中, 该第 一状态的第一关闭通道消息包括: 该第一状态的资金信息、 该第一状态的第一哈希锁和该 第一状态的第二哈希锁; 该第一状态的第二哈希锁为该第二客户端设备 在该第一状态的哈 希锁;

该第二客户端设备向该第一客户端设备发送该 第一状态的第一关闭通道消息, 和, 该 第二客户端设备对该第一状态的第一关闭通道 消息的签名;

该第二客户端设备接收该第一客户端设备发送 的该第一状态的第二关闭通道消息, 和, 该第一客户端设备对该第一状态的第二关闭通 道消息的签名; 该第一客户端设备对该第一 状态的第二关闭通道消息的签名为该第一客户 端设备根据该第一客户端设备的私钥, 对该 第一状态的第二关闭通道消息进行签名所得到 的签名; 其中, 该第一状态的第二关闭通道 消息包括:该第一状态的资金信息、该第一状 态的第一哈希锁和该第一状态的第二哈希锁。

在再一种实现方式中, 该第二客户端设备和该第一客户端设备在该第 一状态下建立该 离链通道, 还包括:

该第二客户端设备根据该第二客户端设备的私 钥, 对该第一状态的第二关闭通道消息 进行签名, 得到该第二客户端设备对该第一状态的第二关 闭通道消息的签名。

在再一种实现方式中, 该第一状态的第一关闭通道消息还包括: 该时间锁, 该第一状 态的第二关闭通道消息还包括: 该时间锁。

在再一种实现方式中, 该第二状态的第一关闭通道消息还包括: 时间锁;

该第二状态的第二关闭通道消息还包括: 该时间锁, 该第二状态的第三关闭通道消息 还包括: 该时间锁。

在再一种实现方式中, 该方法还包括:

该第二客户端设备接收该第一客户端设备发送 的该第二状态的第三关闭通道消息。 在再一种实现方式中, 该方法还包括:

该第二客户端设备根据该第二客户端设备的私 钥, 对该第二状态的第三关闭通道消息 进行签名, 得到该第二客户端设备对该第二状态的第三关 闭通道消息的签名。

在再一种实现方式中, 该方法还包括:

该第二客户端设备接收该第一客户端设备发送 的该第一客户端设备在该第一状态的 哈希锁原象, 并向该第一客户端设备发送该第二客户端设备 在该第一状态的哈希锁原象。

在再一种实现方式中, 该方法还可包括:

该第二客户端设备生成退出通道消息, 该退出通道消息包括: 该第一客户端设备在该 第一状态的哈希锁原象;

该第二客户端设备根据该第二客户端设备的私 钥和, 该第二客户端设备在区块链上的 资金地址对该退出通道消息进行签名; 该第二客户端设备向区块链节点设备发送包括 : 该退出通道消息, 和, 该第二客户端 设备对该退出通道消息的签名的监控请求, 用以使得该区块链节点设备监控该第一客户端 设备发送的关闭通道消息。

第三方面, 本申请实施例还可提供一种基于区块链的数据 处理方法, 包括:

区块链节点设备接收第一客户端设备发送的第 一监控请求, 并根据该第一监控请求, 监控该第二客户端设备发送的关闭通道消息, 其中, 该第一监控请求为该第一客户端设备 在和第二客户端设备在离链通道上进行交易, 将资金状态从第一状态切换至第二状态之后, 所发送的监控请求;

该区块链节点设备接收该第二客户端设备发送 的第二监控请求, 并根据该第二监控请 求监控该第一客户端设备发送的关闭通道消息 , 其中, 该第二监控请求为该第二客户端设 备在和该第一客户端设备在离链通道上进行交 易, 将资金状态从该第一状态切换至该第二 状态之后所发送的监控请求。

在一种实现方式中, 该方法还可包括:

该区块链节点设备接收该第一客户端设备发送 的该第一状态的关闭通道消息, 该区块链节点设备根据预设的第一关闭通道智 能合约对该第一状态的关闭通道消息 进行处理。

在另一种实现方式中, 该区块链节点设备根据预设的第一退出通道智 能合约对该第一 状态的关闭通道消息进行处理, 包括:

若在预设的时间锁对应的时间内, 该区块链节点设备接收到该第二客户端设备发 送的 该第一客户端设备在该第一状态的哈希锁原象 , 并根据该第一关闭通道智能合约对该第一 客户端设备在该第一状态的哈希锁原象进行哈 希操作, 得到哈希值;

该区块链节点设备还根据该第一关闭通道智能 合约, 对该哈希值和该第一状态的第一 哈希锁进行比较;

若该哈希值与该第一状态的第一哈希锁相同, 则该区块链节点设备根据该第一退出通 道智能合约, 将该第一状态下该第一客户端设备的资金配额 转入该第二客户端设备在区块 链上的资金地址。

在另一种实现方式中, 该区块链节点设备根据预设的第一退出通道智 能合约对该第一 状态的关闭通道消息进行处理, 包括:

若在预设的时间锁对应的时间内, 该区块链节点未接收到该第二客户端设备发送 的该 第一客户端设备在该第一状态的哈希锁原象, 则该区块链节点设备根据第一退出通道智能 合约, 将该第一状态下该第一客户端设备的资金配额 转入该第一客户端设备在区块链上的 资金地址。

在又一种实现方式中, 该方法还包括:

该区块链节点设备接收该第一客户端设备发送 的该第二状态的关闭通道消息; 该区块链节点设备根据预设的第二关闭通道智 能合约, 将该第二状态下该第二客户端 设备的资金配额转入该二客户端设备在区块链 上的资金地址, 并在预设的时间锁对应的时 间到达后, 将该第二状态下该第一客户端设备的资金配额 转入该第一客户端设备在区块链 上的资金地址。

在再一种实现方式中, 该方法还包括:

该区块链节点设备接收该第一客户端设备或该 第二客户端设备发送的该第一客户端 设备和该第二客户端设备协商一致所发送的关 闭请求; 其中, 该该关闭请求包括: 关闭通 道消息、 该第一客户端设备对该关闭通道消息的签名, 和该第二客户端设备对该关闭通道 消息的签名;

该区块链节点设备根据预设的第三关闭通道智 能合约, 对该第一客户端设备对该关闭 通道消息的签名, 和该第二客户端设备对该关闭通道消息的签名 进行校验; 若校验通过, 则该区块链节点设备根据该第三关闭通道智能 合约, 将该第一客户端设 备和该第二客户端设备协商后的该第一客户端 设备的资金配额转入该第一客户端设备在 区块链上的资金地址, 将该第一客户端设备和该第二客户端设备协商 后的该第二客户端设 备的资金配额转入该第二客户端设备在区块链 上的资金地址。

第四方面, 本申请实施例还可提供一种第一客户端设备侧 的装置, 该装置可以是第一 客户端设备, 也可以是第一客户端设备内的芯片。

该装置能实现上述第一方面中任一实现方式涉 及第一客户端设备的任意功能。 该功能 可以通过硬件实现, 也可以通过硬件执行相应的软件实现。 该硬件或软件包括一个或多个 与上述功能相对应的单元。

在一种可能的实现方式中, 当该装置为第一客户端设备时, 第一客户端设备可包括: 处理器和收发器, 所述处理器被配置为支持第一客户端设备执行 上述方法中相应的功能。 收发器用于支持第一客户端设备与第二客户端 设备之间的通信, 以向第二客户端设备发送 上述方法中所涉及的信息或指令; 还用于支持第一客户端设备与区块链节点设备 之间的通 信, 用以向区块链节点设备发送上述方法中所涉及 的信息或指令。 可选的, 第一客户端设 备还可以包括存储器, 所述存储器用于与处理器耦合, 其保存第一客户端设备必要的程序 指令和数据。

在一种可能的实现方式中, 该装置包括: 处理器、 存储器、 收发机、 天线以及输入输 出装置。 其中, 处理器主要用于对整个装置进行控制, 执行计算机程序指令, 以支持装置 执行上述第一方面中任一方法实施例中所描述 的动作等。 存储器主要用于存储保存第一客 户端设备必要的程序指令和数据。 收发机主要用于基带信号与射频信号的转换以 及对射频 信号的处理。 天线主要用于收发电磁波形式的射频信号。 输入输出装置, 例如触摸屏、 显 示屏, 键盘等主要用于接收用户输入的数据以及对用 户输出数据。

在一种可能的实现方式中, 当该装置为第一客户端设备内的芯片时, 该芯片包括: 处 理模块和收发模块, 所述处理模块例如可以是处理器, 例如, 此处理器用于生成各类消息 和信令, 并对各类消息按照协议封装后, 进行编码, 调制, 放大等处理, 所述处理器还可 以用于解调, 解码, 解封装后获得信令和消息; 所述收发模块例如可以是该芯片上的输入 /输出接口、 管脚或电路等。 该处理模块可执行存储单元存储的计算机执行 指令, 以支持 第一客户端设备执行上述方法中相应的功能。 可选地, 所述存储单元可以为所述芯片内的 存储单元, 如寄存器、 缓存等, 所述存储单元还可以是第一客户端设备内的位 于芯片外部 的存储单元, 如只读存储器 (read-only memory, ROM)或可存储静态信息和指令的其他类 型的静态存储设备, 随机存取存储器 (random access memory, RAM)等。

其中, 上述任一处提到的处理器, 可以是一个通用中央处理器 (central processing unit, CPU) ,微处理器,特定应用集成电路 (application-specific integrated circuit, ASIC) , 或一个或多个用于控制上述第一方面的基于区 块链的数据处理方法的程序执行的 集成电路。

第五方面, 本申请实施例还可提供一种第二客户端设备侧 的装置, 该装置可以是第二 客户端设备, 也可以是第二客户端设备内的芯片。

该装置能实现上述第二方面中任一实现方式涉 及第二客户端设备的任意功能。 该功能 可以通过硬件实现, 也可以通过硬件执行相应的软件实现。 该硬件或软件包括一个或多个 与上述功能相对应的单元。

在一种可能的实现方式中, 当该装置为第二客户端设备时, 第二客户端设备可包括: 处理器和收发器, 所述处理器被配置为支持第二客户端设备执行 上述方法中相应的功能。 收发器用于支持第一客户端设备与第二客户端 设备之间的通信, 以向第一客户端设备发送 上述方法中所涉及的信息或指令; 还用于支持第二客户端设备与区块链节点设备 之间的通 信, 用以向区块链节点设备发送上述方法中所涉及 的信息或指令。 可选的, 第二客户端设 备还可以包括存储器, 所述存储器用于与处理器耦合, 其保存第二客户端设备必要的程序 指令和数据。

在一种可能的实现方式中, 该装置包括: 处理器、 存储器、 收发机、 天线以及输入输 出装置。 其中, 处理器主要用于对整个装置进行控制, 执行计算机程序指令, 以支持装置 执行上述第二方面中任一方法实施例中所描述 的动作等。 存储器主要用于存储保存第二客 户端设备必要的程序指令和数据。 收发机主要用于基带信号与射频信号的转换以 及对射频 信号的处理。 天线主要用于收发电磁波形式的射频信号。 输入输出装置, 例如触摸屏、 显 示屏, 键盘等主要用于接收用户输入的数据以及对用 户输出数据。

在一种可能的实现方式中, 当该装置为第二客户端设备内的芯片时, 该芯片包括: 处 理模块和收发模块, 所述处理模块例如可以是处理器, 例如, 此处理器用于生成各类消息 和信令, 并对各类消息按照协议封装后, 进行编码, 调制, 放大等处理, 所述处理器还可 以用于解调, 解码, 解封装后获得信令和消息; 所述收发模块例如可以是该芯片上的输入 /输出接口、 管脚或电路等。 该处理模块可执行存储单元存储的计算机执行 指令, 以支持 第二客户端设备执行上述方法中相应的功能。 可选地, 所述存储单元可以为所述芯片内的 存储单元, 如寄存器、 缓存等, 所述存储单元还可以是第二客户端设备内的位 于芯片外部 的存储单元, 如 ROM或可存储静态信息和指令的其他类型的静态 存储设备, RAM等。

其中, 上述任一处提到的处理器, 可以是一个通用 CPU, 微处理器, ASIC, 或一个或 多个用于控制上述第二方面的基于区块链的数 据处理方法的程序执行的集成电路。

第六方面, 本申请实施例还可提供一种区块链节点设备侧 的装置, 该装置可以是区块 链节点设备, 也可以是区块链节点设备内的芯片。

该装置能实现上述第三方面中任一实现方式涉 及区块链节点设备的任意功能。 该功能 可以通过硬件实现, 也可以通过硬件执行相应的软件实现。 该硬件或软件包括一个或多个 与上述功能相对应的单元。

在一种可能的实现方式中, 当该装置为区块链节点设备时, 区块链节点设备可包括: 处理器和收发器, 所述处理器被配置为支持区块链节点设备执行 上述方法中相应的功能。 收发器用于支持区块链节点设备与第一客户端 设备之间的通信, 以接收第一客户端设备发 送的上述方法中所涉及的信息或指令; 还用于支持区块链节点设备与第二客户端设备 之间 的通信, 用以接收第二客户端设备发送的上述方法中所 涉及的信息或指令。 可选的, 区块 链节点设备还可以包括存储器, 所述存储器用于与处理器耦合, 其保存区块链节点设备必 要的程序指令和数据。

在一种可能的实现方式中, 该装置包括: 处理器、 存储器、 收发机、 天线以及输入输 出装置。 其中, 处理器主要用于对整个装置进行控制, 执行计算机程序指令, 以支持装置 执行上述第三方面中任一方法实施例中所描述 的动作等。 存储器主要用于存储保存区块链 节点设备必要的程序指令和数据。 收发机主要用于基带信号与射频信号的转换以 及对射频 信号的处理。 天线主要用于收发电磁波形式的射频信号。 输入输出装置, 例如触摸屏、 显 示屏, 键盘等主要用于接收用户输入的数据以及对用 户输出数据。

在一种可能的实现方式中, 当该装置为区块链节点设备内的芯片时, 该芯片包括: 处 理模块和收发模块, 所述处理模块例如可以是处理器, 例如, 此处理器用于生成各类消息 和信令, 并对各类消息按照协议封装后, 进行编码, 调制, 放大等处理, 所述处理器还可 以用于解调, 解码, 解封装后获得信令和消息; 所述收发模块例如可以是该芯片上的输入 /输出接口、 管脚或电路等。 该处理模块可执行存储单元存储的计算机执行 指令, 以支持区 块链节点设备设备执行上述方法中相应的功能 。 可选地, 所述存储单元可以为所述芯片内 的存储单元, 如寄存器、 缓存等, 所述存储单元还可以是区块链节点设备内的位 于芯片外 部的存储单元, 如 ROM或可存储静态信息和指令的其他类型的静态 存储设备, RAM等。

其中, 上述任一处提到的处理器, 可以是一个通用 CPU, 微处理器, ASIC, 或一个或 多个用于控制上述第三方面的基于区块链的数 据处理方法的程序执行的集成电路。

第七方面, 本申请实施例还提供一种计算机可读存储介质 , 所述计算机可读存储介质 中存储有指令, 所述指令可以由处理电路上的一个或多个处理 器执行。 当其在计算机上运 行时, 使得计算机执行上述第一方面或第二方面或第 三方面中任一方面中的任意可能的实 现方式中的基于区块链的数据处理方法。

第八方面, 本申请实施例提供了一种包含指令的计算机程 序产品, 其在计算机上运行 时, 使得计算机执行上述第一方面或第二方面或第 三方面中任一方面中的任意可能的实现 方式中的基于区块链的数据处理方法。

第九方面, 本申请实施例还可提供一种芯片系统, 该芯片系统包括处理器, 用于支持 第一客户端设备、 第二客户端设备或区块链节点设备实现上述第 一方面或第二方面或第三 方面所涉及的功能, 例如生成或处理上述各方面中所涉及的数据和 /或信息。 在一种可能 的设计中, 所述芯片系统还包括存储器, 所述存储器, 用于保存数据发送设备必要的程序 指令和数据。 该芯片系统可以由芯片构成, 也可以包含芯片和其他分立器件。

第十方面, 本申请实施例还可提供一种网络系统, 包括: 第一客户端设备、 第二客户 端设备。 该第一客户端设备为上述任一所述的该第一客 户端设备, 该第二客户端设备为上 述任一所述的第二客户端设备。 可选的, 该网络系统还可包括: 区块链节点设备, 该区块 链节点设备可以为上述任一所述的区块链节点 设备。

本申请实施例提供的基于区块链的数据处理方 法、 设备及介质, 可通过第一客户端设 备在离链通道向第二客户端设备发送第二状态 的第一关闭通道消息, 该第二状态的第一关 闭通道消息包括该第二状态的资金信息和该第 二状态的第一哈希锁, 用以使得第二客户端 设备根据该第二状态的资金配额信息将资金状 态从第一状态切换至该第二状态, 该第一客 户端设备还接收该第二客户端设备在该离链通 道上发送的该第二状态的第二签名, 和该第 二状态的第二关闭通道消息, 该第二状态的第二签名为该第二客户端设备根 据该第二客户 端设备的私钥对第二关闭通道消息进行签名所 得到的签名; 该第一客户端设备还根据该第 一客户端设备的私钥对该第三关闭通道消息进 行签名得到该第二状态的第一签名, 并将该 第二状态的第一签名发送给该第二客户端设备 。 该方法中, 该第一客户端设备可在离链通 道上与第二客户端设备进行交易的过程中向第 二客户端设备发送第二状态的第一关闭通 道, 使得第二客户端设备进行资金状态的更新, 而无需通过区块链的主链进行通信, 实现 了客户端设备间的快速交易, 并且, 在该交易过程中, 还在该离链通道上交互各自许可对 方在第二状态发送关闭通道消息的签名, 迫使对方客户端以最新的状态即该第二状态关 闭 通道消息进行退出, 避免了非正常的恶意退出, 保证了双方在离链通道的交易公平性及安 全性。 因而, 该方法可在保证交易安全的情况下, 有效提升大规模的交易处理能力。 附图说明

图 1为本申请实施例所涉及的区块链的数据结构 示意图;

图 2A为本申请实施例所适用的一种应用系统架构 示意图;

图 2B为本申请实施例提供的应用场景的示意图一

图 2C为本申请实施例提供的应用场景的示意图二

图 3为本申请实施例提供的一种基于区块链的数 处理方法的流程图;

图 4为本申请实施例提供的一种基于区块链的数 处理方法中创建离链通道的方法流 程图一;

图 5为本申请实施例提供的一种基于区块链的数 处理方法中创建离链通道的方法流 程图二;

图 6为本申请实施例提供的一种基于区块链的数 处理方法中创建离链通道的方法流 程图三;

图 7为本申请实施例提供的一种基于区块链的数 处理方法中创建离链通道的方法流 程图四;

图 8为本申请实施例所提供的方法中第一客户端 备和第二客户端设备在离链通道的 创建过程中资金状态的示意图;

图 9为本申请实施例提供的一种基于区块链的数 处理方法中创建离链通道的方法流 程图四;

图 10 为本申请实施例提供的一种基于区块链的数据 处理方法中离链通道上进行交易 的方法流程图一;

图 11 为本申请实施例提供的一种基于区块链的数据 处理方法中离链通道上进行交易 的方法流程图二;

图 12 为本申请实施例提供的一种基于区块链的数据 处理方法中第一客户端设备发送 第一状态的关闭通道消息的方法流程图一;

图 13 为本申请实施例提供的一种基于区块链的数据 处理方法中第一客户端设备发送 第一状态的关闭通道消息的方法流程图二;

图 14 为本申请实施例提供的一种基于区块链的数据 处理方法中第一客户端设备发送 第二状态的关闭通道消息的方法流程图;

图 15 为本申请实施例提供的一种基于区块链的数据 处理方法中第一客户端设备在与 第二客户端设备协商一致后发起的快速关闭通 道消息的方法流程图;

图 16 为本申请实施例所提供的方法中第一客户端设 备和第二客户端设备在离链通道 上交易的资金状态的示意图; 图 17 为本申请实施例所提供的方法中第一客户端设 备和第二客户端设备在离链通道 上交易的资金状态的示意图;

图 18 为本申请实施例提供的一种基于区块链的数据 处理方法中在离链通道上交易的 方法流程图三;

图 19为本申请实施例提供的一种客户端设备的结 示意图一;

图 20为本申请实施例所述的客户端设备可能的产 形态的结构图一;

图 21为本申请实施例提供的一种客户端设备的结 示意图二;

图 22为本申请实施例所述的客户端设备可能的产 形态的结构图二;

图 23为本申请实施例提供的一种区块链节点设备 结构示意图;

图 24为本申请实施例所述的区块链节点设备可能 产品形态的结构图。 具体实施方式

本申请实施例提供的基于区块链的数据处理方 法、 设备及介质, 可适用于任意支持图 灵完备智能合约的区块链平台, 如公有链平台或联盟链平台等。 其中, 公有链平台例如可 以为以太坊 (Ethereum) 、 小蚁 (NE0) 、 卡尔达诺 (Cardano) 等。 联盟链平台例如可以 为超级账本构造 (Hyperledger Fabric) 等。

为便于方案理解, 如下先对本申请所涉及的技术描述进行解释说 明。

区块链是按照时间顺序将交易 (Transaction) 数据所构成的区块 (Block) 顺序相连 的方式组合成的链式数据结构。 该结构以密码学的方式保证账本的不可篡改和 不可伪造。 图 1 为本申请实施例所涉及的区块链的数据结构的 示意图。 区块链是由区块链节点设备, 又称矿工节点设备维护的。 如图 1所示, 全网的矿工设备在一定时间段内对接收到的交 易 请求进行打包, 竞争获胜的矿工设备所打包的区块可作为全网 确认的区块而连接到主链。 主链上的每个区块可包括: 区块头 (block header) 和区块体 (block body) 。 区块头核 心数据包括:前一区块头的哈希值 (pre-block hash)、当前区块打包的时间戳 ( time stamp)、 根哈希 (root hash) 以及随机数 (nonce) ; 区块体主要包括其所打包的至少一次交易的 哈希值。

可模拟图灵机 (Turing Machine) 的编程语言称为图灵完备编程语言, 可用于完成任 意可计算问题的计算任务, 而智能合约是以预设的逻辑编写的可在区块链 系统以分布式, 可信任的方式执行的代码。 图灵完备智能合约, 便为可完成任意可计算问题计算的区块链 智能合约, 可实现任意逻辑。 本申请实施例所涉及的智能合约可部署在区块 链节点设备, 如矿工节点设备或代理矿工节点设备上。

下面对本申请实施例所适用的应用系统架构进 行说明, 图 2A 为本申请实施例所适用 的一种应用系统架构的示意图。 如图 2A所示, 用户 1和用户 2可分别通过交易上链应用 软件与支持智能合约的区块链主链进行交互, 也可分别通过离链交易应用软件与对方在离 链通道上进行交易, 还可通过链上监控软件对区块链主链进行监控 。 其中, 交易上链应用 软件、 离链交易应用软件和链上监控软件可分别为客 户端应用程序的一个功能模块, 也可 分别为一个应用程序。

其中, 离链交易应用软件为基于离链交易协议所编写 的软件开发工具包 (Software Development Kit, SDK)。 下面对本申请实施例的应用场景进行示例说明 。 图 2B 为本申请实施例提供的应用场 景的示意图一。在图 2B所示的应用场景中, 第一客户端设备 Al ice和第二客户端设备 Bob 上可安装有客户端应用 ( Cl ient app ) , 该客户端应用中可包括有上述图 2A所示的交易 上链应用软件、 离链交易应用软件、 链上监控软件。 当第一客户端设备 Al ice与第二客户 端设备 Bob具有交易需求时, 第一客户端设备 Al ice和该第二客户端设备 Bob可通过其所 安装的客户端应用中的交易上链应用软件, 触发建立与对方客户端设备的离链通道, 并使 得区块链节点设备确定该离链通道在区块链的 资金状态, 从而实现第一客户端设备与该第 二客户端设备在离链通道上交易的资金池的建 立和锁定操作。 该第一客户端设备 Al i ce 和 该第二客户端设备 Bob还可通过其所安装的客户端应用中的离链交 易应用软件, 在创建的 离链通道上进行交易, 进行资金状态的更新。 每次交易过程中, 该第一客户端设备 Al ice 和该第二客户端设备 Bob还可通过其所安装的客户端应用中的链上监 控软件, 触发区块链 节点设备的监控服务, 用以监控对方客户端设备发起的退出通道消息 。 整个过程中, 该第 一客户端设备 Al ice和该第二客户端设备 Bob可分别连接多个区块链节点设备, 如图 2B 中所示的矿工节点, 以避免单个矿工节点出现故障时导致的监控服 务不可用, 保证了离链 通道上交易的安全性。 该第一客户端设备 Al ice和该第二客户端设备 Bob可通过快速关闭 通道协议随时触发离链通道的关闭。

图 2C为本申请实施例提供的应用场景的示意图二 在图 2C所示的应用场景中, 第一 客户端设备 Al ice、 第二客户端设备 Bob及第三客户端设备 Carol上可安装有客户端应用 ( Cl ient app ) , 该客户端应用中可包括有上述图 2A所示的交易上链应用软件、 离链交 易应用软件、 链上监控软件。

当第一客户端设备 Al ice 与第二客户端设备 Bob 具有交易需求时, 第一客户端设备 Al ice和该第三客户端设备 Carol可通过其所安装的客户端应用中的交易上 应用软件, 触发建立第一客户端设备 Al ice与第三客户端设备 Carol之间的离链通道, 第三客户端设 备 Carol和该第二客户端设备 Bob可通过其所安装的客户端应用中的交易上链 应用软件, 触发建立第三客户端设备 Carol和该第二客户端设备 Bob之间的离链通道。

第一客户端设备 Al ice和该第三客户端设备 Carol可通过其所安装的客户端应用中的 离链交易应用软件, 在创建的第一客户端设备 Al ice与第三客户端设备 Carol之间的离链 通道上进行交易, 进行资金状态的更新; 第三客户端设备 Carol和该第二客户端设备 Bob 可通过其所安装的客户端应用中的离链交易应 用软件, 在创建的第三客户端设备 Carol和 该第二客户端设备 Bob之间的离链通道上进行交易, 进行资金状态的更新, 从而实现了第 一客户端设备 Al ice与第二客户端设备 Bob在离链交易。

每次交易过程中, 该第一客户端设备 Al ice、 该第二客户端设备 Bob以及第三客户端 设备 Carol还可通过其所安装的客户端应用中的链上 控软件,触发监控设备的监控服务, 用以监控对方客户端设备发起的退出通道消息 。 该第一客户端设备 Al ice和该第三客户端 设备 Carol可通过快速关闭通道协议随时触发离链通 的关闭, 该第三客户端设备 Carol 和该第二客户端设备 Bob可通过快速关闭通道协议随时触发离链通道 的关闭。

本申请实施例所涉及的各方案,可适用于高频 交易场景,典型场景如物联网 ( Internet Of Things, IoT) 环境下或移动终端环境下基于区块链的小额支 付场景, 各银行之间可部 署矿工节点设备用以进行区块链的维护, 建立区块链, 商家和用户可分别下载应用软件, 用户与商家, 或者, 商家之间可建立离链通道, 应以在离链通道上进行握手交易, 从而完 成频繁交易的小额支付行为。

如下结合多个示例, 对本申请实施例提供的基于区块链的数据处理 方法进行说明。 图 3 为本申请实施例提供的一种基于区块链的数据 处理方法的流程图。 该方法可由两个客户 端设备交互执行。 客户端设备可以为安装有客户端应用程序的终 端设备, 该终端设备例如 可以为台式电脑、 笔记本、 个人数字助理 (Personal Digital Assistant, 简称 PDA) 、 智能手机、 平板电脑、 移动支付设备等任一设备。 该客户端应用程序可以为图 2A所示的 应用系统架构的应用程序。 如图 3所示, 该基于区块链的数据处理方法可包括:

S301、 第一客户端设备在离链通道上向第二客户端设 备发送第二状态的第一关闭通道 消息, 该第二状态的第一关闭通道消息包括第二状态 的资金信息和该第二状态的第一哈希 锁。

该第二状态的第一关闭通道消息用于使得第二 客户端设备根据该第二状态的资金信 息将资金状态从第一状态切换至该第二状态。 其中, 该第二状态的第一哈希锁可以为该第 一客户端设备在该第二状态的哈希锁。

该离链通道为该第一客户端设备和该第二客户 端设备之间的区块链主链之外的链下交 易通道。 该第一客户端设备可与该第二客户端设备在该 离链通道上进行离链交易又称链下 交易, 而不与区块链主链进行通信。 在离链交易的过程中, 该第一客户端设备可作为交易 发起方, 发起资金转移交易, 并在该离链通道上, 基于该资金转移交易向第二客户端设备 发送第二状态的第一关闭通道消息, 以进行资金状态的更新。

在一种示例中, 该离链通道可以为该第一客户端设备和该第二 客户端设备之间的通道, 则该第一客户端设备可在该离链通道上, 直接向该第二客户端设备发送该第二状态的第 一 关闭通道消息。

在另一种示例中,该离链通道可包括:该第一 客户端设备与其它客户端设备间的通道, 以及该其它客户端设备与该第二客户端设备间 的通道, 则该第一客户端设备可在该离链通 道上, 通过其它客户端设备向第二客户端设备发送该 第二状态的第一关闭通道消息。 即该 第一客户端设备可通过该离链通道中, 该第一客户端设备与该其它客户端设备间的通 道向 该其它客户端设备发送该第二状态的第一关闭 通道消息, 由该其它客户端设备通过该离链 通道中, 该其它客户端设备与该第二客户端设备间的通 道向该第二客户端设备发送该第二 状态的第一关闭通道消息。

无论该离链通道为何种形式, 则该第一客户端设备在该离链通道上, 通过无线保真 (Wireless-Fidelity, WiFi ) 、 蓝牙或者红外等任一无线双向通信技术, 向第二客户端 设备发送该第二状态的第一关闭通道消息。

该第二状态的资金信息可包括: 该第二状态下, 第一客户端设备的资金配额信息, 和 该第二状态下第二客户端设备的资金配额信息 。 或者, 该第二状态的资金信息也可包括: 该第二状态下, 第一客户端设备和该第二客户端设备的资金配 额比例。 当然, 该第二状态 的资金信息也可包括: 第二状态下, 第一客户端设备和第二客户端设备的其它资金 表示形 式。

例如该第一客户端设备为 Alice,该第二客户端设备为 Bob,该第二状态可表示为 0 1, 该第一客户端设备在该第二状态的资金配额可 表示为 al,该第二客户端设备在该第二状态 的资金配额可表示为 bl。 该第二状态的资金信息可包括: al和 bl。

本申请实施例所涉及的资金可以为比特币形式 的资金, 也可以为其它形式的数字货币 或者数字资产。

该第二状态的第一哈希锁为第一客户端设备在 该第二状态的哈希锁, 该第二状态的第 一哈希锁为 hashlockAl。

由于该第一客户端设备和第二客户端设备在离 链通道上可能进行多次交易, 为明确对 第一客户端设备和该第二客户端设备间的交易 , 以及交易对应的资金状态等, 该第一客户 端设备还确定该第二状态对应的交易索引 (index) 。 该第一客户端设备在向第二客户端 设备发送的该第二状态的第一关闭通道消息中 也包括: 该交易索引 (index) 。 交易索引 还可称为交易序号。 该第一客户端设备在该离链通道上向第二客户 端设备发送该第二状态的第一关闭通 道消息之前, 可包括:

第一客户端设备生成创建该第二状态所需信息 , 该创建该第二状态所需信息包括; 该 第二状态的资金信息、 时间锁和该第二状态下的第一哈希锁。

其中, 该第一客户端设备例如可根据接收到用户输入 的选择操作指令所针对的交易或 者预设的交易所对应的资金信息, 确定该第二状态的资金信息。

可选的, 该第一客户端设备在向第二客户端设备发送的 该第二状态的第一关闭通道消 息中还可包括: 时间锁。

该方法还包括:

该第一客户端设备根据该第二状态的资金信息 , 将资金状态从该第一状态更新为第二 状态。 该第一状态为第二状态之前的资金状态。

5302、 第二客户端设备在离链通道上接收第一客户端 设备发送的该第二状态的第一关 闭通道消息, 该第二状态的第一关闭通道消息包括第二状态 的资金信息和该第二状态的第 一哈希锁。

5303、 第二客户端设备根据该第二状态的资金信息, 将资金状态更新从该第一状态更 新为该第二状态。

该第二客户端设备在接收到该第二状态的第一 关闭通道消息后, 可先将该第二状态的 资金信息进行保存, 并根据该第二状态的资金信息, 将资金状态从该第一状态更新为该第 二状态, 实现资金状态的更新。

若第一状态(3 o下第一客户端设备的资金配额为 a0, 第一客户端设备的资金配额为 60, 则该第一状态 P 0 可表示为 P 0 : [Alice => a0; Bob => b0] o 若该第一客户端设备所发起的资 金交易 TX(^向第二客户端设备转移资金 X, 资金交易 TX。可表示为 TX v [Alice => Bob: x] a 第二状态0: L 即为本次交易完成后的资金状态, 其可表示为 P: L : [Alice => al; Bob => bl] , 其中, 第二状态 下第一客户端设备的资金配额为 al, 第一客户端设备的资金配额为 61。 其中, 该第二状态(^下第一客户端设备的资金配额 al = a0 - x,该第二状态 下第二客户 端设备的资金配额 bl = b0 + X o

5304、 第二客户端设备根据该第二客户端设备的私钥 , 对该第二状态的第二关闭通道 消息进行签名, 得到该第二状态的第二签名。

该第二状态的第二关闭通道消息包括: 该第二状态的资金信息、 该第二状态的第一哈 希锁和该第二状态的第二哈希锁。 其中, 该第二状态的第二哈希锁为该第二客户端设备 在 该第二状态的哈希锁。

该第二客户端设备在接收到该第二状态的第一 关闭通道消息的情况下, 可根据该第二 状态的资金信息、 该第二状态的第一哈希锁, 和该第二状态的第二哈希锁, 生成该第二状 态下的关闭通道消息, 即该第二状态的第二关闭通道消息, 并使用第二客户端设备的私钥 对该第二状态的第二关闭通道消息进行签名, 得到该第二状态的第二签名。

可选的, 该第二状态的第二关闭通道消息还可包括: 时间锁。

第一客户端设备为 Al ice, 该第二客户端设备为 Bob, 该第二客户端设备对该第二状 态的第二关闭通道消息的签名可表示为 SigABl o

例如, 该实施例中, 可由第二客户端设备根据时间锁 Timelock、 该第二状态的第一哈 希锁 hashlockAl、 第二状态的第二哈希锁 hashlockBl、 第一客户端设备在第二状态的资 金配额 al和第二客户端设备在该第二状态的资金配额 bl, 生成第一客户端设备在第二状 态的关闭通道消息如该第二状态的第二关闭通 道消息 MA_Closel , 并对根据该第二客户端 设备的私钥, 对该第二状态的第二关闭通道消息 MA_Cl 0S el进行签名, 得到第二客户端设 备对该第二状态的第二关闭通道消息的签名 SigABl o

其中, 该第二状态的第二关闭通道消息 MA_Closel 可包括: 预设的字符串 “Al iceCloseTxl” , 用以指示消息类型为关闭通道消息; 还包括: 预设的通道消息, 如 字符串“channel l”, 用以指示该离链通道; 还包括: 时间锁 Timelock、 第一客户端设备 在第二状态的哈希锁 hashlockAl、 第二客户端设备在第二状态的哈希锁 hashlockBl、 第 一客户端设备在第二状态的资金配额 al、 第二客户端设备在第二状态的资金配额 bl。 则 该第二状态的第二关闭通道消息 MA_Closel可表示为 Msg (“Al iceCloseTxl”, channel 1 ,

0, Timelock、 hashlockAl、 hashlockBl、 al , bl ) 。

该第二客户端设备对该第二状态的第二关闭通 道消息的签名 SigABl, 可表示为 Sign ( SKB, (HA1 , Counter+1 ) ) 其中, SKB为该第二客户端设备的私钥, HA1为该第二状 态的第二关闭通道消息 MA_Closel的哈希值, HA1可表示为 Hash (MA_Closel ) ; Counter 为预设的计数值。

S305、 第二客户端设备在离链通道上向第一客户端设 备发送该第二状态的第二签名和 该第二状态的第二关闭通道消息。

第二客户端设备在生成该第二状态的第二签名 后, 可将该第二状态的第二签名发送给 第一客户端设备, 用以使得该第一客户端设备在接收到该第二状 态的第二签名后, 对其进 行保存。 该第二客户端设备还将该第二状态的第二关闭 通道消息发送给第一客户端设备, 用以使得该第一客户端设备获取该第二状态的 第二哈希锁。

该第二状态的第二签名, 用以使得第一客户端设备可在第二状态下发起 关闭通道消息。 该第二状态的第二签名即为该第二客户端设备 对第一客户端设备发起第二状态下关闭通 道消息的许可签名。

若该第一客户端设备可表示为 Al ice, 该第二客户端设备可表示为 Bob, 该第二状态 可表示为 0 1, 则该第二状态的第二签名即为 SigABl o 5306、 第一客户端设备在离链通道上接收第二客户端 设备发送的该第二状态的第二签 名和该第二状态的第二关闭通道消息。

该第一客户端设备可在接收到该第二状态的第 二签名的情况下, 对其进行保存。

5307、 第一客户端设备根据该第一客户端设备的私钥 , 对该第二状态的第三关闭通道 消息进行签名, 得到该第二状态的第一签名。

该第二状态的第三关闭通道消息包括: 该第二状态的资金信息、 该第二状态的第一哈 希锁和该第二状态的第二哈希锁。

该第一客户端设备可根据该第二状态的资金信 息、 该第二状态的第一哈希锁和该第二 状态的第二哈希锁生成该第二状态下的关闭通 道消息, 即该第二状态的第三关闭通道消息, 并使用第一客户端设备的私钥, 对该第二状态的第三关闭通道消息进行签名, 得到该第二 状态的第一签名。

也就是说, 该第二状态的第一签名, 为第一客户端设备对该第一客户端设备生成的 该 第二客户端设备在第二状态下的关闭通道消息 的签名。

可选的, 如所示的该第二状态的第三关闭通道消息中还 可包括: 时间锁。

第一客户端设备为 Alice, 该第二客户端设备为 Bob, 该第一客户端设备对该第二状 态的第三关闭通道消息的签名为 SigBAl o

例如, 该实施例中, 可由第一客户端设备根据时间锁 Timelock、 该第二状态的第一哈 希锁 hashlockAl、 第二状态的第二哈希锁 hashlockBl、 第一客户端设备在第二状态的资 金配额 al和第二客户端设备在该第二状态的资金配额 bl, 生成第二客户端设备在第二状 态的关闭通道消息如第二状态的第三关闭通道 消息 MB_Closel , 并根据第一客户端设备的 私钥对第二状态的第三关闭通道消息 MB_Closel进行签名, 得到第一客户端设备对第二状 态的第三关闭通道消息的签名 SigBAl o

其中, 该第二状态的第三关闭通道消息 MB_Closel 可包括: 预设的字符串 “BobCloseTxl”, 用以指示消息类型为关闭通道消息; 还包括: 预设的通道消息, 如字 符串“channel l”, 用以指示该离链通道; 还包括: 时间锁 Timelock、 第一客户端设备在 第二状态的哈希锁 hashlockAl、 第二客户端设备在第二状态的哈希锁 hashlockBl、 第一 客户端设备在第二状态的资金配额 al、 第二客户端设备在第二状态的资金配额 bl。 则该 第二状态的第三关闭通道消息 MB_Closel可表示为 Msg (“BobCloseTxl”, channel 1 , 1 , Timelock、 hashlockAl、 hashlockBl、 al , bl ) 。

该第一客户端设备对该第二状态的第三关闭通 道消息的签名 SigBAl, 可表示为 Sign ( SKA, (HB1, Counter+1 ) ) 其中, SKA为该第一客户端设备的私钥, HB1为该第一状 态的第三关闭通道消息 MB_Closel的哈希值, HB1可表示为 Hash (MB_Closel ) , Counter 为预设的计数值。

5308、 第一客户端设备在离链通道上向第二客户端设 备发送该第二状态的第一签名。 第一客户端设备在生成该第二状态的第一签名 后, 可将其发送给第二客户端设备, 用 以使得该第二客户端设备在接收到该第二状态 的第一签名后, 对其进行保存。

该第二状态的第一签名, 用以使得第二客户端设备可在第二状态下发起 关闭通道消息, 该第二状态的第一签名即为该第一客户端设备 对第二客户端设备发起第二状态下关闭通 道消息的许可签名。 若该第一客户端设备可表示为 Al ice, 该第二客户端设备可表示为 Bob, 该第二状态 可表示为 0 1, 则该第二状态的第一签名即为 SigBAl o

通过执行 S305和 S308可使得第二客户端设备和第一客户端设备 互各自生成的在该 第二状态下的签名, 用以许可对方在第二状态下发起关闭通道消息 。

可选的, 该第一客户端设备在向该第二客户端设备发送 该第二状态的第一签名的情况 下, 还向第二客户端设备发送该第二状态的第三关 闭通道消息, 用以使得第二客户端设备 对该第二状态的第一签名进行校验。

S309、 第二客户端设备在离链通道上接收第一客户端 设备发送的该第二状态的第一签 名。

该第二客户端设备可在接收到该第二状态的第 一签名的情况下, 对其进行保存。

该第一客户端设备在离链通道上与该第二客户 端设备进行交易的过程中, 还可通过执 行 S305和 S308使得第二客户端设备和第一客户端设备交 各自生成的该第二状态下的签 名。

可选的, 该第二客户端设备还接收第一客户端设备发送 该第二状态的第三关闭通道消 息。

需说明的是, 该第一客户端设备可与第二客户端设备在该离 链通道上进行多次交易, 如从第二状态切换至第三状态, 从第三状态切换至第四状态等, 直至该离链通道关闭, 对 于该第一客户端设备与该第二客户端设备间的 每次状态切换, 均可执行上述 S301-S309。 该离链通道的关闭可以是由第一客户端设备发 起的关闭通道消息触发, 也可由第二客户端 设备发起的关闭通道消息触发的, 还可由第一客户端设备和该第二客户端设备协 商一致发 起的关闭通道消息触发。

该第一客户端设备与该第二客户端设备是在离 链通道上进行交易的, 而第一客户端设 备和该第二客户端设备可分别根据预设的周期 向区块链节点设备发送通知, 以通知对该区 块链节点设备对该第一客户端设备和该第二客 户端设备在区块链上的资金状态进行更新。 该第一客户端设备和该第二客户端设备也可仅 在该离链通道关闭时, 向区块链节点设备发 送的关闭通道消息以通知对该区块链节点设备 对该第一客户端设备和该第二客户端设备 在区块链上的资金状态进行更新。

本申请实施例提供的基于区块链的数据处理方 法, 可通过第一客户端设备在离链通道 向第二客户端设备发送第二状态的第一关闭通 道消息, 该第二状态的第一关闭通道消息包 括该第二状态的资金信息和该第二状态的第一 哈希锁, 用以使得第二客户端设备根据该第 二状态的资金信息将资金状态从第一状态切换 至该第二状态, 该第一客户端设备还接收该 第二客户端设备在该离链通道上, 发送的该第二状态的第二签名, 和该第二状态的第二关 闭通道消息, 该第二状态的第二签名为该第二客户端设备根 据该第二客户端设备的私钥, 对该第二状态的第二关闭通道消息进行签名所 得到的签名; 该第一客户端设备还根据该第 一客户端设备的私钥对该第二状态的第三关闭 通道消息进行签名得到该第二状态的第一 签名, 并将该第二状态的第一签名发送给该第二客户 端设备。 该方法中, 该第一客户端设 备可在离链通道上与第二客户端设备进行交易 的过程中向第二客户端设备发送第二状态 的第一关闭通道消息, 使得第二客户端设备进行资金状态的更新, 而无需通过区块链的主 链进行通信, 实现了客户端设备间的快速交易, 并且, 在该交易过程中, 还在该离链通道 上交互各自许可对方在第二状态发送关闭通道 消息的签名, 保证了双方在离链通道上的交 易公平性及安全性。 因而, 该方法可在保证交易安全的情况下, 有效提升大规模的交易处 理能力。 在上述基于区块链的数据处理方法的基础上, 本申请实施例还可提供一种基于区块链 的数据处理方法。 该实施例可通过示例, 对上述方法中所涉及的离链通道的建立过程进 行 示例说明。 图 4为本申请实施例提供的一种基于区块链的数 处理方法中创建离链通道的 方法流程图一, 如图 4所示, 该方法可在上述 S301 中第一客户端设备在离链通道上, 向 第二客户端设备发送第二状态的第一关闭通道 消息之前, 该方法还可包括:

5401、 第一客户端设备和第二客户端设备在该第一状 态下建立该离链通道。

5402、 第一客户端设备向区块链节点设备发送创建通 道消息 (M_Create) 。

该创建通道消息用于使得区块链节点设备根据 预设的创建通道智能合约对该创建通 道消息进行处理, 并确定该离链通道在该区块链上的资金状态为 该第一状态。

该第一客户端设备可在建立该离链通道的过程 中, 生成创建通道消息。

该区块链节点设备可以为可访问或接入区块链 的设备, 如矿工设备或代理矿工设备。 该第一客户端设备可通过区块链节点设备向区 块链发送创建通道消息, 用以使得区块链节 点设备基于该创建通道消息调用该预设的创建 通道智能合约, 用以根据该创建通道智能合 约对该创建通道消息进行处理, 确定该离链通道在该区块链上的资金状态为该 第一状态, 从而建立该离链通道与该区块链上的资金状态 之间的关联。

由于该离链通道创建后, 该第一客户端设备和该第二客户端设备可在该 离链通道上进 行交易, 而该第一客户端设备和该第二客户端设备在区 块链上的账本是由区块链节点设备 维护的, 则第一客户端设备可向区块链节点设备发送该 创建通道消息, 以完成该离链通道 的创建。

5403、 区块链节点设备接收第一客户端设备发送的该 创建通道消息。

5404、 区块链节点设备根据预设的创建通道智能合约 对该创建通道消息进行处理, 并 确定该离链通道在该区块链上的资金状态为该 第一状态。

该创建通道智能合约可部署在区块链节点设备 上, 用以在离链通道的创建过程中, 由 区块链节点设备对第一客户端设备发送的该创 建通道消息进行处理。

该区块链节点设备可判断接收到的消息的类型 , 若消息类型为创建通道类型, 则可调 用该预设的创建通道智能合约, 根据该创建通道智能合约, 对该创建通道消息进行验证, 并在验证通过后, 确定该离链通道在区块链上的资金状态为该第 一状态。 该第一状态(B o可 表不为 P o: [Alice => aO; Bob => 60]。

可选的, 该创建通道消息可包括: 消息类型指示信息, 该消息类型指示信息例如可以 为预设的字符串如“CreatTx” 。 该区块链节点设备可根据该创建通道消息所包 括的消息 类型指示信息, 确定接收到的消息的类型。

该离链通道在区块链上的资金状态为建立该离 链通道的过程中, 该第一客户端设备和 该第二客户端设备的资金状态。

其中, 区块链节点设备确定该离链通道在该区块链上 的资金状态为该第一状态可包括: 区块链节点设备根据预设的创建通道智能合约 , 根据该第一状态, 从区块链上第一客 户端设备和第二客户端设备的资金地址中支取 对应的资金, 创建该离链通道的资金池。 该第一状态中,第一客户端设备的资金配额为 a0,第二客户端设备的资金配额为 b0, 则该区块链节点设备可根据该第一状态, 创建资金配额为 UO+bO) 的资金池, 用以使得 第一客户端设备和该第二客户端设备在该离链 通道上进行交易。 其中, 在该第一状态, 也 就是创建离链通道的初始状态下, 第一客户端设备和第二客户端设备的资金配额 可相同。 即 a0可等于 b0。

本申请实施例提供的基于区块链的数据处理方 法, 还可在建立该离链通道的情况下, 通过向区块链节点设备发送创建通道消息, 使得区块链节点设备根据预设的创建通道智能 合约对该创建通道消息进行处理, 使得区块链上的智能合约可对该离链通道进行 约束, 同 时确定该离链通道在该区块链上的资金状态为 该第一状态, 建立了该离链通道与区块链上 资金状态的关系, 从而可有效保证了离链通道上交易的安全性。

在上述图 3所示的基于区块链的数据处理方法的基础上 本申请实施例还可提供一种 基于区块链的数据处理方法。 该实施例可通过示例, 对上述方法中所涉及的离链通道的建 立过程进行示例说明。 图 5为本申请实施例提供的一种基于区块链的数 处理方法中创建 离链通道的方法流程图二, 如图 5所示, 该方法可在上述 S401 中第一客户端设备和第二 客户端设备在该第一状态下建立该离链通道, 可包括:

5501、 第一客户端设备生成在该第一状态下, 创建该离链通道所需信息。

可选的,创建该离链通道所需的信息包括:该 第一状态的资金信息、时间锁(timelock, TL) 和该第一状态的第一哈希锁。

该第一状态的资金信息可包括: 该第一状态下, 第一客户端设备的资金信息, 和该第 一状态下第二客户端设备的资金信息。 或者, 该第一状态的资金信息也可包括: 该第一状 态下, 第一客户端设备的资金配额和该第二客户端设 备的资金配额比例。 当然, 该第一状 态的资金信息也可包括: 第一状态下, 第一客户端设备和第二客户端设备的其它资金 表示 形式。

例如该第一客户端设备可表示为 Alice, 该第二客户端设备可表示为 Bob, 该第一状 态可表示为 0 0, 该第一客户端设备在该第一状态的资金配额可 表示为 a0, 该第二客户端 设备在该第一状态的资金配额可表示为 b0。 该第一状态的资金信息可包括: a0和 b0。

该第一状态的第一哈希锁为第一客户端设备在 该第一状态下的哈希锁, 该第一状态的 第一哈希锁可表示为 hashlockAO o

由于该第一客户端设备和第二客户端设备在离 链通道上可能进行多次交易, 为明确建 立该离链通道对应的交易, 则第一客户端设备生成的创建该离链通道所需 信息还可包括: 交易索引 (index) 。

5502、 第一客户端设备根据该第一状态的资金信息, 生成该创建通道消息。

该第一客户端设备根据该第一状态的资金信息 , 生成该创建通道消息 (CreatTx) 消 息。

5503 、 第一客户端设备向第二客户端设备发送该创建 该离链通道所需信息。

该创建该离链通道所需信息, 用于使得该第二客户端设备根据该第一状态的 资金信息 生成该创建通道消息 M_Create, 该创建通道消息可包括: 预设的字符串 “CreatTx” , 和 该第一状态的资金信息, 用以指示消息类型为创建通道消息。 其中, 该第一状态的资金信 息例如可包括: 第一客户端设备在第一状态的资金配额 a0 和第二客户端设备在第一状态 的资金配额 b0。

该创建通道消息还可包括: 预设的通道标识如字符串“channel l”, 用以指示该离链 通道。 则该创建通道消息 M_Create可表示为 Msg( “CreatTx”, channel l, a0, b0) 。

5504、 第二客户端设备接收第一客户端设备发送的该 创建该离链通道所需信息。

5505、 第二客户端设备根据该第一状态的资金信息, 生成创建通道消息。

该 S505具体实现可与上述 S502类型, 参见上述。

需要说明的是, 该 S505可与 S502同时执行, 也可先后执行, 本申请实施例不对此限 制。

由于该第一客户端设备和该第二客户端设备分 别基于该创建该离链通道所需信息生 成该创建通道消息, 则该创建通道消息可以为该第一客户端设备和 该第二客户端设备生成 的共同的创建通道消息。

可选的, 在上述图 5所示的基于区块链的数据处理方法的基础上 本申请实施例还可 提供一种基于区块链的数据处理方法。 图 6为本申请实施例提供的一种基于区块链的数 处理方法中创建离链通道的方法流程图三, 如图 6所示, 该方法可在上述 S401 中第一客 户端设备和第二客户端设备在该第一状态下建 立该离链通道, 还可包括:

5601、 第一客户端设备根据该第一客户端设备的私钥 , 对该创建通道消息签名, 得到 该第一客户端设备对该创建通道消息的签名。

该第一客户端设备可根据该第一客户端设备的 私钥, 对该创建通道消息进行签名。 该 第一客户端设备对该创建通道消息的签名可表 示为 SigA。

该第一客户端设备对该创建通道消息的签名 SigA,可表示为 Sign(SKA, (H_Create, Counter) ) 。 其中, SKA 为该第一客户端设备的私钥, H_Create 为该创建通道消息的哈 希值, Counter为预设的计数值。

该第一客户端设备可在执行上述 S502生成该创建通道消息的情况下,便执行该 S506, 得到该第一客户端设备对该创建通道消息的签 名。

5602、 第一客户端设备向第二客户端设备发送该第一 客户端设备对该创建通道消息的 签名。

该第一客户端设备在得到该第一客户端设备对 该创建通道消息的签名后, 便可将其发 送给该第二客户端设备, 由该第二客户端设备对该第一客户端设备对该 创建通道消息的签 名进行保存。

5603、 第二客户端设备接收第一客户端设备发送的该 第一客户端设备对该创建通道消 息的签名。

该第二客户端设备在接收到该第一客户端设备 对该创建通道消息的签名, 可对该第一 客户端设备对该创建通道消息的签名进行保存 。

5604、 第二客户端设备根据该第二客户端设备的私钥 , 对该创建通道消息进行签名。 该第二客户端设备可在执行 S505 生成该创建通道消息的情况下, 便可根据该第二客 户端设备的私钥, 对其生成的该创建通道消息进行签名, 得到该第二客户端设备对该创建 通道消息的签名。 该第二客户端设备对该创建通道消息的签名可 表示为 SigB。

该第二客户端设备对该创建通道消息的签名 SigB,可表示为 Sign(SKB, (H_Create, Counter) ) 。 其中, SKB 为该第二客户端设备的私钥, H_Create 为该创建通道消息的哈 希值, Counter为预设的计数值。

5605、 第二客户端设备向第一客户端设备发送该第二 客户端设备对该创建通道消息的 签名。

5606、 第一客户端设备接收第二客户端设备发送的该 第二客户端设备对该创建通道消 息的签名。

通过执行上述 S601-S606, 可使得第一客户端设备和该第二客户端设备均 具有该第一 客户端设备对创建通道消息的签名, 以及该第二客户端设备对该创建通道消息的签 名。

可选的, 上述 S401 中第一客户端设备和第二客户端设备在该第一 状态下建立该离链 通道, 还可包括:

该第一客户端设备向区块链节点设备发送该第 一客户端设备对该创建通道消息的签 名, 和该第二客户端设备对该创建通道消息的签名 。

该第一客户端设备在获取该第一客户端设备对 创建通道消息的签名, 以及该第二客户 端设备对该创建通道消息的签名的情况下, 还可将该创建通道消息、 该第一客户端设备对 创建通道消息的签名, 以及该第二客户端设备对该创建通道消息的签 名均发送至区块链节 点设备。

该第一客户端设备还向区块链节点设备发送该 第一客户端设备对创建通道消息的签 名, 以及该第二客户端设备对该创建通道消息的签 名, 可使得区块链节点设备可根据预设 的创建通道智能合约, 对该第一客户端设备对创建通道消息的签名, 以及该第二客户端设 备对该创建通道消息的签名进行校验, 若检验通过, 便可确定该离链通道在区块链的资金 状态为该第一状态。

该实施例中通过第一客户端设备还向区块链节 点设备发送该第一客户端设备对创建 通道消息的签名, 以及该第二客户端设备对该创建通道消息的签 名, 用以使得该区块链节 点设备在创建离链通道的过程中, 基于预设的创建通道智能合约对该第一客户端 设备和该 第二客户端设备进行身份验证, 保证了离链通道的安全性, 继而保证离链通道上的交易安 全性。

可选的, 在如上所示的方法的基础上, 本申请实施例还可提供一种基于区块链的数据 处理方法。 图 7为本申请实施例提供的一种基于区块链的数 处理方法中创建离链通道的 方法流程图四, 如图 7所示, 该方法可在上述 S401 中第一客户端设备和第二客户端设备 在该第一状态下建立该离链通道, 还可包括:

S701、 第二客户端设备根据该第二客户端设备的私钥 , 对该第一状态的第一关闭通道 消息进行签名, 得到该第二客户端对该第一状态的第一关闭通 道消息的签名。

该第一状态的第一关闭通道消息包括: 该第一状态的资金信息、 该第一状态的第一哈 希锁和该第一状态的第二哈希锁; 该第一状态的第二哈希锁为该第一客户端设备 在该第一 状态的哈希锁。

该第二客户端设备在接收到创建离链通道所需 信息后, 可根据该创建离链通道所需信 息中的, 该第一状态的资金信息、 该第一状态的第一哈希锁和该第一状态的第二 哈希锁生 成该第一客户端设备在该第一状态的第一关闭 通道消息, 并根据该第二客户端设备的私钥, 对该第一状态的第一关闭通道消息进行签名, 得到该第二客户端设备对该第一状态的第一 关闭通道消息的签名。

可选的, 该第一状态的第一关闭通道消息还可包括: 时间锁。

第一客户端设备为 Al ice, 该第二客户端设备为 Bob, 该第二客户端设备对该第一状 态的第一关闭通道消息的签名可表示为 SigABO o

例如, 该实施例中, 可由第二客户端设备根据时间锁 Timelock、 该第一状态的第一哈 希锁 hashlockAO、 第一状态的第二哈希锁 hashlockBO、 第一客户端设备在第一状态的资 金配额 a0和第二客户端设备在该第一状态的资金配额 b0, 生成第一客户端设备在第一状 态的关闭通道消息如该第一状态的第一关闭通 道消息 MA_Close0, 并对根据该第二客户端 设备的私钥, 对该第一状态的第一关闭通道消息 MA_Cl OS e0进行签名, 得到第二客户端设 备对该第一状态的第一关闭通道消息的签名 SigABO o

其中, 该第一状态的第一关闭通道消息 MA_Close0 可包括: 预设的字符串 “Al iceCloseTxO” , 用以指示消息类型为关闭通道消息; 还包括: 预设的通道消息, 如 字符串“channel l”, 用以指示该离链通道; 还包括: 时间锁 Timelock、 第一客户端设备 在第一状态的哈希锁 hashlockAO、 第二客户端设备在第一状态的哈希锁 hashlockBO、 第 一客户端设备在第一状态的资金配额 a0、 第二客户端设备在第一状态的资金配额 b0。 则 该第一状态的第一关闭通道消息 MA_Close0可表示为 Msg (“Al iceCloseTxO”, channel 1 , 0, Timelock、 hashlockAO、 hashlockBO、 a0, bO ) 。

该第二客户端设备对该第一状态的第一关闭通 道消息的签名 SigABO, 可表示为 Sign ( SKB, (HA0, Counter+1 ) ) 。 其中, SKB为该第二客户端设备的私钥, HA0为该第一状 态的第一关闭通道消息 MA_Close0的哈希值, HA0可表示为 Hash (MA_Close0 ) ; Counter 为预设的计数值。

5702、 第二客户端设备向第一客户端设备发送该第一 状态的第一关闭通道消息, 和, 该第二客户端设备对该第一状态的第一关闭通 道消息的签名。

例如, 第一客户端设备可表示为 Al ice, 该第二客户端设备可表示为 Bob, 则该实施 例中, 可由该第二客户端设备向第一客户端设备发送 第一状态的第一关闭通道消息 MA_Cl OS e0, 和, 该第二客户端设备对该第一状态的第一关闭通 道消息的签名 SigABO o 需说明的是, 该第二客户端设备在执行 S5042之前, 还可生成该第一状态的第一关闭 通道消息。

上述 S401 中第一客户端设备和第二客户端设备在该第一 状态下建立该离链通道, 还 可包括:

5703、 第一客户端设备接收第二客户端设备发送的该 第一状态的第一关闭通道消息, 和, 该第二客户端设备对该第一状态的第一关闭通 道消息的签名。

5704 、 第一客户端设备根据该第二客户端设备的私钥 , 对该第一状态的第二关闭通道 消息进行签名, 得到该第一客户端设备对该第一状态的第二关 闭通道消息的签名。

该第一状态的第二关闭通道消息包括: 该第一状态的资金信息、 该第一状态的第一哈 希锁和该第一状态的第二哈希锁。

该第一客户端设备在接收到第二客户端设备发 送的该第一状态的第一关闭通道消息 的情况下, 可根据该第一状态的第一关闭通道消息获取该 第一状态的第二哈希锁, 并根据 该第一状态的资金信息、 该第一状态的第一哈希锁和该第一状态的第二 哈希锁生成该第二 客户端设备在该第一状态的第二关闭通道消息 , 并根据该第一客户端设备的私钥, 对该第 一状态的第二关闭通道消息进行签名, 得到该第一客户端设备对该第一状态的第二关 闭通 道消息的签名。 可选的, 该第一状态的第二关闭通道消息还可包括: 时间锁。

第一客户端设备为 Al ice, 该第二客户端设备为 Bob, 该第一客户端设备对该第一状 态的第二关闭通道消息的签名为 SigBAO o

例如, 该实施例中, 可由第一客户端设备根据时间锁 Timelock、 该第一状态的第一哈 希锁 hashlockAO、 第一状态的第二哈希锁 hashlockBO、 第一客户端设备在第一状态的资 金配额 a0和第二客户端设备在该第一状态的资金配额 b0, 生成第二客户端设备在第一状 态的关闭通道消息如第一状态的第二关闭通道 消息 MB_Close0, 并根据第一客户端设备的 私钥对第一状态的第二关闭通道消息 MB_Close0进行签名, 得到第一客户端设备对第一状 态的第二关闭通道消息的签名 SigBAO o

其中, 该第一状态的第二关闭通道消息 MB_Close0 可包括: 预设的字符串 “BobCloseTxO” , 用以指示消息类型为关闭通道消息; 还包括: 预设的通道消息, 如字 符串“channel l”, 用以指示该离链通道; 还包括: 时间锁 Timelock、 第一客户端设备在 第一状态的哈希锁 hashlockAO、 第二客户端设备在第一状态的哈希锁 hashlockBO、 第一 客户端设备在第一状态的资金配额 a0、 第二客户端设备在第一状态的资金配额 b0。 则该 第一状态的第二关闭通道消息 MB_Close0可表示为 Msg (“BobCloseTxO”, channel 1 , 1 , Timelock、 hashlockAO、 hashlockBO、 a0, bO) 。

该第一客户端设备对该第一状态的第二关闭通 道消息的签名 SigBAO, 可表示为 Sign ( SKA, (HB0, Counter+1 ) ) 其中, SKA为该第一客户端设备的私钥, HB0为该第一状 态的第二关闭通道消息 MB_Close0的哈希值, HB0可表示为 Hash (MB_Close0 ) , Counter 为预设的计数值。

5705、 第一客户端设备向第二客户端设备发送该第一 客户端设备对该第一状态的第二 关闭通道消息的签名。

该 S705可与上述 S602同时执行, S卩, 该第一客户端设备可同时向第二客户端设备发 送该第一客户端设备对该创建通道消息的签名 Si gA,和该第一客户端设备对该第一状态的 第二关闭通道消息的签名 SigBAO o

该实施例的方法中, 该第一客户端设备和该第二客户端设备还在建 立离链通道的过程 中, 交互各自在第一状态下针对对方客户端设备的 关闭通道消息的签名, 保证了双方的交 易安全性。

可选的, 第一客户端设备还向第二客户端设备发送该第 一客户端设备对该第一状态的 第二关闭通道消息, 用以使得第二客户端设备进行签名校验。

5706 、 第二客户端设备接收第一客户端设备发送的该 第一客户端设备对该第一状态的 第二关闭通道消息的签名。

对应的, 该第二客户端设备还可接收第一客户端设备发 送的该第一状态的第二关闭通 道消息。

可选的, 对于第一客户端设备, 如上所示的 S401 中第一客户端设备和第二客户端设 备在该第一状态下建立该离链通道, 还可包括:

第一客户设备根据该第一客户端设备的私钥, 对该第一客户端设备在该第一状态的第 一关闭通道消息进行签名, 得到该第一客户端设备对该第一状态的第一关 闭通道消息的签 名。

该第一状态的第一关闭通道消息包括: 该第一状态的资金信息、 该第一状态的第一哈 希锁和该第一状态的第二哈希锁。

该第一客户端设备可根据该第一状态的资金信 息、 该第一状态的第一哈希锁和该第一 状态的第二哈希锁, 生成该第一状态的第一关闭通道消息, 并根据该第一客户端设备的私 钥, 对该第一状态的第一关闭通道消息进行签名, 得到该第一客户端设备对该第一状态的 第一关闭通道消息的签名。

第一客户端设备为 Al ice, 该第一客户端设备对该第一状态的第一关闭通 道消息的签 名为 SigAAO, 可表示为 Sign ( SKA, (HAO, Counter+1 ) ) 。 其中, SKA为该第一客户端 设备的私钥, HA0为该第一状态的第一关闭通道消息 MA_CloseO的哈希值, HA0可表示为 Hash (MA_CloseO ); Counter为预设的计数值。该第一状态的第一关 通道消息 MA_CloseO 的具体描述参见上述 S701中的描述, 在此不再赘述。

可选的, 对于第二客户端设备, 如上所示的 S401 中第一客户端设备和第二客户端设 备在该第一状态下建立该离链通道, 还可包括:

第二客户设备根据该第二客户端设备的私钥, 对该第二客户端设备在该第一状态的第 二关闭通道消息进行签名, 得到该第二客户端设备对该第一状态的第二关 闭通道消息的签 名。

该第一状态的第二关闭通道消息包括: 该第一状态的资金信息、 该第一状态的第一哈 希锁和该第一状态的第二哈希锁。

该第二客户端设备可根据该第一状态的资金信 息、 该第一状态的第一哈希锁和该第一 状态的第二哈希锁, 生成该第一状态的第二关闭通道消息, 并根据该第二客户端设备的私 钥, 对该第一状态的第二关闭通道消息进行签名, 得到该第二客户端设备对该第一状态的 第二关闭通道消息的签名。

第二客户端设备为 Bob, 该第二客户端设备对该第一状态的第二关闭通 道消息的签名 SigBBO, 可表示为 Sign ( SKB, (HB0, Counter+1 ) ) 。 其中, SKB 为该第二客户端设备 的私钥, HB0为该第一状态的第二关闭通道消息 MB_Close0的哈希值, HB0可表示为 Hash (MB_Close0 ) ; Counter为预设的计数值。 该第一状态的第二关闭通道消息 MB_Close0的 具体描述参见上述 S704中的描述, 在此不再赘述。 该第一客户端设备和该第二客户端设备在第一 状态下创建离链通道, 在创建该离链通 道的过程中, 该第一客户端设备和该第二客户端设备分别生 成了共同的创建通道消息 M_Create。 在创建该离链通道的过程中, 针对该共同的创建通道消息 M_Create, 生成了第 一客户端设备在第一状态的第一关闭通道消息 MA_Close0, 和第二客户端设备在第一状态 的第二关闭通道消息 MB_Close0 o 该第一客户端设备的第一关闭通道消息 MA_Cl OS e0, 和 第二客户端设备的第二关闭通道消息 MB_Close0, 中的任一, 被发送至区块链节点设备, 区块链节点设备便可根据区块链智能合约触发 离链通道的关闭。 其中, 第一客户端设备在 第一状态的第一关闭通道消息 MA_Close0可由第一客户端设备触发, 第二客户端设备在第 一状态的第二关闭通道消息 MB_Close0可由第二客户端设备触发。 图 8为本申请实施例所提供的方法中第一客户端 备和第二客户端设备在离链通道的 创建过程中资金状态的示意图。例如, 第一客户端设备为 Al ice, 第二客户端设备为 Bob, 则该第一客户端设备可在建立离链通道的过程 中, 生成创建通道消息 M_Create, 并根据该 第一客户端设备的私钥, 对该创建通道消息 M_Create 进行签名, 得到该第一客户端设备 对该创建通道消息的签名 SigA,该第一客户端设备还接收到第二客户端 备发送的第二客 户端设备对该创建通道消息的签名 Si gB。

第一客户端设备还生成了第一客户端设备对第 一状态的第一关闭通道消息 MA_CloseO 的签名 SigAAO,还接收到第二客户端设备发送的第二客 端设备对第一状态的第一关闭通 道消息 MA_Cl OS e0的签名 SigABO o 第二客户端设备还生成了第一客户端设备 对第一状态的 第二关闭通道消息 MB_Clo S e0的签名 SigBBO,还接收到第一客户端设备发送的第一客 端 设备对第一状态的第二关闭通道消息 MB_Clo S e0的签名 SigBAO o

如此, 可使得第一客户端设备针对 MA_Close0, 具有 SigAAO和 SigABO, 第二客户端 设备针对 MB_Close0, 具有 SigBBO 和 SigBAO。 其中, MA_Close0 包括有字符串 “Al iceCloseTxO” , MB_Close0包括有字符串 “BobCloseTxO” 。

其中, 包括“Al iceCloseTxO” 的 MA_Close0和, 包括“BobCloseTxO” 的 MB_Close0 中的任一可被触发。 包括“Al iceCloseTxO” 的 MA_Close0 可由第一客户端设备触发, 该 第一客户端设备可通过 SigAAO和 SigABO触发包括“Al iceCloseTxO”的 MA_Close0, 当包 括“Al iceCloseTxO” 的 MA_Close0 被触发, 可使得第一客户端设备在时间锁 ( TL) 达到 时, 获取第一客户端设备在第一状态的资金配额 a0, 可使得第二客户端设备马上获取该第 二客户端设备在第一状态的资金配额 b0。

包括“BobCloseTxO” 的 MB_Close0 可由第二客户端设备触发, 该第二客户端设备可 通过 SigBBO和 SigBAO触发包括“BobCloseTxO” 的 MB_Close0, 当包括“BobCloseTxO” 的 MB_Close0被触发, 可使得第二客户端设备在时间锁 ( TL) 达到时, 获取第二客户端设 备在第一状态的资金配额, 即 Bob在第一状态的资金配额 b0, 可使得第一客户端设备马上 获取该第一客户端设备在第一状态的资金配额 , 即 Al ice在第一状态的资金配额 a0。 如下通过示例对第一客户端设备和第二客户端 设备建立离链通道的过程进行具体说 明。 该实施例以第一客户端设备为 Al ice, 第二客户端设备为 Bob进行示例说明。 图 9为 本申请实施例提供的一种基于区块链的数据处 理方法中创建离链通道的方法流程图四。 如 图 9所示, 该方法可包括:

5901、 第一客户端设备生成创建离链通道所需信息。

该创建离链通道所需信息包括: 索引、 第一状态的资金信息、 时间锁和第一状态的第 一哈希锁。该第一状态的资金信息可包括:第 状态下第一客户端设备的资金配额 a0,和, 第一状态下第一客户端设备的资金配额 b0。第一状态的第一哈希锁为该第一状态下第 客 户端设备的哈希锁 hashlockAO o

5902、 第一客户端设备向第二客户端设备发送该创建 离链通道所需信息。

5903、 第二客户端设备根据该第二客户端设备的私钥 进行签名, 对第一状态的第一关 闭通道消息进行签名, 得到该第二客户端设备对该第一状态的第一关 闭通道消息的签名。

第二客户端设备在接收到第一客户端设备发送 的该创建离链通道所需信息的情况下, 执行该 S903。

该第一状态的第一关闭通道消息包括: 该第一状态的资金信息、 时间锁、 该第一状态 的第一哈希锁和该第一状态的第二哈希锁; 该第一状态的第二哈希锁为该第一客户端设备 在该第二状态的哈希锁。

第一状态的第一关闭通道消息可以为 MA_CloseO, 该第二客户端设备对该第一状态的 第一关闭通道消息的签名可以为 SigABO o

5904、 第二客户端设备向第一客户端设备发送该第一 状态的第一关闭通道消息和, 该 第二客户端设备对该第一状态的第一关闭通道 消息的签名。

5905、 第一客户端设备根据该第一客户端设备的私钥 进行签名, 对该第一状态的第二 关闭通道消息进行签名, 得到该第一客户端设备对该第一状态的第二关 闭通道消息的签名。

该第一状态的第二关闭通道消息包括: 该第一状态的资金信息、 时间锁、 该第一状态 的第一哈希锁和该第一状态的第二哈希锁。

第一客户端设备可在接收到第二客户端设备发 送的第一状态的第一关闭通道消息的 情况下, 获取该第一状态的第一哈希锁, 并根据该第一状态的资金信息、 该第一状态的第 一哈希锁和该第一状态的第二哈希锁, 生成该该第一状态的第二关闭通道消息, 继而执行 S905, 得到该第一客户端设备对该第一状态的第二关 闭通道消息的签名。

该第二客户端设备在第一状态的第二关闭通道 消息可以为 MB_CloseO, 该第一客户端 设备对该第一状态的第二关闭通道消息的签名 可以为 SigBAO o

5906、 第一客户端设备根据该第一状态的资金信息, 生成创建通道消息, 根据该第一 客户端设备的私钥, 对该创建通道消息进行签名, 得到该第一客户端设备对该创建通道消 息的签名。

该创建通道消息可以为 M_Create,该第一客户端设备对该创建通道消息的 签名可以为

SigA o

该第一客户端设备还根据该第一状态的资金信 息、 第一状态的第一哈希锁和该第一状 态的第二哈希锁, 生成第一状态的第一关闭通道消息 MA_Close0, 并根据该第一客户端设 备的私钥对第一状态的第一关闭通道消息进行 签名, 得到该第一客户端设备对该第一状态 的第一关闭通道消息的签名 SigAAO o

5907、 第一客户端设备向第二客户端设备发送该第一 客户端设备对该第一状态的第二 关闭通道消息的签名和, 该第一客户端设备对该创建通道消息的签名。

即, 该第一客户端设备向第二客户端设备发送 SigBAO和 SigA。

5908、 第二客户端设备根据该第一状态的资金信息, 生成创建通道消息, 并根据该第 二客户端设备的私钥对该创建通道消息进行签 名, 得到该第二客户端设备对该创建通道消 息的签名。

该第二客户端设备对该创建通道消息的签名可 以为 SigB。

该第二客户端设备还根据该第一状态的资金信 息、 第一状态的第一哈希锁和该第一状 态的第二哈希锁, 生成第一状态的第二关闭通道消息可以为 MB_Close0, 并根据该第二客 户端设备的私钥对该第一状态的第二关闭通道 消息进行签名, 得到该第二客户端设备对该 第一状态的第二关闭通道消息的签名 SigBBO。

5909、 第二客户端设备向第一客户端设备发送该第二 客户端设备对该创建通道消息的 签名。

即, 该第二客户端设备向第一客户端设备发送 SigB。

5910、 第一客户端设备向区块链节点设备发送创建通 道消息、 该第一客户端设备对该 创建通道消息的签名, 和第二客户端设备对该创建通道消息的签名。

该第一客户端设备可向区块链节点设备发送该 创建通道消息 M_Create,该第一客户端 设备对该创建通道消息的签名 SigA和第二客户端设备对该创建通道消息的签 SigB。

5911、 区块链节点设备根据预设的创建通道智能合约 , 对该创建通道消息进行处理, 并确定该离链通道在区块链的资金状态为第一 状态。

该实施例提供的方法, 可使得该区块链节点设备在创建离链通道的过 程中, 基于预设 的创建通道智能合约对该第一客户端设备和该 第二客户端设备进行身份验证, 保证了离链 通道的安全性, 继而保证离链通道上交易的安全性; 并且, 该第一客户端设备和该第二客 户端设备还在建立离链通道的过程中, 交互各自在第一状态下针对对方客户端设备的 关闭 通道消息的签名, 保证了双方的交易安全性。

并且, 该方法在创建离链通道的过程中, 对于每个客户端设备仅需进行三个交易的签 名, 如第一客户端设备对第一状态的第一关闭通道 消息的签名 SigAAO、第一客户端设备对 该第一状态的第二关闭通道消息的签名 SigABO, 以及第一客户端设备对创建通道消息的签 名 SigA。 该方法中, 可使得交易双方的客户端设备仅需进行少量的 签名, 降低了客户端设 备的计算量, 且, 无需生成并存储大量的私钥, 降低了客户端设备的存储代价。 在上述基于区块链的数据处理方法的基础上, 本申请实施例还可提供一种基于区块链 的数据处理方法。 该实施例可通过示例, 对上述方法中所涉及的离链通道上的交易过程 进 行示例说明。 可选的, 在如上所示的方法的基础上, 该方法还可包括:

第一客户端设备根据该第一客户端设备的私钥 , 对该第二状态的第二关闭通道消息进 行签名, 得到该第一客户端设备对该第二状态的第二关 闭通道消息的签名。

该第二状态的第二关闭通道消息包括: 该第二状态的资金信息、 该第二状态的第一哈 希锁和该第二状态的第二哈希锁。

该第一客户端设备可根据该第二状态的资金信 息、 该第二状态的第一哈希锁和该第二 状态的第二哈希锁, 生成该第二状态的第二关闭通道消息, 并根据该第一客户端设备的私 钥, 对该第二状态的第二关闭通道消息进行签名, 得到该第一客户端设备对该第二状态的 第二关闭通道消息的签名。

第一客户端设备为 Al ice, 该第一客户端设备对该第二状态的第二关闭通 道消息的签 名为 SigAAl, 可表示为 Sign ( SKA, (HA1 , Counter+1 ) ) 。 其中, SKA为该第一客户端 设备的私钥, HA1为该第二状态的第二关闭通道消息 MA_Closel 的哈希值, HA1可表示为 Hash (MA_Closel ); Counter为预设的计数值。该第二状态的第二关 通道消息 MA_Closel 的具体描述参见上述 S304中的描述, 在此不再赘述。

在如上所示的方法的基础上, 该方法可在上述基础上, 还可包括:

第二客户端设备根据该第二客户端设备的私钥 , 对该第二状态的第三关闭通道消息进 行签名, 得到该第一客户端设备对该第二状态的第三关 闭通道消息的签名。

该第二状态的第三关闭通道消息包括: 该第二状态的资金信息、 该第二状态的第一哈 希锁和该第二状态的第二哈希锁。

该第二客户端设备可根据该第二状态的资金信 息、 该第二状态的第一哈希锁和该第二 状态的第二哈希锁, 生成该第二状态的第三关闭通道消息, 并根据该第二客户端设备的私 钥, 对该第二状态的第三关闭通道消息进行签名, 得到该第二客户端设备对该第二状态的 第三关闭通道消息的签名。

第二客户端设备为 Bob,第二状态的第三关闭通道消息的签名为 SigBBl,可表示为 Sign ( SKB, (HB1, Counter+1 ) ) 其中, SKB为该第二客户端设备的私钥, HB1为该第二状 态的第三关闭通道消息 MB_Closel的哈希值, HB1可表示为 Hash (MB_Closel ) ; Counter 为预设的计数值。 该第二状态的第三关闭通道消息 MB_Closel 的具体描述参见上述 S307 中的描述, 在此不再赘述。

在上述任一所示方法的基础上, 本申请实施例还提供一种基于区块链的数据处 理方法。 图 10 为本申请实施例提供的一种基于区块链的数据 处理方法中离链通道上进行交易的方 法流程图一, 如图 10所示, 该基于区块链的数据处理方法, 还可包括:

S1001、 第一客户端设备向第二客户端设备发送该第一 客户端设备在该第一状态的哈 希锁原象。

第一客户端设备向第二客户端设备发送该第一 客户端设备在该第一状态的哈希锁原 象, 用以表示该第一客户端设备已放弃该第一状态 。

S1002、 第二客户端设备接收第二客户端设备发送的该 第一客户端设备在该第一状态 的哈希锁原象。

该第二客户端设备在接收到该第一客户端设备 在该第一状态的哈希锁原象后, 便可对 该第一客户端设备在该第一状态的哈希锁原象 进行保存。

在该第一客户端设备向区块链节点设备发送第 一状态的第一关闭通道消息时, 该第二 客户端设备便可将该第一客户端在该第一状态 的哈希锁原象作为证据发送至该区块链节 点设备, 在时间锁内触发第二客户端设备的奖励交易, 使得第二客户端设备获取第一客户 端设备在第一状态的资金配额, 作为对该第一客户端设备的惩罚。

S1003、 第二客户端设备向第一客户端设备发送该第二 客户端设备在该第一状态的哈 希锁原象。

第一客户端设备向第二客户端设备发送该第一 客户端设备在该第一状态的哈希锁原 象, 用以表示该第二客户端设备也已放弃该第一状 态。

S1004、 第一客户端设备接收第二客户端设备发送的该 第二客户端设备在该第一状态 的哈希锁原象。

该第一客户端设备在接收到该第二客户端设备 在该第一状态的哈希锁原象后, 便可对 该第二客户端设备在该第一状态的哈希锁原象 进行保存。

在该第二客户端设备向区块链节点设备发送该 第一状态的第二关闭通道消息时, 该第 一客户端设备便可将该第二客户端在该第一状 态的哈希锁原象作为证据发送至该区块链 节点设备, 在时间锁内触发第一客户端设备的奖励交易, 使得第一客户端设备获取第二客 户端设备在第一状态的资金配额, 作为对该第二客户端设备的惩罚。

该实施例提供的方法中, 该第一客户端设备和该第二客户端设备还在离 链通道上进行 交易的过程中, 交互各自在旧状态的哈希锁原象, 用以表示放弃该旧状态, 一旦一方发送 旧状态的关闭通道消息, 则作为对以旧状态的关闭通道消息发起方的惩 罚, 将该发起在该 第一状态的资金配额转入对方在区块链的资金 地址, 从而使得双方尽可能地以新的状态发 起关闭通道消息, 避免了非正常退出, 保证了双方的交易安全性。 因而, 该方法可在保证 交易安全的情况下, 有效提升大规模的交易处理能力。 在上述任一所示方法的基础上, 本申请实施例还提供一种基于区块链的数据处 理方法。 图 11 为本申请实施例提供的一种基于区块链的数据 处理方法中离链通道上进行交易的方 法流程图二。 如图 11所示, 该基于区块链的数据处理方法, 还可包括:

S1101、 第一客户端设备生成第一退出通道消息, 该第一退出通道消息包括: 该第二 客户端设备在该第一状态的哈希锁原象。

该第一客户端设备通过执行 S1201生成该第一客户端设备的退出通道消息, 即该第一 退出通道消息, 该第一退出通道消息为 MA_Moniter, 可表示为 Msg (“Exit”, channel 1 ,

0, RB) 0

该第一退出通道消息包括: 预设的退出字符串 “Exit” 、 预设的通道标识 channel U 该第一退出通道消息的标识 0以及该第二客户端设备在该第一状态的哈希 原象 RB。其中, 该预设的通道标识 channel 1用于指示该离链通道, 该第一退出通道消息的标识 0用于指 示该第一退出通道消息为第一客户端设备生成 的消息。

S1102、 第一客户端设备根据该第一客户端设备的私钥 和该第一客户端设备在区块链 上的资金地址, 对该第一退出通道消息进行签名, 得到该第一客户端设备对该第一退出通 道消息的签名。

通过执行 S1102该第一客户端设备得到该第一客户端设备 该第一退出通道消息的签 名。 该第一客户端设备对该第一退出通道消息的签 名为 SigMAM, 可表示为 Sig ( SKA, Hash (MA_Moniter ) , addrA, counter+1 ) 。 其中, SKA 为该第一客户端设备的私钥, Hash (MA_Moniter) 为该第一退出通道消息的哈希值, addrA为该第一客户端设备在区块链的 资金地址, counter为预设的计数值。

S1103、第一客户端设备向区块链节点设备发送 一监控请求,该第一监控请求包括: 该第一退出通道消息, 和, 该第一客户端设备对该第一退出通道消息的签 名。

该第一监控请求用于使得该区块链节点设备监 控该第二客户端设备发起的关闭通道 消息。

该第一客户端设备可在与该第二客户端设备在 离链通道上进行交易, 将资金状态从第 一状态切换至第二状态之后, 向区块链节点发送该第一监控请求。

在此处, 该区块链节点设备可以为矿工节点设备、 代理矿工节点设备或者可访问或接 入区块链的监控设备。 该第一客户端设备向该区块链节点设备发送该 第一监控请求, 以注 册监控服务, 使得区块链节点设备基于该第一客户端设备注 册的监控服务, 监控第二客户 端设备所发起的关闭通道消息。

该方法还可包括:

S1104、 区块链节点设备接收该第一客户端设备发送的 第一监控请求, 并根据该第一 监控请求对该第二客户端设备发起的关闭通道 消息进行监控。

可选的, 为保证交易的公平性, 该第二客户端设备也可通过注册监控服务, 对该第一 客户端设备发起的关闭通道消息进行监控。 则该方法可包括:

S1105、 第二客户端设备生成第二退出通道消息, 该第二退出通道消息包括: 该第一 客户端设备在该第一状态的哈希锁原象。

该第二客户端设备通过执行 S1205生成该第二客户端设备的退出通道消息, 即该第二 退出通道消息, 该第二退出通道消息为 MB_Moniter, 可表示为 Msg (“Exit”, channel 1 ,

1, RA) 0

该第二退出通道消息包括: 预设的退出字符串 “Exit” 、 预设的通道标识 channel U 该第二退出通道消息的标识 1以及该第一客户端设备在该第一状态的哈希 原象 RA。其中, 该预设的通道标识 channel 1用于指示该离链通道, 该第二退出通道消息的标识 1用于指 示该第二退出通道消息为第二客户端设备生成 的消息。

S1106、 第二客户端设备根据该第二客户端设备的私钥 和该第二客户端设备在区块链 上的资金地址, 对该第二退出通道消息进行签名, 得到该第二客户端设备对该第二退出通 道消息的签名。

通过执行 S1106该第二客户端设备得到该第二客户端设备 该第二退出通道消息的签 名。 该第二客户端设备对该第二退出通道消息的签 名为 SigMBM, 可表示为 Sig ( SKB, Hash ( MB_Moniter ) , addrB, counter+1 ) 。 其中, SKB 为该第二客户端设备的私钥, Hash (MB_Moniter) 为该第二退出通道消息的哈希值, addrB 为该第二客户端设备在区块链的 资金地址, counter为预设的计数值。

S1107、第二客户端设备向区块链节点设备发送 二监控请求,该第二监控请求包括: 该第二退出通道消息, 和, 该第一客户端设备对该第二退出通道消息的签 名。

该第一客户端设备可在与该第二客户端设备在 离链通道上进行交易, 将资金状态从第 一状态切换至第二状态之后, 向区块链节点发送该第一监控请求。

该第二监控请求用于使得该区块链节点设备监 控该第一客户端设备发起的关闭通道 消息。

在此处, 该区块链节点设备可以为矿工节点设备、 代理矿工节点设备或者可访问或接 入区块链的监控设备。 该第二客户端设备向该区块链节点设备发送该 第二监控请求, 以注 册监控服务, 使得区块链节点设备基于该第一客户端设备注 册的监控服务, 监控第二客户 端设备所发起的关闭通道消息。

S1108、 区块链节点设备接收该第二客户端设备发送的 第二监控请求, 并根据该第二 监控请求对该第一客户端设备发起的关闭通道 消息进行监控。

该实施例提供的方法中, 该第一客户端设备和该第二客户端设备可分别 向区块链节点 设备发送监控请求, 以监控对方客户端设备发起的关闭通道消息, 继而保证离链通道上的 交易安全。

对于采用上述任一方法在离链通道上进行交易 双方的客户端设备, 其可发起第一状态 的关闭通道消息, 也可发起第二状态的关闭通道消息, 还可由双方进行协商一致后发起的 快速关闭通道消息。 对于在不同场景下发起的关闭通道消息, 区块链节点设备上可部署有 不同的智能合约, 以对该不同场景下发起的关闭通道消息进行处 理。 如下以第一客户端设 备在各场景下发起关闭通道消息为例进行说明 , 对于第二客户端设备发起关闭通道消息的 具体实现与第一客户端设备发起关闭通道消息 具体实现类似, 在此不再赘述。 图 12 为本申请实施例提供的一种基于区块链的数据 处理方法中第一客户端设备发送 第一状态的关闭通道消息的方法流程图一。 如图 12所示, 该方法可包括:

S1201、 第一客户端设备向区块链节点设备发送第一状 态的关闭通道消息。

该第一客户端设备可向区块链节点设备发送该 第一状态的关闭通道消息, 即上述第一 状态的第一关闭通道消息。 第一客户端设备在发送该第一状态的关闭通道 消息的情况下, 还向区块链节点设备发送该第一客户端设备对 该第一状态的关闭通道消息的签名, 以及其 所收到的第二客户端设备对该第一状态的关闭 通道消息的签名。

该第一客户端设备所发送的该第一状态的关闭 通道消息即为 MA_CloseO, 其可包括字 符串“Al iceCloseTxO”,该第一客户端设备对该第一状态 关闭通道消息的签名为 SigAAO, 以及其所收到的第二客户端设备对该第一状态 的关闭通道消息的签名为 SigABO。

S1202、 区块链节点设备接收第一客户端设备发送的该 第一状态的关闭通道消息。

S1203、 区块链节点设备根据预设的第一关闭通道智能 合约对该第一状态的关闭通道 消息进行处理。

该第一关闭通道智能合约可以为预设的旧状态 关闭通道的智能合约。 该区块链节点设 备可在接收到该第一客户端设备发送的第一状 态的关闭通道消息后, 对第一客户端设备对 该第一状态的关闭通道消息的签名以及第二客 户端设备对该第一状态的关闭通道消息的 签名进行校验, 若校验通过, 则根据该第一关闭通道智能合约对该第一状态 的关闭通道消 息进行处理, 以进行资金分配。

该区块链节点设备根据预设的第一关闭通道智 能合约对该第一状态的关闭通道消息 进行处理后, 便可关闭该离链通道。

该区块链节点设备在进行资金分配后, 还可对该区块链进行账本更新。 该区块链节点 设备还可在对区块链进行账本更新后, 将更新结果同步至其他的区块链节点设备。

该实施例中, 可由区块链节点设备对第一客户端设备发送的 第一状态的关闭通道消息 进行处理以进行资金分配, 可保证第一客户端设备以第一状态退出场景下 的交易安全性。

对于第一客户端设备发起的第一状态的关闭通 道消息, 在上述图 12 的基础上, 本申 请实施例还可提供一种基于区块链的数据处理 方法。 图 13 为本申请实施例提供的一种基 于区块链的数据处理方法中第一客户端设备发 送第一状态的关闭通道消息的方法流程图 二。 如图 13所示, 上述方法中 S1203中区块链节点设备根据预设的第一退出通 智能合 约对所述第一状态的关闭通道消息进行处理可 包括:

S1301、 若在预设的时间锁对应的时间内, 区块链节点设备接收到该第二客户端设备 发送的该第一客户端设备在该第一状态的哈希 锁原象。

S1302、 区块链节点设备根据该第一关闭通道智能合约 对该第一客户端设备在该第一 状态的第一哈希锁原象进行哈希操作, 得到哈希值。

S1303、 区块链节点设备根据该第一关闭通道智能合约 , 对该哈希值和该第一状态的 第一哈希锁进行比较。

S1304、 若该哈希值与该第一状态的第一哈希锁相同, 则区块链节点设备根据该第一 退出通道智能合约, 将该第一状态下该第一客户端设备的资金配额 转入该第二客户端设备 在区块链上的资金地址。

若该哈希值与该第一状态的第一哈希锁相同, 即该第一状态的哈希锁原象验证通过, 则可确定该第二客户端设备发送的该第一状态 的哈希锁原象为该第一状态的第一哈希锁 的原象。 反之, 若该哈希值与该第一状态的第一哈希锁不同, 即该第一状态的哈希锁原象 验证不通过, 则可确定第二客户端设备发送的该第一状态的 哈希锁原象并非第一客户端设 备在第一状态的哈希锁原象, 便可将该第一客户端设备在该第一状态的资金 配额转入该第 一客户端设备在区块链上的资金地址。

若该第一客户端设备发送第一状态的关闭通道 消息, 则区块链节点设备可在接收到该 第一状态的关闭通道消息, 便可将第二客户端设备在该第一状态的资金配 额转入该第二客 户端设备在区块链的资金地址; 而在预设的时间锁对应的时间内, 如接收到第二客户端设 备发送的第一客户端设备在第一状态的哈希锁 原象, 并验证通过后, 便可将该第一状态下 该第一客户端设备的资金配额转入该第二客户 端设备在区块链上的资金地址。

该区块链节点设备根据该第一退出通道智能合 约, 将该第一状态下该第一客户端设备 的资金配额转入该第二客户端设备在区块链上 的资金地址后, 便可关闭该离链通道。

该实施例提供的方法, 可在第一客户端设备发送旧状态的关闭通道消 息时, 由该区块 链节点设备该第二客户端设备发送的旧状态的 哈希锁原象验证通过后, 将该第一状态下该 第一客户端设备的资金配额转入该第二客户端 设备在区块链上的资金地址, 作为对该第一 客户端设备进行非正常退出的惩罚, 从而保证交易安全。

对于第一客户端设备发起的第一状态的关闭通 道消息, 在上述图 12 的基础上, 本申 请实施例还可提供一种基于区块链的数据处理 方法。 可选的, 上述方法中 S1203中区块链 节点设备根据预设的第一退出通道智能合约对 所述第一状态的关闭通道消息进行处理可 包括:

若在预设的时间锁对应的时间内, 区块链节点未接收到该第二客户端设备发送的 该第 一客户端设备在该第一状态的第一哈希锁原象 , 则区块链节点设备根据第一退出通道智能 合约, 将该第一状态下该第一客户端设备的资金配额 转入该第一客户端设备在区块链上的 资金地址。

在该实施例中, 若该第一客户端设备发送第一状态的关闭通道 消息, 则区块链节点设 备可在接收到该第一状态的关闭通道消息, 便可将第二客户端设备在该第一状态的资金配 额转入该第二客户端设备在区块链的资金地址 ; 而在预设的时间锁对应的时间内, 如未接 收到第二客户端设备发送的第一客户端设备在 第一状态的哈希锁原象, 便可将该第一状态 下该第一客户端设备的资金配额转入该第一客 户端设备在区块链上的资金地址。

该实施例提供的方法, 可在第一客户端设备发送的旧状态的关闭通道 消息, 而第二客 户端设备无法提交该第一客户端设备在旧状态 的哈希锁原象的情况下, 由该区块链节点设 备将该第一状态下该第一客户端设备的资金配 额转入该第一客户端设备在区块链上的资 金地址, 保证交易的正常进行。

图 14 为本申请实施例提供的一种基于区块链的数据 处理方法中第一客户端设备发送 第二状态的关闭通道消息的方法流程图。 如图 14所示, 该方法可包括:

S1401、 第一客户端设备向区块链节点设备发送该第二 状态的关闭通道消息。

该第一客户端设备可向区块链节点设备发送该 第二状态的关闭通道消息, 即上述第二 状态的第二关闭通道消息。 第一客户端设备在发送该第二状态的关闭通道 消息的情况下, 还向区块链节点设备发送该第一客户端设备对 该第二状态的关闭通道消息的签名, 以及其 所收到的第二客户端设备对该第二状态的关闭 通道消息的签名。

该第一客户端设备所发送的该第二状态的关闭 通道消息即为 MA_Closel , 其可包括字 符串“Al iceCloseTxl”,该第一客户端设备对该第二状态 关闭通道消息的签名为 SigAAl, 以及其所收到的第二客户端设备对该第二状态 的关闭通道消息的签名 SigABl o

S1402、 区块链节点设备接收第一客户端设备发送的该 第二状态的关闭通道消息。

S1403、 区块链节点设备根据预设的第二关闭通道智能 合约, 将该第二状态下该第二 客户端设备的资金配额转入该第二客户端设备 在区块链上的资金地址, 并在预设的时间锁 对应的时间到达后, 将该第二状态下该第一客户端设备的资金配额 转入该第一客户端设备 在区块链上的资金地址。

该第二关闭通道智能合约可以为预设的新状态 关闭通道的智能合约。

该区块链节点设备可在将该第二状态下该第二 客户端设备的资金配额转入该第二客 户端设备在区块链上的资金地址, 在预设的时间锁对应的时间到达后, 将该第二状态下该 第一客户端设备的资金配额转入该第一客户端 设备在区块链上的资金地址之后, 关闭该离 链通道。

针对该第一客户端设备发送的第二状态的关闭 通道消息, 区块链节点设备可根据预设 的第二关闭通道智能合约, 直接将该第二状态下该第二客户端设备的资金 配额转入该第二 客户端设备在区块链上的资金地址, 而在预设的时间锁对应的时间到达后, 将该第二状态 下该第一客户端设备的资金配额转入该第一客 户端设备在区块链上的资金地址, 保证交易 安全。

图 15 为本申请实施例提供的一种基于区块链的数据 处理方法中第一客户端设备在与 第二客户端设备协商一致后发起的快速关闭通 道消息的方法流程图。 如图 15 所示, 该方 法可包括:

S1501、 第一客户端设备或第二客户端设备向区块链节 点设备发送关闭请求。

该关闭请求为该第一客户端设备和该第二客户 端设备协商一致的情况下所发送的请 求。 该关闭请求可称为快速关闭请求。

该关闭请求可包括: 关闭通道消息、 该第一客户端设备对该关闭通道消息的签名, 和 该第二客户端设备对该快速关闭通道消息的签 名。

其中, 该关闭通道消息可称为快速关闭通道消息, 其可以为该第一客户端设备和第二 客户端设备协商生成的关闭通道消息 MInst_Clo Se 。 该关闭通道消息包括: 该第一客户端 设备和该第二客户端设备协商后的资金配额, 预设的字符串 “InstCloseTx” 。 该第一客 户端设备对该关闭通道消息的签名可以为该第 一客户端设备根据该第一客户端设备的私 钥, 对该关闭通道消息进行签名得到的, 其可以为 SigCA; 该第二客户端设备对该关闭通 道消息的签名可以为该第二客户端设备根据该 第二客户端设备的私钥, 对该关闭通道消息 进行签名得到的, 其可以为 SigCB。

S1502、 区块链节点设备接收第一客户端设备或第二客 户端设备发送的关闭请求。

S1503、 区块链节点设备根据预设的第三关闭通道智能 合约, 对该第一客户端设备对 该关闭通道消息的签名, 和该第二客户端设备对该关闭通道消息的签名 进行校验。

该第三关闭通道智能合约可以为预设的快速关 闭通道的智能合约。

S1504、 若校验通过, 则区块链节点设备根据该第三关闭通道智能合 约, 将该第一客 户端设备和该第二客户端设备协商后的该第一 客户端设备的资金配额转入该第一客户端 设备在区块链上的资金地址, 将该第一客户端设备和该第二客户端设备协商 后的该第二客 户端设备的资金配额转入该第二客户端设备在 区块链上的资金地址。

如校验通过, 区块链节点设备便可确定关闭请求为第一客户 端设备和第二客户端设备 协商后发送的请求。

该实施例提供的方法, 区块链节点设备接收到第一客户端设备或第二 客户端设备在双 方协商一致后发送的关闭请求后, 将该第一客户端设备和该第二客户端设备协商 后的该第 一客户端设备的资金配额转入该第一客户端设 备在区块链上的资金地址, 将该第一客户端 设备和该第二客户端设备协商后的该第二客户 端设备的资金配额转入该第二客户端设备 在区块链上的资金地址, 实现了离链通道的快速关闭。

对于离链通道的快速关闭, 每个客户端设备仅需进行一个交易的签名, 如第一客户端 设备协商的关闭通道消息的签名 SigCA。 该方法中, 可使得交易双方的客户端设备仅需进 行少量的签名, 降低了客户端设备的计算量, 且, 无需生成并存储大量的私钥, 降低了客 户端设备的存储代价。

本申请实施例提供的方法, 可支持智能合约, 基于不同场景下发起的关闭通道消息, 采用不同的退出通道智能合约进行处理即可, 解锁了多种场景下的资金配额,实现更方便, 更灵活。

该第一客户端设备和该第二客户端设备在离链 通道上进行交易, 以切换资金状态的过 程中, 该第一客户端设备生成了第一客户端设备在第 二状态的关闭通道消息 MA_Closel , 和第二客户端设备在第二状态的关闭通道消息 MB_Closel 0 该第一客户端设备在第二状态 的关闭通道消息 MA_CloseTxl, 和第二客户端设备在第二状态的关闭通道消息 MB_Closel 中的任一, 被发送至区块链节点设备, 区块链节点设备便可根据区块链智能合约触发 离链 通道的关闭。 其中, 第一客户端设备在第二状态的关闭通道消 MA_Cl 0S el可由第一客户 端设备触发, 第二客户端设备在第二状态的关闭通道消息 MB_Closel可由第二客户端设备 触发。

由于在第一状态下, 该第一客户端设备还生成了第一客户端设备在 第一状态的关闭通 道消息 MA_CloseO , 第二客户端设备还生成了第二客户端在第一状 态的关闭通道消息 MB_Close0 o 因此, 对于第一客户端设备和第二客户端设备分别可 发送两个状态的关闭通 道消息。

图 16 为本申请实施例所提供的方法中第一客户端设 备和第二客户端设备在离链通道 上交易的资金状态的示意图。 例如, 第一客户端设备为 Al ice, 第二客户端设备为 Bob, 则该第一客户端设备可在离链通道上进行交易 的过程中, 第一客户端设备生成了第一客户 端设备对第二状态的第二关闭通道消息 MA_Cl 0S el的签名 SigAAl,还接收到第二客户端设 备发送的第二客户端设备对第二状态的第二关 闭通道消 MA_Cl 0S el的签名 SigABl o 第二 客户端设备还生成了第一客户端设备对第二状 态的第三关闭通道消息 MB_Closel 的签名 SigBBl, 还接收到第一客户端设备发送的第一客户端设 备对第二状态的第三关闭通道消息 MB_CloseO的签名 SigBAl o

如此, 可使得第二状态下, 第一客户端设备针对 MA_Closel, 具有 SigAAl和 SigABl, 第二客户端设备针对 MB_Closel, 具有 SigBBl和 SigBAl。 其中, MA_Closel包括有字符串 “Al iceCloseTxl” , MB_Closel包括有字符串 “BobCloseTxl” 。

其中, 包括“Al iceCloseTxl” 的 MA_Closel和, 包括“BobCloseTxl” 的 MB_Closel 中的任一可被触发。 包括“Al iceCloseTxl” 的 MA_Closel 可由第一客户端设备触发, 该 第一客户端设备可通过 SigAAl和 SigABl触发包括“Al iceCloseTxl”的 MA_Closel, 当该 包括“Al iceCloseTxl” 的 MA_Closel 被触发, 可使得第一客户端设备在时间锁 ( TL) 达 到时, 获取第一客户端设备在第二状态的资金配额 al, 可使得第二客户端设备马上获取该 第二客户端设备在第二状态的资金配额 bl。

包括“BobCloseTxl” 的 MB_Closel 可由第二客户端设备触发, 该第二客户端设备可 通过 SigBBl和 SigBAl触发包括“BobCloseTxl” 的 MB_Closel, 当包括“BobCloseTxl” 的 MB_Closel被触发, 可使得第二客户端设备在时间锁 ( TL) 达到时, 获取第二客户端设 备在第二状态的资金配额 bl,可使得第一客户端设备马上获取该第一客 端设备在第二状 态的资金配额 al。

由于第一客户端设备还具有第一状态下的第一 客户端设备的 MA_Close0, 具有 SigAAO 和 SigABO,如第一客户端设备以 SigMO和 SigABO触发包括“Al iceCloseTxO”的 MA_Close0, 则第二客户端设备可通过第一客户端设备在第 一状态的哈希锁原象 RA0, 触发第二客户端 设备获取交易 BobRewardTxO,可使得第二客户端设备获取第一状 下第一客户端设备的资 金配额 a0。

由于第二客户端设备还具有第一状态下的第二 客户端设备的 MB_Close0, 具有 SigBBO 和 SigBAO,如第二客户端设备以 SigBBO和 SigBAO触发包括“BobCloseTxO”的 MA_Close0, 则第一客户端设备可通过第二客户端设备在第 一状态的哈希锁原象 RB0, 触发第一客户端 设备获取交易 Al iceRewardTxO,可使得第一客户端设备获取第一状 下第二客户端设备的 资金配额 b0。

由于该第一客户端设备和第二客户端设备在协 商过程中, 生成快速关闭通道消息 MInst_Clo Se 。该第一客户端设备对该快速关闭通道消 息的签名可以为 SigCA; 该第二客户 端设备对该快速关闭通道通道的签名可以为 SigCB。 包括“InstCloseTx”的快速关闭通道 消息 MInst_Close可由第一客户端设备和第二客户端设 中的任一触发。 图 17为本申请 实施例所提供的方法中第一客户端设备和第二 客户端设备在离链通道上交易的资金状态 的示意图。 例如, 第一客户端设备为 Al ice, 第二客户端设备为 Bob, 则该第一客户端设 备和第一客户端设备可在与对方客户端设备协 商退出的过程中, 生成快速关闭通道消息 MInst_Close, 第一客户端设备生成了第一客户端设备对快速 关闭通道消息的签名 SigCA, 还接收到第二客户端设备发送的第二客户端设 备对快速关闭通道消息的签名 SigCB。 该第 一客户端设备和第二客户端设备协商后的该第 一客户端设备的资金配额可以为 a3,该第二 客户端设备的资金配额可以为 b3。

如第一客户端设备或者第二客户端设备以 SigCA 和 SigCB 发送快速关闭通道消息 MInst_Close , 可使得第一客户端设备获取协商后的该第一客 户端设备的资金配额可以为 a3, 使得第二客户端设备获取协商后的该第二客户 端设备的资金配额可以为 b3。

如下通过示例对第一客户端设备和第二客户端 设备在离链通道上交易的过程进行具 体说明。 该实施例以第一客户端设备为 Al ice, 第二客户端设备为 Bob进行示例说明。 图 18 为本申请实施例提供的一种基于区块链的数据 处理方法中在离链通道上交易的方法流 程图三。 如图 18所示, 该方法可包括:

S1801、 第一客户端设备生成创建第二状态所需信息。

该创建第二状态所需信息包括: 索引、 第二状态的资金信息、 时间锁和第二状态的第 一哈希锁。该第二状态的资金信息可包括:第 状态下第一客户端设备的资金信息 al,和, 第二状态下第一客户端设备的资金信息 bl。第二状态的第一哈希锁为该第二状态下第 客 户端设备的哈希锁 hashlockAl o

S1802、 第一客户端设备向第二客户端设备发送第二状 态的第一关闭通道消息, 该第 二状态的第一关闭通道消息包括: 第二状态的资金信息和该第二状态的第一哈希 锁。

S1803、 第二客户端设备根据该第二客户端设备的私钥 , 对该第二状态的第二关闭通 道消息进行签名, 得到该第二客户端设备对该第二状态的第二关 闭通道消息的签名。

该第二状态的第二关闭通道消息包括: 该第二状态的资金信息、 该第二状态的第一哈 希锁和该第二状态的第二哈希锁。 其中, 该第二状态的第二哈希锁为该第二客户端设备 在 该第二状态的哈希锁。 可选的, 该第二状态的第二关闭通道消息还可包括: 时间锁。

第二客户端设备在接收到第一客户端设备发送 的该第二状态的第一关闭通道消息的 情况下, 执行该 S1803。

该第一客户端设备在第二状态的第二关闭通道 消息可以为 MA_Closel , 该第二客户端 设备对该第二状态的第二关闭通道消息的签名 可以为 SigABl。

S1804、 第二客户端设备向第一客户端设备发送第二状 态的第二关闭通道消息, 和, 该第二客户端设备对该第二状态的第一关闭通 道消息的签名。

S1805、 第一客户端设备根据该第一客户端设备的私钥 , 对该第二状态的第三关闭通 道消息进行签名, 得到该第一客户端设备对该第二状态的第三关 闭通道消息的签名。

该第二状态的第三关闭通道消息包括: 该第二状态的资金信息、 该第二状态的第一哈 希锁和该第二状态的第二哈希锁。 可选的, 该第二状态的第三关闭通道消息还可包括: 时 间锁。

该第二客户端设备在第二状态的第三关闭通道 消息可以为 MB_Closel , 该第一客户端 设备对该第二状态的第三关闭通道消息的签名 可以为 SigBAl。

该第一客户端设备还根据该第一客户端设备的 私钥, 对该第二状态的第二关闭通道消 息进行签名, 得到该第一客户端设备对该第二状态的第二关 闭通道消息的签名 SigAAl o

S1806、 第一客户端设备向第二客户端设备发送该第一 客户端设备对该第二状态的第 三关闭通道消息的签名, 和, 该第一客户端设备在第一状态的哈希锁原象。

即, 该第一客户端设备向第二客户端设备发送 SigBAl和 RAO o

第二客户端设备还根据该第二客户端设备的私 钥对该第二状态的第三关闭通道消息 进行签名, 得到该第二客户端设备对该第二状态的第三关 闭通道消息的签名 SigBBl。

S1807、 第二客户端设备向第一客户端设备发送该第二 客户端设备在第一状态的哈希 锁原象。

即, 该第二客户端设备向第一客户端设备发送 RB0。

S1808、 第一客户端设备生成第一退出通道消息, 并根据该第一客户端设备的私钥和 第一客户端设备在区块链的资金地址对该第一 退出通道消息进行签名, 得到该第一客户端 设备对该第一退出通道消息的签名。 该第一退出通道消息包括: 该第二客户端设备在第一状态的哈希锁原象。 该第一客户端设备对该第一退出通道消息的签 名可以为 SigMAM。

S1809、 第一客户端设备向区块链节点设备发送第一监 控请求。

该第一监控请求包括: 该第一退出通道消息, 和, 该第一客户端设备对该第一退出通 道消息的签名。 该第一退出通道消息可以为 MA_Moniter。 即第一客户端设备向区块链节点 设备发送 MA_Moniter和 SigMAM。

该第一监控请求用于使得该区块链节点设备监 控该第二客户端设备发起的关闭通道 消息。

S1810、 第二客户端设备生成第二退出通道消息, 并根据该第二客户端设备的私钥和 该第二客户端设备在区块链的资金地址对该第 二退出通道消息进行签名, 得到该第二客户 端设备对该第二退出通道消息的签名。

该第二退出通道消息包括: 该第一客户端设备在该第一状态的哈希锁原象 。

该第二客户端设备对该第二退出通道消息的签 名可以为 SigMBM。

S1811、 第二客户端设备向区块链节点设备发送第二监 控请求。

该第二监控请求包括: 该第二退出通道消息, 和, 该第一客户端设备对该第二退出通 道消息的签名。 该第二退出通道消息可以为 MB_Moniter。 即第一客户端设备向区块链节点 设备发送 MB_Moniter和 SigMBM。

该第二监控请求用于使得该区块链节点设备监 控该第一客户端设备发起的关闭通道 消息。

该实施例提供的方法, 可使得该区块链节点设备在离链通道上进行交 易的过程中, 交 互各自在第二状态下针对对方客户端设备的关 闭通道消息的签名, 同时还向区块链节点设 备发送监控请求, 使其监控对方客户端设备发起的关闭通道消息 , 保证了双方的交易安全 性。 本申请实施例还可提供一种客户端设备。 该客户端设备可执行上述图 3 -图 18中任一 所述的第一客户端设备执行的基于区块链的数 据处理方法。 图 19 为本申请实施例提供的 一种客户端设备的结构示意图一。如图 19所示,客户端设备 1900可以为第一客户端设备, 其可包括:

发送模块 1901, 用于在离链通道上, 向第二客户端设备发送第二状态的第一关闭通 道 消息, 该第二状态的第一关闭通道消息包括: 第二状态的资金信息, 和该第二状态的第一 哈希锁, 该第二状态的第一关闭通道消息用于使得该第 二客户端设备根据该第二状态的资 金信息将资金状态从第一状态切换至该第二状 态; 该第二状态的第一哈希锁为该第一客户 端设备在该第二状态的哈希锁。

接收模块 1902, 用于接收该第二客户端设备在该离链通道上, 发送的该第二状态的第 二签名, 和该第二状态的第二关闭通道消息, 该第二状态的第二签名为该第二客户端设备 根据该第二客户端设备的私钥, 对该第二状态的第二关闭通道消息进行签名所 得到; 该第 二状态的第一关闭通道消息包括: 该第二状态的资金信息、 该第二状态的第一哈希锁和该 第二状态的第二哈希锁; 该第二状态的第二哈希锁为该第二客户端设备 在该第二状态的哈 希锁。 处理模块 1903, 用于根据该第一客户端设备的私钥, 对该第二状态的第三关闭通道消 息进行签名, 得到该第二状态的第一签名; 该第二状态的第三关闭通道消息包括: 该第二 状态的资金信息、 该第二状态的第一哈希锁和该第二状态的第二 哈希锁。

发送模块 1901, 还用于向该第二客户端设备发送该第二状态的 第一签名。

应理解, 该客户端设备 1900具有上述图 3 -图 18任一所述的方法中的第一客户端 设备的任意功能,所述任意功能可参考上述图 3 -图 18任一所述的方法,此处不再赘述。

上述的本申请实施例提供的客户端设备, 可以有多种产品形态来实现, 例如, 所 述客户端设备可配置成通用处理系统; 例如, 所述客户端设备可以由一般性的总线体 系结构来实现; 例如, 所述客户端设备可以由 ASIC (专用集成电路 )来实现等等。 以下 提供本申请实施例客户端设备可能的几种产品 形态, 应当理解的是, 以下仅为举例, 不限制本申请实施例可能的产品形态仅限于此 。

图 20为本申请实施例所述的客户端设备可能的产 形态的结构图一。

作为一种可能的产品形态, 客户端设备可以由设备实现, 所述客户端设备包括处理 器 2002和收发器 2004; 可选地, 所述客户端设备还可以包括存储介质 2003。

作为另一种可能的产品形态, 客户端设备也由通用处理器来实现, 即俗称的芯片来实 现。 该通用处理器包括: 处理器 2002和收发接口 2005/收发管脚 2006; 可选地, 该通用 处理器还可以包括存储介质 2003。

作为另一种可能的产品形态, 客户端设备也可以使用下述来实现: 一个或多个现场可 编程门阵列 (Field-Programmable Gate Array, FPGA) 、 可编程逻辑器件 (Programmable Logic Device, PLD)、 控制器、 状态机、 门逻辑、 分立硬件部件、 任何其它适合的电路、 或者能够执行本申请通篇所描述的各种功能的 电路的任意组合。

可选的, 本申请实施例还提供一种计算机可读存储介质 。 该计算机可读存储介质可包 括: 指令, 当其在计算机上运行时, 使得计算机执行上述实施例中图 3 -图 18中任一第一 客户端设备执行的基于区块链的数据处理方法 。

可选的, 本申请实施例还提供一种包括指令的计算机程 序产品, 当其在计算机上运行 时, 使得计算机执行上述实施例中图 3 -图 18中任一第一客户端设备执行的基于区块链的 数据处理方法。

该计算机程序产品的各功能可以通过硬件或软 件来实现, 当通过软件实现时, 可以将 这些功能存储在计算机可读介质中或者作为计 算机可读存储介质上的一个或多个指令或 代码进行传输。

本申请实施例的客户端设备、 计算机可读存储介质及计算机程序产品, 可执行上述图 3 -图 18中任一第一客户端设备执行的基于区块链的 据处理方法, 其具体的实现过程及 有益效果参见上述, 在此不再赘述。 本申请实施例还可提供一种客户端设备。 该客户端设备可执行上述图 3 -图 18中任一 所述的第二客户端设备执行的基于区块链的数 据处理方法。 图 21 为本申请实施例提供的 一种客户端设备的结构示意图二。如图 21所示,客户端设备 2100可以为第二客户端设备, 其可包括:

接收模块 2101,用于在离链通道上接收第一客户端设备 送的第二状态的第一关闭通 道消息, 该第二状态的第一关闭通道消息包括: 第二状态的资金信息, 和该第二状态的第 一哈希锁; 该第二状态的第一哈希锁为该第一客户端设备 在该第二状态的哈希锁。

处理模块 2102,用于根据该第二状态的资金信息将资金状 从第一状态切换至该第二 状态; 根据该第二客户端设备的私钥, 对该第二状态的第二关闭通道消息进行签名, 得到 该第二状态的第二签名; 该第二状态的第二关闭通道消息包括: 该第二状态的资金信息、 该第二状态的第一哈希锁和该第二状态的第二 哈希锁; 该第二状态的第二哈希锁为该第二 客户端设备在该第二状态的哈希锁。

发送模块 2103, 用于在该离链通道上, 向该第一客户端设备发送的该第二状态的第二 签名, 和, 该第二状态的第二关闭通道消息。

接收模块 2101,还用于在该离链通道上接收该第一客户 设备发送的该第二状态的第 一签名, 该第二状态的第一签名为该第一客户端设备根 据该第一客户端设备的私钥, 对该 第二状态的第三关闭通道消息进行签名所得到 的签名; 该第二状态的第三关闭通道消息包 括: 该第二状态的资金信息、 该第二状态的第一哈希锁和该第二状态的第二 哈希锁。

应理解, 该客户端设备 2100具有上述图 3 -图 18任一所述的方法中的第二客户端 设备的任意功能,所述任意功能可参考上述图 3 -图 18任一所述的方法,此处不再赘述。

上述的本申请实施例提供的客户端设备, 可以有多种产品形态来实现, 例如, 所 述客户端设备可配置成通用处理系统; 例如, 所述客户端设备可以由一般性的总线体 系结构来实现; 例如, 所述客户端设备可以由 ASIC(专用集成电路)来实现等等。 以下 提供本申请实施例客户端设备可能的几种产品 形态, 应当理解的是, 以下仅为举例, 不限制本申请实施例可能的产品形态仅限于此 。

图 22为本申请实施例所述的客户端设备可能的产 形态的结构图二。

作为一种可能的产品形态, 客户端设备可以由设备实现, 所述客户端设备包括处理 器 2202和收发器 2204; 可选地, 所述客户端设备还可以包括存储介质 2203。

作为另一种可能的产品形态, 客户端设备也由通用处理器来实现, 即俗称的芯片来实 现。 该通用处理器包括: 处理器 2202和收发接口 2205/收发管脚 2206; 可选地, 该通用 处理器还可以包括存储介质 2203。

作为另一种可能的产品形态,客户端设备也可 以使用下述来实现:一个或多个 FPGA、 PLD、 控制器、 状态机、 门逻辑、 分立硬件部件、 任何其它适合的电路、 或者能够执行本 申请通篇所描述的各种功能的电路的任意组合 。

可选的, 本申请实施例还提供一种计算机可读存储介质 。 该计算机可读存储介质可包 括: 指令, 当其在计算机上运行时, 使得计算机执行上述实施例中图 3 -图 18中任一第二 客户端设备执行的基于区块链的数据处理方法 。

可选的, 本申请实施例还提供一种包括指令的计算机程 序产品, 当其在计算机上运行 时, 使得计算机执行上述实施例中图 3 -图 18中任一第二客户端设备执行的基于区块链的 数据处理方法。

该计算机程序产品的各功能可以通过硬件或软 件来实现, 当通过软件实现时, 可以将 这些功能存储在计算机可读介质中或者作为计 算机可读存储介质上的一个或多个指令或 代码进行传输。

本申请实施例的客户端设备、 计算机可读存储介质及计算机程序产品, 可执行上述图 3 -图 18中任一第二客户端设备执行的基于区块链的 据处理方法, 其具体的实现过程及 有益效果参见上述, 在此不再赘述。 本申请实施例还可提供一种区块链节点设备。 该区块链节点设备可执行上述图 3 -图 18中任一所述的区块链节点设备执行的基于区 链的数据处理方法。 图 23为本申请实施 例提供的一种区块链节点设备的结构示意图。 如图 23所示, 区块链节点设备 2300可以包 括:

接收模块 2301, 用于接收第一客户端设备发送的第一监控请求 , 该第一监控请求为该 第一客户端设备在和第二客户端设备在离链通 道上进行交易, 将资金状态从第一状态切换 至第二状态之后, 所发送的监控请求; 接收第二客户端设备发送的第二监控请求, 该第二 监控请求为该第二客户端设备在和第一客户端 设备在离链通道上进行交易, 将资金状态从 该第一状态切换至该第二状态之后, 所发送的监控请求;

处理模块 2302, 用于设备根据该第一监控请求, 监控该第二客户端设备发送的关闭通 道消息; 根据该第二监控请求监控该第一客户端设备发 送的关闭通道消息。

应理解,该区块链节点设备 2300具有上述图 3 -图 18任一所述的方法中的区块链节 点设备的任意功能, 所述任意功能可参考上述图 3 -图 18任一所述的方法, 此处不再赘 述。

上述的本申请实施例提供的区块链节点设备, 可以有多种产品形态来实现,例如, 所述区块链节点设备可配置成通用处理系统; 例如, 所述区块链节点设备可以由一般性 的总线体系结构来实现; 例如, 所述区块链节点设备可以由 ASIC(专用集成电路)来实 现等等。以下提供本申请实施例区块链节点设 备可能的几种产品形态,应当理解的是, 以下仅为举例, 不限制本申请实施例可能的产品形态仅限于此 。

图 24为本申请实施例所述的区块链节点设备可能 产品形态的结构图。

作为一种可能的产品形态, 区块链节点设备可以由设备实现, 所述区块链节点设备包 括处理器 2402和收发器 2404; 可选地, 所述区块链节点设备还可以包括存储介质 2403。

作为另一种可能的产品形态, 区块链节点设备也由通用处理器来实现, 即俗称的芯片 来实现。 该通用处理器包括: 处理器 2402和收发接口 2405/收发管脚 2406; 可选地, 该 通用处理器还可以包括存储介质 2403。

作为另一种可能的产品形态, 区块链节点设备也可以使用下述来实现: 一个或多个 FPGA、 PLD、 控制器、 状态机、 门逻辑、 分立硬件部件、 任何其它适合的电路、 或者能够 执行本申请通篇所描述的各种功能的电路的任 意组合。

可选的, 本申请实施例还提供一种计算机可读存储介质 。 该计算机可读存储介质可包 括: 指令, 当其在计算机上运行时, 使得计算机执行上述实施例中图 3 -图 18中任一区块 链节点设备执行的基于区块链的数据处理方法 。

可选的, 本申请实施例还提供一种包括指令的计算机程 序产品, 当其在计算机上运行 时, 使得计算机执行上述实施例中图 3 -图 18中任一区块链节点设备执行的基于区块链的 数据处理方法。

该计算机程序产品的各功能可以通过硬件或软 件来实现, 当通过软件实现时, 可以将 这些功能存储在计算机可读介质中或者作为计 算机可读存储介质上的一个或多个指令或 代码进行传输。 本申请实施例的区块链节点设备、 计算机可读存储介质及计算机程序产品, 可执行上 述图 3 -图 18中任一区块链节点设备执行的基于区块链的 据处理方法, 其具体的实现过 程及有益效果参见上述, 在此不再赘述。

以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围并不局限于此, 任何熟 悉本技术领域的技术人员在本发明揭露的技术 范围内, 可轻易想到变化或替换, 都应涵盖 在本发明的保护范围之内。 因此, 本发明的保护范围应以所述权利要求的保护范 围为准。