CN115037472B - 基于双层dag共识机制的交易处理方法及系统、服务设备 - Google Patents

基于双层dag共识机制的交易处理方法及系统、服务设备 Download PDF

Info

Publication number
CN115037472B
CN115037472B CN202210312108.9A CN202210312108A CN115037472B CN 115037472 B CN115037472 B CN 115037472B CN 202210312108 A CN202210312108 A CN 202210312108A CN 115037472 B CN115037472 B CN 115037472B
Authority
CN
China
Prior art keywords
transaction
verification
account
block
micro
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
CN202210312108.9A
Other languages
English (en)
Other versions
CN115037472A (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.)
Hunan Tianhe Guoyun Technology Co Ltd
Original Assignee
Hunan Tianhe Guoyun Technology 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 Hunan Tianhe Guoyun Technology Co Ltd filed Critical Hunan Tianhe Guoyun Technology Co Ltd
Priority to CN202210312108.9A priority Critical patent/CN115037472B/zh
Publication of CN115037472A publication Critical patent/CN115037472A/zh
Application granted granted Critical
Publication of CN115037472B publication Critical patent/CN115037472B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开一种基于双层DAG共识机制的交易处理方法及系统、服务设备,该方法包括:交易接收方账户接收交易发送方广播的微块,交易发送方广播的微块为交易发送方根据交易通过引用自己账户下最新的微区块创建得到,交易层中的每个账户采用区块点阵结构;交易接收方账户引用接收到的微块以及对应账户链中的最新微块创建微块,并广播给验证节点;验证节点对接收到的各微块进行验证,验证成功后引用验证完成的端区块生成新的区块,以对交易进行最终确认,验证节点的账本结构采用朴素DAG结构,在交易成交结算之前由验证节点将交易进行合并。本发明具有交易确认速度快、数据吞吐量高、安全性强以及可扩展性强等优点。

Description

