CN113222590B - 预防双花攻击的方法、装置及计算机可读存储介质 - Google Patents

预防双花攻击的方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN113222590B
CN113222590B CN202010070702.2A CN202010070702A CN113222590B CN 113222590 B CN113222590 B CN 113222590B CN 202010070702 A CN202010070702 A CN 202010070702A CN 113222590 B CN113222590 B CN 113222590B
Authority
CN
China
Prior art keywords
transaction
attack
cost
unit
confirmation
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.)
Active
Application number
CN202010070702.2A
Other languages
English (en)
Other versions
CN113222590A (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.)
Fulian Precision Electronics Tianjin Co Ltd
Original Assignee
Fulian Precision Electronics Tianjin Co Ltd
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 Fulian Precision Electronics Tianjin Co Ltd filed Critical Fulian Precision Electronics Tianjin Co Ltd
Priority to CN202010070702.2A priority Critical patent/CN113222590B/zh
Priority to US16/990,136 priority patent/US20210224801A1/en
Publication of CN113222590A publication Critical patent/CN113222590A/zh
Application granted granted Critical
Publication of CN113222590B publication Critical patent/CN113222590B/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/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • 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/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • 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
    • 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/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • 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/22Payment schemes or models
    • G06Q20/29Payment schemes or models characterised by micropayments
    • 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/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/327Short range or proximity payments by means of M-devices
    • G06Q20/3272Short range or proximity payments by means of M-devices using an audio code
    • 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/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4016Transaction verification involving fraud or risk level assessment in transaction processing
    • 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/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/405Establishing or using transaction specific rules
    • 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
    • G06Q2220/00Business processing using cryptography

Landscapes

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

Abstract

本申请提供一种预防双花攻击的方法,获取待交易的交易信息,所述交易信息包括虚拟货币类型及交易数量;依据所述虚拟货币类型获取货币价格;依据所述交易数量和所述货币价格获取交易值;依据所述虚拟货币类型获取对应区块链网络的单位攻击成本;调整初始确认次数,以使总攻击成本大于所述交易值,其中所述总攻击成本等于所述初始确认次数乘以所述单位攻击成本;向所述区块链网络提交所述交易信息。本申请同时提供一种预防双花攻击的装置及一种计算机可读存储介质。本申请通过交易值动态调整确认次数,以使双花攻击成本大于交易值,从而实现预防双花攻击。

Description

