首页 / 专利库 / 银行与财务事项 / 区块链交易 / 一种基于区块链多因子交叉验证的虚拟货币交易验证方法

一种基于链多因子交叉验证的虚拟货币交易验证方法

阅读:486发布:2022-07-08

专利汇可以提供一种基于链多因子交叉验证的虚拟货币交易验证方法专利检索,专利查询,专利分析的服务。并且本 发明 针对基于 区 块 链 的 虚拟 货币 易受到51%攻击而产生交易的双花问题,提出了一种基于多因子交叉验证的 虚拟货币 交易验证方法,该方法周期性的查询并备份历史区块链分支,将已确认过的交易信息组织成易于查询的哈希链表数组,避免了由于区块链进化而导致分支交易信息丢失;在虚拟货币进行交易时,不仅对当前主区块链中记录的支付方信息、接收方信息、资金来源、货币交易数量等进行检查,同时查询备份的分支区块链,检查当前交易是否与分支链上记录的历史交易存在同一资金来源,若有交易未能通过检查,则矿工针对该交易发出全网告警,从而避免由非法交易引起的double‑spending问题。,下面是一种基于链多因子交叉验证的虚拟货币交易验证方法专利的具体信息内容。

1.一种基于多因子交叉验证的虚拟货币交易验证方法,其特征在于,所述方法包括以下步骤:
(1)链周期性扫描步骤,采用如下方法:
1)在主链上查找前一个周期扫描结束的区块,采用如下方法:
(a) 若找到该结束区块,则以该区块作为本次扫描的起点区块StartBlock;
(b)若主链发生变化,未能找到上一个周期的扫描结束区块,则继续查找前一个周期的结束区块,直至找到主区块链上某一个周期的扫描结束区块作为本周期的扫描起点区块StartBlock;
2)从StartBlock开始沿主区块链向后检查分支区块链,采用如下方法:
(a)若当前检测区块存在两个或两个以上直接后继区块,则检测到分支区块链,将块链最长的分支作为主区块链,其余为分支区块链,然后沿主区块链后移一个区块,继续查找分支区块链;
(b)若当前检测区块只有一个后继区块,则沿主区块链后移一个区块,继续查找分支区块链;
(c)若当前检测区块没有后继区块,则本周期的扫描过程结束,记录本次扫描结束时主链上区块号,作为下一扫描周期的起始区块;
(2) 分支区块链交易信息保存步骤,采用如下方法:
1) 以交易付款方地址address作为输入产生哈希值index = hash(address);
2) 在哈希链表数组中查找索引值等于index的目标链表头,如未找到,则新建链表头,设置链表的索引值为index;
3)在目标链表中插入新的交易记录节点,用于保存分支区块中的交易信息,包括:交易资金来源,付款方地址,收款人地址,交易金额,时间戳,以及付款方签名;
(3) 基于主区块链的交易合法性验证步骤,采用如下方法:
1) 资金来源追溯验证:该步骤根据交易单上注明的资金来源信息,回溯主区块链,查询虚拟货币的来源是否与交易付款方地址一致,且资源来源金额应大于或等于交易转账金额,否则发出非法交易警报;
2) 交易有效性验证:该步骤根据付款方地址,资金来源信息,交易金额查询主区块链,验证付款方给出的资金来源信息的有效性,若本次交易的资金来源已在过去的交易中支付给了其他收款方,则认为发生了双花交易,矿工向全网发出双花警报;
(4) 基于分支区块链的交易合法性验证步骤,采用如下方法:
1) 以交易付款方地址address作为输入产生哈希值index = hash(address);
2)在哈希链表数组中查找索引值等于index的目标链表头,如未找到,则直接通过分支验证;
3)从链表头开始逐一查找链表中的节点,若本次交易的资金来源已在某一链表节点记录的交易中支付给了其他收款方,则认为发生了双花交易,矿工向全网发出双花告警。

说明书全文

一种基于链多因子交叉验证的虚拟货币交易验证方法

技术领域

[0001] 本发明涉及一种虚拟货币交易安全验证方法,属于信息安全领域。

背景技术

