当前位置: 首页 > 专利查询>广州大学专利>正文

一种兼顾安全和灵活的区块链离线支付系统技术方案

技术编号:38816873 阅读:11 留言:0更新日期:2023-09-15 19:55
本发明专利技术公开了一种兼顾安全和灵活的区块链离线支付系统,包括离线账户初始化模块、提款或存款模块、离线交易协议模块、离线交易上链验证和更新模块和离线账户注销模块。本发明专利技术采用上述的一种兼顾安全和灵活的区块链离线支付系统,利用支持硬币可再分和即时结算的开放交易设计,为离线支付协议提供灵活性;在分布式环境中利用兼容的可信执行环境技术,实现可信计算和离线钱包安全交互,提高系统的安全性。性。性。

【技术实现步骤摘要】
一种兼顾安全和灵活的区块链离线支付系统


[0001]本专利技术涉及互联网金融
,尤其是涉及一种兼顾安全和灵活的区块链离线支付系统。

技术介绍

[0002]区块链是一种去中心化的分布式账本技术,在金融和支付领域引起了很大的关注和发展;后来以以太坊为代表的支持图灵完备智能合约的第二代区块链系统出现,这进一步促进了加密货币的发展和扩宽了区块链应用场景。接着是以fabric为代表的联盟链产生,它们不再局限于货币领域,而是以公司的实际业务,生产关系,普适化的应用场景为主。
[0003]从区块链的发展来看,在金融支付的场景发展的时间最长也最为成熟和广泛。随着全球数字化进程的深入推进,我国区块链亟需进一步发展和突破,加快技术应用规模化,建设具有世界先进水平的区块链产业生态体系,实现跨越发展。当前很多法定数字货币都结合了区块链技术进行相关研究,中国、美国、欧洲、新加坡等国家近年来都在探索发行的央行数字货币(CBDC),区块链技术很有可能作为法定数字货币的关键技术支撑。
[0004]离线支付是区块链系统进行金融支付时需要考虑的重要应用场景,在现实应用中具有实际的需求。因此,基于区块链系统的离线支付问题,是当前需要解决的关键问题。这里的离线支付是指双离线支付,即交易双方在都离线的情况下完成资金交易的过程。在一些特殊场景中可能会受到一些环境限制,用户无法及时连接到互联网获取在线服务,例如在地下停车场手机无法获取网络信号,离线支付协议在双方均离线的条件限制下,交易双方可以利用装有离线钱包的手机,通过蓝牙,nfc等技术进行通信,来完成交易转账或者支付。
[0005]然而,区块链离线支付问题一直以来都具有比较大的复杂性和困难性,因为双方在均离线的情况下无法实时地获取链上的交易信息进行交易验证,离线用户的很多不合法行为也无法实时进行监测和惩罚。设计基于区块链的离线支付解决方案的主要挑战始终围绕着协议的安全性和灵活性。离线交易过程中没有对区块链系统的实时访问,很难确保离线交易的安全性:会面临硬币伪造攻击、数据伪造、双花攻击和中间人攻击的安全威胁;为离线支付设计的基于区块链的解决方案需要满足灵活性需求:开发交易、硬币可再分性和即时结算,才能提升用户体验,推进基于区块链离线支付的广泛应用。
[0006]目前基于区块链的离线支付解决方案主要跟分为两种。一种是以支付通道为代表的区块链离线支付方案:支付通道的概念产生于扩容方案闪电网络中,后来发展到以太坊上的RaidenNetwork,Counterfactual等具有图灵完备的更通用的链下通道方案。支付通道天然地可以作为离线支付解决方案,YingN等人在最新工作xLumi方案中有介绍离线钱包在支付通道中的具体工作流程:付款者和收款者首先要在线创建通道,创建一个2

of

2多重签名钱包,在多重签名钱包里充值金额作为离线花费和抵押,然后双方可以使用通道进行离线交易,交易结束后将最新信息广播上链,双方分别进行状态检查确保链上链下状态一致性,最后关闭通道。由此可以看出以支付通道为代表的双离线支付方案较为成熟且安全
性较高,但这类方案的交易场景受到了很大的限制,付款和收款的双方要提前在线协商建立通道,如果没有提前建立通道则无法进行离线交易。因此,支付通道方案无法实现区块链离线支付的开放交易,限制了现有离线支付协议的灵活性。
[0007]另一种是新型离线支付方案:新型双离线支付方案可以支持付款人和收款人开放地进行离线支付,Dmitrienko等人针对离线支付提出经典的三阶段协议设计,首先付款人进行在线硬币预加载,向离线钱包里充钱,然后和收款人进行离线支付,最后收款人在有网的时候进行在线硬币赎回和双花撤销。该方案通过防篡改钱包,双花撤销和分布式钱包撤销三个层面来解决离线支付时付款者双重支付问题,利用基于时间的交易确认验证机制来抑制硬币伪造攻击,但该方案的硬币预加载是依赖于付款人验证的,后续Takahashi等人的工作通过改进硬币预加载过程依赖于收款人进行验证,同时不依赖于时间戳服务器来保证离线硬币充值的安全性。然而,上述两种方案均无法实现收款方账户在离线过程中的“支付即结算”功能,即无法在离线状态下对交易进行验证并及时更新账户余额进行下一笔离线交易。此外,Igboanusi等人利用以太坊智能合约实现了离线支付框架PureWallet(PW),发送方和接收方通过NFC执行离线交易,但该框架进行离线支付时需要在代币管理器将加密货币转换为其他代币,无法实现硬币可再分性,也无法防止数据伪造的安全威胁。

技术实现思路

