CN110431579A - 基于结构化有向无环图的交易分配方法和装置 - Google Patents

基于结构化有向无环图的交易分配方法和装置 Download PDF

Info

Publication number
CN110431579A
CN110431579A CN201980001595.3A CN201980001595A CN110431579A CN 110431579 A CN110431579 A CN 110431579A CN 201980001595 A CN201980001595 A CN 201980001595A CN 110431579 A CN110431579 A CN 110431579A
Authority
CN
China
Prior art keywords
block
transaction
node device
milestone
node
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.)
Pending
Application number
CN201980001595.3A
Other languages
English (en)
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of CN110431579A publication Critical patent/CN110431579A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • G06Q20/38215Use of certificates or encrypted proofs of transaction rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种应用于对等网络中的节点设备的基于结构化有向无环图的交易分配方法和装置,所述方法包括:获取本地数据库的数据结构;利用所述结构化有向无环图包括的区块间的连接关系,计算所述节点设备的相对算力;根据所述节点设备的相对算力对本地交易池中的交易信息进行分区;根据所述分区的结果选择第一交易信息,创建第一新区块,建立所述第一新区块与所述结构化有向无环图中其他区块间的连接关系;将所述第一交易信息从本地交易池中移除;以及,向对等网络的各节点设备广播第一新区块。本申请通过上述手段,能够在不牺牲安全性和去中心化的前提下有效避免高费用交易被多个节点处理导致的算力浪费,并能够增加低费用交易的处理机会。

Description