基于双层DAG共识机制的交易处理方法及系统、服务设备
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于双层DAG共识机制的交易处理方法及系统、服务设备。
背景技术
区块链(BlockChain)是一种按照时间顺序将数据区块(Block)以顺序相连的方式组合成的链式数据结构,具有不可篡改、不可伪造的特点。DAG(有向无环图)即是一种面向未来的新一代区块链,从图论拓扑模型来看,DAG从单链进化到了树状和网状、从区块粒度细化到交易粒度以及从单点跃迁到了并发写入,无论是容量还是速度都有了巨大提升。相比于传统区块链,DAG具有高并发、能够避免单链中存在的串行化写入的限制的优势,且相比于传统区块链中分叉都会被丢弃,DAG的所有合法分支都会被收纳,因而还能够节约资源。
在订单交易过程中,为保证交易安全性,通常需要借助于中间机构平台来完成交易信息的确认。基于DAG区块链技术可以构建安全、具有隐私保护性的网络,用户在区块链网络中可以完成安全可靠的交易处理。基于区块链的交易处理,现有技术中通常都是直接采用单层的DAG共识机制,共识机制即是通过特殊节点的投票完成对交易的验证和确认,但是由于DAG结构有很多分支,如果某一个分支一直无法得到绝大多数节点的同步,会导致交易一直无法被确认,而没有及时被绝大多数节点同步的交易有可能会被恶意篡改(例:女巫攻击双花攻击等),因而仍然会存在安全性问题。为了提高DAG共识机制的安全性,一种解决方案即是加入额外的同步验证过程,但是这又会造成吞吐量低、交易确认速度慢等的问题。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种交易确认速度快、数据吞吐量高以及安全性与可扩展性强的基于双层DAG共识机制的交易处理方法及系统、服务设备。
为解决上述技术问题,本发明提出的技术方案为:
一种基于双层DAG共识机制的交易处理方法,包括:
当交易层中账户节点接收到交易发送方广播的微块(Micro block)时,将当前账户节点作为交易接收方账户,所述交易发送方广播的微块为作为交易发送方的账户节点根据交易通过引用自己账户下最新的微块创建得到,所述交易层中的每个账户采用区块点阵结构;
所述交易接收方账户引用接收到的微块以及对应账户链中的最新微块创建微块,并广播给验证层中的验证节点;
各所述验证节点对接收到的各微块按照时序进行验证,验证成功后引用本地DAG视图中验证完成的端区块生成新的区块,以对交易进行最终确认,所述验证层中各验证节点采用朴素DAG账本结构;
在交易成交结算之前由所述验证节点将交易进行合并。
进一步的,还包括在交易接收方账户创建的微块中加入随机函数,交易接收方账户将微块广播给验证节点时,根据所述随机函数随机选择对应的所述验证节点。
进一步的,还包括配置每个所述交易接收方账户维护自己的单链,只有帐户所有者才能将微块签名到对应的帐户链中。
进一步的,所述微块的balance用于存放余额,以由微区块追踪交易余额,当所述交易接收方账户中被确认的微区块达到预设阈值时对账户中的历史微区块进行分割。
进一步的,所述验证节点对接收到的各微块进行验证并生成区块的步骤包括:
验证节点从待验证池中选取微块进行验证,验证通过后等待打包,交易处于已确认状态;
当验证成功的微块数量达到阈值或达到等待时间点时打包微块,验证节点对本地DAG视图中需要引用的端区块进行验证,验证成功后引用所验证的端区块并广播给其他验证节点,将当前引用的端区块中交易标记交易为最终确认状态;
除当前验证节点外的其他验证节点根据接收到的广播信息对区块进行对比验证,根据对比验证结果更新本地DAG视图和本地账本信息。。
进一步的,所述验证节点从待验证池中选取微块进行验证和/或所述验证节点对本地DAG视图中所有端区块进行验证中进行验证的步骤包括:
验证节点随机向周围的其他验证节点请求需验证的账本同步;
当接收到超过第一预设比例的节点的同步信息时,判定账本同步成功已为最新状态;
如果成功同步的节点中超过第二预设比例的节点账本信息一致,则判定账本已为最新状态,验证节点根据当前同步信息进行验证,并向不一致的节点发送信号;否则发起账本投票。
进一步的,所述验证节点根据接收到的广播信息对区块进行对比验证的步骤包括:
验证节点将区块中包含的账本信息和本地存储的账本信息进行对比,如果对比一致则将当前区块加入到本地DAG视图中,并更新本地账本信息;
如果对比不一致则向所有验证节点发起账本投票进行决策后,更新本地DAG视图和本地账本信息。
进一步的,所述账本投票采用SPECTRE共识协议中的投票机制。
一种基于双层DAG共识机制的交易处理系统,包括:
交易层,包括多个账户节点,每个所述账户节点的账号的采用区块点阵结构,当所述账户节点接收到交易发送方广播的发送微块时,由当前账户节点作为交易接收方账户,所述发送微块为作为交易发送方的账户节点根据交易通过引用自己账户下最新的微区块创建得到;以及所述交易接收方账户引用接收到的微块以及对应账户链中的最新微块创建接收微块,并广播给验证节点;
验证层,包括多个验证节点,所述验证节点对接收到的各微块按照时序进行验证,验证成功后引用本地DAG视图中验证完成的端区块生成新的区块,以对交易进行最终确认,所述验证节点的账本结构采用朴素DAG结构,在交易成交结算之前由所述验证节点将交易进行合并。
一种服务设备,包括处理器以及存储器,所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序,所述处理器用于执行所述计算机程序以执行如上述方法。
与现有技术相比,本发明的优点在于:
1、本发明通过将各验证节点划分为验证层、除验证节点以外的账户节点划分为交易层,形成双层DAG共识机制,当交易接收方账户接收到交易发送方广播的微块时,交易接收方账户引用接收到的微块以及对应账户链中的最新微块创建微块并广播给验证节点,由验证节点进行验证并引用本地DAG视图生成新的区块,实现对交易的最终确认,不仅可以提高交易确认速度、吞吐量,还可以提高交易的安全可靠性以及可扩展性,同时底层交易块具有时序性,存在拓展智能合约的可能性,即支持智能合约。
2、本发明通过每个账户维护自己的单链,一方面交易检验工作量很低且显而易见,各区块中交易产生冲突的概率大大减少;另一方面所有分叉都必须是帐户所有者编程不当或恶意的结果,因而可以很轻易的追踪到攻击者账户并进行防御,验证节点可以轻松地在不影响合法交易的情况下就如何处理分叉做出决策。
3、本发明通过验证节点对交易接收方收到的来自同一发送方的交易进行整合,有效节约存储资源同时加快交易确认速度,从而有效抵御单节点攻击和penny-spend攻击;共识机制的账户账本还可以精简为每个账户一个区块,所以同步和验证过程快,且可以节省大量的存储资源。
4、本发明进一步通过在接收微块中加入可验证随机函数,根据随机数同概率随机选择验证节点,可以防范超级节点的出现。
5、本发明进一步通过先验证再生成再检验的三次同步验证模式,可以有效极大的减少无效区块以及双花的产生,有效利用存储资源,且虽然需要三次同步过程,但每次同步的账本量少,只需涉及区块包含的账本,因而验证速度快、效率高,且花费的资源也较少。
附图说明
图1是本实施例基于双层DAG共识机制的交易处理方法的步骤流程示意图。
图2是本实施例基于双层DAG共识机制实现交易处理的原理示意图。
图3是本实施例中采用的账本结构示意图。
图4是本实施例中采用的区块点阵结构示意图。
图5是本实施例中采用的账本投票机制实现原理示意图。
图6是本发明具体应用实施例中共识的详细流程示意图。
具体实施方式
以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。
如图1所示,本实施例基于双层DAG共识机制的交易处理方法的步骤包括:
S01.当交易层中账户节点接收到交易发送方广播的微块(send微块)时,将当前账户节点作为交易接收方账户,交易发送方广播的微块(send微块)为作为交易发送方的账户节点根据交易通过引用自己账户下最新的微块创建得到,交易层中的每个账户采用区块点阵结构;
S02.交易接收方账户引用接收到的微块以及对应账户链中的最新微块创建微块(receive微块),并广播给验证层中的验证节点;
S03.各验证节点对接收到的各微块按照时序进行验证,验证成功后引用本地DAG视图中验证完成的端区块生成新的区块,以对交易进行最终确认,验证层中各验证节点采用朴素DAG账本结构;
S04.在交易成交结算之前由验证节点将交易进行合并。
本实施例通过将各验证节点划分为验证层、除验证节点以外的账户节点划分为交易层,每个账户节点的账户采用区块点阵结构,验证节点采用朴素DAG账本结构,形成双层DAG共识机制,当交易接收方账户接收到交易发送方广播的微块(send微块)时,交易接收方账户引用接收到的微块以及对应账户链中的最新微块创建微块(receive微块)并广播给验证节点,由验证节点进行验证并引用本地DAG视图生成新的区块,实现对交易的最终确认,不仅可以提高交易确认速度、吞吐量,还可以提高交易的安全可靠性以及可扩展性,同时底层交易块具有时序性,存在拓展智能合约的可能性,即支持智能合约。
如图2所示,本实施例将交易处理分交易层和验证层,在交易层的账本节点只需要存储自己账本的微块信息,交易层的账本节点即为除验证节点以外的普通节点,账户节点当接收到交易时即为交易接收方账户,当发送交易时则为交易发送方账户,在交易层以单个交易作为基本单元;验证节点则需存储所有账本节点的微块(每个账本的链都可以精简为一个区块)和最新的验证层DAG视图,以多个交易打包成的区块作为基本单元。
本实施例在交易层,各账户节点的账户具体采用Nano的区块点阵结构,包括:
每个账户维护一条链,记录该账户的所有交易历史,如图3所示;
账户每产生一笔交易即创造一个微块;
每个账户下的微块前后相继构成该账户的区块链;
不同链之间通过相互引用关系构成区块点阵(block lattice),如图4所示。
本实施例通过采用上述Nano的区块点阵结构,可以进一步提高交易确认速度,同时减少交易确认的开销。
本实施例中一笔完整的转账交易具体由两个子交易构成:
①交易发送方产生的send微块(link。action==send)和②接收方产生的receive微块(link。action==receive)。然后经由验证层的验证结果最终确认交易,形成双层DAG共识机制。
本实施例微块中的balance用于存放余额,以由微块追踪交易余额,当交易接收方账户中被确认的微区块达到预设阈值时对账户中的历史微区块进行分割。通过采用微区块追踪交易余额而不是交易额的方式,可以抗粉尘攻击,且当账户中被确认的微区块足够多时,可以对账户中的历史微区块可以进行一定的分割,并不需要存储账户所有的区块系统也能正常完成共识,且不需要牺牲去中心化程度。
本实施例中微块结构具体采用如下表1所示。
表1:微块结构。
Figure SMS_1
Figure SMS_2
Link(链表)结构具体采用如下表2所示。
表2:link结构。
Figure SMS_3
本实施例中还包括配置每个交易层中账户节点维护自己的单链,只有帐户所有者才能将微块签名到对应的帐户链中,因此所有分叉都必须是帐户所有者编程不当或恶意(双重花费)的结果,使得验证节点可以轻松地在不影响合法交易的情况下就如何处理分叉做出决策。由于每个账户维护自己的单链,一方面交易检验工作量很低且显而易见,各区块中交易产生冲突的概率大大减少;另一方面所有分叉都必须是帐户所有者编程不当或恶意(双重花费)的结果,因而可以很轻易的追踪到攻击者账户并进行防御。
本实施例中,还包括在交易接收方账户创建的微块(接收微块)中加入随机函数,交易接收方账户将微块广播给验证节点时,根据随机函数随机选择对应的验证节点。传统Nano节点是自主选择代表,可能会产生超级代表造成垄断,本实施例通过在接收微块中加入可验证随机函数,根据随机数同概率随机选择验证节点,即选取验证此次交易的代表,每个节点被选中的概率是一样的,可以防范超级节点的出现。上述随机数具体可以配置为根据一定的间隙(如10s)发生改变,则接收方在间隙内产生的接收区块会发给同一验证节点,验证节点可以对此接收方收到的来自同一发送方的交易进行整合,有效节约存储资源同时加快交易确认速度,从而有效抵御单节点攻击和penny-spend攻击。
本实施例在交易层的处理流程包括:
(1)交易发送方通过引用自己账户下最新的微区块创建一个发送微块,利用私钥进行签名后将该微块广播给交易接收方账户,此时相应金额已从当前账户中扣除,交易处于待接收状态;
(2)交易接收方收到此发送微块后,通过引用该微块以及自己账户链中的最新微块创建接收微块,对其进行签名后,将接收微块进行广播,交易根据随机数函数随机进入验证节点的交易池,交易被标记为待验证状态。
此时只有帐户所有者才能将微块签名到他们的帐户链中,因此所有分叉都必须是帐户所有者编程不当或恶意(双重花费)的结果,使得验证节点可以轻松地在不影响合法交易的情况下就如何处理分叉做出决策。
本实施例交易处理过程中,由于需要花费一定的pow才能发起交易(即生成发送微块),每个块都有少量与之相关的工作,大约需要5秒来生成和1微秒来验证,因而还可以有效抵御泛洪攻击。相比于传统SPECTRE区块生成采用pow机制,大量交易确认写入区块链形成新区块的行为会造成极大的资源浪费,本实施例上述区块生成不需要进行大规模交易确认写入区块链形成新区块工作。
本实施例中验证节点对接收到的各微块进行验证并生成区块的步骤包括:
S301:验证节点从待验证池中选取微块进行验证,验证通过后等待打包,交易处于已确认状态;
S302:当验证成功的微块数量达到阈值或达到等待时间点时打包微块,验证节点对本地DAG视图中需要引用的端区块进行验证,验证成功后引用所验证的端区块并广播给其他验证节点,将当前引用的端区块中交易标记交易为最终确认状态,其中此次区块中的交易还是处于交易已确认状态,需要等到备下一个区块引用时才会被标为最终确认状态;
S303:除当前验证节点以外的其他验证节点根据接收到的广播信息对区块进行对比验证,根据对比验证结果更新本地DAG视图和本地账本信息。
传统如SPECTRE等的机制中是采用先交易后解决冲突的模式,会浪费存储资源且难以抵御penny-spend攻击,本实施例通过先验证再生成再检验的三次同步验证模式,可以有效极大的减少无效区块以及双花的产生,有效利用存储资源,且虽然需要三次同步过程,但每次同步的账本量少,只需涉及区块包含的账本,因而验证速度快、效率高,且花费的资源也较少。
本实施例中,步骤S301中验证节点从待验证池中选取微块进行验证、步骤S302中验证节点对本地DAG视图中所有端区块进行验证中,进行验证的具体步骤包括:
步骤1:验证节点随机向周围的其他验证节点请求需验证的账本同步;
步骤2:当接收到超过第一预设比例的节点的同步信息时,判定账本同步成功;
步骤3:如果成功同步的节点中超过第二预设比例的节点账本信息一致,则判定账本已为最新状态,验证节点根据当前同步信息进行验证,并向不一致的节点发送信号,否则发起账本投票。
本实施例中,验证节点根据接收到的广播信息对区块进行对比验证的步骤包括:
S331.验证节点将区块中包含的账本信息和本地存储的账本信息进行对比,如果对比一致则将当前区块加入到本地DAG视图中,并更新本地账本信息;
S332.如果对比不一致则向所有验证节点发起账本投票进行决策后,更新本地DAG视图和本地账本信息。
传统区块点阵结构的共识机制中每一笔交易都需要投票,且每笔交易进行确认的通信成本高,会存在带宽攻击,本实施例通过每笔交易只需要“生成包含此交易的区块的验证节点”和“后续引用此区块的验证节点”进行检验,通信和验证成本都比较低,可以大大减少交易处理成本,且账户账本可以精简为每个账户一个区块,所以同步和验证的过程非常快,并且可以节省很多的存储资源。
本实施例账本投票具体采用SPECTRE共识协议中的投票机制。SPECTRE是一个以区块为基本单元的DAG账本,每个诚实节点在交易确认写入区块链形成新区块时需要引用自己的DAG视图中所有端区块,因此账本呈现为朴素DAG形态。在验证层中各验证节点从自身交易池中按时间先后选取微块进行验证,并对同一发送方发给同一接收方的交易进行整合,验证通过后等待打包,确认交易则采用SPECTRE共识协议中的投票机制。
在具体应用实施例中,验证层的详细验证流程包括:
(1)账本验证:
1.1)随机向周围的验证节点请求需验证的账本同步;
本实施例中共识机制的账本设计可以精简为每个账户一个区块(无论该账户发送或接受了多少交易),可以提高同步过程的速度。
1.2)当接收到超过50%的节点的同步信息时,即认为账本已为最新状态;如果成功同步的节点中超过80%节点账本信息一致,则同步成功,验证节点根据此次同步信息进行验证,并向不一致的节点发送信号;否则账本可能出现双花,发起账本投票。
(2)账本投票:
采用SPECTRE共识协议中的投票机制进行账本投票,如图5所示,SPECTRE投票过程具体为:
2.1)区块X和区块Y分别投票给自己;
2.2)区块X之后产生的区块称之为X的未来区块,回溯这些未来区块发现6,7,8只能回溯到X,所以这三个区块都投票给X,标记为蓝色。同理,回溯区块Y的未来区块发现9,10,11只能投票给Y,标记为红色。
2.3)未来区块12既回溯到X又能回溯到Y,它会投出与上一轮投票一样的结果X。图5中虚线部分是上一轮的投票,按少数服从多数的原则可知,投票的结果是X。
2.4)X或Y之前产生的区块称为X或Y的过去区块,这些区块会分别统计自己对应的未来区块的投票,然后跟投给得票较多的那个选项。由此,区块1~5都投给X,交易x<y认定有效,y<x被丢弃。
当前交易处于已确认状态。
(3)区块生成与验证
3.1)当验证成功的微块数量达到阈值,则进行打包;如果10s后1<=验证通过的微块数量<打包阈值,也进行一次区块打包;验证节点在打包好的区块中对本地DAG视图中需要引用的端区块进行验证,并引用自己的验证层DAG视图中所有端区块,然后将其广播给所有节点;交易被标记为最终确认状态。
3.2)收到广播的账户节点只需要对比更新自己账户的信息,对于其他节点的信息可以选择忽略;收到广播的验证节点进行对比验证后,更新自己的验证层DAG视图和本地全账本信息,并根据gossip协议发送给周围其他验证节点进行同步。
(4)对比验证
验证节点将区块中包含的账本信息和本地存储的全账本信息进行对比,对比无误则将此区块加入到自己的验证层DAG视图中,并在更新本地全账本信息;如果对比不一致,则有可能出现验证层DAG视图分割,采用SPECTRE共识协议中的投票机制进行决策后,更新自己的验证层DAG视图和本地全账本信息。
(5)Gossip谣言传播
由种子节点发起,当一个种子节点有状态需要更新到网络中的其他节点时,随机的选择周围几个节点散播消息,收到消息的节点也会重复该过程,直至最终网络中所有的节点都收到了消息。这个过程可能需要一定的时间,由于不能保证某个时刻所有节点都收到消息,但是理论上最终所有节点都会收到消息,因此它是一个最终一致性协议。
如图6所示,本发明在具体应用实施例中实现共识的详细步骤为:
S1.交易发送方引用自己账户下最新的微区块创建一个发送微块,利用私钥进行签名后将该微块广播给交易接收方账户,交易处于待接收状态;
S2.接收方账户接受到发送方账户的发送微块后,引用该微块以及自己账户链中的最新微块创建接收微块,并对其进行签名,接收微块根据可验证的随机数函数生成的随机数广播给对应的验证节点,交易被标记为待验证状态;
S3.验证节点从自身交易池中按时间先后选取微块进行验证,验证通过后等待打包;交易处于已确认状态;
S4.当验证成功的微块数量达到阈值或达到等待时间点时进行打包,在打包好的区块中对本地DAG视图中需要引用的端区块进行验证,并引用自己的验证层DAG视图中端区块,然后将其广播给所有节点;交易被标记为最终确认状态;
S5.收到广播的账户节点对比更新自己账户的信息,收到广播的验证节点进行对比验证后,更新自己的验证层DAG视图和本地全账本信息,并根据gossip协议发送给周围其他验证节点进行同步,形成的第二层验证层DAG链的结构。
上述步骤S3、S4中进行验证的详细步骤为:验证节点随机向周围的验证节点请求需验证的账本同步;当接收到超过50%的节点的同步信息时,即判定账本同步成功;如果成功同步的节点中超过80%节点账本信息一致,则判定账本已为最新状态,验证节点根据此次同步信息进行验证,并向不一致的节点发送信号;否则账本可能出现双花,发起账本投票。
上述对比验证过程具体为:验证节点将区块中包含的账本信息和本地存储的全账本信息进行对比,对比无误则将此区块加入到自己的验证层DAG视图中,并在更新本地全账本信息;如果对比不一致,则有可能出现验证层DAG视图分割,向所有验证节点发起账本投票进行决策后,更新自己的验证层DAG视图和本地全账本信息。
本实施例还提供基于双层DAG共识机制的交易处理系统,包括:
交易层,包括多个账户节点,每个普通节点的账号的采用区块点阵结构,当账户节点接收到接收交易发送方广播的发送微块时,由当前普通节点作为交易接收方账户,发送微块为作为交易发送方的账户节点根据交易通过引用自己账户下最新的微区块创建得到;以及交易接收方账户引用接收到的微块以及对应账户链中的最新微块创建接收微块,并广播给验证节点;
验证层,包括多个验证节点,验证节点对接收到的各微块进行验证,验证成功后引用本地DAG视图中验证完成的端区块生成新的区块,以对交易进行最终确认,验证节点的账本结构采用朴素DAG结构,在交易成交结算之前由验证节点将交易进行合并。
本实施例基于双层DAG共识机制的交易处理系统与上述基于双层DAG共识机制的交易处理方法对应,在此不再一一赘述。
本发明还提供一种服务设备,包括处理器以及存储器,存储器用于存储计算机程序,处理器用于执行计算机程序,处理器用于执行计算机程序以执行如上述的方法。
本领域技术人员可以理解,上述服务设备的描述仅仅是示例,并不构成对服务设备的限定,可以包括比上述描述更多或更少的部件,或者组合某些部件,或者不同的部件,例如可以包括输入输出设备、网络接入设备、总线等。所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。