预防双花攻击的方法、装置及计算机可读存储介质
技术领域
本发明涉区块链技术领域,具体涉及一种预防双花攻击的方法、装置及计算机可读存储介质。
背景技术
区块链领域中的加密币(例如BTC)交易的双花攻击(Double Spending),简单来讲就是攻击者在交易所进行交易变现后,有预谋地控制算力来改写区块,使之前的区块链交易失效,但攻击者已经拿到现金。具体地,交易所大都是依据不同的币种确定一个固定的确认次数,当交易额度较大时,网络攻击者会在确认过程中加入超过51%区块链算力,即可在这个较短的确认时间段内,掌握整个区块链的记账权,将区块交易内容进行窜改,待交易所确认了本加密币交易为可信任的交易后,再将算力撤出此区块链,使本加密币的此次交易失败,从而使本加密币回到攻击者手中,这样即完成一次双花攻击。如果双花攻击不能被避免,则会使交易所或者加密币的接受者蒙受损失,以及破坏加密币的交易秩序。
发明内容
鉴于以上问题,本发明提出一种预防双花攻击的方法、装置及计算机可读存储介质,以解决上述问题。
本申请的第一方面提供一种预防双花攻击的方法,包括:
获取待交易的交易信息,所述交易信息包括虚拟货币类型及交易数量;
依据所述虚拟货币类型获取货币价格;
依据所述交易数量和所述货币价格获取交易值;
依据所述虚拟货币类型获取对应区块链网络的单位攻击成本;
调整初始确认次数,以使总攻击成本大于所述交易值,其中所述总攻击成本等于所述初始确认次数乘以所述单位攻击成本;
向所述区块链网络提交所述交易信息。
进一步地,向所述区块链网络提交所述交易信息之后还包括:
获取完成确认次数;
判断完成确认次数是否达到所述初始确认次数:
若为是,则判定交易完成。进一步地,其中,若判断所述完成确认次数未达到所述初始确认次数,则判断交易过程是否存在错误信息:
若为是,终止该交易并发出告警信息。
进一步地,其中“获取完成确认次数”具体包括:
依据所述运算时间获取查询时间段;
依据所述查询时间段依次获取确认完成次数。
进一步地,所述方法还包括步骤:
依据所述确认完成次数更新交易进度;
实时显示所述交易进度。
进一步地,依据所述虚拟货币类型获取对应区块链网络的单位攻击成本具体包括步骤:
依据所述虚拟货币类型获取对应区块链网络的总算力值;
计算所述区块链网络的单位算力成本;
计算所述区块链网络的每个区块的运算时间;
依据所述运算时间和所述单位算力成本,获取单位攻击成本;或
依据所述虚拟货币类型获取对应区块链网络中单个区块链节点的最大算力值;
计算所述区块链网络的单位算力成本;
计算所述区块链网络的每个区块的运算时间;
依据所述最大算力值、所述单位算力成本及所述运算时间获取单位攻击成本。
进一步地,所述方法还包括步骤:
周期获取所述货币价格、所述总算力值、所述单位算力成本、所述运算时间及所述区块链网络中的单个区块链节点的最大算力值;
若所述货币价格、所述总算力值、所述单位算力成本、所述运算时间或所述区块链网络中的单个区块链节点的最大算力值中的一个或多个发生变化,则对应调整所述初始确认次数。
进一步地,所述方法还包括步骤:
若所述区块链网络中至少一个可信任区块链节点的算力值大于其他区块链节点的算力值,则调整初始确认次数为基本确认次数。
本申请第二方面提供一种预防双花攻击的装置,包括:
存储器,所述存储器上存储有若干计算机程序;
处理器,所述处理器用于执行所述存储器中存储的计算机程序时实现所述的预防双花攻击的方法的步骤。
本申请第三方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的预防双花攻击的方法。
本发明通过交易值动态调整确认次数,以使双花攻击总攻击成本大于交易值,从而实现预防双花攻击,同时通过调整确认次数,保证大额交易的安全性和小额交易的便捷性。
附图说明
图1为本发明一实施方式中的预防双花攻击的装置的硬件架构示意图。
图2为本发明一实施方式中的预防双花攻击的系统的功能模块示意图。
图3为本发明一实施方式中的预防双花攻击的方法的流程图。
主要元件符号说明
预防双花攻击的装置 100
处理器 10
存储器 20
显示单元 30
语音单元 40
输入单元 50
预防双花攻击的系统 200
获取模块 201
运算模块 202
调整模块 203
交易模块 204
更新模块 205
显示模块 206
判断模块 207
告警模块 208
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
请参阅图1,为本发明一实施中提供的预防双花攻击的装置的示意图。
在本实施方式中,所述预防双花攻击的装置100包括处理器10、存储器20、显示单元30、语音单元40及输入单元50。
所述处理器10可以为中央处理器(CPU,Central Processing Unit),还可以包括其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器10是预防双花攻击的装置100的控制中心,利用各种接口和线路连接整个预防双花攻击的装置100的各个部分。
所述存储器20用于存储预防双花攻击的装置100中的各类数据,例如图像集、图像模型等。在本实施方式中,所述存储器20可以包括但不限于只读存储器(Read-OnlyMemory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read-Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-Only Memory,OTPROM)、电子擦除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
所述显示单元30用于显示处理器10处理后的各种信息,例如显示交易进度,所述显示单元30可为显示器、触摸屏等。
所述语音单元40用于播放处理器10处理后的各种信息,例如播放交易进度,播放告警提示,所述语音单元40为音箱或其他语音设备。
所述输入单元50用于输入各种信息,所述输入单元50可为键盘、触摸屏等。
在一实施方式中,处理器10、存储器20、显示单元30、语音单元40和输入单元50可集成于一计算机装置中。在其他实施方式中,显示单元30、语音单元40和输入单元50也可以省略。
所述预防双花攻击的装置100可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。本领域技术人员可以理解,所述示意图仅是预防双花攻击的装置100的示例,并不构成对预防双花攻击的装置100的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述预防双花攻击的装置100还可以包括网络接入设备、总线等。
请参阅图2,为本发明一实施方式中预防双花攻击的系统200的功能模块示意图。
在本实施方式中,预防双花攻击的系统200包括有一个或多个程序形式的计算机指令,所述一个或多个程序形式的计算机指令存储于所述存储器20中,并由所述处理器10执行,以实现本发明所提供的功能。
在本实施方式中,所述预防双花攻击的系统200可以被分割成获取模块201、运算模块202、调整模块203、交易模块204、更新模块205、显示模块206、判断模块207及告警模块208。各个功能模块的功能将在下面的实施例中进行详述。
获取模块201用于获取待交易的交易信息。其中交易信息包括虚拟货币类型及交易数量。
在一实施例中,通过调用输入单元50,以获取输入单元50输入的信息。
获取模块201还用于依据所述虚拟货币类型获取货币价格。
其中,货币价格可以为实际价格,即本时刻的交易价格,也可以为预估价格,即一个时段内交易价格的平均值。
在一实施例中,获取预设时间段的多个交易平台的货币价格;计算以获取平均价格,其中平均价格即为所要求的货币价格。
运算模块202用于依据交易数量和货币价格获取交易值。其中所述交易值为交易的虚拟货币的实际价值,交易值等于交易数量乘以货币价格。
获取模块201还用于依据所述货币类型获取对应区块链网络的总算力值。
其中,算力(也称哈希率)是区块链网络处理能力的度量单位,即为计算机(CPU)计算哈希函数输出的速度。
其中区块链网络的总算力值可以为本时刻的实际算力值,也可以是过去一段时间内的算力平均值,也可以为预估算力值;实际算力值可直接获取且不限定具体的获取方式。例如,可根据预设时间内区块链网络的旷工记账权竞争所耗费的时间以及记账难度,估算当前算力值;也可检测本区块链网络上的所有矿机的算力,获得整体区块链网络的当前算力值。
运算模块202还用于依据总算力值计算出单位算力成本。
具体地,依据总算力值获取单位算力值,并依据单位算力值、硬件成本、电费成本等计算出单位算力成本,其中硬件成本为矿机的购买成本或租赁成本,电费成本为使用矿机耗费的电量成本。
进一步地,单位算力成本还包括技术成本、人力成本、维护成本等。
运算模块202还用于计算区块链网络中每个区块的运算时间。
其中,以比特币区块链网络为例,比特币区块链是10分钟左右建立一个区块,并广播发送给全网络各个节点,但是由于比特币区块链网络的总算力的波动,新的区块的建立时间会有不同,例如10分钟30秒、9分钟30秒。
其中,该运算时间可为最新一个区块的建立时间,或是最近一个时间段内多个区块建立时间的平均值。
运算模块202还用于依据运算时间和单位算力成本,获取单位攻击成本。
例如,若本区块链网络包括100个总算力,则攻击者发起双花攻击,至少控制本区块链网络中的超过50%的算力,例如51个算力,交易者发起一个交易之后,交易者向全区块链网络发送一个真交易单,攻击者产生一个假交易单,并利用共识机制中“少数服从多数”的原则,以实现假交易单取代真交易单并写入主区块链的区块中,真交易单将被其他目标服务节点删除或篡改。该双花攻击需要的单位攻击成本为P0=p1*51*p2,p1为每次成功交易成功确认所需的时间,也即每个新的区块建立所需的时间,p2为单位算力的成本。
运算模块202还用于依据所述虚拟货币类型获取对应区块链网络中单个区块链节点的最大算力值;计算所述区块链网络的单位算力成本;计算所述区块链网络中每个区块的运算时间;依据所述最大算力值、所述单位算力成本和所述运算时间获取单位攻击成本。
具体地,获取对应区块链网络中单个区块链节点的最大算力值、所述单位算力成本和所述运算时间,则具有该最大算力值的该区块链节点具有获取该区块链网络中记账权的最大概率最大,攻击者的单位攻击则将单位攻击成本不小于具有该最大算力值的节点的成本即可,即单位攻击成本不小于最大算力值乘以单位算力成本及运算时间。
调整模块203用于调整初始确认次数,以使总攻击成本大于交易值。
其中所述总攻击成本等于所述初始确认次数乘以所述单位攻击成本。
其中确认表示该交易被区块链网络所记录并确认,若初始确认次数为N,当交易发生时,记录该笔交易的区块将进行第一次确认,并在该区块之后的链上的每一个区块进行N-1确认。所有这些确认和交易都在区块链上加上了时间戳,使其不可逆转且无法篡改。如果达到初始确认次数,则可以判断本次交易成功。
依据单位攻击成本及交易值调整初始确认次数,使总攻击成本大于交易值,其中双花攻击总的成本为P,其中P=P0*N且P>M,其中N为确认次数,M为交易值。
在另一实施例中,调整模块203还用于依据周期获得的货币价格、所述总算力值、所述单位算力成本、所述运算时间及所述区块链网络中的单个区块链节点的最大算力值,若所述货币价格、所述总算力值、所述单位算力成本、所述运算时间或所述区块链网络中的单个区块链节点的最大算力值中的一个或多个发生变化,则对应调整初始确认次数。
由于区块链虚拟货币交易时间比较长,在该交易时间段内影响交易值的因素较多,例如虚拟币价格暴涨、矿机租金波动、电费调整、总算力值激增等,则需要依据最新的虚拟货币价格计算以获取交易值或单位攻击成本,并依据交易值或单位攻击成本调整初始确认次数,以使总攻击成本大于交易值。其中该周期可以依据设备能力及该时间段内虚拟货币价格波动进行同调整,例如,周期可为五分钟。
在另一实施例中,若区块链网络中至少一个可信任区块链节点的算力值大于其他区块链节点的算力值,调整模块203还用于调整初始确认次数为基本确认次数。基本确认次数为交易完成的最少确认次数,例如区块链网络或交易所规定的至少六次确认完成为一次交易,则基本确认次数为6次,其中可信任区块链节点可以为交易者本身的区块链节点,也可为交易者信任的其他区块链节点。
进一步地,初始确认次数不小于基本确认次数。
交易模块204用于向区块链网络提交交易信息。
具体地,向区块链网络广播交易信息,以使新的区块记录该交易信息。
获取模块201还用于获取确认完成次数。
具体地,获取发布广播信息之后区块链网路新建的区块数据,进而获取对应的确认完成次数。
在一实施例中,依据所述运算时间获取查询时间段,依据所述查询时间段依次获取确认完成次数。
具体地,比特币区块链是10分钟左右建立一个区块,则第一个10分钟可查询第一次确认,第二个10分钟可查询第二次确认,依据时间段顺序查询,减少系统更新时间,减少等待时间,节省服务器运算资源、降低成本。
更新模块205用于依据所述确认完成次数更新交易进度。
例如,通过已完成的确认次数计算交易进度,例如确认次数为5,已完成确认次数为1,则交易进度为20%。
显示模块206用于实时显示交易进度。
在一实施例中,通过进度条或在进度数值显示交易进度。
判断模块207用于判断确认完成次数是否达到初始确认次数。
具体地,判断该区块链网络中新增区块的数量是否等于初始确认次数。
判断模块207还用于判断所述交易过程是否存在错误信息。
在一实施例中,错误信息为恶意节点篡改区块中记录的交易信息,例如,交易人发布的交易信息为“A将虚拟货币转至B”,恶意节点将区块中的交易信息修改为“A将虚拟货币转至A”。
交易模块204还用于终止交易。
在一实施例中,当完成确认次数达到初始确认次数之前,区块链中区块产生错误信息,例如恶意节点篡改交易信息,交易模块204终止正在进行的交易,避免财产损失,即区块链网络中交易失败,终止线下交易或虚拟货币相关联的交易,例如未收到虚拟货币,则停止向交易人转账。
告警模块208用于发送告警信息。
在一实施例中,告警模块208通过调用语音单元40播放告警信息。
请参阅图3,为本发明一个实施方式提供的预防双花攻击的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。为了便于说明,仅示出了与本发明实施例相关的部分。
如图3所示,所述预防双花攻击的方法包括以下步骤。
步骤S1:获取交易信息。
其中交易信息为待交易的信息,该交易信息包括虚拟货币类型及交易数量。
其中所述虚拟货币为比特币、以太币等,但不限于此。
在一实施例中,交易信息还包括交易价格,该价格为虚拟货币买方或卖方对于该虚拟货币所拟定的价格,可以理解,该价格可能与各个交易平台所定的价格不符合。
步骤S2:依据所述虚拟货币类型获取货币价格。
其中,货币价格可以为实际价格,即本时刻的交易价格,也可以为预估价格,即一个时段内交易价格的平均值。
在一实施例中,步骤S2具体包括步骤:
获取预设时间段的多个交易平台的货币价格;
对多个货币价格进行计算以获取平均价格,其中平均价格即为所要求的货币价格。
步骤S3:依据所述交易数量和所述货币价格获取交易值。
其中所述交易值为交易的虚拟货币的实际价值,等于交易数量乘以货币价格。
步骤S4:依据所述货币类型获取对应区块链网络的总算力值。
其中,算力是比特币网络处理能力的度量单位,即为计算机计算哈希函数输出的速度。
其中区块链网络的总算力值可以为本时刻的实际算力值,也可以是过去一段时间内的算力平均值,也可以为预估算力值;实际算力值可直接获取且不限定具体的获取方式。例如,可根据预设时间内区块链网络的旷工记账权竞争所耗费的时间以及记账难度,估算当前算力值;也可检测本区块链网络上的所有矿机的算力,获得整体区块链网络的当前算力值。
步骤S5:依据所述总算力值计算出单位算力成本。
具体地,依据总算力值获取单位算力值,并依据单位算力值、硬件成本、电费成本等计算出单位算力成本,其中硬件成本为矿机的购买成本或租赁成本,电费成本为使用矿机耗费的电量成本。
进一步地,单位算力成本还包括技术成本、人力成本、维护成本等。
步骤S6:计算所述区块链网络中每个区块的运算时间。
其中,以比特币区块链网络为例,比特币区块链是10分钟左右建立一个区块,并广播发送给全网络各个节点,但是由于比特币区块链网络的总算力的波动,新的区块的建立时间也会有波动,例如10分钟30秒、9分钟30秒。
其中,该运算时间可为最新一个区块的建立时间,或是最近一个时间段内多个区块建立时间的平均值。
步骤S7:依据所述运算时间和所述单位算力成本,获取单位攻击成本。
例如,若本区块链网络包括100个总算力,则攻击者发起双花攻击,至少控制本区块链网络中的超过50%的算力,例如51个算力,交易者发起一个交易之后,交易者向全区块链网络发送一个真交易单,攻击者产生一个假交易单,并利用共识机制中“少数服从多数”的原则,以实现假交易单取代真交易单并写入主区块链的区块中,真交易单将被其他目标服务节点删除。
该双花攻击需要的单位攻击成本为P0=p1*51*p2,p1为每次成功交易成功确认所需的时间,也即每个新的区块建立所需的时间,p2为单位算力的成本。
在另一实施例中,单位攻击成本的具体步骤包括:
依据所述虚拟货币类型获取对应区块链网络中单个区块链节点的最大算力值;
计算所述区块链网络的单位算力成本;
计算所述区块链网络中每个区块的运算时间;
依据所述最大算力值、所述单位算力成本和所述运算时间获取单位攻击成本。
具体地,获取对应区块链网络中单个区块链节点的最大算力值、所述单位算力成本和所述运算时间,则具有该最大算力值的区块链节点具有获取该区块链网络中记账权的最大概率,攻击者的单位攻击成本不小于具有该最大算力值的节点的成本即可,即单位攻击成本不小于最大算力值乘以单位算力成本及运算时间。
步骤S8:调整初始确认次数,以使所述总攻击成本大于所述交易值。
其中所述总攻击成本等于所述初始确认次数乘以所述单位攻击成本。
其中确认表示该交易被区块链网络所记录并确认,若确认次数为N,当交易发生时,记录该笔交易的区块将进行第一次确认,并在该区块之后的链上的每一个区块进行N-1确认。所有这些确认和交易都在区块链上加上了时间戳,使其不可逆转且无法篡改。如果达到初始确认次数,则可以判断本次交易成功。
依据单位攻击成本及交易值调整初始确认次数,使总攻击成本大于交易值,其中双花攻击总的成本为P,其中P=P0*N且P>M,其中N为确认次数,M为交易值。
在另一实施例中,步骤S8之后还包括步骤:
若区块链网络中至少一个可信任区块链节点的算力值大于其他区块链节点的算力值,则调整初始确认次数为基本确认次数。
其中基本确认次数为交易完成的最少确认次数,例如,区块链网络或交易所规定的至少六次确认完成为一次交易,则基本确认次数为6次,保证安全交易的算力为可信任区块链节点具有超过50%的算力。其中可信任区块链节点可以为交易人本身的区块链节点,也可以交易人信任的区块链节点。
在另一实施例中,还包括步骤:
周期获取货币价格、所述总算力值、所述单位算力成本、所述运算时间及所述区块链网络中的单个区块链节点的最大算力值;
若所述货币价格、所述总算力值、所述单位算力成本、所述运算时间或所述区块链网络中的单个区块链节点的最大算力值中的一个或多个发生变化,则对应调整初始确认次数。
由于区块链虚拟货币交易时间比较长,在该交易时间段内影响交易值的因素较多,例如虚拟币价格暴涨、矿机租金波动、电费调整、总算力值激增等,则需要依据调整因素计算以获取交易值或单位攻击成本,并依据交易值或单位攻击成本调整初始确认次数,以使总攻击成本大于交易值。进一步地,初始确认次数不小于基本确认次数。
步骤S9:向所述区块链网络提交交易信息。
具体地,向区块链网络广播交易信息,以使新的区块记录该交易信息。
步骤S10:获取确认完成次数。
具体地,获取发布广播信息之后区块链网路新建的区块数据,进而获取对应的确认完成次数。
在一实施例中,步骤S10具体包括如下:
依据所述运算时间获取查询时间段;
依据所述查询时间段依次获取确认完成次数。
具体地,比特币区块链是10分钟建立一个区块,则第一个10分钟可查询第一次确认,第二个10分钟可查询第二次确认,依据时间段顺序查询,减少系统更新时间,减少等待时间,节省服务器运算资源、降低成本。
进一步地,所述方法还包括步骤:
依据所述确认完成次数更新交易进度;
实时显示所述交易进度。
例如,通过已完成的确认次数计算交易进度,例如确认次数为5,已完成确认次数为1,则交易进度为20%。
通过显示单元实时显示交易进度。
步骤S11:判断确认完成次数是否达到初始确认次数。
具体地,判断该区块链网络中新增区块的数量是否等于初始确认次数。
若为是,进入步骤S12;若为否,进入步骤S13。
步骤S12:判定交易完成。
进一步地,步骤S12还包括步骤:
查看交易信息,并判断交易是否正常:
若正常,则提示交易完成;
若非正常,则发送告警指示。
步骤S13:判断所述交易过程是否存在错误信息。
在一实施例中,区块链网络中恶意节点利用记账权修改区块中的交易内容,例如交易内容中将“A汇款至B”修改为“A汇款至C”。
在另一实施例中,区块链网络中的恶意节点作为交易节点同时向网络中广播两笔交易,一笔交易发给自己(为了提高攻击成功率,这笔交易增加足够的手续费),一笔交易发给买方或卖方。由于发送给自己的交易中含有较高的手续费,会被矿工打包成区块的概率比较高。
若为否,进入步骤S11。
若为是,执行步骤S14:终止该交易。
例如,在区块链网络中的在线交易失败,则终止线下交易或虚拟货币相关联的交易,例如未收到虚拟货币,则停止向交易人转账。
步骤S15:发出告警信息。
通过声光、语音、人机界面等形式发送告警信息,以通知相关负责人处理该异常情况。
上述预防双花攻击的方法和装置依据交易值及总攻击成本调整确认次数,以使总攻击成本大于交易值,从而预防双花攻击的产生,以保证大额交易的安全性,同时减少小额交易的确认次数,以减少小额交易的交易时间,从而增加小额交易的便利性。
进一步地,上述预防双花攻击的方法和装置通过实时显示或语音播报交易进度,以使交易者实时了解交易状态,还通过发现实时检测交易信息,以判断交易信息中是否存在错误信息,并将错误信息通过告警信息提醒,以实现及时终止交易,减少或避免交易损失。
本发明所提供的方法,不需要更动区块链的架构与演算流程,易于实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。计算机装置权利要求中陈述的多个单元或计算机装置也可以由同一个单元或计算机装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (7)