基于结构化有向无环图的交易分配方法和装置
技术领域
本申请涉及计算机网络技术领域,特别地,涉及一种基于结构化有向无环图的交易分配方法和装置。
背景技术
区块链技术本质上是一种共识机制设计,该技术基于以分布式方式在对等网络上存储信息的链结构。以比特币为例,将一些交易组合在一起,并存储在一个小于1兆字节的区块中,所有区块都以链状结构连接。这可能不是存储信息的最有效方式。但是,在利用哈希算法、公开密钥、私有密钥等加密函数进行完整性检查和验证的基础上,基于链式结构提出的“中本聪共识”实现了安全性和去中心化。比特币和以太坊的出现和发展,证明了区块链技术取得巨大成功。这不仅证明了去中心化和安全的公开总账系统的可能性,而且对于金融市场也有很大影响,创建了一个具有可扩展服务和应用程序的全新生态系统。
在现有比特币方案中,区块创建权问题是通过设置密码学谜题要求所有参与者通过调整随机数来生成符合需求的哈希运算结果,即工作量证明机制(英文全称为Proof ofWork,英文简称为PoW)来解决的。上述密码学谜题的难度足以达到在一定时间内可能只有一个矿工能够形成这样的区块,而这段时间足够在网络上传播指定大小的区块。矿工在创建未来区块时,如果不同意现有区块中的信息,只需从该区块之前的某个位置分叉即可。基于大多数人群总是诚实的这一假设,所有诚实的矿工最终能够在有效区块链上达成一致,而在分支上的则是无效区块。因此,全部区块形成了一棵树,树中最长的链由所有诚实的矿工遵从工作量证明机制共同创造,被称为中本聪链(英文名称为Nakamoto chain),形成一种严格的共识构想以及能够正式证明它的概率模型。
随着区块链技术被越来越多的人所接受,它正面临着一个严重的瓶颈,那就是非常有限的容量,即每秒交易数量(英文全称为transactions per second,英文简称为TPS)。消除这一瓶颈是推进区块链技术的重大突破,并为其广泛应用开启了可能性。然而,扩大容量不应在安全与去中心化上作出任何妥协。
对于链式结构的上述缺点,我们可以尝试增加区块大小,等效地减少区块间的时间间隔,或者两种方法的组合来增加每秒交易数量(TPS)。但是,较大的块需要较长的时间来通过对等网络传送。即使在没有恶意矿工的情况下,这种尝试也会增加分叉块出现的可能性。因此必须超越链式结构进行探索,以便将容量增加一个数量级。这自然引发了将链式区块(英文全称为chain of blocks)扩展为区块的有向无环图(英文全称为DirectedAcyclic Graphs,英文简称为DAG)的想法。在现有的另一种区块创建方法中,每个人都有权组建一个小区块,而不需要运用工作量证明机制。区块的有效性是由直接或间接附加到它的未来块来证明的。然而,其很容易受到分裂攻击,需要计算上昂贵的“权重更新”来计算附加到它的区块数量。此外,在当前的区块链系统中,容量并不是唯一的问题。随着哈希算力(英文全称为hashing power)不断提高,密码学谜题(cryptographic puzzle)变得越来越困难。从数学期望上讲,具有一定哈希算力的矿工都能够挖掘一定数量的区块,从而获得相应的奖励。然而,巨大的波动性迫使大多数矿工加入挖矿池以平稳收入,导致哈希算力集中在少数几个大型矿池。另一个问题是高延迟,因为确认交易需要很长时间。此外,出于自身利益考虑,矿工希望将高费用交易打包进区块,以实现报酬最大化。因此,必然存在高费用交易容易被多个节点处理导致算力浪费,而交易费用很少或为零的交易几乎没有机会被处理的问题。
发明内容
本申请提供一种基于结构化有向无环图的交易分配方法和装置,用于解决现有技术存在的交易费用很少或为零的交易几乎没有机会被处理、以及交易费用高的交易存在被多个节点处理导致算力浪费的技术问题。
根据本申请实施例的第一方面,公开了一种应用于对等网络中的节点设备的基于结构化有向无环图的交易分配方法,包括:获取本地数据库的数据结构,所述本地数据库的数据结构基于结构化有向无环图建立;利用所述结构化有向无环图包括的区块间的连接关系,计算所述节点设备的相对算力;所述区块间的连接关系至少包括各节点设备自身创建的区块间的连接关系;根据所述节点设备的相对算力对本地交易池中的交易信息进行分区;所述本地交易池中包含待处理的、未被区块承载的交易信息;根据所述分区的结果选择第一交易信息,创建第一新区块,建立所述第一新区块与所述结构化有向无环图中其他区块间的连接关系;将所述第一交易信息从本地交易池中移除;以及,向对等网络的各节点设备广播第一新区块。
优选地,所述节点设备的相对算力为本节点设备在预设时间段内创建的区块数与所有节点在该时间段内创建的区块数之比。
优选地,所述根据所述节点设备的相对算力对本地交易池中的交易进行分区的方法具体为:所述节点设备i创建包含有交易Tx的新区块,需满足如下条件;
H(Bi.id,Tx)≤cqi
其中,所述Bi表示所述节点设备i创建并广播到各节点设备的最后一个区块;所述Bi.id表示区块Bi的唯一标识符;所述H(Bi.id,Tx)表示对Bi.id和Tx作哈希运算;所述qi表示节点设备i的相对算力;所述c为调节参数,该调节参数c根据预设的交易冲突指标和交易排队延迟指标确定。
优选地,所述方法还包括:接收其他节点设备创建的第二新区块;判断本地交易池中是否存在与所述第二新区块包括的第二交易信息相同的交易信息;若是,则将该相同的交易信息从本地交易池中移除。
优选地,所述区块间的连接关系还包括:里程碑块间的连接关系,以及里程碑块与非里程碑块的连接关系;所述里程碑块的认定方法,具体为:对待认定区块的区块信息进行哈希运算,判断哈希运算结果是否满足预设里程碑难度条件,若是,则该待认定区块为里程碑块;否则为非里程碑块;交易信息是否被所有节点接受由里程碑块确认,具体方法为:若存在从最新里程碑块到承载所述交易信息的区块的路径,则认定该交易信息被所有节点接受。
优选地,所述结构化有向无环图至少包括由各里程碑块连接而成的里程碑链,以及由各节点设备自身创建的区块连接而成的对等节点链;所述对等节点链中的各区块至少指向一个里程碑块。
优选地,在向对等网络的各节点设备广播第一新区块之后,还包括:确定所述节点设备创建第一新区块的奖励值;所述奖励值的确认参数包括所述第一新区块是否有效、所述第一新区块的类型是否为里程碑块以及所述第一交易是否有效。
根据本申请实施例的第二方面,公开了一种应用于对等网络中的节点设备的基于结构化有向无环图的交易分配装置,包括获取模块、计算模块、分区模块、创建模块和发布模块,其中:获取模块,配置为获取本地数据库的数据结构;所述本地数据库的数据结构基于结构化有向无环图建立;计算模块,配置为利用所述结构化有向无环图包括的区块间的连接关系,计算所述节点设备的相对算力;所述区块间的连接关系至少包括各节点设备自身创建的区块间的连接关系;分区模块,配置为根据所述节点设备的相对算力对本地交易池中的交易信息进行分区;所述本地交易池包括待处理的、未被区块承载的交易信息;创建模块,配置为根据所述分区的结果选择第一交易信息,创建第一新区块,建立所述第一新区块与所述结构化有向无环图中其他区块间的连接关系;以及,将所述第一交易信息从本地交易池中移除;发布模块,配置为向对等网络的各节点设备广播所述第一新区块。
优选地,所述节点设备的相对算力为本节点设备在预设时间段内创建的区块数与所有节点在该时间段内创建的区块数之比。
优选地,所述分区模块对本地交易池中的交易进行分区的方法,具体为:所述节点设备i创建包含有交易Tx的新区块,需满足如下条件;
H(Bi.id,Tx)≤cqi
其中,所述Bi表示所述节点设备i创建并广播到各节点设备的最后一个区块;所述Bi.id表示区块Bi的唯一标识符;所述H(Bi.id,Tx)表示对Bi.id和Tx作哈希运算;所述qi表示节点设备i的相对算力;所述c为调节参数,该调节参数c根据预设的交易冲突指标和交易排队延迟指标确定。
优选地,所述装置还包括:接收模块,配置为接收其他节点设备创建的第二新区块;维护模块,配置为判断本地交易池中是否存在与所述第二新区块包括的第二交易信息相同的交易信息;若是,则将该相同的交易信息从本地交易池中移除。
优选地,所述区块间的连接关系还包括:里程碑块间的连接关系,以及里程碑块与非里程碑块的连接关系;所述装置还包括:区块分类模块,配置为对待认定区块的区块信息进行哈希运算,判断哈希运算结果是否满足预设里程碑难度条件,若是,则该待认定区块为里程碑块;否则为非里程碑块;交易确认模块,配置为判断是否若存在从最新里程碑块到承载待认定交易信息的区块的路径,若是,则认定该交易信息被所有节点接受。
优选地,所述结构化有向无环图至少包括由各里程碑块连接而成的里程碑链,以及由各节点设备自身创建的区块连接而成的对等节点链;所述对等节点链中的各区块至少指向一个里程碑块。
优选地,所述装置还包括:奖励计算模块,配置为在向对等网络的各节点设备广播第一新区块之后,确定所述节点设备创建第一新区块的奖励值;所述奖励值的确认参数包括所述第一新区块是否有效、所述第一新区块的类型是否为里程碑块以及所述第一交易是否有效。
根据本申请实施例的第三方面,公开了一种基于结构化有向无环图的交易分配装置,包括存储器和处理器,所述存储器用于存储机器可执行指令,所述处理器用于读取并执行所述机器可执行指令以执行如第一方面所述的交易分配方法。
根据本申请实施例的第四方面,公开了一种存储介质,所述存储介质存储有用于执行如第一方面所述的交易分配方法的程序。
与现有技术相比,本申请实施例具有以下优点:本申请基于结构化DAG,利用节点设备的相对算力对本地交易池中的交易信息进行分区的手段,能够在不牺牲安全性和去中心化的前提下,实现费用少的交易的也具有被处理机会的技术效果,同时还能够有效避免交易费用高的交易被多个节点处理导致算力浪费的问题。
附图说明
附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本申请第一实施例基于结构化DAG的交易分配方法的流程图;
图2为本申请实施例提供的结构化DAG示意图;
图3为本申请第二实施例基于结构化DAG的交易分配装置的结构示意图;
图4为本申请第三实施例基于结构化DAG的交易分配装置的结构示意图。
具体实施方式
首先对本申请的发明思想进行阐述。针对现有技术存在的高费用交易容易被多个矿工处理而出现的算力浪费问题,以及低费用交易几乎没有机会被处理的问题,本申请实施例在使用工作量证明机制(PoW)的同时,将链式结构扩展到有向无环图中,并以此对交易池中的交易按节点进行分区,从而能够在不牺牲安全性和去中心化的前提下解决同一交易被多个节点处理的问题,并进一步实现增加低费用交易的处理机会的技术效果。
关于交易分区,其实现思路之一是,基于DAG中对等节点链(peer chain)提供的节点的标识和哈希算力信息,将交易池中的所有交易“划分”给各节点。如果一笔交易与现有区块中某节点最新生成的区块相连,只有该交易区块哈希值满足某种模式,例如,前几位为0,该节点才能处理这一笔交易。另外,还允许节点创建没有交易信息的“空”区块,并且能够在没有交易费用的情况下获得创建区块的奖励。通过上述手段,可有效地减少一笔交易被多个矿工处理的机会,使多个矿工处理一笔交易的概率可以忽略不计。
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
在本申请实施例的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。“多个”的含义是两个或两个以上,除非另有明确具体的限定。术语“包括”、“包含”及类似术语应该被理解为是开放性的术语,即“包括/包含但不限于”。术语“基于”是“至少部分地基于”。术语“一实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”。其他术语的相关定义将在下文描述中给出。
参考图1,示出了本申请第一实施例基于结构化有向无环图的交易分配方法的流程,执行主体为对等网络中的节点设备,每个节点设备设置有本地数据库和本地交易池。本优选方法实施例包括以下步骤:
S101:节点设备获取本地数据库的数据结构,所述本地数据库的数据结构基于结构化有向无环图建立。
S102:利用所述结构化有向无环图包括的区块间的连接关系,计算所述节点设备的相对算力;所述区块间的连接关系至少包括各节点设备自身创建的区块间的连接关系。
上述各节点设备自身创建的区块间的连接关系构成了结构化有向无环图中的对等节点链。
具体实施时,所述节点设备的相对算力可以选用为本节点设备在一定时间段内创建的区块数与所有节点在该时间段内创建的区块数之比,或其他类似的方式。
S103:根据所述节点设备的相对算力对本地交易池中的交易信息进行分区;所述本地交易池中包含待处理的、未被区块承载的交易信息。
为进一步提高本申请实施例的性能,本地交易池优选采用内存缓存的方式实现。
S104:根据所述分区的结果选择第一交易信息,创建第一新区块,建立所述第一新区块与所述结构化有向无环图中其他区块间的连接关系;将所述第一交易信息从本地交易池中移除。
在具体实施时,本申请方案中的结构化DAG表征的区块间的连接关系,可通过各节点创建的新区块所包含的信息实现,因此所述第一新区块包括的信息至少包括从本地交易池中选择的交易信息(message)和所述第一新区块指向其他区块的指针信息。其中,上述对等节点链可以通过每个新区块中指向本节点设备最近以广播方式发布的区块的指针(idprev)实现,当本节点设备第一次创建新区块时,上述指针可以直接指向创世块。
以及,
S105:向对等网络的各节点设备广播第一新区块。
在进一步的优选实施例中,所述方法还包括对从其他设备接收的区块进行处理的如下步骤:
S106:接收其他节点设备创建的第二新区块。
S107:判断本地交易池中是否存在与所述第二新区块包括的第二交易信息相同的交易信息;若是,转步骤S108;否则,结束流程。
S108:将该相同的交易信息从本地交易池中移除。
具体实施时,所述根据所述节点设备的相对算力对本地交易池中的交易进行分区的方法具体为:所述节点设备i创建包含有交易Tx的新区块,需满足如下条件;
H(Bi.id,Tx)≤cqi
其中,
所述Bi表示节点设备i创建并发布的最后一个区块;
所述Bi.id表示区块Bi的唯一标识符;
所述H(Bi.id,Tx)表示对Bi.id和Tx作哈希运算;
所述qi表示节点设备i的相对算力;
所述c为调节参数,该调节参数c根据预设的交易冲突指标和交易排队延迟指标确定。
这意味着对于任何交易Tx,概率为cqi∧1,对于节点i是可行的。因此,平均每个交易Tx可以同时对于c个节点是可行的。如果则Tx对任何节点都不可行的概率为0,否则,Tx对任何节点都不可行的概率为:
注意,每个节点的可行交易集是动态的,因为它将在节点创建新块时改变。因此,Tx对任何节点都不可行的概率呈指数衰减。
为方便理解,下文以总共有n个矿工,每个矿工都具有相同的算力为例,分析本申请优选实施例的有益技术效果。
首先,对本申请优选实施例方案能够有效降低同一交易被多个节点处理的概率情况进行分析:假定新的区块由单个节点以速率μ创建,因此区块的总到达速率是nμ;假定交易Tx在时刻0被某个节点挖掘,用Ni表示节点i在[0,ti]挖掘出的区块的数量,其中ti表示节点i接收区块的时间并且满足因此Ni~Poi(μti)。用表示节点i是否有资格在[0,ti]挖掘Tx,因此对于Ni,有即使节点i有机会挖掘Tx,它也需要Exp(μ)时间才能完成挖掘。设Ai是“节点i在收到从0时刻开始广播的那个区块之前再次成功挖掘Tx”这一事件,有:
并且,
其中最后的不等式是由简森不等式获得的。
因此,当n→∞时,Tx正好被挖掘一次的概率下限为:
并且Tx平均被额外挖掘的次数的上界为:
因此区块中包含的互不相同的交易数与包含交易的总区块数之比的下界为:
下面,分析一笔交易在交易池中的排队时长。假设新的交易以恒定速率λ到达系统。用Q表示队列长度。
每当一个节点试图从交易池中找到交易进行处理时,可用交易的数量遵循具有参数(Q,c/n)的二项分布,并且可以通过具有比率(Qc/n)的泊松分布来近似。因此,节点在空区块上工作的时间比例为e-Qc/n,而包含交易的区块中只有θ比例的交易互不相同,交易的总服务率为θnμ(1-e-Qc/n)。为使系统具有稳定的Q,需要:
nμ(1-e-Qc/n)θ=λ
从而有根据里特定律,交易的平均等待时间是
考虑更为一般的情况,即新交易的到达率是随时间变化的,则用λ(t)表示。为了保持队列长度的大小Q(t)随时间的变化规律,需要通过动态调整难度级别来控制区块的创建率μ(t)。可以得到以下微分方程:
如果能够精确预估λ(t),可以选择来使队列大小稳定。
在进一步的优选方法实施例中,为保证方案能够安全实施,还在结构化DAG中散置相对更难的区块,并称之为里程碑块(英文名称为milestone block),并基于里程碑块之间的连接关系构成里程碑链(英文名称为milestone chain),或称之为中本聪链。如图2所示,本申请实施例的结构化DAG以包含有可信信息的创世块为起点,大空心方块表示创世块o,小空心方块表示各节点创建的非里程碑块,小实心方块表示各节点创建的里程碑块,带箭头的线段表示区块之间的连接关系。需要说明的是,为方便表达,图2所示的结构化DAG以设置有5个节点为例绘制,本领域技术人员在具体实施时可根据需要设置适当数量的节点。
其中,所述里程碑块的认定方法,具体为:对待认定区块的区块信息进行哈希运算,判断哈希运算结果是否满足预设里程碑难度条件,若是,则该待认定区块为里程碑块;否则为非里程碑块。
可以看出,本申请中的区块是否为里程碑只有在挖矿完成后才由挖矿节点认定,有一定的运气成分,因为创建任何区块的工作流程都是相同的。这样的设计不仅能够扩大容量,也可以保证里程碑链是完全去中心化的。当然,为体现节点设备算力在认定里程碑块中的作用,每个节点设备在创建新区块时,还可以在区块信息中增加本节点标识信息,但算力并不能构成里程碑块的决定因素。
承载于区块(包括里程碑块和非里程碑块)中的交易信息是否被所有节点接受由里程碑块确认,具体方法为:若存在从最新里程碑块到承载所述交易信息的区块的路径,则认定该交易信息被所有节点接受;若不存在上述路径,则该交易信息不会被所有节点接受。
以图2所示的节点4创建的最后一个区块和节点2创建的最后一个区块中的交易为例,由于存在从节点5创建的最新里程碑块到节点4创建的最后一个区块的路径(节点5创建的最新里程碑块-->节点3创建的最后一个区块-->节点4创建的最后一个区块),因此所有节点都会接受节点4创建的最后一个区块承载的交易信息;由于不存在从节点5创建的最新里程碑块到节点2创建的最后一个区块的路径,因此节点2创建的最后一个区块承载的交易信息不会被所有节点接受。
为确保上述交易有效性确认路径的存在,每个节点在创建新区块时,该新区块的信息应该还包括一个指向里程碑块的指针(idms),优选为指向最新发布的里程碑块的指针;当结构化DAG中没有里程碑块时,idms可以指向创世块。
另外,为实现进一步缩短交易确认延迟、增加系统吞吐量的目的,可以通过增加结构化DAG的连通性的方式实现。具体实施时,可以在创建新区块时,增加一个指向其他节点所创建的区块的指针(idtips),优选为指向其他节点最新发布的非里程碑块的指针;当结构化DAG中没有其他节点创建的非里程碑块时,idtips可以指向创世块。
在另一进一步的优选方法实施例中,还设置有对节点设备创建新区块进行奖励的手段,以鼓励矿工创建包含低费用交易甚至零费用交易的区块,进一步增加低费用交易被处理的机会、降低高费用交易被重复处理的概率。所述方法在步骤S105之后还包括:
S109:确定所述节点设备创建第一新区块的奖励值;其中,所述奖励值的确认参数包括所述第一新区块是否有效、所述第一新区块的类型是否为里程碑块以及所述第一交易是否有效等。
例如,对于矿工挖到的非里程碑块,如果该非里程碑块及其承载的交易均有效,可获得动态奖励与交易费之和的98%;如果该非里程碑块有效但其承载的交易无效,仅获得动态奖励的98%。对于矿工挖到的里程碑块,可获得固定奖励加上交易费,以及该里程碑块确认的所有区块的2%。对于在分叉中输掉的里程碑块,可按非里程碑块处理,并将该区块的固定奖励调整为动态奖励,使单位时间分配给非里程碑区块的总奖励值是固定的。
对于前述的各方法实施例,为了描述简单,故将其都表述为一系列的动作组合,但是本领域的技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为根据本申请实施例,某些步骤可以采用其他顺序或同时执行;其次,本领域技术人员也应该知悉,上述方法实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请实施例所必须的。
本申请实施例还公开了一种在其上记录有用于执行上述方法的程序的存储介质。所述存储介质包括配置为以计算机(以计算机为例)可读的形式存储或传送信息的任何机制。例如,存储介质包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪速存储介质、电、光、声或其他形式的传播信号(例如,载波、红外信号、数字信号等)等。
参见图3,为本申请第二实施例基于结构化有向无环图的交易分配装置的结构示意图。所述交易分配装置30应用于对等网络中的节点设备,包括获取模块31、计算模块32、分区模块33、创建模块34、发布模块35、本地数据库36和本地交易池37,其中:
获取模块31,配置为获取本地数据库36的数据结构;所述本地数据库的数据结构基于结构化有向无环图建立;
计算模块32,配置为利用所述结构化有向无环图包括的区块间的连接关系,计算所述节点设备的相对算力;所述区块间的连接关系至少包括各节点设备自身创建的区块间的连接关系;
分区模块33,配置为根据所述节点设备的相对算力对本地交易池37中的交易信息进行分区;所述本地交易池包括待处理的、未被区块承载的交易信息;
具体实施时,所述节点设备的相对算力可以为本节点设备在预设时间段内创建的区块数与所有节点在该时间段内创建的区块数之比,也可以采用其他类似的方式。
创建模块34,配置为根据所述分区的结果选择第一交易信息,创建第一新区块,建立所述第一新区块与所述结构化有向无环图中其他区块间的连接关系;以及,将所述第一交易信息从本地交易池37中移除;
具体实施时,为进一步提高本申请实施例的性能,本地交易池37优选采用内存缓存的方式实现。
发布模块35,配置为向对等网络的各节点设备广播所述第一新区块。
在进一步的优选装置实施例中,所述分区模块可以选用如下方法对本地交易池中的交易进行分区:所述节点设备i创建包含有交易Tx的新区块,需满足如下条件;
H(Bi.id,Tx)≤cqi
其中,所述Bi为所述节点设备i已经发布的最后一个区块;所述Bi.id表示区块Bi的唯一标识符;所述H(Bi.id,Tx)表示对Bi.id和Tx作哈希运算;所述qi表示节点设备i的相对算力;所述c为调节参数,该调节参数c根据预设的交易冲突指标和交易排队延迟指标确定。
在另一进一步的优选装置实施例中,所述装置还可以包括:接收模块,配置为接收其他节点设备创建的第二新区块;维护模块,配置为判断本地交易池中是否存在与所述第二新区块包括的第二交易信息相同的交易信息;若是,则将该相同的交易信息从本地交易池中移除。
其中,所述区块间的连接关系还可以包括:里程碑块间的连接关系,以及里程碑块与非里程碑块的连接关系;相应的,所述装置还可以包括:区块分类模块,配置为对待认定区块的区块信息进行哈希运算,判断哈希运算结果是否满足预设里程碑难度条件,若是,则该待认定区块为里程碑块;否则为非里程碑块;交易确认模块,配置为判断是否若存在从最新里程碑块到承载待认定交易信息的区块的路径,若是,则认定该交易信息被所有节点接受。
具体实施时,所述结构化有向无环图可以包括由各里程碑块连接而成的里程碑链,以及由各节点设备自身创建的区块连接而成的对等节点链;所述对等节点链中的各区块至少指向一个里程碑块。
另外,所述装置还可以包括:奖励计算模块,配置为在发布模块35向对等网络的各节点设备广播第一新区块之后,确定所述节点设备创建第一新区块的奖励值;所述奖励值的确认参数包括所述第一新区块是否有效、所述第一新区块的类型是否为里程碑块以及所述第一交易是否有效等。
参见图4,为本申请第三实施例基于结构化有向无环图的交易分配装置的结构示意图。该交易分配装置40应用于对等网络中的节点设备,包括存储器42和处理器41,所述存储器42用于存储机器可执行指令,所述处理器41用于读取并执行所述机器可执行指令以执行本申请第一实施例所述的交易分配方法。
需要说明的是,上述装置实施例属于优选实施例,所涉及的单元和模块并不一定是本申请实施例所必须的。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于本申请实施例的装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例部分的说明即可。以上所描述的装置及装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,既可以位于一个地方或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