Claims (10)

1.一种基于双层DAG共识机制的交易处理方法,其特征在于,包括:
当交易层中账户节点接收到交易发送方广播的微块时,将当前账户节点作为交易接收方账户,所述交易发送方广播的微块为作为交易发送方的账户节点根据交易通过引用自己账户下最新的微块创建得到,所述交易层中的每个账户采用区块点阵结构;
所述交易接收方账户引用接收到的微块以及对应账户链中的最新微块创建微块,并广播给验证层中的验证节点;
各所述验证节点对接收到的各微块按照时序进行验证,验证成功后引用本地DAG视图中验证完成的端区块生成新的区块,以对交易进行最终确认,所述验证层中各验证节点采用朴素DAG账本结构;
在交易成交结算之前由所述验证节点将交易进行合并。
2.根据权利要求1所述的基于双层DAG共识机制的交易处理方法,其特征在于,还包括在交易接收方账户创建的微块中加入随机函数,交易接收方账户将微块广播给验证节点时,根据所述随机函数随机选择对应的所述验证节点。
3.根据权利要求1所述的基于双层DAG共识机制的交易处理方法,其特征在于,还包括配置每个所述交易接收方账户维护自己的单链,只有帐户所有者才能将微块签名到对应的帐户链中。
4.根据权利要求1所述的基于双层DAG共识机制的交易处理方法,其特征在于,所述微块的balance用于存放余额,以由微块追踪交易余额,当所述交易接收方账户中被确认的微块达到预设阈值时对账户中的历史微块进行分割。
5.根据权利要求1所述的基于双层DAG共识机制的交易处理方法,其特征在于,所述验证节点对接收到的各微块进行验证并生成区块的步骤包括:
验证节点从待验证池中选取微块进行验证,验证通过后等待打包,交易处于已确认状态;
当验证成功的微块数量达到阈值或达到等待时间点时打包微块,验证节点对本地DAG视图中需要引用的端区块进行验证,验证成功后引用所验证的端区块并广播给其他验证节点,将当前引用的端区块中交易标记交易为最终确认状态;
除当前验证节点以外的其他验证节点根据接收到的广播信息对区块进行对比验证,根据对比验证结果更新本地DAG视图和本地账本信息。
6.根据权利要求5所述的基于双层DAG共识机制的交易处理方法,其特征在于,所述验证节点从待验证池中选取微块进行验证和/或所述验证节点对本地DAG视图中所有端区块进行验证中进行验证的步骤包括:
验证节点随机向周围的其他验证节点请求需验证的账本同步;
当接收到超过第一预设比例的节点的同步信息时,判定账本同步成功;
如果成功同步的节点中超过第二预设比例的节点账本信息一致,则判定账本已为最新状态,验证节点根据当前同步信息进行验证,并向不一致的节点发送信号;否则发起账本投票。
7.根据权利要求5所述的基于双层DAG共识机制的交易处理方法,其特征在于,所述验证节点根据接收到的广播信息对区块进行对比验证的步骤包括:
验证节点将区块中包含的账本信息和本地存储的账本信息进行对比,如果对比一致则将当前区块加入到本地DAG视图中,并更新本地账本信息;
如果对比不一致则向所有验证节点发起账本投票进行决策后,更新本地DAG视图和本地账本信息。
8.根据权利要求6或7所述的基于双层DAG共识机制的交易处理方法,其特征在于,所述账本投票采用SPECTRE共识协议中的投票机制。
9.一种基于双层DAG共识机制的交易处理系统,其特征在于,包括:
交易层,包括多个账户节点,每个所述账户节点的账号的采用区块点阵结构,当所述账户节点接收到交易发送方广播的发送微块时,由当前账户节点作为交易接收方账户,所述发送微块为作为交易发送方的账户节点根据交易通过引用自己账户下最新的微区块创建得到;以及所述交易接收方账户引用接收到的微块以及对应账户链中的最新微块创建接收微块,并广播给验证节点;
验证层,包括多个验证节点,所述验证节点对接收到的各微块按照时序进行验证,验证成功后引用本地DAG视图中验证完成的端区块生成新的区块,以对交易进行最终确认,所述验证节点的账本结构采用朴素DAG结构,在交易成交结算之前由所述验证节点将交易进行合并。
10.一种服务设备,包括处理器以及存储器,所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序,其特征在于,所述处理器用于执行所述计算机程序以执行如权利要求1~8中任意一项所述的方法。
CN202210312108.9A 2022-03-28 2022-03-28 基于双层dag共识机制的交易处理方法及系统、服务设备 Active CN115037472B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210312108.9A CN115037472B (zh) 2022-03-28 2022-03-28 基于双层dag共识机制的交易处理方法及系统、服务设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210312108.9A CN115037472B (zh) 2022-03-28 2022-03-28 基于双层dag共识机制的交易处理方法及系统、服务设备