1.一种预防双花攻击的方法,包括:
获取待交易的交易信息,所述交易信息包括虚拟货币类型及交易数量;
依据所述虚拟货币类型获取货币价格;
依据所述交易数量和所述货币价格获取交易值;
依据所述虚拟货币类型获取对应区块链网络的单位攻击成本,包括:依据所述虚拟货币类型获取对应区块链网络的总算力值;计算所述区块链网络的单位算力成本;计算所述区块链网络的每个区块的运算时间;依据所述运算时间和所述单位算力成本,获取单位攻击成本;或依据所述虚拟货币类型获取对应区块链网络中单个区块链节点的最大算力值;计算所述区块链网络的单位算力成本;计算所述区块链网络的每个区块的运算时间;依据所述最大算力值、所述单位算力成本及所述运算时间获取单位攻击成本;
调整初始确认次数,以使总攻击成本大于所述交易值,其中所述总攻击成本等于所述初始确认次数乘以所述单位攻击成本,包括:周期获取所述货币价格、所述总算力值、所述单位算力成本、所述运算时间及所述区块链网络中的单个区块链节点的最大算力值;若所述货币价格、所述总算力值、所述单位算力成本、所述运算时间或所述区块链网络中的单个区块链节点的最大算力值中的一个或多个发生变化,则对应调整所述初始确认次数;若所述区块链网络中至少一个可信任区块链节点的算力值大于其他区块链节点的算力值,则调整初始确认次数为基本确认次数;
向所述区块链网络提交所述交易信息。
2.如权利要求1所述的预防双花攻击的方法,向所述区块链网络提交所述交易信息之后还包括:
获取完成确认次数;
判断完成确认次数是否达到所述初始确认次数:
若为是,则判定交易完成。
3.如权利要求2所述的预防双花攻击的方法,其中
若所述完成确认次数未达到所述初始确认次数,则判断交易过程是否存在错误信息:
若为是,终止该交易并发出告警信息。
4.如权利要求2所述的预防双花攻击的方法,其中“获取完成确认次数”具体包括:
依据所述运算时间获取查询时间段;
依据所述查询时间段依次获取确认完成次数。
5.如权利要求4所述的预防双花攻击的方法,所述方法还包括步骤:
依据所述确认完成次数更新交易进度;
实时显示所述交易进度。
6.一种预防双花攻击的装置,包括:
存储器,所述存储器上存储有若干计算机程序;
处理器,所述处理器用于执行所述存储器中存储的计算机程序时实现如权利要求1至5任一项所述的预防双花攻击的方法的步骤。
7.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的预防双花攻击的方法。
CN202010070702.2A 2020-01-21 2020-01-21 预防双花攻击的方法、装置及计算机可读存储介质 Active CN113222590B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010070702.2A CN113222590B (zh) 2020-01-21 2020-01-21 预防双花攻击的方法、装置及计算机可读存储介质
US16/990,136 US20210224801A1 (en) 2020-01-21 2020-08-11 Method and device for preventing a double spend attack

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010070702.2A CN113222590B (zh) 2020-01-21 2020-01-21 预防双花攻击的方法、装置及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN113222590A CN113222590A (zh) 2021-08-06
CN113222590B true CN113222590B (zh) 2023-10-31

Family

ID=76857284

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010070702.2A Active CN113222590B (zh) 2020-01-21 2020-01-21 预防双花攻击的方法、装置及计算机可读存储介质

Country Status (2)

Country Link
US (1) US20210224801A1 (zh)
CN (1) CN113222590B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108876377A (zh) * 2018-07-06 2018-11-23 杭州复杂美科技有限公司 一种防止重复支付的方法和系统
CN109033832A (zh) * 2018-06-22 2018-12-18 深圳前海益链网络科技有限公司 一种防范对区块链网络进行短暂分叉双花攻击的方法
CN109242456A (zh) * 2018-09-04 2019-01-18 湖南宸瀚信息科技有限责任公司 区块链跨链交易方法、系统及存储介质
CN109493040A (zh) * 2018-10-22 2019-03-19 北京医拍智能科技有限公司 一种基于区块链的抗双花攻击处理方法及装置
CN109639715A (zh) * 2019-01-04 2019-04-16 中国联合网络通信集团有限公司 避免双花攻击的方法、装置、设备及计算机可读存储介质
CN109670956A (zh) * 2018-12-21 2019-04-23 成都四方伟业软件股份有限公司 区块链交易方法及装置
CN109863522A (zh) * 2018-12-28 2019-06-07 阿里巴巴集团控股有限公司 使用交易重发加速区块链网络中的交易交付
CN110689345A (zh) * 2019-09-06 2020-01-14 北京清红微谷技术开发有限责任公司 调整区块权重的无许可区块链共识方法、系统、p2p网络

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160162897A1 (en) * 2014-12-03 2016-06-09 The Filing Cabinet, LLC System and method for user authentication using crypto-currency transactions as access tokens
GB201707296D0 (en) * 2017-05-08 2017-06-21 Nchain Holdings Ltd Computer-implemented system and method
US20190095879A1 (en) * 2017-09-26 2019-03-28 Cornell University Blockchain payment channels with trusted execution environments
US10630463B2 (en) * 2018-02-26 2020-04-21 Ca, Inc. Meta block chain
TWI684100B (zh) * 2018-06-12 2020-02-01 中華電信股份有限公司 分散式公開帳本的共識形成方法及使用該共識形成方法的系統
US10977626B2 (en) * 2018-06-14 2021-04-13 Capital One Services, Llc Semi-private blockchain virtual currency exchange systems

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109033832A (zh) * 2018-06-22 2018-12-18 深圳前海益链网络科技有限公司 一种防范对区块链网络进行短暂分叉双花攻击的方法
CN108876377A (zh) * 2018-07-06 2018-11-23 杭州复杂美科技有限公司 一种防止重复支付的方法和系统
CN109242456A (zh) * 2018-09-04 2019-01-18 湖南宸瀚信息科技有限责任公司 区块链跨链交易方法、系统及存储介质
CN109493040A (zh) * 2018-10-22 2019-03-19 北京医拍智能科技有限公司 一种基于区块链的抗双花攻击处理方法及装置
CN109670956A (zh) * 2018-12-21 2019-04-23 成都四方伟业软件股份有限公司 区块链交易方法及装置
CN109863522A (zh) * 2018-12-28 2019-06-07 阿里巴巴集团控股有限公司 使用交易重发加速区块链网络中的交易交付
CN109639715A (zh) * 2019-01-04 2019-04-16 中国联合网络通信集团有限公司 避免双花攻击的方法、装置、设备及计算机可读存储介质
CN110689345A (zh) * 2019-09-06 2020-01-14 北京清红微谷技术开发有限责任公司 调整区块权重的无许可区块链共识方法、系统、p2p网络

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Assessing Blockchain Consensus and Security Mechanisms against the 51% Attack";Sayeed S etal;《APPLIED SCIENCE-BASEL》;第9卷(第9期);全文 *
"区块链中双重花费的研究与分析";岳银涛等;《计算机工程与应用》;第55卷(第11期);第1-6页 *