[0008]本专利技术的目的是提供一种兼顾安全和灵活的区块链离线支付系统,通过设计基于链上智能合约和离线账户之间的安全交互协议,致力于将链上信任从区块链转移到离线交易中。利用支持硬币可再分和即时结算的开放交易设计,为离线支付协议提供灵活性;在分布式环境中利用兼容的可信执行环境技术,实现可信计算和离线钱包安全交互,提高协议的安全性。
[0009]为实现上述目的,本专利技术提供了一种兼顾安全和灵活的区块链离线支付系统,包含以下五个模块:
[0010]离线账户初始化模块:用户在普通执行环境中向可信执行环境发起离线账户初始化请求,可信执行环境生成用户离线账户公私钥对,并将用户公钥和可信平台公钥发送给用户;
[0011]提款或存款模块:用户向区块链网络进行提款或存款操作,在验证用户的信息后,更新区块链的链上离线账户余额状态和可信执行环境中的余额状态;
[0012]离线交易协议模块:当用户发起离线交易时,用户会将离线交易、交易签名、可信平台公钥和用户公钥等信息发送给收款人,并更新可信执行环境中的余额状态,当用户收到收款人在锁定时间内发送的交易确认信息后,则离线交易成功;否则交易失败,退回交易金额,更新余额状态;当用户收到离线交易时,会在可信执行环境中进行验证,验证成功则收款,更新余额状态;否则保持余额状态不变;
[0013]离线交易上链验证和更新模块:当用户连接到区块链网络时,会向链上智能合约提交从上次在线到本次在线的所有离线交易、交易双方签名和离线钱包的最新余额状态等信息,链上智能合约验证信息后更新链上离线账户余额状态;
[0014]离线账户注销模块:用户可以发起账户注销操作,当链上智能合约验证通过一系列注销信息后,将离线账户上的余额转到目标地址,并注销离线账户。
[0015]优选的,离线账户初始化模块具体包括:
[0016]步骤一:用户首先向enclave发送创建命令以创建离线账户;
[0017]步骤二:enclave初始化状态并将离线账户的公钥和enclave平台的公钥发送给用户;
[0018]步骤三:用户要对离线账户进行存款充值,向链上智能合约发送一笔存款交易;
[0019]步骤四:链上智能合约接收到交易会判断交易没有在区块链账本Ledger上发生过;
[0020]步骤五:若步骤四的判断通过,则执行交易;
[0021]步骤六:交易完成后,交易附加到Led本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种兼顾安全和灵活的区块链离线支付系统,其特征在于,包含以下五个模块:离线账户初始化模块:离线账户的核心程序运行在enclave中,用户在普通执行环境中向可信执行环境发起离线账户初始化请求,可信执行环境生成用户离线账户公私钥对,并将用户公钥和可信平台公钥发送给用户;提款或存款模块:用户向区块链网络进行提款或存款操作,在验证用户的信息后,更新区块链的链上离线账户余额状态和可信执行环境中的余额状态;离线交易协议模块:当用户发起离线交易时,用户会将离线交易、交易签名、可信平台公钥和用户公钥信息发送给收款人,并更新可信执行环境中的余额状态,当用户收到收款人在锁定时间内发送的交易确认信息后,则离线交易成功;否则交易失败,退回交易金额,更新余额状态;当用户收到离线交易时,会在可信执行环境中进行验证,验证成功则收款,更新余额状态;否则保持余额状态不变;离线交易上链验证和更新模块:当用户连接到区块链网络时,会向链上智能合约提交从上次在线到本次在线的所有离线交易、交易双方签名和离线钱包的最新余额状态信息,链上智能合约验证信息后更新链上离线账户余额状态;离线账户注销模块:用户可以发起账户注销操作,当链上智能合约验证通过一系列注销信息后,将离线账户上的余额转到目标地址,并注销离线账户。2.根据权利要求1所述的一种兼顾安全和灵活的区块链离线支付系统,其特征在于,离线账户初始化模块具体包括:步骤一:用户首先向enclave发送创建命令以创建离线账户;步骤二:enclave初始化状态并将离线账户的公钥和enclave平台的公钥发送给用户;步骤三:用户要对离线账户进行存款充值,向链上智能合约发送一笔存款交易;步骤四:链上智能合约接收到交易会判断交易没有在区块链账本Ledger上发生过;步骤五:若步骤四的判断通过,则执行交易;步骤六:交易完成后,交易附加到Ledger上,更新离线账户的链上状态并将更新的链上状态发送给用户;步骤七:用户将更新的链上信息发送到enclave离线账户;步骤八:离线账户对接收的信息进行验证;步骤九:若步骤八验证通过,则更新离线账户余额状态;否则,保持余额状态不变。3.根据权利要求1所述的一种兼顾安全和灵活的区块链离线支付系统,其特征在于,提款或存款模块具体包括:步骤一:离线账户向用户发送最新离线账户状态;步骤二:用户向链上智能合约发送离线账户提款交易或存款交易和离线账户状态;步骤三:链上智能合约同步对离线账户余额和链上账户余额进行验证,且交易未在区块链中执行过;步骤四:步骤三验证通过,在区块链上执行提款交易或存款交易;步骤五:交易上链并更新账户链上状态,执行后将账户链上状态返回给用户;步骤六:用户将提款交易或存款交易和账户链上状态一起发送给离线账户;步骤七:离线账户解析交易并进行三个验证,首先验证该笔交易的提款或存款地址是否和离线账户公钥一致;第二是验证交易签名,确定是用户发起的交易;第三是验证此时离
线状态通过提款或存款交易的金额后,...

【专利技术属性】
技术研发人员:闫红洋揭晚晴邱望洁李进罗世邦林盛义
申请(专利权)人:广州大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1