CN110223067A - 一种具有去中心化特性的链下一对多支付方法及系统 - Google Patents

一种具有去中心化特性的链下一对多支付方法及系统 Download PDF

Info

Publication number
CN110223067A
CN110223067A CN201910507784.XA CN201910507784A CN110223067A CN 110223067 A CN110223067 A CN 110223067A CN 201910507784 A CN201910507784 A CN 201910507784A CN 110223067 A CN110223067 A CN 110223067A
Authority
CN
China
Prior art keywords
amount
beneficiary
payment
signature
paying party
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910507784.XA
Other languages
English (en)
Other versions
CN110223067B (zh
Inventor
伍前红
钟林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN201910507784.XA priority Critical patent/CN110223067B/zh
Publication of CN110223067A publication Critical patent/CN110223067A/zh
Application granted granted Critical
Publication of CN110223067B publication Critical patent/CN110223067B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明公开一种具有去中心化特性的链下一对多支付方法及系统。该方法包括:生成区块链系统的公共参数、付款方私钥和公钥、收款方私钥和公钥;付款方生成通道建立与押币交易单,锁定预付款金额和冻结金额;区块链系统的节点验证预付款金额、冻结金额和通道建立与押币请求交易单的有效性;若有效,将通道建立与押币交易单存储至区块链系统;若无效,拒绝通道建立与押币交易单;付款方对付款金额签名,并将付款签名发送至收款方;收款方验证支付的有效性;若有效,收款方接受交易;若无效,收款方拒绝交易;收款方与区块链系统的节点进行结算,提取收款金额至收款方的账户地址。本发明可以解决支付系统中的离链支付灵活性较低和中心化的问题。

Description

一种具有去中心化特性的链下一对多支付方法及系统
技术领域
本发明涉及信息安全领域,特别是涉及一种具有去中心化特性的链下一对多支付方法及系统。
背景技术
电子支付系统试图给用户提供一个尽可能灵活高效的支付方式。电子支付通常提倡使用委托人,即使用可信第三方完成交易,给用户提供一种灵活的服务。可信第三方的存在,虽然具有灵活性,但是也揭露了用户的某些偏好,降低用户的隐私保护。对于隐私保护较高的应用场景,使得去中心化的区块链系统发展起来。2008年,中本聪提出区块链并用于服务比特币的公开交易账簿。
区块链系统具有以下五个关键优势:一、区块链通过使用不断增长的交易记录以促进在线交易。通过密码算法,即哈希函数和数字签名算法,把交易记录连接起来,使得交易记录是安全的。二、区块链是一个去中心化的、分布式的数据账簿。该账簿用于用户记录交易跨越全世界范围内数以千计的计算机系统,使得记录不能被随意的修改而不需要修改随后的区块并产生冲突。三、区块链是一个具有可信性特征的系统,允许参与方便捷地验证和审计交易而不需要可信第三方。这极大地降低暗箱操作与非授权干预等风险。四、区块链上的每次改变都需要得到所有成员的认可,使得区块链是一个透明的系统,允许用户在分布式账簿上控制信息和交易的过程。最后,区块链消除了数字资产无限重复的特征,因为在交易写入到账簿之前,需要各个参与方确认每笔交易以防止双重花费攻击。
但是,区块链由于其支付的灵活性较低而面临性严峻的挑战。在当前状态下,例如比特币仅能够支持7笔每秒的交易速度,远远不足以发展为一个大容量、高频率的数字货币系统。提高区块生成速率或增大区块容量在一定程度上能够增加区块链系统的交易速度。但是该方法也会给区块链带来负面的影响,Decker和Wattenhofer已指明其缺点。由于区块生成的过程具有随机特征,在网络中不存在两个不同的节点同时生成两个区块,而其中一个是另外一个区块的子链。虽然这两个区块都是诚实生成的且与交易记录具有一致性,但是这两个区块是相互冲突的。比特币协议保证最终仅有一个生成的区块将被系统接受。因此,放弃另一个区块意味着浪费计算资源。如果区块通过网络传播的速度足够快,则随后的区块能够建立在已有区块之上,从而避免资源浪费。增大区块容量意味着区块需要耗费更长的时间以广播到全网,与此同时会产生许多无用的区块。类似场景下,提高区块生成速率意味着区块生成更加频繁。在上一区块广播到全网时,会产生更多的无用区块。此外,Gervais等已经证明简单地通过对区块链重新设置系统参数能达到的系统容量不能超过100笔交易每秒。
目前仍没有方案能够解决区块链系统中离链支付的低灵活性与分布式特性的问题,而该问题是至关重要的。因为在现有的支付通道系统中,支付通道一旦建立,则预付款金额与收款方存在严格的一一对应关系。付款方需要通过支付网络支付给其他参与方,而支付网络容易形成中心化的服务商,从而导致离链支付系统中心化。
发明内容
本发明的目的是提供一种具有去中心化特性的链下一对多支付方法及系统,以解决支付系统中的离链支付灵活性较低和中心化的问题。
为实现上述目的,本发明提供了如下方案:
一种具有去中心化特性的链下一对多支付方法,包括:
生成区块链系统的公共参数、第一私钥、第一公钥、第二私钥和第二公钥;所述区块链系统的公共参数由发行方生成;所述第一私钥为付款方生成的私钥,所述第一公钥为所述付款方生成的公钥;所述第二私钥为收款方生成的私钥,所述第二公钥为所述收款方生成的公钥;
所述付款方生成通道建立与押币交易单,锁定输入的预付款金额和冻结金额;
所述区块链系统的节点验证所述预付款金额、所述冻结金额和所述通道建立与押币请求交易单的有效性;若所述预付款金额、所述冻结金额和所述通道建立与押币请求交易单均有效,则将所述通道建立与押币交易单存储至区块链系统;若所述预付款金额、所述冻结金额或所述通道建立与押币请求交易单无效,则所述区块链系统的节点拒绝所述通道建立与押币交易单;
所述付款方对付款金额签名,并将付款签名发送至收款方;
所述收款方验证支付的有效性;当所述支付有效时,所述收款方接受交易;当所述支付无效时,所述收款方拒绝交易;
所述收款方与所述区块链系统的节点进行结算,提取收款金额至所述收款方的账户地址。
可选的,所述生成区块链系统的公共参数、第一私钥、第一公钥、第二私钥和第二公钥,具体包括:
发行方输入安全参数,生成所述区块链系统的公共参数;
根据所述安全参数和所述公共参数,所述付款方运行秘钥生成算法,生成所述付款方的私钥和公钥;
根据所述安全参数和所述公共参数,所述收款方运行秘钥生成算法,生成所述收款方的私钥和公钥。
可选的,所述付款方生成通道建立与押币交易单,锁定输入的预付款金额和冻结金额,具体包括:
所述付款方输入所述第一私钥、所述冻结金额、所述预付款金额、所述付款方的账户地址和多个收款方的账户地址,生成所述通道建立与押币交易单;
所述区块链系统锁定所述付款方通道建立与押币交易单对应的预付款金额和冻结金额。
可选的,所述区块链系统的节点验证所述预付款金额、所述冻结金额和所述通道建立与押币请求交易单的有效性,具体包括:
所述区块链系统根据输入的所述通道建立与押币请求交易单和所述第一公钥,验证所述通道建立与押币请求交易单的有效性;
当所述通道建立与押币请求交易单有效时,检测所述预付款金额和所述冻结金额是否均小于所述付款方的账户地址中的余额;
当所述预付款金额和所述冻结金额均小于所述付款方的账户地址中的余额时,则确定所述预付款金额、所述冻结金额和所述通道建立与押币请求交易单均有效;
当所述通道建立与押币请求交易单无效时,或者当所述预付款金额或所述冻结金额不小于所述付款方的账户地址中的余额时,则确定所述预付款金额、所述冻结金额或所述通道建立与押币请求交易单无效。
可选的,所述付款方对付款金额签名,具体包括:
所述付款方输入所述第一私钥、付款金额、付款方的账户地址、收款方的账户地址以及时间戳,输出付款签名。
可选的,所述收款方验证支付的有效性,具体包括:
所述收款方输入所述付款签名和所述第一公钥,对所述付款签名进行有效性判断;
当所述付款签名有效时,检测所述付款方支付给所述收款方的累计付款金额是否小于所述预付款金额;
当所述付款方支付给所述收款方的累计付款金额小于所述预付款金额时,则确定所述支付有效;
当所述付款签名无效时,或者当所述付款方支付给所述收款方的累计付款金额不小于所述预付款金额时,则确定所述支付无效。
可选的,所述收款方与所述区块链系统的节点进行结算,提取收款金额至所述收款方的账户地址,具体包括:
所述收款方将所有收款金额打包为结算单,生成结算单签名;所述结算单包括所述收款方对应的结算金额;
所述收款方将所述付款签名和所述结算单签名广播至所述区块链系统;
所述区块链系统的节点验证所述付款签名和所述结算单签名的有效性;
当所述付款签名和所述结算单签名均有效时,检测是否满足所述收款方的结算金额小于预付款金额且所有收款方的结算金额之和小于冻结金额;
当所述收款方的结算金额小于预付款金额且所有收款方的结算金额之和小于冻结金额时,将所述结算单签名存储至所述区块链系统,提取所述结算单对应的结算金额至所述收款方的账户地址;
当所述付款签名或所述结算单签名无效时,或者当所述收款方的结算金额不小于预付款金额或所有收款方的结算金额之和不小于冻结金额时,所述区块链系统拒绝所述结算单签名,所述收款方结算失败。
可选的,还包括:
判断所述付款方是否进行双重花费;
当所述付款方进行双重花费时,所述收款方通过双重花费交易单从所述冻结金额中提取所述双重花费对应的付款金额。
可选的,还包括:
判断是否满足所述付款方的预付款金额花费完毕,且超过设定比例的收款方结算完成;
当所述付款方的预付款金额花费完毕,且超过设定比例的收款方结算完成时,所述付款方签署未结算付款方对应的结算单,生成未结算付款方的结算单签名;
所述付款方将所述付款签名和所述未结算付款方的结算单签名广播至所述区块链系统;
所述区块链系统的节点验证所述付款签名和所述未结算付款方的结算单签名的有效性;
当所述付款签名和所述未结算付款方的结算单签名均有效时,检测是否满足所述未结算收款方的结算金额小于预付款金额且所有未结算收款方的结算金额之和小于冻结金额;
当所述未结算收款方的结算金额小于预付款金额且所有未结算收款方的结算金额之和小于冻结金额时,将所述未结算付款方的结算单签名存储至所述区块链系统,提取未结算付款方的结算单签名对应的结算金额至所述未结算收款方的账户地址;
当所述付款签名或所述未结算付款方的结算单签名无效时,或者当所述未结算收款方的结算金额不小于预付款金额或所有未结算收款方的结算金额之和不小于冻结金额时,所述区块链系统拒绝所述未结算付款方的结算单签名,所述未结算收款方结算失败;
当所述付款方对应的所有收款方结算完成时,所述付款方的冻结金额自动解锁,回到所述付款方的账户地址。
本发明还提供一种具有去中心化特性的链下一对多支付系统,包括:
初始化模块,用于生成区块链系统的公共参数、第一私钥、第一公钥、第二私钥和第二公钥;所述区块链系统的公共参数由发行方生成;所述第一私钥为付款方生成的私钥,所述第一公钥为所述付款方生成的公钥;所述第二私钥为收款方生成的私钥,所述第二公钥为所述收款方生成的公钥;
通道建立与押币模块,用于所述付款方生成通道建立与押币交易单,锁定输入的预付款金额和冻结金额;
验证模块,用于所述区块链系统的节点验证所述预付款金额、所述冻结金额和所述通道建立与押币请求交易单的有效性;若所述预付款金额、所述冻结金额和所述通道建立与押币请求交易单均有效,则将所述通道建立与押币交易单存储至区块链系统;若所述预付款金额、所述冻结金额或所述通道建立与押币请求交易单无效,则所述区块链系统的节点拒绝所述通道建立与押币交易单;
付款模块,用于所述付款方对付款金额签名,并将付款签名发送至收款方;
收款模块,用于所述收款方验证支付的有效性;当所述支付有效时,所述收款方接受交易;当所述支付无效时,所述收款方拒绝交易;
结算模块,用于所述收款方与所述区块链系统的节点进行结算,提取收款金额至所述收款方的账户地址。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
付款过程与收款过程仅需要付款方和收款方完成,结算过程仅需要付款方和收款方完成,通道建立与押币两个过程均由付款方独立完成,每个过程都不需要第三方中介,因此不会形成中心化中介,避免了使整个系统具有去中心化特性。本发明中每个阶段均不需要第三方中介,仅有付款方和收款方即可完成,对于双重花费攻击实时进行检测,进一步提高了整个支付过程的安全性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1具有去中心化特性的链下一对多支付方法的流程示意图;
图2为本发明实施例2具有去中心化特性的链下一对多支付系统的结构示意图;
图3为本发明实施例2具有去中心化特性的链下一对多支付系统与基础密码学工具的示意图;
图4为本发明实施例3具有去中心化特性的链下一对多支付系统的结构图;
图5为本发明实施例3具有去中心化特性的链下一对多支付系统与基础密码学工具的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例1
图1为本发明实施例1具有去中心化特性的链下一对多支付方法的流程示意图。如图1所示,本实施例具有去中心化特性的链下一对多支付方法包括以下步骤:
步骤100:生成区块链系统的公共参数、第一私钥、第一公钥、第二私钥和第二公钥。所述区块链系统的公共参数由发行方生成;所述第一私钥为付款方生成的私钥,所述第一公钥为所述付款方生成的公钥;所述第二私钥为收款方生成的私钥,所述第二公钥为所述收款方生成的公钥。
将安全参数输入区块链系统便可以自动输出系统的公共参数。根据系统公共参数和安全参数,收款方和付款方运行各自秘钥生成算法,便可以生成各自的私钥和公钥。系统公共参数,是密码学领域的群基本知识,整个系统的运行,都在基本参数上运行。例如:群生成元为g,则所有用户的私钥为随机数x,公钥则计算为g^x,即任意计算都需要以公共参数为基础。本发明中的实体机构包括区块链系统的节点、付款方和收款方,每个实体机构的角色都可能由一个或多个实体合作充任。
步骤200:付款方生成通道建立与押币交易单,锁定输入的预付款金额和冻结金额。
在付款方付款之前,需要建立付款方与收款方之间的付款通道以及根据付款方的请求锁定一定数量的预付款金额、冻结金额和多个收款方。付款方输入包括第一私钥、足够数量的冻结金额、预付款金额、付款方的账户地址和多个收款方的账户地址,生成通道建立与押币交易单,区块链系统以锁定预付款金额和冻结金额。
步骤300:区块链系统的节点验证预付款金额、冻结金额和通道建立与押币请求交易单的有效性。区块链系统根据输入的通道建立与押币请求交易单和第一公钥,验证所述通道建立与押币请求交易单的有效性。当所述通道建立与押币请求交易单有效时,进一步检测所述预付款金额和所述冻结金额是否均小于所述付款方的账户地址中的余额;当所述预付款金额和所述冻结金额均小于所述付款方的账户地址中的余额时,则确定所述预付款金额、所述冻结金额和所述通道建立与押币请求交易单均有效;执行步骤400;
当所述通道建立与押币请求交易单无效时,或者当所述预付款金额或所述冻结金额不小于所述付款方的账户地址中的余额时,则确定所述预付款金额、所述冻结金额或所述通道建立与押币请求交易单无效,执行步骤500。
步骤400:将通道建立与押币交易单存储至区块链系统。区块链系统接受该通道建立与押币交易单。
步骤500:区块链系统的节点拒绝通道建立与押币交易单。
步骤600:付款方对付款金额签名,并将付款签名发送至收款方。付款方支付给收款方,输入包括私钥,付款金额,付款方账户地址,收款方账户地址以及时间戳,输出付款签名。
步骤700:收款方验证支付的有效性。所述收款方输入所述付款签名和所述第一公钥,对所述付款签名进行有效性判断;当所述付款签名有效时,检测所述付款方支付给所述收款方的累计付款金额是否小于所述预付款金额;当所述付款方支付给所述收款方的累计付款金额小于所述预付款金额时,则确定所述支付有效,执行步骤800;当所述付款签名无效时,或者当所述付款方支付给所述收款方的累计付款金额不小于所述预付款金额时,则确定所述支付无效,执行步骤900。
步骤800:收款方接受交易。
步骤900:收款方拒绝交易。
步骤1000:收款方与区块链系统的节点进行结算,提取收款金额至收款方的账户地址。具体过程如下:
所述收款方将所有收款金额打包为结算单,生成结算单签名;所述结算单包括所述收款方对应的结算金额;
所述收款方将所述付款签名和所述结算单签名广播至所述区块链系统;
所述区块链系统的节点验证所述付款签名和所述结算单签名的有效性;
当所述付款签名和所述结算单签名均有效时,检测是否满足所述收款方的结算金额小于预付款金额且所有收款方的结算金额之和小于冻结金额;
当所述收款方的结算金额小于预付款金额且所有收款方的结算金额之和小于冻结金额时,将所述结算单签名存储至所述区块链系统,提取所述结算单对应的结算金额至所述收款方的账户地址;
当所述付款签名或所述结算单签名无效时,或者当所述收款方的结算金额不小于预付款金额或所有收款方的结算金额之和不小于冻结金额时,所述区块链系统拒绝所述结算单签名,所述收款方结算失败。
作为另一种实施例,可以进一步判断付款方是否进行双重花费,双重花费是区块链领域的特殊攻击,是指把同一笔钱支付给两个不同的收款方。如果付款方进行双重花费,收款方能够通过双重花费交易单从冻结金额中提取所述双重花费对应的付款金额,从而导致付款方遭受损失。
当所有收款方的结算完成后,付款方的冻结金额自动解锁至付款方的账户地址中。
在结算过程中,如果预付款金额花费完毕,且绝大多数收款方完成提款,则付款方能够单独发起结算。结算时,付款方签署未结算付款方对应的结算单,生成未结算付款方的结算单签名;将所述付款签名和所述未结算付款方的结算单签名广播至所述区块链系统;所述区块链系统的节点验证所述付款签名和所述未结算付款方的结算单签名的有效性;如果均输出有效,进一步检测是否满足所述未结算收款方的结算金额小于预付款金额且所有未结算收款方的结算金额之和小于冻结金额。当所述未结算收款方的结算金额小于预付款金额且所有未结算收款方的结算金额之和小于冻结金额时,将所述未结算付款方的结算单签名存储至所述区块链系统,提取未结算付款方的结算单签名对应的结算金额至所述未结算收款方的账户地址;当所述付款签名或所述未结算付款方的结算单签名无效时,或者当所述未结算收款方的结算金额不小于预付款金额或所有未结算收款方的结算金额之和不小于冻结金额时,所述区块链系统拒绝所述未结算付款方的结算单签名,所述未结算收款方结算失败。但是,付款方发起的该单向结算需要等待一段时间才能够生效。
当付款方对应的所有收款方结算完成时,付款方的冻结金额自动解锁,回到付款方的账户地址。
对于绝大多数收款方是否完成提款,可以采用设定比例阈值的方法,例如,设定比例阈值为90%。首先获得付款方对应的多个收款方的结算状态,进一步判断付款方对应的多个收款方完成结算的人数比例是否大于设定比例阈值,如果大于设定比例阈值时,则表示绝大多数收款方完成提款,区块链系统可以接受付款方的结算请求。
实施例2
本实施例为实施例1对应的系统,图2为本发明实施例2具有去中心化特性的链下一对多支付系统的结构示意图,如图2所示,本实施例的具有去中心化特性的链下一对多支付系统包括:初始化模块210、通道建立与押币模块220、验证模块230、付款模块240、收款模块250、结算模块260。
初始化模块210,用于生成区块链系统的公共参数、第一私钥、第一公钥、第二私钥和第二公钥;所述区块链系统的公共参数由发行方生成;所述第一私钥为付款方生成的私钥,所述第一公钥为所述付款方生成的公钥;所述第二私钥为收款方生成的私钥,所述第二公钥为所述收款方生成的公钥。具体过程为:
节点输入安全参数1λ,输出包括系统公共参数Params;
付款方运行秘钥生成算法KGen,输入包括安全参数1λ和公共参数Params,输出包括公钥和私钥,如(PK0,SK0)←KGen(1λ,Params);
收款方运行秘钥生成算法KGen,输入包括安全参数1λ和公共参数Params,输出包括公钥和私钥,如(PKi,SKi)←KGen(1λ,Params),1≤i≤n。
通道建立与押币模块220,用于所述付款方生成通道建立与押币交易单,锁定输入的预付款金额和冻结金额。具体过程为:
付款方运行签名算法Sign,输入私钥SK0,足够数量的冻结金额预付款金额M,其账户地址ID0,n个收款方的账户地址ID1,...,IDn以及辅助信息aux0,输出通道建立签名δ0
δ0←Sign(SK0,channel),
其中,辅助信息aux0包括时间戳等信息。注意:必须满足,否则会发生双重花费攻击。
验证模块230,用于所述区块链系统的节点验证所述预付款金额、所述冻结金额和所述通道建立与押币请求交易单的有效性;若所述预付款金额、所述冻结金额和所述通道建立与押币请求交易单均有效,则将所述通道建立与押币交易单存储至区块链系统;若所述预付款金额、所述冻结金额或所述通道建立与押币请求交易单无效,则所述区块链系统的节点拒绝所述通道建立与押币交易单。具体过程为:
节点运行验证算法Verify,输入通道建立签名对(channel,δ0)以及对应的公钥PK0,输出有效性判断Valid/Invalid:
Valid/Invalid←Verify(PK0,channel,δ0).
如果有效,则检测预付款金额M是否低于账户地址中的余额且冻结金额是否低于账户地址中的余额
如果有效,且M,没被花费或冻结,则接收该通道建立与押币签名,并把该通道建立与押币签名对存储到区块链上,否则拒绝。
付款模块240,用于所述付款方对付款金额签名,并将付款签名发送至收款方。具体过程为:
付款方运行签名算法Sign,输入私钥SK0,付款金额mi,其账户地址ID0,收款方账户地址IDi以及时间戳T,输出付款签名δ1,i
δ1,i←Sign(SK0,payi,T).
其中,payi=(mi,ID0,IDi,T)。付款方发送付款签名对(payi1,i,PK0)给收款方IDi
收款模块250,用于所述收款方验证支付的有效性;当所述支付有效时,所述收款方接受交易;当所述支付无效时,所述收款方拒绝交易。具体过程为:
收款方运行验证算法Verify,输入付款签名(payi1,i)以及对应的公钥PK0,输出有效性判断Valid/Invalid:
Valid/Invalid←Verify(PK0,payi1,i).
如果有效,且m≤M,则接受,否则拒绝。
结算模块260,用于所述收款方与所述区块链系统的节点进行结算,提取收款金额至所述收款方的账户地址。具体过程为:
(1)收款方运行签名算法Sign,输入私钥SKi和结算单balancei,输出结算单签名δ2,i
δ2,i←Sign(SKi,balancei),
其中,balancei=(ID0,IDi,payi1,i,PK0)。收款方把付款签名对(payi1,i)和结算单签名对(balancei2,i)广播到区块链系统中。
(2)节点运行验证算法Verify,输入付款签名对(payi1,i)和结算单签名对(balancei2,i)以及对应的公钥PK0,PKi,输出有效性判断Valid/Invalid:
Valid/Invalid←Verify(PK0,payi1,i)
Valid/Invalid←Verify(PKi,balancei2,i).
如果均有效,且和M≥mi·n均成立,则存储到区块链系统,否则拒绝。
(3)如果预付款金额花费完毕,且绝大多数收款方完成结算,则付款方能够独立发起结算。
付款方运行签名算法Sign,输入私钥SK0和结算单balancei,...,balancen,输出结算单签名δ2,i,...,n
δ2,i,...,n←Sign(SK0,balancei,...,balancen),
该单向结算单签名需要等待一段时间后才能够生效,其中等待时间在通道建立时由交易双方共同协商并设置。
图3为本发明实施例2具有去中心化特性的链下一对多支付系统与基础密码学工具的示意图。结合图3,本实施例的各个模块均涉及密码学工具,需要用到的密码学基础工具,包括哈希函数、数字签名密码学工具。
哈希函数(HashFunction)
哈希函数族Hash是一系列函数。其中,每个函数H从定义域{0,1}m映射到值域{0,1}n,使得m≥n。正式地,哈希函数满足以下三个条件:
(1)确定性:对于一个已知的输入,哈希函数总是输出相同的哈希值:
(2)随机性:对任意一个大的输入集合,哈希函数总是输出一个均匀分布的随机数:
(3)抗碰撞性:从哈希函数族Hash中随机取出一个函数H,对任意多项式时间的攻击者存在一个可忽略函数Negl(·),使得以下条件成立:
其中,Negl(λ)是在安全参数下λ的可忽略概率。
数字签名(Digital Signature)
数字签名包括3个算法,即秘钥生成算法KeyGen,签名算法Sign和验证算法Verify,分别用于秘钥生成,签名和验证签名。对于一个固定的安全参数λ,这三个算法如下运行:
(1)秘钥生成算法:输入安全参数λ,输出随机私钥SK和一个对应的公钥PK:
(PK,SK)←KeyGen(1λ).
(2)签名算法:输入私钥SK和消息m,该消息来自某个固定的集合M,输出签名σ:
σ←Sign(SK,m).
(3)验证算法:输入公钥PK和消息签名对(m,σ),输出有效性判断Valid/Invalid:
Valid/Invalid←Verify(PK,m,σ).
实施例3
图4为本发明实施例3具有去中心化特性的链下一对多支付系统的结构图。如图4所示,本实施例包含3类实体:节点、付款方和收款方。其中,付款方和收款方的公钥和私钥可以表示为(SK,PK)。
图5为本发明实施例3具有去中心化特性的链下一对多支付系统与基础密码学工具的示意图。如图5所示,本实施例中,初始化由节点、付款方和收款方各自独立完成,通道建立与押币由付款方独立完成,验证由节点完成,付款由付款方完成,收款由收款方完成,结算由付款方和收款方完成。每个过程均涉及密码学工具,需要用到的密码学基础工具,包括哈希函数、数字签名密码学工具。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种具有去中心化特性的链下一对多支付方法,其特征在于,包括:
生成区块链系统的公共参数、第一私钥、第一公钥、第二私钥和第二公钥;所述区块链系统的公共参数由发行方生成;所述第一私钥为付款方生成的私钥,所述第一公钥为所述付款方生成的公钥;所述第二私钥为收款方生成的私钥,所述第二公钥为所述收款方生成的公钥;
所述付款方生成通道建立与押币交易单,锁定输入的预付款金额和冻结金额;
所述区块链系统的节点验证所述预付款金额、所述冻结金额和所述通道建立与押币请求交易单的有效性;若所述预付款金额、所述冻结金额和所述通道建立与押币请求交易单均有效,则将所述通道建立与押币交易单存储至区块链系统;若所述预付款金额、所述冻结金额或所述通道建立与押币请求交易单无效,则所述区块链系统的节点拒绝所述通道建立与押币交易单;
所述付款方对付款金额签名,并将付款签名发送至收款方;
所述收款方验证支付的有效性;当所述支付有效时,所述收款方接受交易;当所述支付无效时,所述收款方拒绝交易;
所述收款方与所述区块链系统的节点进行结算,提取收款金额至所述收款方的账户地址。
2.根据权利要求1所述的具有去中心化特性的链下一对多支付方法,其特征在于,所述生成区块链系统的公共参数、第一私钥、第一公钥、第二私钥和第二公钥,具体包括:
发行方输入安全参数,生成所述区块链系统的公共参数;
根据所述安全参数和所述公共参数,所述付款方运行秘钥生成算法,生成所述付款方的私钥和公钥;
根据所述安全参数和所述公共参数,所述收款方运行秘钥生成算法,生成所述收款方的私钥和公钥。
3.根据权利要求1所述的具有去中心化特性的链下一对多支付方法,其特征在于,所述付款方生成通道建立与押币交易单,锁定输入的预付款金额和冻结金额,具体包括:
所述付款方输入所述第一私钥、所述冻结金额、所述预付款金额、所述付款方的账户地址和多个收款方的账户地址,生成所述通道建立与押币交易单;
所述区块链系统锁定所述付款方通道建立与押币交易单对应的预付款金额和冻结金额。
4.根据权利要求3所述的具有去中心化特性的链下一对多支付方法,其特征在于,所述区块链系统的节点验证所述预付款金额、所述冻结金额和所述通道建立与押币请求交易单的有效性,具体包括:
所述区块链系统根据输入的所述通道建立与押币请求交易单和所述第一公钥,验证所述通道建立与押币请求交易单的有效性;
当所述通道建立与押币请求交易单有效时,检测所述预付款金额和所述冻结金额是否均小于所述付款方的账户地址中的余额;
当所述预付款金额和所述冻结金额均小于所述付款方的账户地址中的余额时,则确定所述预付款金额、所述冻结金额和所述通道建立与押币请求交易单均有效;
当所述通道建立与押币请求交易单无效时,或者当所述预付款金额或所述冻结金额不小于所述付款方的账户地址中的余额时,则确定所述预付款金额、所述冻结金额或所述通道建立与押币请求交易单无效。
5.根据权利要求1所述的具有去中心化特性的链下一对多支付方法,其特征在于,所述付款方对付款金额签名,具体包括:
所述付款方输入所述第一私钥、付款金额、付款方的账户地址、收款方的账户地址以及时间戳,输出付款签名。
6.根据权利要求1所述的具有去中心化特性的链下一对多支付方法,其特征在于,所述收款方验证支付的有效性,具体包括:
所述收款方输入所述付款签名和所述第一公钥,对所述付款签名进行有效性判断;
当所述付款签名有效时,检测所述付款方支付给所述收款方的累计付款金额是否小于所述预付款金额;
当所述付款方支付给所述收款方的累计付款金额小于所述预付款金额时,则确定所述支付有效;
当所述付款签名无效时,或者当所述付款方支付给所述收款方的累计付款金额不小于所述预付款金额时,则确定所述支付无效。
7.根据权利要求1所述的具有去中心化特性的链下一对多支付方法,其特征在于,所述收款方与所述区块链系统的节点进行结算,提取收款金额至所述收款方的账户地址,具体包括:
所述收款方将所有收款金额打包为结算单,生成结算单签名;所述结算单包括所述收款方对应的结算金额;
所述收款方将所述付款签名和所述结算单签名广播至所述区块链系统;
所述区块链系统的节点验证所述付款签名和所述结算单签名的有效性;
当所述付款签名和所述结算单签名均有效时,检测是否满足所述收款方的结算金额小于预付款金额且所有收款方的结算金额之和小于冻结金额;
当所述收款方的结算金额小于预付款金额且所有收款方的结算金额之和小于冻结金额时,将所述结算单签名存储至所述区块链系统,提取所述结算单对应的结算金额至所述收款方的账户地址;
当所述付款签名或所述结算单签名无效时,或者当所述收款方的结算金额不小于预付款金额或所有收款方的结算金额之和不小于冻结金额时,所述区块链系统拒绝所述结算单签名,所述收款方结算失败。
8.根据权利要求7所述的具有去中心化特性的链下一对多支付方法,其特征在于,还包括:
判断所述付款方是否进行双重花费;
当所述付款方进行双重花费时,所述收款方通过双重花费交易单从所述冻结金额中提取所述双重花费对应的付款金额。
9.根据权利要求1所述的具有去中心化特性的链下一对多支付方法,其特征在于,还包括:
判断是否满足所述付款方的预付款金额花费完毕,且超过设定比例的收款方结算完成;
当所述付款方的预付款金额花费完毕,且超过设定比例的收款方结算完成时,所述付款方签署未结算付款方对应的结算单,生成未结算付款方的结算单签名;
所述付款方将所述付款签名和所述未结算付款方的结算单签名广播至所述区块链系统;
所述区块链系统的节点验证所述付款签名和所述未结算付款方的结算单签名的有效性;
当所述付款签名和所述未结算付款方的结算单签名均有效时,检测是否满足所述未结算收款方的结算金额小于预付款金额且所有未结算收款方的结算金额之和小于冻结金额;
当所述未结算收款方的结算金额小于预付款金额且所有未结算收款方的结算金额之和小于冻结金额时,将所述未结算付款方的结算单签名存储至所述区块链系统,提取未结算付款方的结算单签名对应的结算金额至所述未结算收款方的账户地址;
当所述付款签名或所述未结算付款方的结算单签名无效时,或者当所述未结算收款方的结算金额不小于预付款金额或所有未结算收款方的结算金额之和不小于冻结金额时,所述区块链系统拒绝所述未结算付款方的结算单签名,所述未结算收款方结算失败;
当所述付款方对应的所有收款方结算完成时,所述付款方的冻结金额自动解锁,回到所述付款方的账户地址。
10.一种具有去中心化特性的链下一对多支付系统,其特征在于,包括:
初始化模块,用于生成区块链系统的公共参数、第一私钥、第一公钥、第二私钥和第二公钥;所述区块链系统的公共参数由发行方生成;所述第一私钥为付款方生成的私钥,所述第一公钥为所述付款方生成的公钥;所述第二私钥为收款方生成的私钥,所述第二公钥为所述收款方生成的公钥;
通道建立与押币模块,用于所述付款方生成通道建立与押币交易单,锁定输入的预付款金额和冻结金额;
验证模块,用于所述区块链系统的节点验证所述预付款金额、所述冻结金额和所述通道建立与押币请求交易单的有效性;若所述预付款金额、所述冻结金额和所述通道建立与押币请求交易单均有效,则将所述通道建立与押币交易单存储至区块链系统;若所述预付款金额、所述冻结金额或所述通道建立与押币请求交易单无效,则所述区块链系统的节点拒绝所述通道建立与押币交易单;
付款模块,用于所述付款方对付款金额签名,并将付款签名发送至收款方;
收款模块,用于所述收款方验证支付的有效性;当所述支付有效时,所述收款方接受交易;当所述支付无效时,所述收款方拒绝交易;
结算模块,用于所述收款方与所述区块链系统的节点进行结算,提取收款金额至所述收款方的账户地址。
CN201910507784.XA 2019-06-12 2019-06-12 一种具有去中心化特性的链下一对多支付方法及系统 Active CN110223067B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910507784.XA CN110223067B (zh) 2019-06-12 2019-06-12 一种具有去中心化特性的链下一对多支付方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910507784.XA CN110223067B (zh) 2019-06-12 2019-06-12 一种具有去中心化特性的链下一对多支付方法及系统

Publications (2)

Publication Number Publication Date
CN110223067A true CN110223067A (zh) 2019-09-10
CN110223067B CN110223067B (zh) 2021-04-06

Family

ID=67816709

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910507784.XA Active CN110223067B (zh) 2019-06-12 2019-06-12 一种具有去中心化特性的链下一对多支付方法及系统

Country Status (1)

Country Link
CN (1) CN110223067B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110751468A (zh) * 2019-09-24 2020-02-04 上海交通大学 用于区块链扩展的多向状态通道方法、系统及介质
CN111539712A (zh) * 2020-05-18 2020-08-14 北京俩撇科技有限公司 一种基于区块链的下单、结账方法及装置
CN111784330A (zh) * 2020-07-08 2020-10-16 上海乾臻信息科技有限公司 基于数据库的伪队列结算方法、系统及电子设备
CN112184188A (zh) * 2020-06-20 2021-01-05 黄立峰 交易处理方法、装置、电子设备及存储介质
CN113743935A (zh) * 2021-08-19 2021-12-03 北京航空航天大学 基于Mimblewimble的链下匿名支付通道方法及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681301A (zh) * 2016-01-16 2016-06-15 杭州复杂美科技有限公司 区块链上的结算方法
US20170017954A1 (en) * 2015-07-14 2017-01-19 Fmr Llc Point-to-Point Transaction Guidance Apparatuses, Methods and Systems
CN106920080A (zh) * 2017-02-15 2017-07-04 捷德(中国)信息科技有限公司 数字货币的账户管理方法和系统
CN108399571A (zh) * 2018-01-30 2018-08-14 厦门快商通信息技术有限公司 基于区块链智能合约的无担保交易方法及系统
CN108876370A (zh) * 2018-06-12 2018-11-23 北京航空航天大学 一种异构多链架构下跨区块链共享开放数据的体系架构
US20180349968A1 (en) * 2017-06-02 2018-12-06 Walmart Apollo, Llc Systems and methods for product review management with distributed database
CN109190384A (zh) * 2018-07-26 2019-01-11 百色学院 一种多中心区块链熔断保护系统及方法
CN109583893A (zh) * 2018-11-21 2019-04-05 北京航空航天大学 可追踪的基于区块链的数字货币交易系统
CN109784888A (zh) * 2019-01-28 2019-05-21 杭州复杂美科技有限公司 红包处理方法、设备和存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170017954A1 (en) * 2015-07-14 2017-01-19 Fmr Llc Point-to-Point Transaction Guidance Apparatuses, Methods and Systems
CN105681301A (zh) * 2016-01-16 2016-06-15 杭州复杂美科技有限公司 区块链上的结算方法
CN106920080A (zh) * 2017-02-15 2017-07-04 捷德(中国)信息科技有限公司 数字货币的账户管理方法和系统
US20180349968A1 (en) * 2017-06-02 2018-12-06 Walmart Apollo, Llc Systems and methods for product review management with distributed database
CN108399571A (zh) * 2018-01-30 2018-08-14 厦门快商通信息技术有限公司 基于区块链智能合约的无担保交易方法及系统
CN108876370A (zh) * 2018-06-12 2018-11-23 北京航空航天大学 一种异构多链架构下跨区块链共享开放数据的体系架构
CN109190384A (zh) * 2018-07-26 2019-01-11 百色学院 一种多中心区块链熔断保护系统及方法
CN109583893A (zh) * 2018-11-21 2019-04-05 北京航空航天大学 可追踪的基于区块链的数字货币交易系统
CN109784888A (zh) * 2019-01-28 2019-05-21 杭州复杂美科技有限公司 红包处理方法、设备和存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
周鲜华: "区块链技术的去中心化众筹平台搭建研究", 《会计之友》 *
李洛浦: "基于区块链技术的国际贸易结算新模式研究", 《中国优秀硕士学位论文全文数据库》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110751468A (zh) * 2019-09-24 2020-02-04 上海交通大学 用于区块链扩展的多向状态通道方法、系统及介质
CN110751468B (zh) * 2019-09-24 2023-04-28 上海交通大学 用于区块链扩展的多向状态通道方法、系统及介质
CN111539712A (zh) * 2020-05-18 2020-08-14 北京俩撇科技有限公司 一种基于区块链的下单、结账方法及装置
CN112184188A (zh) * 2020-06-20 2021-01-05 黄立峰 交易处理方法、装置、电子设备及存储介质
CN111784330A (zh) * 2020-07-08 2020-10-16 上海乾臻信息科技有限公司 基于数据库的伪队列结算方法、系统及电子设备
CN111784330B (zh) * 2020-07-08 2024-03-15 上海乾臻信息科技有限公司 基于数据库的伪队列结算方法、系统及电子设备
CN113743935A (zh) * 2021-08-19 2021-12-03 北京航空航天大学 基于Mimblewimble的链下匿名支付通道方法及系统

Also Published As

Publication number Publication date
CN110223067B (zh) 2021-04-06

Similar Documents

Publication Publication Date Title
CN110223067A (zh) 一种具有去中心化特性的链下一对多支付方法及系统
Pass et al. Micropayments for decentralized currencies
JP7451797B2 (ja) 即時オフラインのブロックチェイントランザクションのセキュリティを高めるのに適しているコンピュータにより実装されるシステム及び方法
KR102130062B1 (ko) 블록체인 네트워크의 노드들 간의 합의를 이루는 방법 및 블록체인 시스템
CN108876332A (zh) 一种基于生物特征标记认证的区块链安全交易方法及装置
WO2018197491A1 (en) Method and system for settling a blockchain transaction
JP2019537798A (ja) 電子手形管理方法及び装置並びに記憶媒体
CN108764872B (zh) 一种授权支付方法及系统、设备和存储介质
CN110458557B (zh) 一种付款方法、设备及存储介质
CN110223066A (zh) 一种基于区块链的链下一对多支付方法及系统
CN109981690A (zh) 一种基于区块链智能合约的防篡改定时数据保密传输方法
CN110490584A (zh) 交易处理方法、装置、系统、计算机设备和介质
CN112488682A (zh) 一种区块链的三方转账方法及装置
CN111539719B (zh) 基于盲签名的可审计混币服务方法及系统模型
Gojka et al. Security in distributed ledger technology: An analysis of vulnerabilities and attack vectors
Suliyanti et al. Evaluation of hash rate-based double-spending based on proof-of-work blockchain
CN110363513A (zh) 基于区块链的联合支付方法和装置
CN110060058A (zh) 一种交易方法、装置、设备及可读存储介质
CN113222599B (zh) 一种基于区块链的汇款方法、装置、设备和存储介质
CN112995356B (zh) 一种基于区块链的域名解析服务系统及方法
CN111260349B (zh) 基于区块链的实时支付方法及系统
Lei et al. BFastPay: A routing-free protocol for fast payment in bitcoin network
CN113824561A (zh) 基于智能合约和可信计算技术的新型跨链系统
Yang et al. If you can’t beat them, pay them: Bitcoin protection racket is profitable
CN104580145A (zh) 可验证秘密分享的移动代理安全支付方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant