CN110431577B - 用于检测重放攻击的系统和方法 - Google Patents

用于检测重放攻击的系统和方法 Download PDF

Info

Publication number
CN110431577B
CN110431577B CN201880015572.3A CN201880015572A CN110431577B CN 110431577 B CN110431577 B CN 110431577B CN 201880015572 A CN201880015572 A CN 201880015572A CN 110431577 B CN110431577 B CN 110431577B
Authority
CN
China
Prior art keywords
transaction
identification
candidate transaction
timestamp
blockchain
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
CN201880015572.3A
Other languages
English (en)
Other versions
CN110431577A (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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Advanced New Technologies 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 Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Publication of CN110431577A publication Critical patent/CN110431577A/zh
Application granted granted Critical
Publication of CN110431577B publication Critical patent/CN110431577B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity

Abstract

一种计算机实现的用于检测重放攻击的方法包括:获得用于添加至区块链的至少一个候选交易;验证所述候选交易的标识是否存在于标识数据库中,所述标识数据库包括验证范围之内的多个标识;以及响应于确定所述标识不存在于所述标识数据库中,确定所述候选交易与重放攻击无关。

Description

用于检测重放攻击的系统和方法
技术领域
该申请总体上涉及用于检测重放攻击的方法和设备。
背景技术
重放攻击(也称为回放攻击、新鲜攻击、中间人攻击)是一种网络攻击形式,其中有效的数据传输被恶意或欺骗性地重复或延迟。这可以由发起者发送到节点(例如,服务器)或者由对手拦截数据并将其重新发送到节点来执行。例如,重放攻击可以作为伪装攻击的一部分由互联网协议(Internet Protocol,IP)数据包置换来执行。描述重放攻击的另一种方式是:使用将来自不同环境的消息重放到预期(或原始和期望)环境来攻击安全协议,从而欺骗诚实节点认为他们已成功完成协议运行。例如,协议可以是区块链交易协议。区块链可以分支成两个或更多个子链,这些子链遵循相同的地址、加密密钥和交易系统。一个子链上的合法交易可能会通过重放攻击而在另一个子链上被恶意地重复,从而对发送者造成损失。
虽然区块链相对于传统网络具有各种优势,但它仍然容易受到重放攻击。例如,通过区块链从A到B发送20个以太币(ether)的交易可以在重放攻击中由B重复以持续地消耗A的余额。因此,重放攻击检测对于抵御恶意区块链操作和保护个人财产安全至关重要。
发明内容
本申请的各种实施例包括用于检测重放攻击的系统、方法和非暂态计算机可读介质。
根据一方面,计算机实现的用于检测重放攻击的方法包括:获得用于添加至区块链的至少一个候选交易;验证候选交易的标识是否存在于标识数据库中,该标识数据库包括验证范围之内的多个标识;以及响应于确定标识不存在于标识数据库中,确定候选交易与重放攻击无关。
在一些实施例中,获得的候选交易包括时间戳;验证候选交易的标识是否存在于标识数据库中,包括:验证所述时间戳是否在验证范围之内以及候选交易的标识是否存在于标识数据库中;以及响应于确定标识不存在于标识数据库中,确定候选交易与重放攻击无关,包括:响应于确定时间戳在验证范围之内且标识不存在于标识数据库中,确定候选交易与重放攻击无关。
在一些实施例中,候选交易包括时间戳和交易信息。在获得至少一个候选交易之后并且在验证候选交易的标识是否存在于标识数据库中之前,该方法还包括:至少基于时间戳和交易信息确定哈希值,该哈希值用作标识。
在一些实施例中,候选交易包括时间戳、交易信息以及至少基于时间戳和交易信息确定的哈希值,该哈希值用作标识。在获得至少一个候选交易之后并且在验证候选交易的标识是否存在于标识数据库中之前,该方法还包括:通过至少基于时间戳和交易信息验证哈希值来验证标识。
在一些实施例中,时间戳由发起至少一个候选交易的用户终端配置;并且获得用于添加至区块链的至少一个候选交易包括从用户终端接收候选交易。
在一些实施例中,时间戳由区块链节点配置;并且获得用于添加至区块链的至少一个候选交易包括:从用户终端接收至少一个发起的交易;并且将时间戳添加至所发起的交易以获得至少一个候选交易。
在一些实施例中,该方法还包括:响应于确定时间戳在验证范围之内并且标识不存在于标识数据库中,将标识添加至标识数据库。
在一些实施例中,该方法还包括:响应于确定时间戳在验证范围之内并且标识不存在于标识数据库中,将候选交易添加至用于存储候选交易的高速缓存中。
在一些实施例中,该方法还包括:响应于确定时间戳不在验证范围之内,将错误消息返回到提交候选交易的计算设备。
在一些实施例中,该方法还包括:响应于确定标识存在于标识数据库中,确定候选交易与重放攻击相关联。
在一些实施例中,该方法还包括:执行共识验证,其中,如果确定候选交易与重放攻击无关,则候选交易被包括在共识验证中。
在一些实施例中,该方法还包括:与一个或多个其他区块链节点同步标识数据库;验证时间戳是否在验证范围之内并且候选交易的标识是否存在于同步标识数据库中;响应于确定时间戳在验证范围之内并且标识不存在于标识数据库中,确定候选交易与重放攻击无关;并且响应于确定标识存在于同步的标识数据库中,确定候选交易与重放攻击相关联。
在一些实施例中,在获得至少一个候选交易之前,该方法还包括:与一个或多个其他区块链节点同步标识数据库。
在一些实施例中,标识数据库包括具有与验证范围对应的最近时间段内的时间戳的交易的信息。
在一些实施例中,验证范围基于区块链的最新区块的另一时间戳;并且验证范围被包括在区块链的起源区块中。
在一些实施例中,验证范围基于区块链节点的内部时钟,该区块链节点执行对时间戳是否在验证范围之内的验证。
根据另一方面,一种用于检测重放攻击的系统,包括一个或多个处理器以及耦接至所述一个或多个处理器且配置有指令的一个或多个非暂态计算机可读存储器,所述指令可由所述一个或多个处理器执行以促使所述系统执行操作,所述操作包括:获得用于添加至区块链的至少一个候选交易;验证候选交易的标识是否存在于标识数据库中,所述标识数据库包括验证范围之内的多个标识;以及响应于确定标识不存在于标识数据库中,确定候选交易与重放攻击无关。
根据另一方面,一种配置有指令的非暂态计算机可读存储介质,所述指令可由一个或多个处理器执行以促使所述一个或多个处理器执行操作,所述操作包括:获得用于添加至区块链的至少一个候选交易;验证候选交易的标识是否存在于标识数据库中,所述标识数据库包括验证范围之内的多个标识;以及响应于确定标识不存在于标识数据库中,确定候选交易与重放攻击无关。
通过参考附图考虑以下描述和所附权利要求,本文公开的系统、方法和非暂态计算机可读介质的这些和其他特征、结构的相关元件的操作的方法和功能以及部件的组合和制造的经济性将变得更加显而易见,本发明的所有附图形成本文的一部分,其中,相同的附图标记表示各个附图中的相应部件。然而,应该清楚地理解,附图仅用于说明和描述的目的,并不旨在作为本发明的限制的定义。
附图说明
在所附权利要求中具体阐述了本技术的各种实施例的某些特征。通过参考以下详细描述将获得对该技术的特征和优点的更好理解,所述详细描述阐述了利用本发明原理的说明性实施例以及附图,其中:
图1示出了根据各种实施例的用于检测重放攻击的示例性系统。
图2示出了根据各种实施例的采用重放攻击检测的示例性交易。
图3示出了根据各种实施例的用于检测重放攻击的示例性方法的流程图。
图4A示出了根据各种实施例的用于检测重放攻击的示例性方法的流程图。
图4B示出了根据各种实施例的用于检测重放攻击的示例性方法的流程图。
图5示出了根据各种实施例的用于检测重放攻击的示例性计算机系统的框图。
图6示出了根据各种实施例的用于检测重放攻击的示例性计算机系统的框图。
图7示出了可以实现本文描述的任何实施例的示例性计算机系统的框图。
具体实施方式
区块链可以被认为是去中心化的数据库,通常被称为分布式账本,这是因为操作由网络中的各种节点(例如,计算设备)执行。任何信息可以写入区块链并存入区块链或从区块链中读取。节点例如是支持区块链网络并使其平稳运行的计算设备或大型计算机系统。每个节点可以提供区块链的部分或全部功能。例如,提供共识验证的节点可以被称为共识参与节点(或共识节点)。
在各种实施例中,共识可以是用于区块链节点的网络达成共同接受的处理结果的规则的算法。例如,区块链节点可能由于网络滞后而以不同的次序接收交易,该问题可以通过共识来解决。在一个示例中,在“工作量证明”共识系统下,区块链节点可以包括应用他们的硬件或算力以验证区块链的区块和接收奖励的矿工的设备。生成工作量证明可能是概率很小的随机过程,因此在生成有效的工作量证明之前,平均需要进行大量的试错。比特币使用哈希现金(Hashcash)工作量证明系统。在另一个示例中,在“权益/服务证明”共识系统下,具有一定级别投票权的区块链节点可以被称为共识节点/主节点/主要节点,与非共识节点不同,所述共识节点/主节点/主要节点承担交易验证的责任。共识节点可以生成新的区块链区块并为区块链做出决策,例如,设置区块链的服务费用。共识节点可以与大量加密货币相关联,并基于共同商定的某些共识规则来验证新交易。基于确定共识节点的规则,可以将权益/服务共识系统的证明实现为权益/服务共识系统的基于链的证明、权益/服务共识系统的拜占庭容错算法(BFT)证明等。在本文中,所公开的或另一区块链系统中的全量节点、共识节点或其他等效节点可以做为区块链节点验证交易。例如,区块链系统可以包括公有区块链、联盟区块链、私有区块链等。
与UTXO(未花费的交易输出)模型不同,以太坊基于账户/余额模型(或称为基于账户的交易模型),它保持跟踪每个账户的余额作为全局状态。在交易中,检查账户余额以确保其大于或等于花费的交易金额。提供了账户/余额模型如何在以太坊中运行的示例:
1.爱丽丝(Alice)通过挖矿收获了5个以太币。在系统中记录爱丽丝有5个以太币。
2.爱丽丝想要给鲍勃(Bob)1个以太币,所以系统将首先从爱丽丝的账户中扣除1个以太币,所以爱丽丝现在有4个以太币。
3.然后系统将鲍勃的账户增加1个以太币。系统知道鲍勃最初有2个以太币,因此鲍勃的余额被增加到3个以太币。
在账户/余额模型下,区块链节点除了存储所有以太币交易还存储每个智能合约的最新状态。对于每个以太坊应用,网络可以保持跟踪当前信息或者“状态”,包括账户随机数(account nonce)、每个用户的余额、所有智能合约代码(例如,二进制代码)、存储空间(例如,用于存储哈希值)。
与UTXO模型通过将可用余额定义为上一次交易中未花费的金额来防止重放攻击或双重花费不同,传统的账户/余额模型使用账户随机数作为筛选重放攻击的机制。账户随机数是每个账户中用于防止重放攻击的交易计数器。虽然账户/余额模型中可能同时存在以下两者,但是账户随机数区别于工作量证明共识系统中的工作量证明随机数,工作量证明随机数是区块中无意义的值,可以被调整以便试图满足UTXO模型下的工作量证明条件。尽管主要参考账户/余额模型(权益/服务证明系统)进行描述,但是所公开的系统和方法不限于账户/余额模型下的应用(例如,以太坊系统)。
重放攻击通常用于通过双重花费某种资产来非法获取收益。为了使双重花费“成功”,恶意用户通常会:向一方发送交易、等待交易注册、反过来从该第一交易收集资料、快速发送另一高空气价格(gas price)的交易(以太坊计算的价格)并且使第二交易被首先开采,因此使第一交易无效。第二交易通常是第一交易的副本但有一些变化(例如,时间、佣金价格、接收者或由发送者配置的其他参数)。第二交易可以使用与第一交易相同的标识(例如,哈希值)。由于较高的佣金价格可能会吸引矿工首先开采第二交易,因此在第一交易之前开采的第二交易可能允许恶意用户在执行第二交易时保持来自第一交易的回报,从而实现双重花费。使用账户随机数意在消除该问题。
当在以太坊进行交易时,在同一账户的每个交易上附加连续编号作为账户随机数。因此,账户随机数也可以指示从给定账户地址发送的交易的数量。账户随机数由区块链网络(包括其节点)来维护。每个节点将根据其账户随机数的值以严格的次序处理来自特定账户的交易。因此,未能正确递增账户随机数的值可能会导致不同类型的错误。例如,假设最新的账户随机数为121,如果账户所有者为同一账户发送账户随机数为121或更低(尝试重新使用账户随机数)的新的交易,则节点将拒绝它。在相同的假设下,如果账户所有者发送具有123或更高的账户随机数的新交易,则在该缺漏消除之前,即直到具有账户随机数122的交易已被处理之前,将不处理该交易。
如背景部分所述,重放攻击检测对于抵御恶意区块链操作和保护个人财产安全至关重要。虽然区块链有利于去中心化共识验证,但它仍然容易受到重放攻击。特别是,账户随机数机制具有某些缺点或不足。例如,为了发起交易,用户终端可能需要首先从区块链节点获得账户随机数,从而增加了区块链节点的通信负担。再例如,账户随机数机制对于如下所示的许多情况是不可靠的。在情况(1)中,账户将具有相同交易费用的第一交易和随后的第二交易发送到同一区块链节点。但是,如果区块链节点由于无序网络数据包传输而在第一交易之前先接收到第二交易,则区块链节点将执行第二交易并且随后执行第一交易,由于不符合账户随机数机制而导致两个交易都执行失败。在情况(2)中,账户将第一交易和随后的具有更高交易费用的第二交易发送到同一区块链节点。为了最大化收益,区块链节点可以被编程为优先执行第二交易并且随后执行第一交易,由于不符合账户随机数机制而导致两个交易都执行失败。在情况(3)中,账户从各种用户终端并行地发送不同的交易,但这些交易将具有相同的账户随机数值。结果是,至多一个交易将被成功处理。
为了至少减轻当前技术的缺陷,提供对上述技术问题的技术解决方案,并且提高计算机功能,公开了用于检测重放攻击的系统和方法。如下所述,在各种实施例中,时间戳验证和交易标识验证的组合可用于替换账户随机数的使用以实现稳健的重放攻击检测。因此,恶意交易可以从诚实交易中及时被识别并丢弃。
图1示出了根据各种实施例的用于执行各种公开的步骤和方法的示例性系统100。如图所示,区块链网络可以包括多个区块链节点(例如,节点1、节点2、节点3、节点4、节点i,等等)。区块链节点可以形成网络(例如,点对点网络),其中一个区块链节点与另一区块链节点通信。所示的区块链节点的次序和数量仅仅是示例性的并且为了简化说明。区块链节点可以在服务器、计算机等中实现。每个区块链节点可以对应于经由诸如TCP/IP的各种类型的通信方法耦接在一起的一个或多个物理硬件设备或虚拟设备。根据分类,区块链节点可以包括全量节点、Geth节点、共识节点等。
在各种实施例中,用户A和用户B可以使用诸如膝上型电脑和移动电话的相应设备来触发区块链节点执行交易,这可能会或可能不会涉及区块链合约(例如,智能合约)。在一个示例中,用户A可能想要通过将用户A的账户中的一些资产转移到用户B的账户来与用户B进行交易。用户A和用户B可以使用安装有适当的区块链软件(例如,加密货币钱包)的相应设备节点A和节点B(也称为用户终端)来发起、转发或访问交易。用户A的设备节点A可以被称为发起者节点,其发起与用户B的设备节点B(称为接收者节点)的交易。节点A可以通过与节点1进行通信来访问区块链,并且节点B可以通过与节点2进行通信来访问区块链。节点A、节点B或类似的节点可以通过节点1、节点2或类似的节点向区块链提交交易来请求将交易添加至区块链。在区块链之外,节点A和节点B可以具有其他通信信道(例如,不经过节点1和节点2的常规互联网通信)。在一些实施例中,节点A上的区块链软件可以被认为是区块链节点1的前端,并且区块链节点1运行区块链软件的后端。
图1中的每个节点可包括处理器和非暂态计算机可读存储介质,该非暂态计算机可读存储介质配置有可由处理器执行以使节点(例如,处理器)执行用于检测本文所述的重放攻击的各种操作的指令。每个节点可以安装有软件(例如,交易程序)和/或硬件(例如,有线、无线连接)以与其他节点和/或其他设备通信。例如,诸如节点A和节点B的用户设备可以安装有诸如加密货币钱包之类的用户端软件,并且区块链节点可以安装有区块链交易处理软件。稍后将参考图5至图7描述节点硬件和软件的进一步细节。
区块链节点可以各自包括或耦接到存储器。在一些实施例中,存储器可以存储池数据库。池数据库可以以分布式方式被多个区块链节点访问。例如,池数据库可以分别存储在区块链节点的存储器中。池数据库可以存储由一个或多个用户设备(例如由用户操作的节点A和B)提交的多个交易。在关于以太坊系统的一些实施例中,在接收到未确认交易的交易请求之后,接收者区块链节点可以执行交易的一些初步验证。例如,参考图1,节点1可以在从节点A接收到交易之后执行初步验证。一旦被验证,该交易可以存储在接收者区块链节点的池数据库中,池数据库还可以将交易转发到一个或多个其他区块链节点(例如,节点3、节点4),所述其他区块链节点重复由接收者节点完成的处理。一旦相应池数据库中的交易达到一定水平,每个区块链节点就可以根据共识规则或另一方法验证相应池数据库中的一批交易。如果交易涉及区块链合约,则区块链节点可以在本地执行区块链合约。成功验证其一批交易的特定区块链节点(例如,根据共识规则)可以将交易打包以添加至其区块链的本地副本中,并将结果传播到其他区块链节点。特定区块链节点可以是首先完成成功验证的节点、已获得验证特权的节点或基于另一共识规则确定的节点。其他区块链节点可以在本地执行交易,(例如,通过执行哈希计算)彼此验证执行结果,并且使区块链的副本与特定区块链节点的副本同步。通过更新区块链的本地副本,区块链节点可以将这样的信息写入本地存储器。如果在某些时点验证失败,则拒绝交易。
图2示出了根据各种实施例的采用重放攻击检测的示例性交易。
在一些实施例中,发起者节点可以从地址3df53h的账户(账户A)向地址45wqr1的账户(账户B)发起2个以太币的交易X。在交易前,账户A有10个以太币并且账户B有1个以太币。交易X可以由发起者节点(例如,计算机、移动电话)提交给区块链节点(例如,全量节点)。交易X可以与例如以下的时间戳相关联:由发起者节点通过区块链节点提交交易X的时间点;区块链节点提交交易X的时间点;或者交易X由执行共识验证的另一区块链节点接收的时间点。交易X在被验证并添加至区块链之前可以被称为候选交易。区块链节点可以将候选交易X与其他候选交易一起保存在池数据库中。区块链节点可以将交易X的标识(例如,哈希值)保存到标识数据库(例如,哈希值表)中。
在一些实施例中,多个区块链节点可以根据共识规则来验证池数据库的候选交易。例如,区块链节点可以验证发送账户是否有足够的资金、发送者和接收者是否已经签发了交易、交易金额是否在允许范围之内等。通过共识验证,区块链节点可以同步它们的标识数据库以包括存储在标识数据库中的所有交易标识。例如,标识数据库可以各自存储特定的最近时间段的交易。对于重放攻击检测,区块链节点可以验证候选交易的时间戳是否在最近时间段内,并且如果是,则针对重放攻击筛选违反标识数据库的候选交易。
时间戳和标识验证可以在共识验证之后执行一次或执行两次:在共识验证之前和之后。如果满足合规性,则区块链节点可以将经验证的候选交易打包到新区块中以添加至区块链。因此,当交易X被添加至区块链时,将识别出账户A的将2个以太币转移到账户B的交易X。
图3示出了根据各种实施例的用于重放攻击检测的示例性步骤300。步骤300可以由图1的系统100的一个或多个组件(例如,节点A、节点1、节点A和节点1的组合、节点2、节点i)来实现。下面列出的操作仅供参考。取决于实现方式,示例性步骤300可以包括以各种次序或并行执行的附加的、更少的或替代的步骤。
在各种实施例中,如前所述,例如,在账户/余额模型下,时间戳被添加至交易中。在一个示例中,交易发起者节点(例如,图1中的节点A)或备选用户终端可以将时间戳(例如,时间戳参数)添加至未确认交易的提交中以供区块链节点验证。或者,接收未确认交易的区块链节点(例如,图1中的节点1)可以添加时间戳。时间戳可以精确到各种级别(例如,毫秒级)。随着时间戳的准确性的增加,所公开的系统和方法可以支持在单位时间内由一个账户发起的更多交易。例如,如果时间戳精确到10ms,则所公开的系统和方法最多可以支持由记录在100个不同用户终端上的同一账户发起的大约100个不同的交易,同时将意在作为重放攻击的那些交易排除在外。
在一些实施例中,验证范围可用于至少克服上述账户随机数的缺点。验证范围是一个时间窗,在该时间窗中针对重放攻击筛选最近的交易。验证范围可以相对于通用标准来定义,例如,在区块链的最新区块的时间戳在区块链中被普遍接受后,距最新区块的时间戳的一个时间段内。例如,区块链的最新区块可以在北京时间2018年6月8日08:42:44被添加,并且验证范围可以是在该时间之前和/或之后的两小时。在共识验证之前,可以替代地使用节点的本地时间(例如,基于内部时钟)。在共识验证之前和之后,如果节点的内部时钟与通用标准基本一致,则可以替代地使用节点的本地时间。验证范围可能长得足以维持重放攻击检测效率,并且短得足以限制数据存储要求。验证范围可以包括在区块链的起源区块(genesis block,有史以来的第一区块)中,以确保每个区块链节点同意并使用相同的验证范围。使用验证范围,重放攻击检测不需要发起者节点的时间和区块链节点的时间之间的同步,也不需要不同区块链节点之间的系统时间同步。同样,区块链节点可以在不同的时间验证相同的候选交易,并且仍然获得相同的结果。
在一些实施例中,一旦接收到候选交易,区块链节点就可以基于验证范围来验证候选交易的时间戳。随着成功验证时间戳并且没有检测到重放攻击,区块链节点还可以在验证范围中存储候选交易的标识。例如,区块链节点可以将经验证的交易的哈希值存储在区块链节点的存储器(例如,高速缓存)中的交易哈希值表中。高速缓存存储器可以实现从交易哈希值表进行快速数据查询,从而提高整体交易效率(例如,增加每秒的交易数)。存储的哈希值表可以存储与验证范围相对应的最近时间段(例如,最近两个小时)内的信息。通过利用验证范围,区块链节点不再需要针对重放攻击搜索整个区块链,这通常需要花费很长时间才能从硬盘中搜索,并且该时间随着区块连续添加至区块链中而增加。相反,从对应于从验证范围收集的信息的高速缓存存储器中搜索可以显著提高重放攻击检测的效率。下面描述了这些步骤的分解。
在步骤301,区块链节点可以获得由发起者节点提交的候选交易以验证并添加至区块链。在步骤302,区块链节点可以验证交易时间戳。如果验证成功,则执行步骤303,并且区块链节点确定候选交易的交易哈希值是否存在于哈希值表中。哈希值表可以存储对应于验证范围的时间段内的所有交易的哈希值。如果候选交易的交易哈希值已经在哈希值表中,则表明候选交易可能与重放攻击有关并且验证失败。否则,在步骤304验证成功,并且在步骤305区块链节点将交易哈希值保存到哈希值表。如果步骤302中的验证失败,则执行步骤306,并且可以将错误消息返回给提交了交易的用户终端。如果步骤303中的确定失败,则执行步骤306,并且将具有最早时间戳的交易视为真实交易,并且将所有后续交易视为潜在重放攻击并丢弃。也可以从哈希值表中清除后续交易的哈希值。
在一些实施例中,对于允许每个节点发起交易的挖矿(根据共识规则验证交易)的共识协议,重放攻击可以将各种区块链节点作为目标,并且目标区块链节点在根据共识规则执行交易验证之前不能检测到威胁。因此,在区块链节点根据共识规则执行交易验证之后,区块链节点可以获得哈希值表的完整信息,并执行步骤302至305以筛选重放攻击。因此,可以在区块链节点根据共识规则执行交易验证之后执行步骤302至305。然而,可以在区块链节点根据共识规则执行交易验证之前另外执行步骤302至305。通过在交易验证之前执行步骤302至305,可以初步清除潜在的重放攻击。也就是说,步骤302至305可以在根据共识规则验证交易(1)之前和之后或(2)之后执行。无论是执行一次还是两次,步骤302和步骤303可以以任何次序执行而不影响结果。
图4A示出了根据本文的各种实施例的用于检测重放攻击的示例性方法400的流程图。方法400可以由图1的系统100的一个或多个组件(例如,节点1、节点A和节点1的组合、节点2、...、节点i)来实现。方法400可以由一个或多个区块链节点实现。方法400可以由系统或设备(例如,计算机、服务器)实现。系统或设备可以包括一个或多个处理器以及一个或多个非暂态计算机可读存储介质(例如,一个或多个存储器),所述一个或多个非暂态计算机可读存储介质耦接到一个或多个处理器并配置有可由一个或多个处理器执行以使得系统或设备(例如,处理器)执行方法400的指令。以下呈现的方法400的操作旨在是说明性的。取决于实施方式,示例性方法400可以包括以各种次序或并行执行的附加的、更少的或替代步骤。
方框441包括:获得用于添加至区块链的至少一个候选交易,所获得的候选交易包括时间戳。
方框442包括:验证时间戳是否在验证范围之内且候选交易的标识(例如,哈希值或可选标识)是否存在于标识数据库中(例如,哈希值表)。
方框443包括:响应于确定时间戳在验证范围之内且标识不存在于标识数据库中,确定候选交易与重放攻击无关。
下面描述的方法450的各种术语、实施例、和示例可以类似地适用于方法400。
图4B示出了根据本文各种实施例的用于检测重放攻击的示例性方法450的流程图。方法450可以由图1的系统100的一个或多个组件(例如,节点1,节点A与节点1、节点2、……、节点i的组合)实施。方法450可以由一个或多个区块链节点实施。方法450可以由系统或设备(例如,计算机、服务器)实施。所述系统或设备可以包括一个或多个处理器以及耦接至所述一个或多个处理器且配置有指令的一个或多个非暂态计算机可读存储介质(例如,一个或多个存储器)实施,所述指令可由所述一个或多个处理器执行以促使系统或设备执行方法450。下面使出的方法450的操作旨在是示意性的。取决于实施方式,示例性方法450可以包括以各种顺序或并行方式执行的附加的、更少的或可选的步骤。
方框451包括:获得用于添加至区块链的至少一个候选交易,所获得的候选交易可包括时间戳。在一些实施例中,区块链可以基于账户/余额模型(例如,以太坊系统、诸如实用拜占庭容错系统的BFT系统、HoneyBager或哈希图(Hashgraph)系统),但具有所公开的系统替代使用账户随机数(如果存在的话)用于检测重放攻击。
在一些实施例中,所获得的候选交易包括时间戳。候选交易包括时间戳、交易信息以及至少基于时间戳和交易信息确定的哈希值,该哈希值用作标识。在获得至少一个候选交易之后并且在验证候选交易的标识是否存在于标识数据库中之前,该方法还包括:通过至少基于时间戳和交易信息验证哈希值来验证标识。例如,候选交易可以包括一个或多个参数,例如时间戳、发送者(交易发送者地址)、接收者(交易接收者地址)、数值(交易项目)、数据(区块链合约,如果有的话)、交易付款(例如,空气限制(gas limit)、空气值(gasvalue))、哈希值(用作交易的唯一标识的哈希值)和/或其他信息(例如,签名(发送者签署的证明))。这些参数可以统称为交易结构体。除了时间戳(和签名)之外的所包括的参数可以被称为交易信息。可以基于交易信息(例如,通过将时间戳和交易信息作为输入的哈希函数)来(例如,由诸如发起候选交易的节点A之类的节点)确定哈希值。为了至少基于时间戳和交易信息来验证哈希值,获得候选交易的区块链节点(例如,节点1)可以利用输入重新计算哈希函数以检查哈希值。
在一些实施例中,候选交易包括时间戳和交易信息。在获得至少一个候选交易之后并且在验证候选交易的标识是否存在于标识数据库中之前,该方法还包括:至少基于时间戳和交易信息确定哈希值,哈希值用作标识。例如,候选交易可以包括一个或多个参数,例如时间戳、发送者、接收者、数值、数据、交易付款和/或其他信息。除时间戳之外的所包括的参数可以被称为交易信息。可以基于时间戳和交易信息(例如,通过将时间戳和交易信息作为输入的哈希函数)来(例如,由诸如接收候选交易的节点1的区块链节点)确定哈希值。
在一些实施例中,时间戳由发起至少一个候选交易的用户终端配置;并且获得用于添加至区块链的至少一个候选交易包括:从用户终端接收候选交易。例如,用户终端可以是图1中的节点A,其将候选交易发送至节点1。在将候选交易发送至节点1之前,节点A可能已经将时间戳添加至候选交易中。
在一些实施例中,时间戳由区块链节点配置;并且获得用于添加至区块链的至少一个候选交易包括:从用户终端接收至少一个发起的交易;并且将时间戳添加至所发起的交易以获得至少一个候选交易。例如,用户终端可以是图1中的节点A,其将候选交易发送到节点1。节点A可能尚未将时间戳添加至候选交易,并且节点1可以将时间戳添加至接收的候选交易。作为接收候选交易的第一区块链节点,节点1可以根据其内部时钟或备用时间源添加时间戳。一旦其他区块链节点稍后接收到候选交易,其他区块链节点就可以获得由节点1添加的时间戳。
方框452包括:验证候选交易的标识(例如,哈希值或可选标识)是否存在于标识数据库(例如,池数据库的哈希值表)中,标识数据库包括验证范围之内的多个标识。
在一些实施例中,验证候选交易的标识是否存在于标识数据库中,包括:验证时间戳是否在验证范围之内以及候选交易的标识是否存在于标识数据库中。可以以任何次序执行时间戳的验证和标识的验证。标识数据库可以存储在存储介质中。标识数据库可以存储在高速缓存存储器中。
在一些实施例中,标识数据库包括具有与验证范围对应的最近时间段内的时间戳的交易的信息。例如,每个区块链节点可以维护标识数据库以存储由区块链节点在自区块链最新区块的时间戳起两小时内接收的候选交易的哈希值。区块链节点可以在每次共识验证时同步它们的标识数据库,以汇集所存储的哈希值。在每次共识验证之后,可以将新区块添加至区块链中,并且区块链的最新区块的时间戳在时间上向前推进。例如,区块链的最新区块可以在特定日期的上午5点被添加,并且验证范围可以是该特定日期的上午5点到上午7点。然后,在上午7点添加新块后,验证范围变为该特定日期的上午7点到上午9点。因此,可以通过添加验证范围之内的哈希值和/或移除验证范围之外的哈希值来更新标识数据库中的哈希值。每个哈希值可以与对应的时间戳相关联,以确定哈希值是在验证范围之内还是之外。
在一些实施例中,验证范围是基于区块链的最新区块的另一时间戳(例如,由区块链网络普遍同意的另一时间戳+另一时间戳的验证范围);且验证范围被包括在区块链的起源区块中。
在一些实施例中,验证范围基于区块链节点的内部时钟,该区块链节点执行对时间戳是否在验证范围之内的验证。
方框453包括:响应于确定标识不存在于标识数据库中,确定候选交易与重放攻击无关。在一些实施例中,响应于确定标识不存在于标识数据库中,确定候选交易与重放攻击无关,包括:响应于确定时间戳在验证范围之内且标识不存在于标识数据库中,确定候选交易与重放攻击无关。
在一些实施例中,方法450还包括:响应于确定时间戳在验证范围之内并且标识不存在于标识数据库之中,将标识添加至标识数据库。
在一些实施例中,方法450还包括:响应于确定时间戳在验证范围之内并且标识不存在于标识数据库之中,将候选交易添加至用于存储候选交易的高速缓存中。例如,高速缓存可以是池数据库。高速缓存也可以存储标识数据库(例如,哈希值表)。
在一些实施例中,方法450还包括:响应于确定时间戳不在验证范围之内,将错误消息返回到提交候选交易的计算设备。候选交易可以与重放攻击关联或无关,但因为它在验证范围之外(例如,在当前时间之前很久),因此仍然是无效的交易。因此,候选交易被拒绝添加至区块链。
在一些实施例中,方法450还包括:响应于确定标识存在于标识数据库中,确定候选交易与重放攻击相关联。因此,拒绝将候选交易添加至区块链。
方法450可以在各种区块链系统(例如以太坊系统、PBFT系统、HoneyBadger或Hashgraph系统等)中实现。在一些实施例中,该方法还包括:执行共识验证,其中,如果确定候选交易与重放攻击无关,则在共识验证中包括候选交易。例如,在以太坊系统中,可以在共识节点执行一轮共识验证之前执行时间戳和识别验证。在任何公开的区块链系统中,执行共识验证可能无法检测重放攻击,而所公开的方法则可以实现重放攻击检测。
在一些实施例中,方法450还包括:与一个或多个其他区块链节点同步标识数据库;验证时间戳是否在验证范围之内,以及候选交易的标识是否存在于同步的标识数据库中;响应于确定时间戳在验证范围之内并且标识不存在于标识数据库中,确定候选交易与重放攻击无关;并且响应于确定标识存在于同步的标识数据库中,确定候选交易与重放攻击相关联。例如,在以太坊系统中,可选地,可以在共识节点执行一轮共识验证之后再次执行时间戳和标识验证。通过共识验证,标识数据库和/或池数据库可以在区块链节点之间同步。
在一些实施例中,在获得至少一个候选交易之前,方法450还包括:与一个或多个其他区块链节点同步标识数据库。例如,在PBFT系统中,单个区块链节点(例如,主要节点)可以负责发起共识验证。在接收到候选交易之后,非主要区块链节点(例如,备份节点)可以将候选交易转发到主要节点。主要节点可以在接收到候选交易之后并且在执行共识验证之前执行方法450。在执行共识验证之后,非主要节点可以将它们的候选交易列表与主要节点同步以执行候选交易。因此,在共识验证之后并且在执行候选交易之前,非主要节点可以或可以不执行方法450。
另一示例,在HoneyBadger或Hashgraph系统中,每个区块链节点可能不转发它接收的候选交易。每个区块链节点可以发起对所接收的候选交易的共识验证。因此,如果将真实交易和重放攻击交易分别发送到均执行方法450的两个不同区块链节点,则两个交易可能都通过。为了检测重放攻击,在执行共识验证之后,区块链节点可以共享通过共识验证的候选交易然后再次执行方法450。也就是说,HoneyBadger或Hashgraph系统中的区块链节点可以同步它们的标识数据库和/或它们的池数据库并执行方法450。通过在共识验证之后执行方法450,区块链节点可以向区块链添加新的交易(例如,通过将更新的区块链写入本地存储器中)。
这样,所公开的系统和方法可以减轻或克服现有技术中的缺陷,以实现稳健的重放攻击检测。通过用所公开的时间戳和标识验证的组合替换账户随机数,用户终端不再需要向区块链节点查询随机数值。因此,降低了用户终端和区块链节点之间的通信成本。
对于情况(1),账户将具有相同交易费用的第一交易和随后的第二交易发送到同一区块链节点。但是,如果区块链节点由于无序网络数据包传输而在第一交易之前接收到第二交易,则区块链节点将执行第二交易然后执行第一交易,由于不符合账户随机数机制导致两个交易都执行失败。所公开的系统和方法可以使用时间戳和/或标识验证来替换账户随机数机制,使得来自相同账户的有效交易可以不必以预定义的次序执行。也就是说,从同一账户接收有效交易的次序不会阻止交易的成功执行。
对于情况(2),账户将第一交易和随后具有更高交易费用的第二交易发送到同一区块链节点。为了最大化收益,区块链节点可以被编程为优先执行第二交易然后执行第一交易,由于不遵守账户随机数机制而导致两个交易都执行失败。所公开的系统和方法可以防止这个问题,因为,类似于情况(1),从同一账户接收有效交易的次序不会阻止交易的成功执行。
在情况(3)中,账户从各种用户终端并行发送不同的交易,但是这些交易将具有相同的账户随机数值。结果,至多一个交易将在账户随机数机制下成功处理。因为放弃了账户随机数,所公开的系统和方法可以防止该问题并允许所有交易的成功执行。而且,如前所述,时间戳的准确性可以支持在添加新区块之前执行由同一账户发起的大量交易,这些交易在时间上基本上接近。
此外,根据区块链的共识规则在验证候选交易之前和之后(或紧随其后)筛选重放攻击可以减轻包括验证账户随机数的原始共识验证的负担。验证范围的使用显著减小了要搜索的数据库的大小,并且不需要搜索整个区块链。因此,标识数据库允许以高效且低成本的方式筛选重放攻击。此外,时间戳与验证范围的关联允许以任何次序从同一账户提交多个交易,而不会导致交易处理中断。此外,该验证范围避免了要求用户终端和区块链节点之间的同步,并且区块链节点可以在不同时间验证相同的交易以实现相同的验证结果。
本文描述的技术由一个或多个专用计算设备实现。专用计算设备可以是台式计算机系统、服务器计算机系统、便携式计算机系统、手持设备、网络设备或包含硬连线和/或程序逻辑以实现这些技术的任何其他设备或设备的组合。计算设备通常由操作系统软件控制和协调。传统的操作系统控制和调度用于执行的计算机进程,执行存储器管理,提供文件系统、网络、I/O服务,以及提供用户界面功能(例如图形用户界面(“GUI”))等。
图5示出了根据各种实施例的用于实现区块链合约的示例性计算机系统550的框图。系统550可以是图1的系统100的节点1、节点A和节点1的组合、节点2、...、节点i或类似的设备的示例性实现方式。方法400可以由计算机系统550实现。计算机系统550可以包括一个或多个处理器以及一个或多个非暂态计算机可读存储介质(例如,一个或多个存储器),所述一个或多个非暂态计算机可读存储介质耦接到一个或多个处理器并配置有可由一个或多个处理器执行以使系统或设备(例如,处理器)执行方法400的指令。计算机系统550可包括与指令(例如,软件指令)对应的各种单元/模块。在一些实施例中,计算机系统550可以包括:第一获得模块551,其被配置为获得用于添加至区块链的至少一个候选交易,所获得的候选交易包括时间戳;第一验证模块552,被配置为验证时间戳是否在验证范围之内以及候选交易的标识是否存在于标识数据库中;第一确定模块553,被配置为响应于确定时间戳在验证范围之内并且标识不存在于标识数据库中,确定候选交易与重放攻击无关。
图6示出了根据各种实施例的用于实现区块链合约的示例性计算机系统560的框图。系统560可以是图1的系统100的节点1、节点A和节点1的组合、节点2、...、节点i或类似的设备的示例性实现方式。方法450可以由计算机系统560实现。计算机系统560可以包括一个或多个处理器以及一个或多个非暂态计算机可读存储介质(例如,一个或多个存储器),所述一个或多个非暂态计算机可读存储介质耦接到一个或多个处理器并配置有可由一个或多个处理器执行以使系统或设备(例如,处理器)执行方法450的指令。计算机系统560可包括与指令(例如,软件指令)对应的各种单元/模块。在一些实施例中,计算机系统560可以包括:第二获得模块561,被配置为获得用于添加至区块链的至少一个候选交易;第二验证模块562,被配置为验证候选交易的标识是否存在于标识数据库中,该标识数据库包括位于验证范围之内的多个标识;第二确定模块563,被配置为响应于确定标识不存在于标识数据库中,确定候选交易与重放攻击无关。
图7是示出了可以在其上实现本文描述的任何实施例的计算机系统700的框图。系统700可以在本文描述的任何节点中实现,并且被配置为执行用于检测重放攻击的相应步骤。计算机系统700包括总线702或用于传送信息的其它通信机制、与总线702耦接的用于处理信息的一个或多个硬件处理器704。硬件处理器704可以是例如一个或多个通用微处理器。
计算机系统700还包括耦接至总线702的用于存储信息和要由处理器704执行的指令的主存储器706,诸如随机存取存储器(RAM)、高速缓存和/或其他动态存储设备。主存储器706还可以用于存储在执行指令期间要由(一个或多个)处理器704执行的临时变量或其它中间信息。当这些指令被存储在处理器704可访问的存储介质中时,这些指令使计算机系统700呈现为专用机器,所述专用机器被定制为执行指令中所指定的操作。计算机系统700还包括耦接至总线702的用于存储用于处理器704的静态信息和指令的只读存储器(ROM)708或其他静态存储设备。诸如磁盘、光盘或USB拇指驱动器(闪存驱动器)等的存储设备710被提供并耦接至总线702,用于存储信息和指令。
计算机系统700可以使用定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑实现本文描述的技术,所述固件和/或程序逻辑与计算机系统相结合使得计算机系统700成为专用机器或将计算机系统700编程为专用机器。根据一个实施例,计算机系统700响应于处理器704执行包含在主存储器706中的一个或多个指令的一个或多个序列,执行本文描述的操作、方法和处理。这些指令可以从另一存储介质诸如存储设备710读入主存储器706。执行包含在主存储器706中的指令序列使得处理器704执行本文描述的处理步骤。在替代实施例中,可以使用硬连线电路代替软件指令,或将硬连线电路与软件指令组合使用。
主存储器706、ROM 708和/或存储设备710可以包括非暂时性存储介质。如本文所使用的术语“非暂时性介质”和类似术语指的是存储用以使机器以特定方式操作的数据和/或指令的介质,所述介质不包括瞬态信号。这种非暂时性介质可包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘或磁盘,诸如存储设备710。易失性介质包括动态存储器,例如主存储器706。非暂时性介质的常见形式包括例如软盘、柔性盘、硬盘、固态驱动器、磁带或任何其它磁性数据存储介质、CD-ROM、任何其它光学数据存储介质、具有孔图案的任何物理介质、RAM、PROM和EPROM、FLASH-EPROM、NVRAM、任何其它存储芯片或存储盒、以及它们的联网版本。
计算机系统700还包括耦接至总线702的网络接口718。网络接口718提供耦接至一个或多个网络链路的双向数据通信,所述一个或多个网络链路连接至一个或多个本地网络。例如,网络接口718可以是综合业务数字网络(ISDN)卡、电缆调制解调器、卫星调制解调器或提供至相应类型的电话线的数据通信连接的调制解调器。作为另一示例,网络接口718可以是提供至兼容局域网(LAN)(或与WAN通信的WAN组件)的数据通信连接的LAN卡。无线链路也可以被实现。在任何这样的实现方式中,网络接口718发送和接收承载表示各种类型的信息的数字数据流的电信号、电磁信号或光信号。
计算机系统700可以通过网络、网络链路和网络接口718发送消息并接收数据,包括程序代码。在因特网示例中,服务器可以通过因特网、ISP、本地网络和网络接口718传输所请求的用于应用程序的代码。
所接收的代码可以在被接收时由处理器704执行,和/或存储在存储设备710或其他非易失性存储设备中以供稍后执行。
在前述部分中描述的每个处理、方法和算法可以在由一个或多个计算机系统或包括计算机硬件的计算机处理器执行的代码模块中实现,并且是完全自动化或部分自动化的。处理和算法可以在专用电路中部分或全部地被实现。
上述各种特征和处理可彼此独立地使用,或者可以各种方式组合。所有可能的组合和子组合都将落入本公开的范围之内。另外,在一些实现方式中可以省略某些方法或处理框。本文描述的方法和处理也不限于任何特定次序,且与其相关的框或状态可以以其它适当的次序来执行。例如,所描述的框或状态可以以不同于具体公开的顺序来执行,或者多个框或状态可以被组合在单个框或状态中。示例性框或状态可以串行、并行或以一些其它方式执行。可以向所公开的示例性实施例添加框或状态或从所公开的示例性实施例中移除框或状态。本文所述的示例性系统和组件可与所述的不同地构造。例如,与所公开的示例性实施例相比,可以添加、去除或重新布置元件。
本文描述的示例性方法的各种操作可以至少部分地由算法执行。所述算法可以包括在存储在存储器(例如,上述的非暂时性计算机可读存储介质)中的程序代码或指令中。这种算法可以包括机器学习算法。在一些实施例中,机器学习算法可以不显式地编程计算机以执行功能,但可以从训练数据中学习以建立执行所述功能的预测模型。
本文描述的示例性方法的各种操作可以至少部分地由(例如,通过软件)被临时配置或永久地配置为执行相关操作的一个或多个处理器执行。无论是临时配置还是永久配置,这样的处理器可以构成操作以执行本文描述的一个或多个操作或功能的处理器实现的引擎。
类似地,本文描述的方法可以至少部分地由处理器实现,其中特定的一个或多个处理器是硬件的示例。例如,方法的至少一些操作可以由一个或多个处理器或者处理器实现的引擎来执行。此外,一个或多个处理器还可操作以支持“云计算”环境中的相关操作的性能,或作为“软件即服务”(SaaS)操作。例如,至少一些操作可以由一组计算机(例如,包括处理器的机器)执行,这些操作可以经由网络(例如,因特网)并经由一个或多个适当的接口(例如,应用程序接口(API))被访问。
某些操作性能可以分布在处理器之间,不仅驻留在单个机器内,而且跨多个机器部署。在一些示例性实施例中,处理器或处理器实现的引擎可以位于单个地理位置(例如,在家庭环境、办公室环境或服务器群内)。在其它示例性实施例中,处理器或处理器实现的引擎可以分布在多个地理位置上。
在整个说明书中,多个实例可以实现被描述为单个实例的组件、操作或结构。尽管将一个或多个方法的各个操作示出并描述为单独的操作,但是这些单个操作中的一个或多个可以同时执行,并且不要求这些操作按所示顺序执行。在示例性配置中作为单独组件呈现的结构和功能可以被实现为组合结构或组件。类似地,作为单个组件呈现的结构和功能可以被实现为单独的组件。这些和其它变化、修改、添加和改进都落入本文的主题的范围之内。
尽管已经参考具体的示例性实施例描述了主题的概述,但是在不脱离本发明的实施例的更广范围的情况下,可以对这些实施例进行各种修改和改变。如果实际上公开了不只一个公开内容或概念,主题的这些实施例在本文中可单独或共同地由术语“发明”指代,这仅仅是为了方便,而不是旨在主动将本申请的范围限制到任何单个公开内容或概念。不应以限制性意义来理解具体实施方式,且各种实施例的范围仅由所附权利要求书连同所述权利要求书有权获得的等效物的全部范围来界定。

Claims (42)

1.一种计算机实现的用于检测重放攻击的方法,应用于区块链系统的每个区块链节点,所述区块链系统为HoneyBadger或Hashgraph系统,所述方法包括:
获得用于添加至区块链的至少一个候选交易;每个候选交易包括时间戳;
在执行共识验证之后,与其他区块链节点共享通过共识验证的候选交易;
验证通过共识验证的候选交易所包括的时间戳是否在验证范围之内以及通过共识验证的候选交易的标识是否存在于标识数据库中,所述标识数据库包括在验证范围之内的多个标识;所述验证范围包括:距区块链的最新区块的时间戳的时间窗口,以及
响应于确定通过共识验证的候选交易所包括的时间戳在所述验证范围之内且通过共识验证的候选交易的标识不存在于所述标识数据库中,确定所述候选交易与重放攻击无关。
2.如权利要求1所述的方法,其中:
所述候选交易包括所述时间戳和交易信息;以及
在获得所述至少一个候选交易之后且在验证所述候选交易的所述标识是否存在于所述标识数据库中之前,所述方法还包括:至少基于所述时间戳和所述交易信息确定哈希值,所述哈希值作为所述标识。
3.如权利要求1所述的方法,其中:
所述候选交易包括所述时间戳、交易信息以及至少基于所述时间戳和所述交易信息确定的哈希值,所述哈希值作为所述标识;以及
在获得所述至少一个候选交易之后且在验证所述候选交易的所述标识是否存在于所述标识数据库中之前,所述方法还包括:通过至少基于所述时间戳和所述交易信息验证所述哈希值来验证所述标识。
4.如权利要求1所述的方法,其中:
所述时间戳由发起所述至少一个候选交易的用户终端配置;以及
获得用于添加至所述区块链的所述至少一个候选交易包括,从所述用户终端接收所述候选交易。
5.如权利要求1所述的方法,其中:
所述时间戳由区块链节点配置;以及
获得用于添加至所述区块链的所述至少一个候选交易,包括:
从用户终端接收至少一个发起的交易;以及
将所述时间戳添加至所述发起的交易以获得所述至少一个候选交易。
6.如权利要求1所述的方法,还包括:
响应于确定所述时间戳在所述验证范围之内且所述标识不存在于所述标识数据库中,将所述标识添加至所述标识数据库。
7.如权利要求1所述的方法,还包括:
响应于确定所述时间戳在所述验证范围之内且所述标识不存在于所述标识数据库中,将所述候选交易添加至用于存储候选交易的高速缓存中。
8.如权利要求1所述的方法,还包括:
响应于确定所述时间戳不在所述验证范围之内,向提交所述候选交易的计算设备返回错误消息。
9.如权利要求1所述的方法,还包括:
响应于确定所述标识存在于所述标识数据库中,确定所述候选交易与所述重放攻击相关联。
10.如权利要求1所述的方法,还包括:
执行共识验证,其中,如果确定所述候选交易与所述重放攻击无关,则将所述候选交易包括在所述共识验证中。
11.如权利要求10所述的方法,还包括:
与一个或多个其他区块链节点同步所述标识数据库;
验证所述时间戳是否在所述验证范围之内,以及所述候选交易的所述标识是否存在于所述同步的标识数据库中;
响应于确定所述时间戳在所述验证范围之内且所述标识不存在于所述同步的标识数据库中,确定所述候选交易与所述重放攻击无关;以及
响应于确定所述标识存在于所述同步的标识数据库中,确定所述候选交易与所述重放攻击相关联。
12.如权利要求1所述的方法,在获得所述至少一个候选交易之前,还包括:
与一个或多个其他区块链节点同步所述标识数据库。
13.如权利要求1所述的方法,其中:
所述标识数据库包括时间戳在与所述验证范围对应的最近时间段内的交易的信息。
14.如权利要求1所述的方法,其中:
所述验证范围基于所述区块链的最新区块的另一时间戳;以及
所述验证范围被包括在所述区块链的起源区块中。
15.一种用于检测重放攻击的系统,包括一个或多个处理器以及耦接至所述一个或多个处理器且配置有指令的一个或多个非暂态计算机可读存储器,所述指令能够由所述一个或多个处理器执行以促使所述系统执行操作,所述系统为HoneyBadger或Hashgraph系统,所述操作应用于每个区块链节点,所述操作包括:
获得用于添加至区块链的至少一个候选交易;每个候选交易包括时间戳;
在执行共识验证之后,与其他区块链节点共享通过共识验证的候选交易;
验证通过共识验证的候选交易所包括的时间戳是否在验证范围之内以及通过共识验证的候选交易的标识是否存在于标识数据库中,所述标识数据库包括在验证范围之内的多个标识;所述验证范围包括:距区块链的最新区块的时间戳的时间窗口,以及
响应于确定通过共识验证的候选交易所包括的时间戳在所述验证范围之内且通过共识验证的候选交易的标识不存在于所述标识数据库中,确定所述候选交易与重放攻击无关。
16.如权利要求15所述的系统,其中:
所述候选交易包括所述时间戳和交易信息;以及
在获得所述至少一个候选交易之后且在验证所述候选交易的所述标识是否存在于所述标识数据库中之前,至少基于所述时间戳和所述交易信息确定哈希值,所述哈希值作为所述标识。
17.如权利要求15所述的系统,其中:
所述候选交易包括所述时间戳、交易信息以及至少基于所述时间戳和所述交易信息确定的哈希值,所述哈希值作为所述标识;以及
在获得所述至少一个候选交易之后且在验证所述候选交易的所述标识是否存在于所述标识数据库中之前,通过至少基于所述时间戳和所述交易信息验证所述哈希值来验证所述标识。
18.如权利要求15所述的系统,其中:
所述时间戳由发起所述至少一个候选交易的用户终端配置;以及
获得用于添加至所述区块链的所述至少一个候选交易包括,从所述用户终端接收所述候选交易。
19.如权利要求15所述的系统,其中:
所述时间戳由区块链节点配置;以及
获得用于添加至所述区块链的所述至少一个候选交易,包括:
从用户终端接收至少一个发起的交易;以及
将所述时间戳添加至所述发起的交易以获得所述至少一个候选交易。
20.如权利要求15所述的系统,其中,所述操作还包括:
响应于确定所述时间戳在所述验证范围之内且所述标识不存在于所述标识数据库中,将所述标识添加至所述标识数据库。
21.如权利要求15所述的系统,其中,所述操作还包括:
响应于确定所述时间戳在所述验证范围之内且所述标识不存在于所述标识数据库中,将所述候选交易添加至用于存储候选交易的高速缓存中。
22.如权利要求15所述的系统,其中,所述操作还包括:
响应于确定所述时间戳不在所述验证范围之内,向提交所述候选交易的计算设备返回错误消息。
23.如权利要求15所述的系统,其中,所述操作还包括:
响应于确定所述标识存在于所述标识数据库中,确定所述候选交易与所述重放攻击相关联。
24.如权利要求15所述的系统,其中,所述操作还包括:
执行共识验证,其中,如果确定所述候选交易与所述重放攻击无关,则将所述候选交易包括在所述共识验证中。
25.如权利要求24所述的系统,其中,所述操作还包括:
与一个或多个其他区块链节点同步所述标识数据库;
验证所述时间戳是否在所述验证范围之内,以及所述候选交易的所述标识是否存在于所述同步的标识数据库中;
响应于确定所述时间戳在所述验证范围之内且所述标识不存在于所述同步的标识数据库中,确定所述候选交易与所述重放攻击无关;以及
响应于确定所述标识存在于所述同步的标识数据库中,确定所述候选交易与所述重放攻击相关联。
26.如权利要求15所述的系统,其中,在获得所述至少一个候选交易之前,还包括:
与一个或多个其他区块链节点同步所述标识数据库。
27.如权利要求15所述的系统,其中:
所述标识数据库包括时间戳在与所述验证范围对应的最近时间段内的交易的信息。
28.如权利要求15所述的系统,其中:
所述验证范围基于所述区块链的最新区块的另一时间戳;以及
所述验证范围被包括在所述区块链的起源区块中。
29.一种配置有指令的非暂态计算机可读存储介质,所述指令能够由一个或多个处理器执行以促使所述一个或多个处理器执行操作,所述处理器为区块链系统的每个区块链节点的处理器,所述区块链系统为HoneyBadger或Hashgraph系统,所述操作包括:
获得用于添加至区块链的至少一个候选交易;每个候选交易包括时间戳;
在执行共识验证之后,与其他区块链节点共享通过共识验证的候选交易;
验证通过共识验证的候选交易所包括的时间戳是否在验证范围之内以及通过共识验证的候选交易的标识是否存在于标识数据库中,所述标识数据库包括在验证范围之内的多个标识;所述验证范围包括:距区块链的最新区块的时间戳的时间窗口,以及
响应于确定通过共识验证的候选交易所包括的时间戳在所述验证范围之内且通过共识验证的候选交易的标识不存在于所述标识数据库中,确定所述候选交易与重放攻击无关。
30.如权利要求29所述的存储介质,其中:
所述候选交易包括所述时间戳和交易信息;以及
在获得所述至少一个候选交易之后且在验证所述候选交易的所述标识是否存在于所述标识数据库中之前,至少基于所述时间戳和所述交易信息确定哈希值,所述哈希值作为所述标识。
31.如权利要求29所述的存储介质,其中:
所述候选交易包括所述时间戳、交易信息以及至少基于所述时间戳和所述交易信息确定的哈希值,所述哈希值作为所述标识;以及
在获得所述至少一个候选交易之后且在验证所述候选交易的所述标识是否存在于所述标识数据库中之前,通过至少基于所述时间戳和所述交易信息验证所述哈希值来验证所述标识。
32.如权利要求29所述的存储介质,其中:
所述时间戳由发起所述至少一个候选交易的用户终端配置;以及
获得用于添加至所述区块链的所述至少一个候选交易包括,从所述用户终端接收所述候选交易。
33.如权利要求29所述的存储介质,其中:
所述时间戳由区块链节点配置;以及
获得用于添加至所述区块链的所述至少一个候选交易,包括:
从用户终端接收至少一个发起的交易;以及
将所述时间戳添加至所述发起的交易以获得所述至少一个候选交易。
34.如权利要求29所述的存储介质,其中,所述操作还包括:
响应于确定所述时间戳在所述验证范围之内且所述标识不存在于所述标识数据库中,将所述标识添加至所述标识数据库。
35.如权利要求29所述的存储介质,其中,所述操作还包括:
响应于确定所述时间戳在所述验证范围之内且所述标识不存在于所述标识数据库中,将所述候选交易添加至用于存储候选交易的高速缓存中。
36.如权利要求29所述的存储介质,其中,所述操作还包括:
响应于确定所述时间戳不在所述验证范围之内,向提交所述候选交易的计算设备返回错误消息。
37.如权利要求29所述的存储介质,其中,所述操作还包括:
响应于确定所述标识存在于所述标识数据库中,确定所述候选交易与所述重放攻击相关联。
38.如权利要求29所述的存储介质,其中,所述操作还包括:
执行共识验证,其中,如果确定所述候选交易与所述重放攻击无关,则将所述候选交易包括在所述共识验证中。
39.如权利要求38所述的存储介质,其中,所述操作还包括:
与一个或多个其他区块链节点同步所述标识数据库;
验证所述时间戳是否在所述验证范围之内,以及所述候选交易的所述标识是否存在于所述同步的标识数据库中;
响应于确定所述时间戳在所述验证范围之内且所述标识不存在于所述同步的标识数据库中,确定所述候选交易与所述重放攻击无关;以及
响应于确定所述标识存在于所述同步的标识数据库中,确定所述候选交易与所述重放攻击相关联。
40.如权利要求29所述的存储介质,其中,在获得所述至少一个候选交易之前,还包括:
与一个或多个其他区块链节点同步所述标识数据库。
41.如权利要求29所述的存储介质,其中:
所述标识数据库包括时间戳在与所述验证范围对应的最近时间段内的交易的信息。
42.如权利要求29所述的存储介质,其中:
所述验证范围基于所述区块链的最新区块的另一时间戳;以及
所述验证范围被包括在所述区块链的起源区块中。
CN201880015572.3A 2018-12-29 2018-12-29 用于检测重放攻击的系统和方法 Active CN110431577B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/125782 WO2019072314A2 (en) 2018-12-29 2018-12-29 SYSTEM AND METHOD FOR ATTACK DETECTION BY REINTEGRATION

Publications (2)

Publication Number Publication Date
CN110431577A CN110431577A (zh) 2019-11-08
CN110431577B true CN110431577B (zh) 2023-08-22

Family

ID=66100039

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880015572.3A Active CN110431577B (zh) 2018-12-29 2018-12-29 用于检测重放攻击的系统和方法

Country Status (7)

Country Link
US (1) US11323475B2 (zh)
EP (1) EP3545665B1 (zh)
JP (1) JP6905059B2 (zh)
KR (1) KR102239398B1 (zh)
CN (1) CN110431577B (zh)
PH (1) PH12019501152A1 (zh)
WO (1) WO2019072314A2 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110383279B (zh) * 2018-12-29 2024-03-15 创新先进技术有限公司 用于检测重放攻击的系统和方法
CN110431577B (zh) 2018-12-29 2023-08-22 创新先进技术有限公司 用于检测重放攻击的系统和方法
CN110276688B (zh) * 2019-06-14 2024-02-06 深圳前海微众银行股份有限公司 一种区块链中交易处理的方法及装置
EP3659319B1 (en) 2019-06-26 2021-11-24 Advanced New Technologies Co., Ltd. Improved anti-replay device based on memory space interchange
CN110349029B (zh) * 2019-07-17 2022-04-15 中国银行股份有限公司 一种基于区块链的交易一致性的处理方法、设备以及系统
EP3889869B1 (en) * 2019-09-02 2023-03-01 Advanced New Technologies Co., Ltd. Managing blockchain-based centralized ledger systems
US20210184859A1 (en) * 2019-12-16 2021-06-17 CONCERTvdc, Inc. Validation and certification of digital assets using a blockchain
CN111630545B (zh) 2020-04-22 2022-05-27 支付宝(杭州)信息技术有限公司 管理账本系统中的交易请求
SG11202103218YA (en) 2020-04-22 2021-04-29 Alipay Hangzhou Inf Tech Co Ltd Managing transaction requests in ledger systems
CN111656386B (zh) 2020-04-22 2022-05-17 支付宝(杭州)信息技术有限公司 管理账本系统中的交易请求
CN112346825A (zh) * 2020-11-11 2021-02-09 湖南智慧政务区块链科技有限公司 一种基于位图算法的区块链事务防重机制
CN112819628B (zh) * 2021-02-01 2024-02-02 网易(杭州)网络有限公司 交易防重放的检测方法及装置、系统、电子设备、存储介质
CN112968912B (zh) * 2021-04-01 2023-01-13 上海帆立信息科技有限公司 长链路互联网业务多模式安全验证码方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101340289A (zh) * 2008-08-19 2009-01-07 北京飞天诚信科技有限公司 防重放攻击方法及其系统
CN103020671A (zh) * 2012-11-20 2013-04-03 南京邮电大学 一种基于哈希函数的无线射频识别双向认证方法
US8555062B1 (en) * 2001-03-26 2013-10-08 Access Co., Ltd. Protocol to prevent replay attacks on secured wireless transactions
WO2016010527A1 (en) * 2014-07-15 2016-01-21 Hewlett-Packard Development Company, L. P. Database transaction replay
CN108764870A (zh) * 2018-05-29 2018-11-06 阿里巴巴集团控股有限公司 基于区块链的交易处理方法及装置、电子设备

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8392709B1 (en) 2009-04-28 2013-03-05 Adobe Systems Incorporated System and method for a single request—single response protocol with mutual replay attack protection
CN102035801B (zh) * 2009-09-28 2014-05-14 西门子(中国)有限公司 一种用于防止攻击的方法和装置
US9858401B2 (en) * 2011-08-09 2018-01-02 Biogy, Inc. Securing transactions against cyberattacks
US11824991B2 (en) * 2012-03-05 2023-11-21 Biogy, Inc. Securing transactions with a blockchain network
US20140258110A1 (en) 2013-03-11 2014-09-11 Digimarc Corporation Methods and arrangements for smartphone payments and transactions
US9853949B1 (en) 2013-04-19 2017-12-26 Amazon Technologies, Inc. Secure time service
CA2985040A1 (en) 2014-05-06 2015-12-03 Case Wallet, Inc. Cryptocurrency virtual wallet system and method
US10230526B2 (en) 2014-12-31 2019-03-12 William Manning Out-of-band validation of domain name system records
US20160283939A1 (en) 2015-03-25 2016-09-29 Qualcomm Incorporated System and method to prevent loss of bitcoins due to address errors
US11329980B2 (en) * 2015-08-21 2022-05-10 Veridium Ip Limited System and method for biometric protocol standards
US10303887B2 (en) 2015-09-14 2019-05-28 T0.Com, Inc. Data verification methods and systems using a hash tree, such as a time-centric merkle hash tree
US10230756B2 (en) 2015-11-25 2019-03-12 International Business Machines Corporation Resisting replay attacks efficiently in a permissioned and privacy-preserving blockchain network
US10262164B2 (en) 2016-01-15 2019-04-16 Blockchain Asics Llc Cryptographic ASIC including circuitry-encoded transformation function
US9849364B2 (en) * 2016-02-02 2017-12-26 Bao Tran Smart device
US11130042B2 (en) * 2016-02-02 2021-09-28 Bao Tran Smart device
WO2017180382A1 (en) 2016-04-12 2017-10-19 Pcms Holdings, Inc. System and method for data validation in a decentralized sensor network
US10417217B2 (en) 2016-08-05 2019-09-17 Chicago Mercantile Exchange Inc. Systems and methods for blockchain rule synchronization
CN106295401A (zh) 2016-08-13 2017-01-04 深圳市樊溪电子有限公司 一种用于区块链的只读安全文件存储系统及其方法
US10733602B2 (en) 2016-09-29 2020-08-04 Microsoft Technology Licensing, Llc. Heartbeats and consensus in verifiable outsourced ledgers
US10769602B2 (en) 2017-01-03 2020-09-08 Soo Hyang KANG System and method for customer initiated payment transaction using customer's mobile device and card
EP3586493B1 (en) 2017-02-24 2022-06-08 NEC Corporation Method for mining a block in a decentralized blockchain consensus network
CN107395659B (zh) 2017-03-28 2021-08-24 创新先进技术有限公司 一种业务受理及共识的方法及装置
CN106991607B (zh) * 2017-03-29 2020-04-10 杭州溪塔科技有限公司 一种基于区块链账户模型的无序交易控制方法
US20180308094A1 (en) 2017-04-19 2018-10-25 Baton Systems, Inc. Time stamping systems and methods
US20180322489A1 (en) 2017-05-03 2018-11-08 Meredith Altenhofen System and method for restricted transaction processing
CN108881120B (zh) 2017-05-12 2020-12-04 创新先进技术有限公司 一种基于区块链的数据处理方法及设备
CN110915188B (zh) 2017-06-30 2023-04-04 区块链控股有限公司 用于区块链网络中的高效传播的概率中继的方法和系统
US10592979B2 (en) 2017-07-26 2020-03-17 International Business Machines Corporation Managing blockchain transactions
KR102042739B1 (ko) 2017-09-22 2019-11-08 서강대학교산학협력단 블록체인을 이용한 메시지 히스토리 기반의 보안 키를 이용하는 통신 장치 및 방법
US11165862B2 (en) 2017-10-24 2021-11-02 0Chain, LLC Systems and methods of blockchain platform for distributed applications
US11057225B2 (en) 2017-12-07 2021-07-06 International Business Machines Corporation Enforcing compute equity models in distributed blockchain
US10833844B2 (en) 2017-12-20 2020-11-10 International Business Machines Corporation Blockchain lifecycle management
US11315110B2 (en) 2017-12-27 2022-04-26 International Business Machines Corporation Private resource discovery and subgroup formation on a blockchain
US11205178B2 (en) 2017-12-28 2021-12-21 International Business Machines Corporation Converting processes into multiple blockchain smart contracts
US11271717B2 (en) 2018-02-21 2022-03-08 Thunder Token Inc. Blockchain consensus methods and systems
US10554412B2 (en) 2018-03-06 2020-02-04 Robust Analytics, Inc. Method and network to implement decentralized validation and authentication mechanisms to prevent ADS-B cyber-attacks
CN108494775B (zh) 2018-03-26 2020-12-15 四川长虹电器股份有限公司 防止利用合法数据或篡改合法数据进行网络攻击的方法
US11531661B2 (en) 2018-03-27 2022-12-20 International Business Machines Corporation Vehicle incident documentation for blockchain
US11531975B2 (en) 2018-04-13 2022-12-20 International Business Machines Corporation Network node management on a blockchain
US10833864B2 (en) * 2018-04-13 2020-11-10 International Business Machines Corporation Gaming concensus protocol for blockchain
US10256974B1 (en) 2018-04-25 2019-04-09 Blockchain Asics Llc Cryptographic ASIC for key hierarchy enforcement
CN108805569A (zh) * 2018-05-29 2018-11-13 阿里巴巴集团控股有限公司 基于区块链的交易处理方法及装置、电子设备
CN108989043B (zh) 2018-05-31 2021-01-26 中国联合网络通信集团有限公司 区块处理方法、装置及区块链节点
US10972279B2 (en) * 2018-06-07 2021-04-06 International Business Machines Corporation Efficient validation for blockchain
US10171992B1 (en) 2018-06-22 2019-01-01 International Business Machines Corporation Switching mobile service provider using blockchain
US10243748B1 (en) 2018-06-28 2019-03-26 Jonathan Sean Callan Blockchain based digital certificate provisioning of internet of things devices
US11068834B2 (en) 2018-06-29 2021-07-20 Intel Corporation Secure shipment receive apparatus with delegation-chain
US11010728B2 (en) 2018-07-12 2021-05-18 International Business Machines Corporation Timestamping changes to smart-contract state
CN109064171A (zh) 2018-07-26 2018-12-21 杭州秘猿科技有限公司 一种区块链并行交易的方法、装置及电子系统
US20200043115A1 (en) 2018-08-02 2020-02-06 Zaius Networks Inc. doing business as (d.b.a.) BIGcontrols Permissioned blockchain ecosystem for economic development incentives
US10764070B2 (en) 2018-08-30 2020-09-01 International Business Machines Corporation High precision timestamps in blockchain
US20200090143A1 (en) 2018-09-14 2020-03-19 Andrea Iervolino System, Method, and Apparatus for Online Content Platform and Related Cryptocurrency
US10608829B1 (en) 2018-10-08 2020-03-31 International Business Machines Corporation Blockchain timestamp agreement
US10805094B2 (en) 2018-10-08 2020-10-13 International Business Machines Corporation Blockchain timestamp agreement
US11769573B2 (en) 2018-10-16 2023-09-26 Netspective Communications Llc Team-based tele-diagnostics blockchain-enabled system
CN110431577B (zh) 2018-12-29 2023-08-22 创新先进技术有限公司 用于检测重放攻击的系统和方法
US10681083B2 (en) 2018-12-29 2020-06-09 Alibaba Group Holding Limited System and method for detecting replay attack
US10735464B2 (en) 2018-12-29 2020-08-04 Alibaba Group Holding Limited System and method for detecting replay attack

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8555062B1 (en) * 2001-03-26 2013-10-08 Access Co., Ltd. Protocol to prevent replay attacks on secured wireless transactions
CN101340289A (zh) * 2008-08-19 2009-01-07 北京飞天诚信科技有限公司 防重放攻击方法及其系统
CN103020671A (zh) * 2012-11-20 2013-04-03 南京邮电大学 一种基于哈希函数的无线射频识别双向认证方法
WO2016010527A1 (en) * 2014-07-15 2016-01-21 Hewlett-Packard Development Company, L. P. Database transaction replay
CN108764870A (zh) * 2018-05-29 2018-11-06 阿里巴巴集团控股有限公司 基于区块链的交易处理方法及装置、电子设备

Also Published As

Publication number Publication date
US11323475B2 (en) 2022-05-03
EP3545665B1 (en) 2023-05-03
CN110431577A (zh) 2019-11-08
JP2020505663A (ja) 2020-02-20
WO2019072314A2 (en) 2019-04-18
US20200296130A1 (en) 2020-09-17
JP6905059B2 (ja) 2021-07-21
KR20200083931A (ko) 2020-07-09
WO2019072314A3 (en) 2019-10-24
PH12019501152A1 (en) 2019-12-11
EP3545665A4 (en) 2020-01-22
KR102239398B1 (ko) 2021-04-13
EP3545665A2 (en) 2019-10-02

Similar Documents

Publication Publication Date Title
CN110383279B (zh) 用于检测重放攻击的系统和方法
CN110431577B (zh) 用于检测重放攻击的系统和方法
US10681083B2 (en) System and method for detecting replay attack
US10735464B2 (en) System and method for detecting replay attack
US11501533B2 (en) Media authentication using distributed ledger
US20190354518A1 (en) Chain mesh network for decentralized transaction systems
CN112868210B (zh) 区块链时间戳协议
AU2020414467B2 (en) Partially-ordered blockchain
CN111448781A (zh) 共享的区块链数据存储
JP7477576B2 (ja) ブロックチェーンネットワークにおける整合性のある分散型メモリプールのための方法及びシステム
CN111108478A (zh) 共享的区块链数据存储
CN111095326A (zh) 在分布式账本系统中进行交易的并行执行
US20200021602A1 (en) Trace-based transaction validation and commitment
CN112513914A (zh) 基于区块链的隐私交易中提供隐私和安全保护的系统和方法
Zhang et al. Deconstructing Blockchains: Concepts, Systems, and Insights.
JP2023530594A (ja) 分散型データベースにおける許可されたイベント処理
Kancharla et al. Dependable Industrial Crypto Computing
CN110910091A (zh) 一种数据处理方法、设备及介质
WO2023126313A1 (en) Htlc with proof of elapsed time

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40016697

Country of ref document: HK

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20201014

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201014

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

GR01 Patent grant
GR01 Patent grant