Publications (2)

Publication Number Publication Date
CN115037472A CN115037472A (zh) 2022-09-09
CN115037472B true CN115037472B (zh) 2023-06-23

Family

ID=83119469

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210312108.9A Active CN115037472B (zh) 2022-03-28 2022-03-28 基于双层dag共识机制的交易处理方法及系统、服务设备

Country Status (1)

Country Link
CN (1) CN115037472B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116382815B (zh) * 2023-06-05 2023-10-10 安徽中科晶格技术有限公司 基于dag模型的合约并行化方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109377232A (zh) * 2018-12-20 2019-02-22 众安信息技术服务有限公司 基于dag的区块链的交易定序方法及设备
CN111080288A (zh) * 2019-10-18 2020-04-28 湖南天河国云科技有限公司 一种基于有向无环图的区块链共识达成方法及装置
EP3846062A1 (en) * 2020-01-06 2021-07-07 Tata Consultancy Services Limited Method and system for processing transactions in a blockchain network
CN113516557A (zh) * 2021-07-14 2021-10-19 桂林电子科技大学 一种有向无环图结构的区块链及其实现方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190354518A1 (en) * 2018-05-01 2019-11-21 Michael Zochowski Chain mesh network for decentralized transaction systems
US11182379B2 (en) * 2018-08-24 2021-11-23 Oracle International Corporation DAG based methods and systems of transaction processing in a distributed ledger
US20200334653A1 (en) * 2019-04-21 2020-10-22 Blockchain Foundry Inc. System and Method for a Zero Confirmation Directed Acyclic Graph
CN111080445B (zh) * 2019-10-28 2022-06-17 北京大学 一种基于图结构的可信存证方法与系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109377232A (zh) * 2018-12-20 2019-02-22 众安信息技术服务有限公司 基于dag的区块链的交易定序方法及设备
CN111080288A (zh) * 2019-10-18 2020-04-28 湖南天河国云科技有限公司 一种基于有向无环图的区块链共识达成方法及装置
EP3846062A1 (en) * 2020-01-06 2021-07-07 Tata Consultancy Services Limited Method and system for processing transactions in a blockchain network
CN113516557A (zh) * 2021-07-14 2021-10-19 桂林电子科技大学 一种有向无环图结构的区块链及其实现方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
POW区块链共识算法分析与展望;戴安博;陈恭亮;;通信技术(12) *
一种面向公有链的轻量级可扩展技术;陈幻;王意洁;;计算机研究与发展(07) *