[0002] 自2009年比特币作为全球第一种被广泛使用的加密货币以来,网络环境中已出现多种类型的虚拟货币,如莱特币Litecoin、无限币Infinitecoin、便士币Pennies、瑞波币Ripple等。虚拟货币由于其去中心化、隐私保护能强、交易方便等优点迅速受到了世界范围的关注与流行,2014年美国加州立法将包括比特币在内的数字货币规定为该州的合法货币,同年美国国税局宣布加密数字资产的合法化。2015年2月,欧洲中央行发布《虚拟货币体系》的研究报告,肯定了虚拟货币的合法用途。2014年,中国人民银行(央行)就专组建了数字货币研究团队,2016年1月,央行主持召开数字货币研讨会,提出研究我国的数字货币,争取早日发行由央行的数字货币。
[0003] 区块链(Blockchain)技术作为支撑大部分加密货币的核心技术被广泛应用于比特币等虚拟货币,虚拟货币的初始发放记录、挖掘记录、交易转移记录等都记录在动态变化的区块链中。区块链本质上是一个去中心化的数据库,基于密码技术产生一系列的区块,每个区块包含了一组虚拟货币的交易信息。随着虚拟货币交易的不断产生,矿工(虚拟货币发掘者)不断解密并验证交易,创造新的区块来记录最新的交易,区块链会一直增长和延长。新的区块按照时间顺序线性地被补充到原有的区块末端,就构成了区块链。然而,虚拟货币交易的区块链技术易受到51%攻击:攻击者首先通过转移支付虚拟货币获利,然后通过掌握全网51%的计算能力在原区块链的傍路分支产生新的更长的区块链,则攻击者原来转移支付的交易记录将被系统丢弃,从而能够使用已转移支付过的虚拟货币继续参与交易,产生双花double-spending,即同一资金来源的虚拟货币被用于了两次支付。
[0004] 2014年美国康奈尔大学的IC3 (Initiative for Crypto Currencies and Contracts)研究团队对虚拟货币协议漏洞进行了研究,提出利用矿工间的相互不信任关系建立虚拟货币的公平挖掘协议,以防止部分矿工通过挖掘能力结盟而获得垄断性的资产挖掘优势而进行51%攻击(Nonoutsourceable Scratch-Off Puzzles to Discourage Bitcoin Mining Coalitions. Workshop on Economics and Information Security,1-19, 2014)。然而该方法需要假设矿工隶属于互不信任的挖矿组织,随着拥有超强运算能力挖矿团队的产生,以及新的比特币“25%”漏洞的发现,基于矿工间不信任关系的防御协议难以有效保护虚拟货币交易安全。文献“基于区块链的供应链动态多中心协同认证模型”(网络与信息安全学报,2(1):27-33,2016)提出一种基于多CA中心的交易协同认证技术,提出利用多个CA中心协同对交易的合法性进行认证,然而该方法引入了新的认证中心,与虚拟货币去中心化的要求相违背。
[0005] 针对上述的缺陷,本发明提出了一种基于多因子交叉验证的虚拟货币交易验证方法,该方法周期性地保存分支区块链中的交易信息,矿工收到虚拟货币交易记录后,分别基于主区块链和保存的分支区块链对交易记录中的资金来源、支出地址、接收地址、货币交易金额进行多因子确认,只有合法交易才能通过检查,对于未通过检查的交易,矿工向整个虚拟货币网络发出告警。
[0006] 本发明与现有技术相比具有如下优点:1) 避免了基于区块替换的交易欺骗
通过在虚拟货币转移交付过程中,同时对现有主区块链及备份的分支区块链上的交易记录进行合法性检查,能够发现通过运算能力操控而实现的非法交易双花double-spending问题。
[0007] 不需对现有区块链结构进行修改本发明利用可在网上公开查到的区块链实现对区块链分支链条的实时备份,不必对现有区块链数据结构进行调整和修改,易于在现有的基于区块链技术的虚拟货币系统中实现。
[0008] 未引入新的中心本发明由各个矿工根据各自保存的区块链信息对收到的网络交易单中的交易信息进行分布式验证,若发现非法交易,则向全网发布交易警告,整个过程不涉及创建新的交易控制中心或辅助交易验证的CA/PKI等新的中心,符合虚拟货币无、去中心化的思想。
[0009] 在详细阐述本发明前,先做如下名词定义:定义1:矿工 (miner)虚拟货币挖掘和交易的参与者,每个矿工拥有全部的交易账本,能够对虚拟货币交易网络中发生的每一笔交易进行查询和验证,同时矿工间发生交易时,会将交易信息发布到全网中。
[0010] 定义2:交易单(transaction note)矿工将交易记录封装在交易单中广播给全网其余矿工,交易单内容主要包括:交易单ID,资金来源(上一交易单ID),上一交易单付款人签字, 资金去向(收款方地址),付款金额, 付款人签字(用于身份鉴别)。
[0011] 定义3:主区块链(main block chain)主区块链是指由全网计算而得到的最长的区块链,长度通常以区块数量和区块计算整体难度来衡量,链中的每个节点为一个包含了虚拟货币交易记录区块,记录的主要内容有:资金来源信息、付款方地址、收款方地址、交易金额、时间戳、收款方公钥、付款方签名。
[0012] 定义4:分支区块链(branch block chain) 分支区块链是指除主区块链以外,区块链中的支链,支链随着矿工对交易的不断确认而不断合并调整,最终被取消,链中的每个节点为一个包含了虚拟货币交易记录区块,记录的主要内容有:资金来源信息、付款方地址、收款方地址、交易金额、时间戳、收款方公钥、付款方签名。
[0013] 定义5:双花(double spending)双花指虚拟货币的交易付款方A首先将持有的虚拟货币转账支付给接收方B,然后将同一资金来源的虚拟货币再次支付给另一接收方C,C可以与A相同,从而达到同一笔虚拟货币使用两次的目的。
[0014] 为了实现双花,如图1所示,付款方A需要掌握超出全网51%的运算能力(故名51%攻击),A通过发布超出全网计算长度的区块链,将原主链变为分支链,分支链中的A->B的交易记录将由于与新主链中的记录A->C有相同的资金来源,而被认为是无效记录不被确认,从而使接收方B遭成损失。