Also Published As

Publication number Publication date
CN113222590A (zh) 2021-08-06
US20210224801A1 (en) 2021-07-22

Similar Documents

Publication Publication Date Title
KR101835520B1 (ko) 밸런스 데이터베이스를 관리하여 통합 포인트 서비스를 제공하는 방법 및 이를 이용한 지원 서버
CN107491948B (zh) 基于区块链技术的转账支付方法
CN111309594B (zh) 一种系统测试方法、装置、设备及存储介质
CN107392769B (zh) 基于区块链技术的代收支付方法
CN106530088A (zh) 基于区块链安全节点对证券产品进行交易的方法
JPH11504144A (ja) 電子マネーシステム
CN110310170A (zh) 订单处理方法、装置、电子设备及存储介质
KR101835519B1 (ko) Utxo 기반 프로토콜에서 머클 트리 구조를 사용하여 통합 포인트 서비스를 제공하는 방법 및 이를 이용한 지원 서버
US20210158339A1 (en) A method of facilitating transactions between users
NL2024367B1 (en) Public chain-based token exchange method and blockchain system
CN107451812B (zh) 基于区块链技术的移动终端上的app应用支付方法
KR20190057909A (ko) 블록체인 기반 부동산 계약 방법 및 부동산 중개 시스템
KR101835518B1 (ko) Utxo 기반 프로토콜을 사용하여 통합 포인트 서비스를 제공하는 방법 및 이를 이용한 지원 서버
WO2021086096A1 (ko) 유가증권의 공매도를 지원하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체
WO2022036702A1 (zh) 资产证券产品的预警方法、装置、电子设备及存储介质
CN108537655A (zh) 用于数字资产的数据处理方法及装置
CN111274597A (zh) 一种数据处理方法以及设备
CN113222590B (zh) 预防双花攻击的方法、装置及计算机可读存储介质
CN112016114B (zh) 基于加密货币的智能合约生成方法、相关设备及存储介质
CN107679839B (zh) 一种数据处理方法和系统
CN110599176B (zh) 基于区块链的数据处理方法、装置、存储介质及节点设备
TWI804707B (zh) 預防雙花攻擊的方法、裝置及電腦可讀存儲介質
CN111192041A (zh) 资源转移方法和资源转移设备
CN114331460A (zh) 基于区块链的基金交易确认方法、装置、设备及存储介质
CN110852891B (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: No. 36, North Street, West District, economic and Technological Development Zone, Binhai New Area, Tianjin

Applicant after: Fulian precision electronics (Tianjin) Co.,Ltd.

Address before: No. 36, North Street, West District, economic and Technological Development Zone, Binhai New Area, Tianjin

Applicant before: HONGFUJIN PRECISION ELECTRONICS (TIANJIN) Co.,Ltd.

GR01 Patent grant
GR01 Patent grant