Also Published As

Publication number Publication date
CN115037472A (zh) 2022-09-09

Similar Documents

Publication Publication Date Title
CN108648078B (zh) 一种交易预处理方法、装置及电子设备
CN110288345B (zh) 跨链通信方法、装置、主链节点及存储介质
CN110493148B (zh) 一种区块处理、区块共识和区块同步方法及装置
CN110298754B (zh) 一种应用于区块链的共识方法
EP3779760B1 (en) Blockchain-based data processing method and apparatus, and electronic device
CN113570466B (zh) 一种交易数据处理方法、装置以及可读存储介质
CN113783935B (zh) 一种拜占庭容错方法及装置
CN111259078A (zh) 区块链共识方法、装置、计算机设备和存储介质
CN108984789A (zh) 分布式记账的方法、装置、存储介质及电子设备
EP3934161A1 (en) Consensus method and data verification method, apparatus, and system of consortium blockchain
CN110659905B (zh) 交易验证方法、装置、终端设备以及存储介质
CN113630257B (zh) 一种共识方法、区块链系统和共识节点
CN111683118B (zh) 基于区块链的共识方法、装置、主节点设备及从节点设备
CN113610531B (zh) 一种共识方法、区块链系统和共识节点
CN109840769B (zh) 基于区块链的存证方法及装置、系统与存储介质
CN113630258B (zh) 一种共识方法、区块链系统和共识节点
CN112837163A (zh) 基于区块链的批量交易上链方法及系统
CN110012100A (zh) 一种带宽优化的区块链共识方法、装置及电子设备
CN111899019A (zh) 一种黑名单多方交叉验证和共享的方法及系统
CN115037472B (zh) 基于双层dag共识机制的交易处理方法及系统、服务设备
CN114584312A (zh) 一种共识方法、区块链系统和共识节点
CN112184244A (zh) 基于区块链的共识达成方法、装置及存储介质
CN113761071A (zh) 一种共识方法、区块链系统和共识节点
CN113794576B (zh) 一种可再投票的二元共识方法及装置
CN111970370B (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