发明内容

[0015] 本发明针对基于区块链的虚拟货币易受到51%攻击而产生交易的双花问题,提出了一种基于多因子交叉验证的虚拟货币交易验证方法,该方法周期性的查询并备份历史区块链分支,将已确认过的交易信息组织成易于查询的哈希链表数组,避免了由于区块链进化而导致分支交易信息丢失;在虚拟货币进行交易时,不仅对当前主区块链中记录的支付方信息、接收方信息、资金来源、货币交易数量等进行检查,同时查询备份的分支区块链,检查当前交易是否与分支链上记录的历史交易存在同一资金来源,若有交易未能通过检查,则矿工针对该交易发出全网告警,从而避免由非法交易引起的double-spending问题。附图说明
[0016] 图1是双花攻击说明图。
[0017] 图2是本发明的工作流程图。。
[0018] 图3是区块链周期扫描步骤。
[0019] 图4是分支区块链交易信息保存步骤。
[0020] 图5是基于主区块链的交易合法性验证步骤。
[0021] 图6是基于分支区块链的交易合法性验证步骤。
[0022]

具体实施方式

以下结合附图详细说明本发明的具体方法。
[0023] 图2是本发明的工作流程。
[0024] 图2是本发明的工作流程,首先矿工节点执行周期性扫描区块链,查找自上一扫描周期以来新生成的分支区块;然后读取分支区块中的交易信息,包括交易来源账号、交易目标账号、交易金额、交易时间、交易确认情况;将分支区块中的交易信息插入到哈希链表数组中;当收到新的广播交易单时,矿工对交易单中的未确认交易记录进行多因子交叉验证,包括基于主区块链交易合法性验证和基于分支区块的交易合法性验证;若交易记录未能通过主区块链的交易合法性验证,则舍弃该交易记录;若交记录通过了主区块链交易合法性验证,但未能通过分支区块交易合法性验证,则向全网发出双花警报;若交易记录通过了主区块链和分支区块链的合法性验证,则认为该记录为合法交易记录进行保存。
[0025] 具体的,本发明提出一种基于区块链多因子交叉验证的虚拟货币交易验证方法,包括以下步骤:(1)区块链周期性扫描步骤;
(2)分支区块交易信息保存步骤;
(3)基于主区块的交易合法性验证步骤;
(4)基于分支区块的交易合法性验证步骤。
[0026] 图3是区块链周期性扫描步骤。
[0027] 图3给出了区块链周期性扫描步骤,矿工周期性扫描区块链,查找自上一扫描周期结束以来新产生的区块,若有两个或更多个子区块链链接到同一先导区块,则发现分支区块,除块链数量最长的分支作为主链外,将其余分支区块链作为查询结果返回,周期性的扫描步骤具体如下:(1)在主链上查找前一个周期扫描结束的区块:
1)若找到该区块:则以该区块作为起点区块StartBlock开始查找分支区块链;
2)若未找到该区块:则说明主链自上一扫描周期结束后进行了调整,需要继续查找更早一个周期扫描结束的区块位置,直至找到某一个周期在主链上的结束区块作为本周期的扫描起点区块StartBlock;
(2)从StartBlock开始沿主区块链向后检查分支区块链,具体步骤如下:
1)若当前检测区块存在两个或两个以上直接后继区块,则检测到分支区块链,将块链最长的分支作为主区块链,其余为分支区块链,然后沿主区块链后移一个区块,继续查找分支区块链;
2)若当前检测区块只有一个后继区块,则沿主区块链后移一个区块,继续查找分支区块链;
3)若当前检测区块没有后继区块,则本周期的扫描过程结束,记录本次扫描结束时主链上区块号,作为下扫描周期的起始区块。
[0028] 图4分支区块链交易信息保存步骤。
[0029] 图4给出了分支区块链交易信息保存步骤,读取区块链周期性扫描步骤得到的分支区块中包含的交易信息,并将交易信息保存到哈希链表数组中,具体步骤如下:(1)以交易付款方地址address作为输入产生哈希值index = hash(address);
(2)在哈希链表数组中查找索引值等于index的目标链表头,如未找到,则新建链表头,设置链表的索引值为index;
(3)在目标链表中插入新的交易记录节点,用于保存分支区块中的交易信息,包括:交易资金来源,付款方地址,收款人地址,交易金额,时间戳,以及付款方签名。
[0030] 图5基于主区块链的交易合法性验证步骤。
[0031] 图5给出了基于主区块的交易合法性验证步骤,该步骤根据主区块链中记录的交易信息,对矿工从网络中接收到的交易单中的交易记录进行合法性验证,具体步骤如下:(1)资金来源追溯验证:该步骤根据交易单上注明的资金来源信息,回溯主区块链,查询虚拟货币的来源是否与交易付款方地址一致,且资源来源金额应大于或等于交易转账金额,否则发出非法交易警报,警报内容包括:本次验证的交易单ID,交易记录所在的主链区块号,交易的哈希值,以及利用矿工私钥对上述信息的签名;
(2)交易有效性验证:该步骤根据付款方地址,资金来源信息,交易金额查询主区块链,验证付款方给出的资金来源信息的有效性,若本次交易的资金来源已在过去的交易中支付给了其他收款方,则认为发生了双花交易,矿工向全网发出双花警报,警报内容包括:本次验证的交易单ID,发现双花的主链区块号,双花交易在主链区块中的哈希值,以及利用矿工私钥对上述信息的签名。
[0032] 图6基于分支区块链的交易合法性验证步骤。
[0033] 图6给出了基于分支区块链的交易合法性验证步骤,该步骤根据哈希链表数组中存储的分支区块链中记录的交易信息,对矿工从网络中接收到的交易单中的交易记录进行合法性验证,具体步骤如下:(1)以交易付款方地址address作为输入产生哈希值index = hash(address);
(2)在哈希链表数组中查找索引值等于index的目标链表头,如未找到,则直接通过分支验证;
从链表头开始逐一查找链表中的节点,若本次交易的资金来源已在某一链表节点记录的交易中支付给了其他收款方,则认为发生了双花交易,矿工向全网发出双花告警,告警内容包括:本次验证的交易单ID,交易资金来源,付款方地址,收款人地址,交易金额,时间戳,付款方签名,以及利用矿工私钥对上述信息的签名。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