Claims (16)

1.一种基于结构化有向无环图的交易分配方法,应用于对等网络中的节点设备,包括:
获取本地数据库的数据结构;所述本地数据库的数据结构基于结构化有向无环图建立;
利用所述结构化有向无环图包括的区块间的连接关系,计算所述节点设备的相对算力;所述区块间的连接关系至少包括各节点设备自身创建的区块间的连接关系;
根据所述节点设备的相对算力对本地交易池中的交易信息进行分区;所述本地交易池中包含待处理的、未被区块承载的交易信息;
根据所述分区的结果选择第一交易信息,创建第一新区块,建立所述第一新区块与所述结构化有向无环图中其他区块间的连接关系;将所述第一交易信息从本地交易池中移除;
以及,
向对等网络的各节点设备广播第一新区块。
2.根据权利要求1所述的交易分配方法,其中,所述节点设备的相对算力为本节点设备在预设时间段内创建的区块数与所有节点在该时间段内创建的区块数之比。
3.根据权利要求2所述的交易分配方法,其中,所述根据所述节点设备的相对算力对本地交易池中的交易进行分区的方法具体为:所述节点设备i创建包含有交易Tx的新区块,需满足如下条件;
H( Bi.id,Tx) ≤ cqi
其中,
所述Bi表示所述节点设备i创建并广播到各节点设备的最后一个区块;
所述Bi.id表示区块Bi的唯一标识符;
所述H( Bi.id,Tx)表示对Bi.id和Tx作哈希运算;
所述qi表示节点设备i的相对算力;
所述c为调节参数,该调节参数c根据预设的交易冲突指标和交易排队延迟指标确定。
4.根据权利要求1所述的交易分配方法,其中,所述方法还包括:
接收其他节点设备创建的第二新区块;
判断本地交易池中是否存在与所述第二新区块包括的第二交易信息相同的交易信息;
若是,则将该相同的交易信息从本地交易池中移除。
5.根据权利要求1所述的交易分配方法,其中,所述区块间的连接关系还包括:里程碑块间的连接关系,以及里程碑块与非里程碑块的连接关系;
所述里程碑块的认定方法,具体为:对待认定区块的区块信息进行哈希运算,判断哈希运算结果是否满足预设里程碑难度条件,若是,则该待认定区块为里程碑块;否则为非里程碑块;
交易信息是否被所有节点接受由里程碑块确认,具体方法为:若存在从最新里程碑块到承载所述交易信息的区块的路径,则认定该交易信息被所有节点接受。
6.根据权利要求5所述的交易分配方法,其中,所述结构化有向无环图至少包括由各里程碑块连接而成的里程碑链,以及由各节点设备自身创建的区块连接而成的对等节点链;所述对等节点链中的各区块至少指向一个里程碑块。
7.根据权利要求5所述的交易分配方法,其中,在向对等网络的各节点设备广播第一新区块之后,还包括:
确定所述节点设备创建第一新区块的奖励值;所述奖励值的确认参数包括所述第一新区块是否有效、所述第一新区块的类型是否为里程碑块以及所述第一交易是否有效。
8.一种基于结构化有向无环图的交易分配装置,应用于对等网络中的节点设备,包括获取模块、计算模块、分区模块、创建模块和发布模块,其中:
获取模块,配置为获取本地数据库的数据结构;所述本地数据库的数据结构基于结构化有向无环图建立;
计算模块,配置为利用所述结构化有向无环图包括的区块间的连接关系,计算所述节点设备的相对算力;所述区块间的连接关系至少包括各节点设备自身创建的区块间的连接关系;
分区模块,配置为根据所述节点设备的相对算力对本地交易池中的交易信息进行分区;所述本地交易池包括待处理的、未被区块承载的交易信息;
创建模块,配置为根据所述分区的结果选择第一交易信息,创建第一新区块,建立所述第一新区块与所述结构化有向无环图中其他区块间的连接关系;以及,将所述第一交易信息从本地交易池中移除;
发布模块,配置为向对等网络的各节点设备广播所述第一新区块。
9.根据权利要求8所述的交易分配装置,其中,所述节点设备的相对算力为本节点设备在预设时间段内创建的区块数与所有节点在该时间段内创建的区块数之比。
10.根据权利要求9所述的交易分配装置,其中,所述分区模块对本地交易池中的交易进行分区的方法,具体为:所述节点设备i创建包含有交易Tx的新区块,需满足如下条件;
H( Bi.id,Tx) ≤ cqi
其中,
所述Bi表示所述节点设备i创建并广播到各节点设备的最后一个区块;
所述Bi.id表示区块Bi的唯一标识符;
所述H( Bi.id,Tx)表示对Bi.id和Tx作哈希运算;
所述qi表示节点设备i的相对算力;
所述c为调节参数,该调节参数c根据预设的交易冲突指标和交易排队延迟指标确定。
11.根据权利要求8所述的交易分配装置,其中,所述装置还包括:
接收模块,配置为接收其他节点设备创建的第二新区块;
维护模块,配置为判断本地交易池中是否存在与所述第二新区块包括的第二交易信息相同的交易信息;若是,则将该相同的交易信息从本地交易池中移除。
12.根据权利要求8所述的交易分配装置,其中,所述区块间的连接关系还包括:里程碑块间的连接关系,以及里程碑块与非里程碑块的连接关系;
所述装置还包括:
区块分类模块,配置为对待认定区块的区块信息进行哈希运算,判断哈希运算结果是否满足预设里程碑难度条件,若是,则该待认定区块为里程碑块;否则为非里程碑块;
交易确认模块,配置为判断是否若存在从最新里程碑块到承载待认定交易信息的区块的路径,若是,则认定该交易信息被所有节点接受。
13.根据权利要求12所述的交易分配装置,其中,所述结构化有向无环图至少包括由各里程碑块连接而成的里程碑链,以及由各节点设备自身创建的区块连接而成的对等节点链;所述对等节点链中的各区块至少指向一个里程碑块。
14.根据权利要求12所述的交易分配装置,其中,所述装置还包括:
奖励计算模块,配置为在向对等网络的各节点设备广播第一新区块之后,确定所述节点设备创建第一新区块的奖励值;所述奖励值的确认参数包括所述第一新区块是否有效、所述第一新区块的类型是否为里程碑块以及所述第一交易是否有效。
15.一种基于结构化有向无环图的交易分配装置,应用于对等网络中的节点设备,包括存储器和处理器,所述存储器用于存储机器可执行指令,所述处理器用于读取并执行所述机器可执行指令以执行权利要求1-7任一所述的交易分配方法。
16.一种存储介质,其特征在于,所述存储介质存储有用于执行权利要求1~7任一所述交易分配方法的程序。
CN201980001595.3A 2019-01-08 2019-01-08 基于结构化有向无环图的交易分配方法和装置 Pending CN110431579A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/070887 WO2020142906A1 (zh) 2019-01-08 2019-01-08 基于结构化有向无环图的交易分配方法和装置

