支付方法、装置、网关设备、支付系统及存储介质与流程

文档序号:30784667发布日期:2022-07-16 07:29阅读:100来源:国知局
支付方法、装置、网关设备、支付系统及存储介质与流程

1.本技术涉及区块链技术领域,尤其是涉及到一种支付方法、装置、网关设备、支付系统及存储介质。


背景技术:

2.随着技术的发展,物联网得到了越来越广泛的应用,不少家用电器,例如烤箱、冰箱、音响等装置均具有了物联网的功能,发展成为物联网(internet of things,iot)设备。物联网的发展让所有的物联网设备通过网络连接在一起,方便识别和管理。
3.与此同时,随着互联网技术的发展,在网络平台交易已成为人们日常生活中不可或缺的一部分。其中,闪电网络(lighting network,ln)是货币的一种链外支付技术,消除了对传统集中支付系统的需求。然而,由于物联网设备的存储、内存和计算能力较弱,所以无法直接在物联网上设备运行闪电网络,用户体验不佳。


技术实现要素:

4.有鉴于此,本技术提供了一种支付方法、装置、网关设备、支付系统及存储介质,以解决物联网设备无法直接运行闪电网络进行支付的问题。
5.第一方面,提供了一种支付方法,包括:
6.响应于物联网设备的通道开启请求,向闪电网络的区块链节点发送通道开启请求,通道开启请求包括事务信息和通道信息,以供区块链节点开启通道信息对应的支付通道;
7.获取物联网设备的第一公钥、网关设备的第二公钥和区块链节点的第三公钥;
8.按照事务信息对第一公钥、第二公钥和第三公钥进行处理,确定支付通道中的支付地址;
9.将物联网设备的代币转移至支付地址;
10.响应于物联网设备的支付请求,根据支付地址执行区块链支付操作。
11.第二方面,提供了一种支付装置,包括:
12.通信模块,用于响应于物联网设备的通道开启请求,向闪电网络的区块链节点发送通道开启请求,通道开启请求包括事务信息和通道信息,以供区块链节点开启通道信息对应的支付通道;
13.获取模块,用于获取物联网设备的第一公钥、网关设备的第二公钥和区块链节点的第三公钥;
14.地址创建模块,用于按照事务信息对第一公钥、第二公钥和第三公钥进行处理,确定支付通道中的支付地址;
15.交易模块,用于将物联网设备的代币转移至支付地址;以及
16.响应于物联网设备的支付请求,根据支付地址执行区块链支付操作。
17.第三方面,提供了一种基于闪电网络的网关设备,包括存储器、处理器以及存储在
存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述支付方法的步骤。
18.第四方面,提供了一种支付系统,包括:
19.上述基于闪电网络的网关设备;
20.物联网设备,与网关设备挺通信连接,物联网设备用于响应于第一触发操作,向网关设备发送通道开启请求,通道开启请求包括事务信息和通道信息;以及,响应于第二触发操作,向网关设备发送支付请求;
21.闪电网络,与网关设备挺通信连接,闪电网络包括区块链节点,区块链节点用于响应于通道开启请求,开启通道信息对应的支付通道。
22.第五方面,提供了一种存储介质,存储介质存储有计算机程序,计算机程序被处理器执行时实现上述支付方法的步骤。
23.上述支付方法、装置、网关设备、支付系统及存储介质所实现的方案中,当物联网设备存在支付需求时,物联网设备先将通道开启请求发送至闪电网络的网关设备,由网关设备转发通道开启请求至闪电网络的区块链节点,以使区块链节点开启针对该物联网设备的闪电网络的支付通道。开启支付通道后,网关设备获取物联网设备的第一公钥、网关设备的第二公钥和区块链节点的第三公钥,并以此为脚本内容利用哈希函数创建一个用于暂时存储物联网设备代币的支付地址。然后,按照物联网设备允许的事务信息将对应的物联网设备的代币转移至该支付地址中。由此,物联网设备加入到网关设备网络中,在物联网设备发起支付事务时,只需将支付请求发送至网关设备,利用支付地址中存储的代币由网关设备代理物联网设备提起支付请求相关支付。一方面,使得物联网设备在无需承载区块链数据且不运行智能合约的情况下,能够通过网关设备使用闪电网络功能,满足了将物联网设备作为区块链网络的交易终端的需求,另一方面,交易的性能受网关设备影响,而几乎不受物联网设备的影响,有较高的可扩展性,适用于多物联网设备的应用场景,系统配置灵活性更高。
24.上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
附图说明
25.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
26.图1是本技术一实施例中支付方法的流程示意图之一;
27.图2是本技术一实施例中支付方法的流程示意图之二;
28.图3是本技术一实施例中支付方法的流程示意图之三;
29.图4是本技术一实施例中支付方法的流程示意图之四;
30.图5是本技术一实施例中支付方法的流程示意图之五;
31.图6是本技术一实施例中支付装置的结构示意图;
32.图7是本技术一具体实施例中支付方法的流程示意图。
具体实施方式
33.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
34.本技术实施例提供的支付方法,可应用在如图7的应用环境中,其中,物联网设备通过蓝牙或者无线等方式连接网关设备,以接入互联网进行通信。其中,物联网设备可以是存在支付需求的家电设备,例如电视机顶盒、智能插座、网络摄像头、冰箱或者音响等装置,也可以是拥有一定个运算能力的计算机设备或可穿戴设备。网关设备用于公网通信,例如路由器或者4g/5g基站。下面通过具体的实施例对本技术进行详细的描述。
35.请参阅图1所示,图1为本技术实施例提供的支付方法的一个流程示意图,包括如下步骤:
36.s10:响应于物联网设备的通道开启请求,向闪电网络的区块链节点发送通道开启请求;
37.其中,通道开启请求包括事务信息和通道信息,事务信息包括物联网设备id、开启支付通道的业务信息、允许支配的代币容量和用于验证的签名信息等,通道信息包括物联网设备请求开启的支付通道的容量等与支付通道相关的数据。支付通道即提供支付受理能力的通道,双方或多方可通过支付通道实现无需信任地交换。
38.具体地,区块链(blockchain)本质上是一个去中心化的数据库,区块链是一串使用密码学方法相关联产生的数据块(区块)。区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。区块链网络中可包含多个节点,区块链节点包括但不限于以下:ca节点、管理节点、共识节点和交易节点。其中,ca节点是ca中心的节点,负责整个网络的安全证书管理,使区块链网络中各节点之间通过利用数字证书构建加密链路实现加密通信,保护数据传输的安全性。管理节点是区块链网络运营方的节点,用于管理网络,比如,修改配置等。共识节点用于对交易产生共识,以确定是否达成交易。交易节点负责提起交易,同时,同步接收共识节点的结论。可以理解的是,共识节点可以同时承担交易节点的工作,其优先级高于交易节点。
39.在该实施例中,当物联网设备存在支付需求时,物联网设备先将通道开启请求发送至闪电网络的网关设备,由网关设备转发通道开启请求至闪电网络的区块链节点,区块链节点接受该通道开启请求后开启通道信息对应的闪电网络的支付通道,以便于通过支付通道实现物联网设备的支付交易。
40.s20:获取物联网设备的第一公钥、网关设备的第二公钥和区块链节点的第三公钥;
41.具体地,第一公钥、第二公钥、第三公钥可以是预先承诺的公钥。在物联网设备存储有闪电网络的区块链节点第三公钥的情况下,物联网设备可利用通道开启请求携带第一
公钥和第三公钥,以告知网关设备第一公钥和第三公钥。在物联网设备没有存储第三公钥的情况下,网关设备可通过公钥获取请求向区块链节点索取第三公钥,或者在区块链节点开启支付通道后由区块链节点主动告知网关设备其第三公钥。
42.值得一提的是,网关设备可以预先存储公钥列表,该公钥列表包括多个第三公钥以及每个第三公钥对应的账户类别。此时,当网关设备接收到通道开启请求后,利用通道开启请求中的事务信息动态匹配物联网设备所需对端的目标账户类别,并将通道开启请求转发至目标账户类别的区块链节点,以便于开启物联网设备与满足本次事务需求的对端账户之间的支付通道。同时,网关设备可根据目标账户类别从公钥列表中获取对应的第三公钥。从而使网关设备能够按照物联网设备事务需求自动匹配出适合的对端账户的区块链节点,不仅提升的支付交易的便捷性,而且能够省去向区块链节点索取第三公钥的流程,有利于提升支付效率,满足用户多方面的需求。
43.s30:按照事务信息对第一公钥、第二公钥和第三公钥进行处理,确定支付通道中的支付地址;
44.在该实施例中,开启支付通道后,网关设备获取物联网设备的第一公钥、网关设备的第二公钥和区块链节点的第三公钥,以事务信息中指示的容量作为基础标准,根据第一公钥、第二公钥和第三公钥,在支付通道中创建一个用于暂时存储物联网设备支付过程中所需代币的支付地址。使得网关设备能够通过支付地址中暂存的代币代理物联网设备提起交易,从而实现了物联网设备通过网关设备使用闪电网络的功能。
45.在本技术的一些实施例中,如图2所示,步骤s30中,也即按照事务信息对第一公钥、第二公钥和第三公钥进行处理,确定支付通道中的支付地址,包括如下步骤:
46.s31:在接收到区块链节点反馈的支付通道的开启信息的情况下,向物联网设备发送地址创建请求;
47.其中,开启信息包括第一签名信息;
48.s32:在接收到物联网设备反馈的第二签名信息的情况下,通过哈希算法对第一公钥、第二公钥和第三公钥进行转化处理,得到第一字符串;
49.s33:按照事务信息对第一字符串进行编码处理,得到支付地址。
50.对于步骤s31-s33,区块链节点响应该通道开启请求后,开启支付通道。支付通道开启后,区块链节点通过向网关设备发送开启信息以告知支付通道开启成功。同时,开启信息中包括区块链节点对网关设备的承诺事务生成的第一签名信息,以便于网关设备进行认证。当网关设备接收到区块链节点反馈的支付通道的开启信息后,确认支付通道开启,并向物联网设备发送地址创建请求,以询问物联网设备是否需要通过网关设备代理支付。当网关设备接收到物联网设备对自身承诺事务的第二签名信息,说明物联网设备确认通过该支付通道进行支付,此时,并以第一公钥、第二公钥和第三公钥为脚本内容,按照物联网设备允许的事务信息,通过哈希算法和编码算法创建支付地址。从而通过第一签名信息和第二签名信息分别对区块链节点和物联网设备进行认证。由此,以安全的方式为物联网设备打开支付通道后,物联网设备对交易进行签名操作,以对网关设备进行签名授权,使物联网设备成功接入不受信任的闪电网络,并由网关设备代理其提起交易。不仅实现了物联网设备通过网关设备使用闪电网络的功能,而且保证物联网设备通信和支付的安全性,进而增强支付系统的可靠性。
51.具体举例来说,预先为闪电网络的网关设备创建锁定脚本:《2-of-3》,《pub1,pub2,pub3》,n。该脚本中《2-of-3》表示创建条件,“2-of-3”指示了3个参与方(物联网设备、网关设备和区块链节点)需要至少2个签名才可解锁支付地址创建。《pub1,pub2,pub3》表示脚本内容,“pub1”、“pub2”、“pub3”分别为第一公钥、第二公钥和第三公钥。n表示锁定量,也即支付地址的容量,可根据事务信息合理设置,例如10、20。在满足创建条件的情况下,将该脚本内容通过双重哈希生成hash字符串(第一字符串),按照锁定量通过预设编码算法对hash字符串进行编码生成地址字符串,将该地址字符串作为支付地址。示例性的,hash算法可以采用ripemd160(sha256(脚本内容)),或者其他哈希算法,预设编码算法可以采用base58算法或者其他,本技术实施例不做具体限定。
52.进一步地,通道开启请求还包括第三签名信息,响应于物联网设备的通道开启请求之后,支付方法还包括:根据所述通道开启请求,生成第四签名信息;向所述区块链节点发送所述第四签名信息。
53.其中,第三签名信息通过物联网设备的私钥和指定的签名内容生成。
54.在该实施例中,网关设备在接收到物联网设备发送的通道开启请求后,利用网关设备的私钥和指定的签名内容生成用于认证的第四签名信息,并将第四签名信息和通道开启请求一并发送至区块链节点。区块链节点在接收到通道开启请求和第四签名信息后,对第三签名信息和第四签名信息进行验证。当区块链节点验证成功,则会开启支付通道,并生成第一签名信息。从而通过交换签名信息对三方承诺事务进行认证,增强支付通道开启的安全性,以便于物联网设备可以加入到不受信任的网关设备网络中。
55.具体地,区块链节点验证第三签名信息和第四签名信息的步骤包括,通过第一公钥对第三签名信息,以及第二公钥对第四签名信息进行解密,解密后生成的签名内容与对应的物联网设备或网关设备指定的签名内容进行比对,若一致则标识验证成功。
56.s40:将物联网设备的代币转移至支付地址;
57.具体地,代币即数字货币,例如比特币。
58.在本技术的一些实施例中,如图3所示,步骤s40中,也即将物联网设备的代币转移至支付地址,包括如下步骤:
59.s41:广播支付地址的交易消息;
60.s42:向区块链节点发送第一地址锁定消息;
61.s43:在接收到区块链节点反馈的第二地址锁定消息的情况下,将物联网设备的代币转移至支付地址。
62.对于步骤s41-s43,当创建新的支付地址后,按照支付地址生成交易消息,并向区块链网络广播该交易消息,以告知区块链上各个节点该支付地址。基于闪电网络机制,等待预设交易时长,也即网关设备和区块链节点等待交易在区块链上达到足够深度后,网关设备向区块链节点发送第一地址锁定消息,同样的,区块链节点在接收到第一地址锁定消息后,向网关设备反馈第二地址锁定消息。当网关设备接收到第二地址锁定消息,说明网关设备和区块链节点互相交换了地址锁定消息,并利用地址锁定消息锁定该支付地址的支付链路,此时,确定支付地址可以开始使用,并将物联网设备的代币转移至支付地址。由此,利用支付地址暂存物联网设备的代币,在物联网设备发起支付事务时,网关设备利用支付地址中存储的代币即可代理物联网设备进行支付请求对应的扣款。
63.s50:响应于物联网设备的支付请求,根据支付地址执行区块链支付操作。
64.其中,支付请求包括支付金额、交易目标节点地址等信息,例如,向目标地址转移金额100的代币。
65.在该实施例中,将物联网设备钱包中事务信息承诺容量的代币存入该支付地址中。在物联网设备发起支付事务时,只需将支付请求发送至网关设备,网关设备在接收到支付请求后,利用支付地址中存储的代币由网关设备代理物联网设备进行支付请求对应的扣款,以实现网关设备代理物联网设备进行支付。一方面,使得物联网设备在无需承载区块链数据且不运行智能合约的情况下,能够通过网关设备使用闪电网络功能,满足了将物联网设备作为区块链网络的交易终端的需求,另一方面,交易的性能受网关设备影响,而几乎不受物联网设备的影响,有较高的可扩展性,适用于多物联网设备的应用场景,系统配置灵活性更高。
66.在本技术的一些实施例中,如图4所示,步骤s50中,也即响应于物联网设备的支付请求,根据支付地址执行区块链支付操作,具体包括如下步骤:
67.s51:响应于支付请求,创建哈希时间锁定合约;
68.s52:向区块链节点发送交易信息;
69.其中,交易信息包括支付请求、哈希时间锁定合约和支付地址;
70.对于步骤s51-s52,在物联网设备发起支付事务时,将支付请求发送至网关设备。网关设备接收到来自物联网设备的支付请求后,根据支付请求生成哈希时间锁定合约(hash timelock contract,htlc),并将支付请求、哈希时间锁定合约和支付地址一同发送至区块链节点,以对支付地址中与支付请求相关的代币进行资产锁定。哈希时间锁定合约提供一个哈希值,交易双方中的收款方在有限的时间内提出一个字符串,使得它哈希后的值跟已知哈希值匹配,也即满足交易条件时,允许支付地址与收款方之间进行交易。
71.s53:向物联网设备发送地址支付请求;
72.s54:在接收到物联网设备反馈的第五签名信息的情况下,生成第六签名信息;
73.s55:向区块链节点发送第五签名信息和第六签名信息,以供区块链节点对第五签名信息和第六签名信息进行验证,并按照交易信息进行支付。
74.对于步骤s53-s55,在完成资产锁定后,网关设备向物联网设备发送地址支付请求,以获取物联网设备对本次支付的授权。在网关设备接收到物联网设备反馈的第五签名信息后,确定物联网设备已授权本次网关设备代理支付行为。同时,为了防止数据被篡改或者传输错误,生成第六签名信息,并将第五签名信息和第六签名信息发送至区块链节点。区块链节点对上述签名信息进行正确性验证,若验证成功按照支付请求指示的金额从支付地址中提取对应的代币,并存币至支付请求指示目标地址,以完成本次支付。从而物联网设备与交易对端进行支付交易过程中,防止出现数据泄露、篡改等危险问题,提高了支付安全性。
75.可以理解的是,在区块链节点按照交易信息进行支付后,会向网关设备反馈支付完成信息,并由网关设备向物联网设备转发该支付完成信息,以便于物联网设备获知本次及支付交易的完成情况。
76.在本技术的一些实施例中,如图5所示,根据支付地址执行区块链支付操作的步骤之后,支付方法还包括:
77.s60:响应于物联网设备的通道关闭请求,将支付地址中的剩余代币转移至物联网设备;
78.s70:向区块链节点发送通道关闭请求。
79.在该实施例中,当支付完成后,物联网设备可通过通道关闭请求要求关闭支付通道。具体地,网关设备响应该通道关闭请求,将支付地址中的剩余代币返还物联网设备,并删除该支付地址。同时,向区块链节点发送通道关闭请求。区块链节点在接收到该通道关闭请求后关闭支付通道。从而在支付完成后能够及时关闭交易通道,一方面,缓解网关设备的运算压力,另一方面,能够及时断开物联网设备与闪电网络之间的交易链路,有助于增强物联网设备中代币的安全性。
80.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
81.在一实施例中,提供一种支付装置,该支付装置与上述实施例中支付方法一一对应。如图6所示,该支付装置包括通信模块101、获取模块102、地址创建模块103、交易模块104。各功能模块详细说明如下:
82.通信模块101用于响应于物联网设备的通道开启请求,向闪电网络的区块链节点发送通道开启请求,通道开启请求包括事务信息和通道信息,以供区块链节点开启通道信息对应的支付通道;获取模块102用于获取物联网设备的第一公钥、网关设备的第二公钥和区块链节点的第三公钥;地址创建模块103用于按照事务信息对第一公钥、第二公钥和第三公钥进行处理,确定支付通道中的支付地址;交易模块104用于将物联网设备的代币转移至支付地址;以及响应于物联网设备的支付请求,根据支付地址执行区块链支付操作。
83.在一实施例中,通信模块101还用于在接收到区块链节点反馈的支付通道的开启信息的情况下,向物联网设备发送地址创建请求,开启信息包括第一签名信息;地址创建模块103具体用于在接收到物联网设备反馈的第二签名信息的情况下,通过哈希算法对第一公钥、第二公钥和第三公钥进行转化处理,得到第一字符串;按照事务信息对第一字符串进行编码处理,得到支付地址。
84.在一实施例中,支付装置还包括:第一签名模块(图中未示出),第一签名模块用于根据通道开启请求,生成第四签名信息;通信模块101还用于向区块链节点发送第四签名信息,以供区块链节点对第三签名信息和第四签名信息进行验证,并生成第一签名信息。
85.在一实施例中,通信模块101还用于广播支付地址的交易消息;向区块链节点发送第一地址锁定消息;交易模块104具体用于在接收到区块链节点反馈的第二地址锁定消息的情况下,将物联网设备的代币转移至支付地址。
86.在一实施例中,支付装置还包括:合约创建模块(图中未示出),合约创建模块用于响应于物联网设备发送的支付请求,创建哈希时间锁定合约;通信模块101还用于向区块链节点发送交易信息,交易信息包括支付请求、哈希时间锁定合约和支付地址;向物联网设备发送地址支付请求;第二签名模块(图中未示出),第二签名模块用于在接收到物联网设备反馈的第五签名信息的情况下,生成第六签名信息;通信模块101还用于向区块链节点发送第五签名信息和第六签名信息,以供区块链节点对第五签名信息和第六签名信息进行验证,并按照交易信息进行支付。
87.在一实施例中,交易模块104还用于响应于物联网设备的通道关闭请求,将支付地址中的剩余代币转移至物联网设备;通信模块101还用于向区块链节点发送通道关闭请求,以供区块链节点关闭支付通道。
88.本技术提供的支付装置,当物联网设备存在支付需求时,物联网设备先将通道开启请求发送至闪电网络的网关设备,由网关设备转发通道开启请求至闪电网络的区块链节点,以使区块链节点开启针对该物联网设备的闪电网络的支付通道。开启支付通道后,网关设备获取物联网设备的第一公钥、网关设备的第二公钥和区块链节点的第三公钥,并以此为脚本内容利用哈希函数创建一个用于暂时存储物联网设备代币的支付地址。然后,按照物联网设备允许的事务信息将对应的物联网设备的代币转移至该支付地址中。由此,物联网设备加入到网关设备网络中,在物联网设备发起支付事务时,只需将支付请求发送至网关设备,利用支付地址中存储的代币由网关设备代理物联网设备提起支付请求相关支付。一方面,使得物联网设备在无需承载区块链数据且不运行智能合约的情况下,能够通过网关设备使用闪电网络功能,满足了将物联网设备作为区块链网络的交易终端的需求,另一方面,交易的性能受网关设备影响,而几乎不受物联网设备的影响,有较高的可扩展性,适用于多物联网设备的应用场景,系统配置灵活性更高。
89.关于上述支付装置的具体限定可以参见上文中对于支付方法的限定,在此不再赘述。
90.在一个实施例中,提供了一种基于闪电网络的网关设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
91.响应于物联网设备的通道开启请求,向闪电网络的区块链节点发送通道开启请求,通道开启请求包括事务信息和通道信息,以供区块链节点开启通道信息对应的支付通道;获取物联网设备的第一公钥、网关设备的第二公钥和区块链节点的第三公钥;按照事务信息对第一公钥、第二公钥和第三公钥进行处理,确定支付通道中的支付地址;将物联网设备的代币转移至支付地址;响应于物联网设备的支付请求,根据支付地址执行区块链支付操作。
92.其中,该网关设备的处理器用于提供计算和控制能力。该网关设备的存储器包括非易失性和/或易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机程序被处理器执行时以实现一种支付方法的功能或步骤。
93.进一步地,该网关设备还包括网络接口和数据库,该网络接口用于与外部的物联网设备通过网络连接通信。
94.上述支付装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于网关设备中的处理器中,也可以以软件形式存储于网关设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
95.在一个实施例中,提供了一种支付系统,包括:上述实施例提供的网关设备、物联网设备和闪电网络。
96.具体地,物联网设备与网关设备通信连接,物联网设备用于响应于第一触发操作,向网关设备发送通道开启请求,通道开启请求包括事务信息和通道信息;基于闪电网络的
网关设备用于响应于物联网设备的通道开启请求,向闪电网络的区块链节点发送通道开启请求,通道开启请求包括事务信息和通道信息;以及,响应于第二触发操作,向网关设备发送支付请求;闪电网络与网关设备通信连接,闪电网络包括区块链节点,区块链节点用于响应于通道开启请求,开启通道信息对应的支付通道。基于闪电网络的网关设备还用于获取物联网设备的第一公钥、网关设备的第二公钥和区块链节点的第三公钥;按照事务信息对第一公钥、第二公钥和第三公钥进行处理,确定支付通道中的支付地址;将物联网设备的代币转移至支付地址;响应于物联网设备的支付请求,根据支付地址执行区块链支付操作。
97.进一步地,区块链节点还用于在接收到网关设备发送的通道开启请求和第四签名信息的情况下,对通道开启请求中第三签名信息和第四签名信息进行验证;若验证成功,生成第一签名信息;向网关设备发送开启信息,开启信息包括第一签名信息。
98.进一步地,物联网设备还用于响应于网关设备发送地址创建请求,对地址创建请求进行验证;若验证成功,向网关设备发送第二签名信息。
99.进一步地,区块链节点还用于在接收到网关设备发送的第一地址锁定消息的情况下,向网关设备发送第二地址锁定消息。
100.进一步地,物联网设备还用于响应于地址支付请求,输出支付确认信息;响应于第三触发操作向网关设备发送第五签名信息;区块链节点还用于在接收到第五签名信息和第六签名信息的情况下,对第五签名信息和第六签名信息进行验证,并按照交易信息进行支付。
101.进一步地,物联网设备还用于响应于第四触发操作,向网关设备发送通道关闭请求;区块链节点还用于响应于网关设备发送的通道关闭请求关闭支付通道。
102.在一个具体实施例中,如图7所示,包括如下步骤:
103.1、打开支付通道:
104.(1)iot(物联网)设备请求打开支付通道:通道容量由iot设备指定,可根据物联网设备的代币钱包合理设置,代币钱包可以通过物联网设备的私钥访问。通道容量表示最大可以容纳的交易金额。ln网关(网关设备)在接收到来自iot设备的通道开启请求时启动通道打开流程。具体地,ln网关连接到网桥ln节点(区块链节点),再路由到交易的节点。建立ln网关与区块链节点连接后,ln网关向网桥ln节点发送通道开启请求。此消息包含一个“公钥”参数。ln网关和网桥ln节点双方都想对方提供自己的公钥(第二公钥和第三公钥)。同时,也在通道开启请求中添加有iot设备的第一公钥。当网桥ln节点接收到该请求消息,网桥ln节点将以accept响应频道确认来自ln网关的开启请求的消息,并在验证签名成功后,接受通道打开请求。
105.(2)ln网关和网桥ln节点交换承诺事务的签名:ln网关在获得iot设备的签名(第三签名信息)后,生成自己的签名(第四签名信息),并将这两个签名发送到网桥ln节点。网桥ln节点对ln网关的承诺事务生成签名(第一签名信息),并将其发送到ln网关。可以理解的是,此时,ln网关还没有iot设备对其自身承诺事务的签名(第二签名信息),如果网桥ln节点在此阶段变得无响应,ln网关可以请求iot设备签名以单方面关闭通道。
106.(3)ln网关创建融资和承诺交易:ln网关在收到全部3方的公钥后,要求iot设备的对通道进行签名,基于网桥ln节点的签名(第一签名信息)和iot设备返回的签名(第二签名信息),创建由3方签名的支付地址,支付地址用于存储交易过程中设计的资金,也可以称之
为融资。在创建支付地址后,ln网关创建iot设备到支付地址的交易。支付地址创建后,网桥ln节点可对支付地址进行认证签名。
107.(4)广播交易:ln网关向区块链网络广播融资交易消息,广播交易后,ln网关和网桥ln节点等待交易在区块链上达到足够深度(等待一定的交易时长)。ln网关和网桥ln节点互相发送地址锁定消息,以锁定通道并开始使用它,以转移iot设备的余额到该支付地址中,值得说明的是这个交易是在区块链网络中发生的。
108.2、发送交易:
109.(1)iot设备发送支付请求:iot设备向ln网关发送支付请求。此支付请求包含交易资金量amount,交易目的节点id等。比如,iot设备申请向地址address2转移金额100。
110.(2)ln网关支付:接收到来自iot设备的支付请求后,通过验证后,ln网关向ln节点的承诺事务添加htlc。ln网关向ln节点提交交易数据,交易数据中将包含htlc。具体地,验证包括签名验证,以及通道余额验证。
111.(3)请求iot设备签名(第五签名信息)。
112.(4)ln网关与ln节点交换签名:接收到来自iot设备的签名后,ln网关也会生成自己的签名(第六签名信息),并将这两个签名以承诺签名消息的形式发送到网桥ln节点。网桥ln节点检查签名的正确性,一旦验证签名有效,它将回复ln网关。
113.(5)付款发送完成。
114.3、关闭支付通道:
115.物联网通道关闭请求:iot设备向ln网关发送channelclosingrequest消息(通道关闭请求)。ln网关关闭通道即标识将offline交易的所有内容,一并提交到区块链中。例如,iot在通道中向某个地址发起了10笔交易,每笔5,余额5。则关闭以后,余额将从address地址退回到原地址,并将10笔交易合并后进行转移。
116.进一步地,关闭通道包括下述两种方式:
117.方式一,双方关闭通道:ln网关向网桥ln节点发送通道关闭请求以启动关闭。如果通道中没有挂起的htlc,网桥ln节点将直接响应成功。ln网关将广播最终完成的交易。由于ln网关只有网桥ln节点对此关闭事务的签名,因此它还需要获得物联网设备的签名,然后才能广播该签名。收到请求后,物联网设备生成结束交易的签名,并将其发送给客户端。有了这个签名,ln网关向区块链网络广播结束交易并关闭通道。
118.方式二,单边关闭:在交易对端设备无响应的情况下,ln网关在消息中向iot设备发送其最近的承诺事务。收到消息后,iot设备生成此承诺事务的签名,并将其发送到ln网关。ln网关接收到签名后,可以向区块链网络广播承诺交易以关闭通道。
119.在该实施例中,iot设备由于不承载区块链数据且不运行智能合约,因此,iot设备连接到ln网关,在需要签名的环节,由iot设备进行签名即可。从而可将签名过程从交易提交方转移到iot设备节点。iot设备连接到网关后,通过网关打开/关闭支付通道,并由网关代理其提起交易。由此,iot设备可以加入到不受信任的网关网络中,同时,对于传统区块链网络中,可以增加iot设备作为交易终端,此时,交易的性能受网关影响,而几乎不受iot设备的影响,有较高的可扩展性,而且网关作为代理方,数据依旧是安全的。
120.在一个实施例中,提供了一种存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
121.响应于物联网设备的通道开启请求,向闪电网络的区块链节点发送通道开启请求,通道开启请求包括事务信息和通道信息,以供区块链节点开启通道信息对应的支付通道;获取物联网设备的第一公钥、网关设备的第二公钥和区块链节点的第三公钥;按照事务信息对第一公钥、第二公钥和第三公钥进行处理,确定支付通道中的支付地址;将物联网设备的代币转移至支付地址;响应于物联网设备的支付请求,根据支付地址执行区块链支付操作。
122.需要说明的是,上述关于存储介质或网关设备所能实现的功能或步骤,可对应参阅前述方法实施例中,支付方法的相关描述,为避免重复,这里不再一一描述。
123.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。
124.其中,本技术所提供的各实施例中所使用的对存储器、存储介质、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。具体地,非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、增强型sdram(esdram)、同步dram(sdram)、双数据率sdram(ddrsdram)、dram(sldram)、直接存储器总线动态ram(drdram)、同步链路(synchlink)、存储器总线动态ram(rdram)、存储器总线(rambus)以及直接ram(rdram)等。
125.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
126.以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1