基于Mimblewimble的链下匿名支付通道方法及系统技术方案

技术编号:31163358 阅读:15 留言:0更新日期:2021-12-04 10:35
本申请公开了一种基于Mimblewimble的链下匿名支付通道方法及系统,包括:打开通道步骤:确定存入的最低金额,通过向通道内分别存入大于最低金额的硬币以开启支付通道,并且在存款时,大于最低金额的部分作为随机金额,且随机金额被解构以无法花费;更新通道状态步骤:基于底层Mimblewimble的交易方式,根据协商的本轮交易金额生成预交易,并且基于预交易生成交易,及进行交易聚合,其中,在进行交易聚合时,除聚合付款方生成的预交易和收款方生成的交易外,同时聚合收款方当前拥有的余额;关闭通道步骤:在交易双方按照当前最新的余额分配状态进行退款后,关闭支付通道。该方法能够在确保匿名的情况下,提高比特币网络的可扩展性,减少交易的确认时间和交易手续费。减少交易的确认时间和交易手续费。减少交易的确认时间和交易手续费。

【技术实现步骤摘要】
基于Mimblewimble的链下匿名支付通道方法及系统


[0001]本申请涉及信息安全
,特别涉及一种基于Mimblewimble的链下匿名支付通道方法及系统。

技术介绍

[0002]区块链作为一种分布式数据存储方案,具有不可伪造、可追溯、公开、透明、集体维护等特点,近年来在各个行业得到了广泛的应用。比特币是中本聪于2008年提出的去中心化支付系统,作为区块链技术最成功的应用,比特币自诞生之日起就具有强大的吸引力。然而,比特币系统每秒只能处理不超过7笔交易,交易速度慢,且确认时间长,迫切需要提高比特币的交易速度。同时,区块链为了验证每笔交易的真实性和正确性,将用户之间发生的每一笔交易都存储在网络中,并添加到区块中,导致区块链的交易吞吐量较低,可扩展性差。此外,将每笔交易放在链上可能会导致一些隐私问题,攻击者能够通过区块链中公开的交易单,分析用户身份并对发起攻击。
[0003]Mimblewimble是由一位匿名学者在2016年提出的一种对比特币区块链系统进行隐私增强的保护技术,它结合了包括保密交易、聚合签名、范围证明等在内的几种密码学技术,实现了良好的隐私。闪电网络是近几年学者针对比特币网络确认时间长、扩展性差等问题提出的概念。闪电网络由点对点网络组成,是运行在比特币和其他区块链之上的第二层技术,实现了在无需信任对方及可信第三方的情况下实时海量的交易网络。经常有交易来往的双方可以通过向通道内提前存入固定的金额以创建支付通道,支付通道允许各方在保持链上交易安全性的同时在链外执行交易来减轻区块链的负担。然而,尽管闪电网络将大部分交易改为在链下进行,但在链上作为证据提交的开启和关闭通道的操作依然能够暴露用户的大量隐私信息。
[0004]作为一种区块链隐私增强技术,Mimblewimble以其能够同时隐藏交易双方的身份和交易金额等特点,已经被多种新型数字货币所应用,如Grin等。然而,Mimblewimble技术在手续费和交易确认时间方面存在一定的缺陷。两个问题是最突出的。一是仍需要向矿工支付高额的手续费,以确保交易被记录在链,二是矿工需要对交易单中的承诺和金额的零知识证明进行验证,以确保交易的真实性,这会导致较长的交易确认时间。这些缺陷限制了该技术的广泛应用。

技术实现思路