Publications (1)

Publication Number Publication Date
CN110431579A true CN110431579A (zh) 2019-11-08

Family

ID=68419115

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980001595.3A Pending CN110431579A (zh) 2019-01-08 2019-01-08 基于结构化有向无环图的交易分配方法和装置

Country Status (3)

Country Link
US (1) US20220101318A1 (zh)
CN (1) CN110431579A (zh)
WO (1) WO2020142906A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110910237A (zh) * 2019-11-20 2020-03-24 腾讯科技(深圳)有限公司 区块链中的数据处理方法、装置及智能终端、存储介质
CN112783983A (zh) * 2021-02-07 2021-05-11 中国人民解放军国防科技大学 基于主副区块图链结构区块链账本设计的自适应共识方法
CN113553375A (zh) * 2021-07-12 2021-10-26 华中科技大学 一种面向图式区块链的分片存储装置及方法
CN114006900A (zh) * 2021-12-30 2022-02-01 中科声龙科技发展(北京)有限公司 一种实现有向无环图处理的系统、上位机及中继管理装置
US11769125B2 (en) 2020-05-22 2023-09-26 Baidu Online Network Technology (Beijing) Co., Ltd Method and apparatus for processing transaction requests in blockchain, device and medium

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2576375A (en) * 2018-08-17 2020-02-19 Uvue Ltd Transaction system and method of operation thereof
US11451393B2 (en) * 2019-01-29 2022-09-20 Kenneth HURLEY System and method for distributed general-purpose computing with cryptotoken payment system
CN117725468B (zh) * 2024-02-06 2024-04-26 四川鸿霖科技有限公司 一种智能医用电保障方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140122510A1 (en) * 2012-10-31 2014-05-01 Samsung Sds Co., Ltd. Distributed database managing method and composition node thereof supporting dynamic sharding based on the metadata and data transaction quantity
CN106897351A (zh) * 2016-12-29 2017-06-27 北京瑞卓喜投科技发展有限公司 有向无环图型区块链的生成方法及系统
US20170212781A1 (en) * 2016-01-26 2017-07-27 International Business Machines Corporation Parallel execution of blockchain transactions
CN108984789A (zh) * 2018-08-15 2018-12-11 赵东洋 分布式记账的方法、装置、存储介质及电子设备
CN109039847A (zh) * 2018-08-07 2018-12-18 广州三牛信息科技有限公司 一种利用dmt解决区块链全网消息一致性问题的方法及装置
CN109102296A (zh) * 2018-08-31 2018-12-28 北京八分量信息科技有限公司 一种节点共识方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140122510A1 (en) * 2012-10-31 2014-05-01 Samsung Sds Co., Ltd. Distributed database managing method and composition node thereof supporting dynamic sharding based on the metadata and data transaction quantity
US20170212781A1 (en) * 2016-01-26 2017-07-27 International Business Machines Corporation Parallel execution of blockchain transactions
CN106897351A (zh) * 2016-12-29 2017-06-27 北京瑞卓喜投科技发展有限公司 有向无环图型区块链的生成方法及系统
CN109039847A (zh) * 2018-08-07 2018-12-18 广州三牛信息科技有限公司 一种利用dmt解决区块链全网消息一致性问题的方法及装置
CN108984789A (zh) * 2018-08-15 2018-12-11 赵东洋 分布式记账的方法、装置、存储介质及电子设备
CN109102296A (zh) * 2018-08-31 2018-12-28 北京八分量信息科技有限公司 一种节点共识方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
I.D.KOTILEVETS等: "Implementation of directed acyclic graph in blockchain network to improve security and speed of transactions", 《IFAC-PAPERSONLINE》 *
张正等: "面向工业互联网场景的新型分布式账本技术", 《情报工程》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110910237A (zh) * 2019-11-20 2020-03-24 腾讯科技(深圳)有限公司 区块链中的数据处理方法、装置及智能终端、存储介质
CN110910237B (zh) * 2019-11-20 2024-05-24 腾讯科技(深圳)有限公司 区块链中的数据处理方法、装置及智能终端、存储介质
US11769125B2 (en) 2020-05-22 2023-09-26 Baidu Online Network Technology (Beijing) Co., Ltd Method and apparatus for processing transaction requests in blockchain, device and medium
CN112783983A (zh) * 2021-02-07 2021-05-11 中国人民解放军国防科技大学 基于主副区块图链结构区块链账本设计的自适应共识方法
CN113553375A (zh) * 2021-07-12 2021-10-26 华中科技大学 一种面向图式区块链的分片存储装置及方法
CN113553375B (zh) * 2021-07-12 2022-07-01 华中科技大学 一种面向图式区块链的分片存储装置及方法
CN114006900A (zh) * 2021-12-30 2022-02-01 中科声龙科技发展(北京)有限公司 一种实现有向无环图处理的系统、上位机及中继管理装置

Also Published As

Publication number Publication date
WO2020142906A1 (zh) 2020-07-16
US20220101318A1 (en) 2022-03-31

Similar Documents

Publication Publication Date Title
CN110431579A (zh) 基于结构化有向无环图的交易分配方法和装置
EP3669521B1 (en) Method and system for publicly verifiable proofs of retrievability in blockchains
CN109639430B (zh) 安全高速轻量级的区块链系统及方法
CN109508982A (zh) 基于区块链主链加并行多子链的repb共识
EP3861494A1 (en) A consensus method and framework for a blockchain system
Feng et al. A blockchain-based collocation storage architecture for data security process platform of WSN
CN109792382B (zh) 使用全局加速节点提高区块交易速度的方法、系统和存储介质
Conti et al. Blockchain trilemma solver algorand has dilemma over undecidable messages
CN112651830B (zh) 应用于电力资源共享网络的区块链共识方法
US20160358164A1 (en) Method and system for digital currency transaction signature and digital currency transaction device thereof
Dasu et al. Unchain your blockchain
Zhidanov et al. Blockchain technology for smartphones and constrained IoT devices: A future perspective and implementation
CN109840769B (zh) 基于区块链的存证方法及装置、系统与存储介质
CN110414961A (zh) 防止追踪交易转出方的转账方法、装置、设备及存储介质
CN104717645B (zh) 保证无线传感器网络的数据传输方法及其系统
CN110506285A (zh) 基于有向无环图的区块创建、添加、账本建立方法和装置
Platt et al. Sybil attacks on identity-augmented Proof-of-Stake
Yin et al. Sidechains with fast cross-chain transfers
CN110474765A (zh) 一种基于委托权益证明扩展的量子区块链构建方法
Chepurnoy Interactive proof-of-stake
CN113923217B (zh) 一种基于dag的异步拜占庭共识方法及系统
Peterson et al. Towards detection of selfish mining using machine learning
CN103414731A (zh) 一种并行密钥隔离的基于身份的聚合签名方法
Wei et al. Rethinking blockchains in the internet of things era from a wireless communication perspective
León-Coca et al. Authentication systems using ID Cards over NFC links: the Spanish experience using DNIe

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
AD01 Patent right deemed abandoned

Effective date of abandoning: 20230707

AD01 Patent right deemed abandoned