[0005]本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
[0006]为此,本申请的一个目的在于提出一种基于Mimblewimble的链下匿名支付通道方法,该方法能够在确保匿名,即交易双方和交易金额均不透露的情况下,提高比特币网络的可扩展性,减少交易的确认时间和交易手续费。
[0007]本申请的另一个目的在于提出一种基于Mimblewimble的链下匿名支付通道系统。
[0008]为达到上述目的,本申请一方面实施例提出了一种基于Mimblewimble的链下匿名
支付通道方法,包括以下步骤:打开通道步骤:确定存入的最低金额,通过向通道内分别存入大于所述最低金额的硬币以开启支付通道,并且在存款时,大于所述最低金额的部分作为随机金额,且所述随机金额被解构以无法花费;更新通道状态步骤:基于底层Mimblewimble的交易方式,根据协商的本轮交易金额生成预交易,并且基于所述预交易生成交易,及进行交易聚合,其中,在进行交易聚合时,除聚合付款方生成的预交易和收款方生成的交易外,同时聚合收款方当前拥有的余额;关闭通道步骤:在交易双方按照当前最新的余额分配状态进行退款后,关闭所述支付通道。
[0009]为达到上述目的,本申请另一方面实施例提出了一种基于Mimblewimble的链下匿名支付通道系统,包括:打开模块,用于确定存入的最低金额,通过向通道内分别存入大于所述最低金额的硬币以开启支付通道,并且在存款时,大于所述最低金额的部分作为随机金额,且所述随机金额被解构以无法花费;更新模块,用于基于底层Mimblewimble的交易方式,根据协商的本轮交易金额生成预交易,并且基于所述预交易生成交易,及进行交易聚合,其中,在进行交易聚合时,除聚合付款方生成的预交易和收款方生成的交易外,同时聚合收款方当前拥有的余额;关闭模块,用于在交易双方按照当前最新的余额分配状态进行退款后,关闭所述支付通道。
[0010]本申请实施例的基于Mimblewimble的链下匿名支付通道方法及系统,可用于提高区块链的可扩展性和快速交易,实现用户间的快速、大量的小额支付,提高区块链的可扩展性,具有以下有益效果:
[0011]1)可以实现交易的匿名性。匿名性体现在两个方面:隐藏支付金额和支付双方。支付金额方面,除使用Pedersen承诺提供的盲化因子,保证存入的硬币数量只有交易双方知道外,本方案还添加了一个随机金额,保证只有存款人知道自己存入的具体金额,甚至支付通道内的合作方也无法知晓。打开支付通道后,链下交易转移到双方建立的支付通道内执行,不会上传到区块链,最终只有打开和关闭通道的交易操作会在链上显示。由于区块链系统是基于Mimblewimble的,已经上传至区块链的交易会不断聚合并进行混币操作,这种混合大量交易的操作使得攻击者无法通过单个交易来分析出交易双方的身份,能够有效保证用户身份的匿名性。
[0012]2)可以实现硬币防盗窃攻击。双方在存入两人协商的固定金额以开启支付通道的同时,还分别存入了一个随机金额。这个额外金额只有存款者本人知道,对支付通道的另一方是保密的,只有在退款并关闭通道时才会揭露,避免交易双方在锁定硬币后,由于交易逆转而无法使用支付通道进行链下交易。
[0013]3)可以实现防止广播旧交易攻击。每次执行更新通道操作后,交易双方需向通道内的合作方交换上一轮交易中使用的盲化因子,这使得如果有任意一方想要通过广播旧交易从中作恶,以拒绝付款,另一方则可以通过盲化因子递归地构建作恶者的承诺交易,并将作恶者通道内的金额没收,归自己所有。
[0014]本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
[0015]本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得
明显和容易理解,其中:
[0016]图1为根据本申请一个实施例的基于Mimblewimble的链下匿名支付通道方法流程图;
[0017]图2为根据本申请一个实施例的基于Mimblewimble的链下匿名支付通道方法流程框架图;
[0018]图3为根据本申请一个实施例的基于Mimblewimble的链下匿名支付通道系统结构示意图。
具体实施方式
[0019]下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
[0020]本申请将Mimblewimble隐私保护技术和闪电网络结合,能在保护区块链用户隐私的同时,提本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Mimblewimble的链下匿名支付通道方法,其特征在于,包括以下步骤:打开通道步骤:确定存入的最低金额,通过向通道内分别存入大于所述最低金额的硬币以开启支付通道,并且在存款时,大于所述最低金额的部分作为随机金额,且所述随机金额被解构以无法花费;更新通道状态步骤:基于底层Mimblewimble的交易方式,根据协商的本轮交易金额生成预交易,并且基于所述预交易生成交易,及进行交易聚合,其中,在进行交易聚合时,除聚合付款方生成的预交易和收款方生成的交易外,同时聚合收款方当前拥有的余额;以及关闭通道步骤:在交易双方按照当前最新的余额分配状态进行退款后,关闭所述支付通道。2.根据权利要求1所述的方法,其特征在于,所述打开通道步骤具体包括:确定所述交易双方协商打开所述支付通道的最低金额;按照预设的选择策略从拥有的金额中选择大于所述最低金额的金额,同时附带所述随机金额一起存入所述支付通道;执行预设的构建算法,检查存入硬币的有效性,确保存入所述支付通道内的硬币合法且没有进行双花行为,并且大于两者的约定值;在所述交易双方将硬币存入所述支付通道后,生成存款交易;执行预设的解构算法,将存入的硬币分解为第一枚有效硬币和第二枚有效硬币,其中,所述第一枚有效硬币的金额为两人协商的所述最低金额,所述第二枚有效金额为所述随机金额;在所述交易双方均向所述支付通道内存入了大于所述最低金额的硬币后,判定所述支付通道开启成功,确定当前状态和可用硬币的当前密钥。3.根据权利要求2所述的方法,其特征在于,所述更新通道状态步骤进一步包括:确定付款方与收款方协商当前状态对应的本轮交易金额;在所述付款方执行发送算法构造预交易时,获取需要支付给所述付款方的交易金额和找零给自己的金额,同时,所述付款方为所述本需要支付给所述付款方的交易金额生成对应的密钥;所述付款方将构造的所述预交易发送给所述收款方;在所述收款方执行接受算法时,检查本轮所接收的所述预交易的正确性,并生成一个新交易,并且所述接收方对本轮产生的交易及自己当前状态下的余额硬币进行聚合,并生成本轮最终交易;在所述收款方发布所述本轮最终交易之后,所述付款方和所述收款方交换上一个状态中使用的密钥。4.根据权利要求3所述的方法,其特征在于,所述关闭通道步骤包括:在所述支付通道内的任意一交易方向区块链广播交易进行退款,并执行所述退款算法;确定所述交易双方揭示打开通道时存储的包含随机金额的硬币,将通道内双方随机金额和当前通道内的余额合并后退换给所述交易双方。5.根据权利要求4所述的方法,其特征在于,在执行所述退款算法之后,还包括:检查当前通道双方的分配余额是否正确有效,并且检查所述本轮最终交易是否为最新
的交易。6...

【专利技术属性】
技术研发人员:关振宇张砺心白琳李大伟孙钰崔剑张英鹏李海花
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

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

1