CN113807851A - 一种基于分片的区块链可扩展性实现方法及*** - Google Patents
一种基于分片的区块链可扩展性实现方法及*** Download PDFInfo
- Publication number
- CN113807851A CN113807851A CN202111166056.0A CN202111166056A CN113807851A CN 113807851 A CN113807851 A CN 113807851A CN 202111166056 A CN202111166056 A CN 202111166056A CN 113807851 A CN113807851 A CN 113807851A
- Authority
- CN
- China
- Prior art keywords
- node
- transaction
- event
- fragment
- nodes
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000013467 fragmentation Methods 0.000 title claims abstract description 28
- 238000006062 fragmentation reaction Methods 0.000 title claims abstract description 28
- 239000012634 fragment Substances 0.000 claims abstract description 92
- 238000012545 processing Methods 0.000 claims abstract description 14
- 238000005192 partition Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 12
- 230000006854 communication Effects 0.000 claims description 9
- 238000012790 confirmation Methods 0.000 claims description 6
- 230000000644 propagated effect Effects 0.000 claims description 3
- 230000003247 decreasing effect Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 11
- 238000005516 engineering process Methods 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 11
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
- G06Q20/102—Bill distribution or payments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于分片的区块链可扩展性实现方法及***,本发明方法包括:将区块链***中的节点所处的网络划分为不同的子网,每个子网看作一个分片,各个分片用于负责维护不相交的账本数据和处理不相交的交易;基于节点的ID及其所属的分片的ID生成节点的标识,并将所有节点的标识存储到标识数据库中;以标识数据库作为中介,实现两个不同分片的节点之间的跨分片交易。本发明以防篡改、可追溯和去中心化的区块链技术为基础,采用基于分片技术的方式,对图结构进行分片,不仅可以处理同一分片内交易,还可以以标识数据库作为中介实现不同分片的节点之间的跨分片交易,保证交易的原子性,能够提高区块链的可扩展性。
Description
技术领域
本发明涉及区块链分片技术,具体涉及一种基于分片的区块链可扩展性实现方法及***。
背景技术
区块链是一种建立在P2P网络上的分布式账本,可在非信任环境下进行价值可信交换。除了比特币的成功外,区块链技术还在物联网、金融、共享经济等多个领域应用,并推动创新。但是,目前区块链链,例如比特币和以太坊,存在严重的局限性:网络中的每个全节点需要验证和处理每笔交易,并存储整个账本数据,尽管这一要求有力的保障了***的安全,但效率低且***无法扩展。比特币平均只能处理7笔交易,以太坊稍有提升,但也仅仅平均每秒处理15~20笔交易,这极大的限制了区块链的大规模应用。使得***无法随着网络节点数量的增加来扩大交易处理能力。另一方面,每个全节点都需要保留完整的历史账本,以独立验证所有交易。目前,比特币和以太坊的账本大小保持快速增长。区块链越大,节点就需要越多的资源来存储数据和验证交易。
一些协议被提出用于缓解区块链的可扩展性问题。但是,这些协议大多数无法打破区块链著名的三元悖论问题,也称不可能三角,即可扩展性、去中心化和安全性,三者只能兼顾其二。
解决此难题的一种有效方法是采用分片技术。分片技术起源于分布式数据库领域,通过将数据库按表或者按行分为多个部分,分别放在不同的服务器上来提高整个***的响应能力。在区块链中,节点被划分为多个分片,各个分片能够并行处理不相交的交易并只维护与自己相关的账本数据。根据分片的功能,分片技术可以分为网络分片、交易分片和状态分片。网络分片是交易分片和状态分片的基础。交易分片使得各个分片可以并行处理交易,而状态分片进一步要求各个分片只保存与自己相关的账本数据。通过共识的并行化与存储的分散化,分片技术可以根据网络节点规模线性的提升***的吞吐量,并降低每个节点的存储压力,从而大大提升区块链的可扩展性。但是,现有的基于分片的区块链协议要么仅支持交易分片,要么需要通过大量数据迁移来支持状态分片,尚没有良好的状态分片解决方案。状态分片是目前分片协议中最具挑战性的难题。首先,为了防止恶意节点相互合谋,已有的解决方案会定期执行随机网络分区协议来重新组织分片。但是,由于每个节点仅保留当前分片的账本数据,当划分到其他分片后,需要下载新分片的账本数据。这导致节点需要消耗大量的带宽资源,并且在新数据被完全下载完之前,***有可能被中断。其次,虽然状态分片可以减少节点的存储开销,跨分片交易的处理却变得更难。所有涉及的分片都需要相互协调,以保证交易执行的原子性。此外,已有的分片协议往往是在传统的链式结构中应用。图结构的区块链与分片技术结合的研究尚处于起步阶段。
发明内容
本发明要解决的技术问题:现有区块链***可扩展性不足,已有的分片协议往往是在传统的链式结构中应用。为了进一步提高图结构区块链的性能,解决因为分片而导致的跨分片交易问题,提供一种基于分片的区块链可扩展性实现方法及***,本发明以防篡改、可追溯和去中心化的区块链技术为基础,采用基于分片技术的方式,对图结构进行分片,不仅可以处理同一分片内交易,还可以以标识数据库作为中介实现不同分片的节点之间的跨分片交易,保证交易的原子性,能够提高区块链的可扩展性。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于分片的区块链可扩展性实现方法,包括:
1)将区块链***中的节点所处的网络划分为不同的子网,每个子网看作一个分片,各个分片用于负责维护不相交的账本数据和处理不相交的交易;
2)基于节点的ID及其所属的分片的ID生成节点的标识,并将所有节点的标识存储到标识数据库中;
3)以标识数据库作为中介,实现不同分片的节点之间的跨分片交易。
可选地,步骤2)中生成节点的标识的形式为:节点ID:分片ID。
可选地,令跨分片交易为分片I中的节点B与分片II中节点C进行交易,则步骤3)包括:
3.1)分片I中的节点B生成与分片II中节点C的跨分片交易消息,并在分片I中达成共识,且向标识数据库发送交易消息;
3.2)将跨分片交易涉及的节点B的账户锁定,并产生交易有效性证明,记录在标识数据库中;所述标识数据库将交易消息路由到分片II中,并向分片II中节点C发送交易消息,该交易消息在分片II中达成共识,产生交易有效性证明,并向标识数据库发送该交易有效性证明;
3.3)根据标识数据库收到的交易有效性证明,分别向分片I发送一笔交易信息:将节点B的账户解锁、减少节点B的账户余额;向分片II发送另一笔交易信息:增加节点C的账户余额;且减少节点B的账户余额的额度、增加节点C的账户余额的额度两者均为跨分片交易消息中交易金额x。
可选地,步骤3.3)中减少节点B的账户余额时,若节点B的账户余额不足跨分片交易消息中交易金额x,则判定跨分片交易失败,向标识数据库发送消息,使标识数据库执行状态回滚。
可选地,步骤2)之后还包括执行同一分片的片内交易的步骤:
S1)源节点发起交易,将交易封装成事件;
S2)源节点将事件通过预设的协议在源节点所在的分片内进行传播,使其分别传播到该分片中的每一个节点,且分片内的节点根据传播的事件及通信过程建立DAG账本;
S3)分片内的节点采用虚拟投票的方式,基于本地的DAG账本进行投票和提交,最终达成共识。
可选地,步骤S1)中封装的事件包括交易数据、时间戳和哈希值,所述哈希值包括本节点父顶点、其他节点父顶点两个哈希值,所述本节点父顶点指向本节点的上一个事件,所述其他节点父顶点指向发送事件的源节点中的该事件。
可选地,步骤S2)中分片内的节点根据传播的事件及通信过程建立DAG账本的步骤包括:节点通过“Gossip about gossip”协议传播事件,将事件按照接收顺序存储,且为该事件生成本节点父顶点、其他节点父顶点两个哈希值,所述本节点父顶点指向本节点的上一个事件,所述其他节点父顶点指向发送事件的源节点中的该事件,并基于本节点所有事件的本节点父顶点,本节点所有事件的其他节点父顶点生成DAG账本。
可选地,步骤S3)包括:各个节点将本地的DAG划分为不同的轮次,每一轮次创建的第一个事件为见证人;如果第r+1轮的见证人事件可见第r轮的见证人事件,则表示第r+1轮的见证人事件投赞成票,否则表示投反对票;第r+2轮的见证人事件强可见第r+1轮的见证人事件,则表示收集该第r+1轮的见证人的赞成票的占比超过预设的绝大多数比例阈值,则判定第r轮的事件为知名见证人,若所有或绝大多数知名见证人可见某一事件时,则该事件将达到最终确认状态。
此外,本发明还提供一种基于分片的区块链可扩展性实现***,包括相互连接的微处理器和存储器,该微处理器被编程或配置以执行所述基于分片的区块链可扩展性实现方法的步骤。
此外,本发明还提供一种计算机可读存储介质,该计算机可读存储介质中存储有被编程或配置以执行所述基于分片的区块链可扩展性实现方法的计算机程序。
和现有技术相比,本发明具有下述优点:本发明方法包括将区块链***中的节点所处的网络划分为不同的子网,每个子网看作一个分片,各个分片用于负责维护不相交的账本数据和处理不相交的交易;基于节点的ID及其所属的分片的ID生成节点的标识,并将所有节点的标识存储到标识数据库中;以标识数据库作为中介,实现不同分片的节点之间的跨分片交易。本发明以防篡改、可追溯和去中心化的区块链技术为基础,采用基于分片技术的方式,对图结构进行分片,不仅可以处理同一分片内交易,还可以以标识数据库作为中介实现不同分片的节点之间的跨分片交易,保证交易的原子性,能够提高区块链的可扩展性。
附图说明
图1为本发明实施例方法的核心流程示意图。
图2为本发明实施例中跨分片交易的流程图。
图3为本发明实施例中跨分片交易的原理图。
图4为本发明实施例中片内交易的原理图。
图5为本发明实施例中片内交易的流程图。
具体实施方式
如图1所示,本实施例基于分片的区块链可扩展性实现方法包括:
1)将区块链***中的节点所处的网络划分为不同的子网,每个子网看作一个分片,各个分片用于负责维护不相交的账本数据和处理不相交的交易;
2)基于节点的ID及其所属的分片的ID生成节点的标识(Tag),并将所有节点的标识存储到标识数据库中;
3)以标识数据库作为中介,实现不同分片的节点之间的跨分片交易。
本实施例中,步骤2)中生成节点的标识的形式为:节点ID:分片ID。
对于跨分片交易,通过初始化、锁定和解锁这三个逻辑步骤,完成跨分片交易,保证交易的原子性。如图2和图3所示,令跨分片交易为分片I中的节点B与分片II中节点C进行交易,则本实施例中步骤3)包括:
3.1)分片I中的节点B生成与分片II中节点C的跨分片交易消息,并在分片I中达成共识(本实施例中为执行Hashgraph共识算法),且向标识数据库发送交易消息;
3.2)将跨分片交易涉及的节点B的账户锁定,并产生交易有效性证明,记录在标识数据库中;所述标识数据库将交易消息路由到分片II中,并向分片II中节点C发送交易消息,该交易消息在分片II中达成共识,产生交易有效性证明,并向标识数据库发送该交易有效性证明;
3.3)根据标识数据库收到的交易有效性证明,分别向分片I发送一笔交易信息:将节点B的账户解锁、减少节点B的账户余额;向分片II发送另一笔交易信息:增加节点C的账户余额;且减少节点B的账户余额的额度、增加节点C的账户余额的额度两者均为跨分片交易消息中交易金额x。
本实施例中,步骤3.3)中减少节点B的账户余额时,若节点B的账户余额不足跨分片交易消息中交易金额x,则判定跨分片交易失败,向标识数据库发送消息,使标识数据库执行状态回滚。
参见图3,例如分片I的B与分片II中的C进行交易,B向C转x个币。初始化阶段对应图3(2)中的操作①,在分片I中,节点B产生“B向C转x个币”这个交易,并通过Hashgraph共识算法在分片I中达成共识,使得分片I中的每个节点都知道这个交易。并向Tag数据库发送消息:TB-x。锁定阶段对应②③④三个操作,此时,B的x个币被锁定,并产生由B签名的有效性证明,该证明被Tag数据库记录。Tag数据库将交易信息路由到分片II中,向分片II中的C发送消息:TC+x。该交易在分片II中通过Hashgraph达成共识。C产生由C签名的有效性证明,发送给Tag数据库记录。解锁阶段对应的是操作⑤,Tag数据库收到两个有效性证明,然后分别向分片I和分片II发送两笔交易:从B中减去x个币,从C中增加x个币。B和C的账户分别执行相应的操作,至此完成跨分片交易。为了保证交易原子性,过程中如果B没有足够x个币,则向Tag数据库发送消息,使得状态回滚,跨分片交易失败。
本实施例中的跨分片交易根据标识区分交易类型,以及由标识数据库存储所有的数据。分片和分片之间不需要直接交流,在转账交易的场景中较为简单,用户通过标识数据库完成跨分片交易操作,其要解决的问题是保证交易的原子性和安全性,通过“锁定-解锁”确保能收到足够的有效性证明后执行跨分片交易,否则状态回滚,可杜绝节点的恶意行为。
本实施例基于分片的区块链可扩展性实现方法步骤2)之后还包括执行同一分片的片内交易的步骤。对于片内交易,相当于没有进行分片,片内节点执行Hashgraph共识算法,通过创建交易、生成事件、存储传播和投票确认这四个逻辑步骤对交易达成共识,完成片内交易的处理。如图5所示,片内交易的步骤包括:
S1)源节点发起交易,将交易封装成事件;
S2)源节点将事件通过预设的协议在源节点所在的分片内进行传播,使其分别传播到该分片中的每一个节点,且分片内的节点根据传播的事件及通信过程建立DAG(有向无环图)账本;
S3)分片内的节点采用虚拟投票的方式,基于本地的DAG账本进行投票和提交,最终达成共识。
步骤S1)用于创建交易及生成事件。异步网络中有N个节点。节点的输入是一条交易。为了方便描述起见,本实施例中假设交易是一个字符串。本实施例中,步骤S1)中封装的事件包括交易数据、时间戳和哈希值,所述哈希值包括本节点父顶点(self-parent)、其他节点父顶点(other-parent)两个哈希值,所述本节点父顶点指向本节点的上一个事件,所述其他节点父顶点指向发送事件的源节点中的该事件。
步骤S2)用于传播事件。本实施例中,步骤S2)中分片内的节点根据传播的事件及通信过程建立DAG账本的步骤包括:节点通过“Gossip about gossip”协议传播事件,将事件按照接收顺序存储,且为该事件生成本节点父顶点、其他节点父顶点两个哈希值,所述本节点父顶点指向本节点的上一个事件,所述其他节点父顶点指向发送事件的源节点中的该事件,并基于本节点所有事件的本节点父顶点,本节点所有事件的其他节点父顶点生成DAG账本。在网络中,通过“Gossip about gossip”协议节点进行随机交流。每个节点可能知道其他所有节点,或者可能只知道几个邻居节点。节点将自己知道且对方不知道的消息传播出去,对方节点根据自己已知的信息,创建新的事件,再传播给其他不知道此新事件的节点。在一番杂乱无章的的通信过程之后,消息被广播,其他节点的数据将不断同步。
步骤S3)用于投票确认。如图4所示,本实施例中,步骤S3)包括:各个节点将本地的DAG划分为不同的轮次,每一轮次创建的第一个事件为见证人;如果第r+1轮的见证人事件可见第r轮的见证人事件,则表示第r+1轮的见证人事件投赞成票,否则表示投反对票;第r+2轮的见证人事件强可见第r+1轮的见证人事件,则表示收集该第r+1轮的见证人的赞成票的占比超过预设的绝大多数比例阈值,则判定第r轮的事件为知名见证人,若所有或绝大多数知名见证人可见某一事件时,则该事件将达到最终确认状态。其中,基于DAG的可见、强可见的定义如下:(1)可见:节点创建两个事件x和y。如果事件x是事件z的祖先,事件y不是,则称事件z可见事件x。(2)强可见:事件x找到事件y的所有路径经过绝大多数节点(大于2n/3,其中n是节点数)时,称事件x强可见事件y。
本实施例中,采用虚拟投票的方式,节点之间不实际发送投票,仅根据节点本地的DAG账本进行投票确认和提交。事件之间的强可见或可见作为投票标准,该标准基于见证人消息和数字签名。从时间维度来看,需要经过投票和提交两个阶段才能达成共识:投票阶段中。将共识过程分为多个轮次。当新事件传播到下一个成员时,该成员添加见证消息。某一轮次创建的第一个事件x,称为见证人,该轮次记为r。例如事件x是否是知名见证人,需要由后面轮次的见证人投票决定。第r+1轮的见证人构成投票委员会的成员。可见意味着则投YES,否则为NO。提交阶段中。如果第r+2轮的见证人能够强可见第r+1轮的见证人,则收集该见证人的选票。当票数超过2/3,则确定该事件是知名见证人。没有收集到足够的选票,会继续进行。确定事件是否是知名见证人不会永远持续下去。第r+n轮(n通常为10)还未确定,则引入硬币轮次。当所有或绝大多数知名见证人可见事件时,事件将达到最终确认状态。一轮共识后,事件将被排序,提交给整个网络并存储在本地的账本中。需要说明的是,本实施例中,创建交易由一个节点完成,生成事件、传播事件、投票确认由不同节点完成。
综上所述,本实施例方法包括将区块链***中的节点所处的网络划分为不同的子网,每个子网看作一个分片,每个分片负责维护不相交的账本数据和处理不相交的交易;节点的标识,称为Tag,记作节点ID:分片ID,并将所有Tag存储在Tag数据库中;Tag数据库存储所有交易,处理跨分片交易;根据Tag区分交易类型,分为分片内交易和跨分片交易;对于分片内交易,片内节点执行Hashgraph共识算法,通过创建交易、生成事件、存储传播和投票确认这四个逻辑步骤对交易达成共识,完成片内交易的处理;对于跨分片交易,通过初始化、锁定和解锁这三个逻辑步骤,完成跨分片交易,保证交易的原子性。
此外,本实施例还提供一种基于分片的区块链可扩展性实现***,包括相互连接的微处理器和存储器,该微处理器被编程或配置以执行前述基于分片的区块链可扩展性实现方法的步骤。
此外,本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有被编程或配置以执行前述基于分片的区块链可扩展性实现方法的计算机程序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种基于分片的区块链可扩展性实现方法,其特征在于,包括:
1)将区块链***中的节点所处的网络划分为不同的子网,每个子网看作一个分片,各个分片用于负责维护不相交的账本数据和处理不相交的交易;
2)基于节点的ID及其所属的分片的ID生成节点的标识,并将所有节点的标识存储到标识数据库中;
3)以标识数据库作为中介,实现不同分片的节点之间的跨分片交易。
2.根据权利要求1所述的基于分片的区块链可扩展性实现方法,其特征在于,步骤2)中生成节点的标识的形式为:节点ID:分片ID。
3.根据权利要求1所述的基于分片的区块链可扩展性实现方法,其特征在于,令跨分片交易为分片I中的节点B与分片II中节点C进行交易,则步骤3)包括:
3.1)分片I中的节点B生成与分片II中节点C的跨分片交易消息,并在分片I中达成共识,且向标识数据库发送交易消息;
3.2)将跨分片交易涉及的节点B的账户锁定,并产生交易有效性证明,记录在标识数据库中;所述标识数据库将交易消息路由到分片II中,并向分片II中节点C发送交易消息,该交易消息在分片II中达成共识,产生交易有效性证明,并向标识数据库发送该交易有效性证明;
3.3)根据标识数据库收到的交易有效性证明,分别向分片I发送一笔交易信息:将节点B的账户解锁、减少节点B的账户余额;向分片II发送另一笔交易信息:增加节点C的账户余额;且减少节点B的账户余额的额度、增加节点C的账户余额的额度两者均为跨分片交易消息中交易金额x。
4.根据权利要求3所述的基于分片的区块链可扩展性实现方法,其特征在于,步骤3.3)中减少节点B的账户余额时,若节点B的账户余额不足跨分片交易消息中交易金额x,则判定跨分片交易失败,向标识数据库发送消息,使标识数据库执行状态回滚。
5.根据权利要求1~4中任意一项所述的基于分片的区块链可扩展性实现方法,其特征在于,步骤2)之后还包括执行同一分片的片内交易的步骤:
S1)源节点发起交易,将交易封装成事件;
S2)源节点将事件通过预设的协议在源节点所在的分片内进行传播,使其分别传播到该分片中的每一个节点,且分片内的节点根据传播的事件及通信过程建立DAG账本;
S3)分片内的节点采用虚拟投票的方式,基于本地的DAG账本进行投票和提交,最终达成共识。
6.根据权利要求5所述的基于分片的区块链可扩展性实现方法,其特征在于,步骤S1)中封装的事件包括交易数据、时间戳和哈希值,所述哈希值包括本节点父顶点、其他节点父顶点两个哈希值,所述本节点父顶点指向本节点的上一个事件,所述其他节点父顶点指向发送事件的源节点中的该事件。
7.根据权利要求6所述的基于分片的区块链可扩展性实现方法,其特征在于,步骤S2)中分片内的节点根据传播的事件及通信过程建立DAG账本的步骤包括:节点通过“Gossipabout gossip”协议传播事件,将事件按照接收顺序存储,且为该事件生成本节点父顶点、其他节点父顶点两个哈希值,所述本节点父顶点指向本节点的上一个事件,所述其他节点父顶点指向发送事件的源节点中的该事件,并基于本节点所有事件的本节点父顶点,本节点所有事件的其他节点父顶点生成DAG账本。
8.根据权利要求7所述的基于分片的区块链可扩展性实现方法,其特征在于,步骤S3)包括:各个节点将本地的DAG划分为不同的轮次,每一轮次创建的第一个事件为见证人;如果第r+1轮的见证人事件可见第r轮的见证人事件,则表示第r+1轮的见证人事件投赞成票,否则表示投反对票;第r+2轮的见证人事件强可见第r+1轮的见证人事件,则表示收集该第r+1轮的见证人的赞成票的占比超过预设的绝大多数比例阈值,则判定第r轮的事件为知名见证人,若所有或绝大多数知名见证人可见某一事件时,则该事件将达到最终确认状态。
9.一种基于分片的区块链可扩展性实现***,包括相互连接的微处理器和存储器,其特征在于,该微处理器被编程或配置以执行权利要求1~8中任意一项所述基于分片的区块链可扩展性实现方法的步骤。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质中存储有被编程或配置以执行权利要求1~8中任意一项所述基于分片的区块链可扩展性实现方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111166056.0A CN113807851B (zh) | 2021-09-30 | 2021-09-30 | 一种基于分片的区块链可扩展性实现方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111166056.0A CN113807851B (zh) | 2021-09-30 | 2021-09-30 | 一种基于分片的区块链可扩展性实现方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113807851A true CN113807851A (zh) | 2021-12-17 |
CN113807851B CN113807851B (zh) | 2023-11-21 |
Family
ID=78939130
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111166056.0A Active CN113807851B (zh) | 2021-09-30 | 2021-09-30 | 一种基于分片的区块链可扩展性实现方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113807851B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114025012A (zh) * | 2022-01-10 | 2022-02-08 | 国网电子商务有限公司 | 基于信用分组的节点选取方法、装置、存储介质和设备 |
CN117808467A (zh) * | 2024-02-28 | 2024-04-02 | 中国信息通信研究院 | 基于区块链网络的跨分片交易方法和装置、设备和介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109150972A (zh) * | 2018-07-17 | 2019-01-04 | 湖南宸瀚信息科技有限责任公司 | 一种双层分片的高效区块链的共识机制及其工作方法 |
CN109544334A (zh) * | 2018-10-22 | 2019-03-29 | 绿州蔚来(深圳)控股有限公司 | 一种网络可扩展性区块链实现方法 |
CN110310115A (zh) * | 2019-05-23 | 2019-10-08 | 杭州云象网络技术有限公司 | 一种基于分片机制实现分布式账本横向扩展的方法 |
CN111680050A (zh) * | 2020-05-25 | 2020-09-18 | 杭州趣链科技有限公司 | 一种联盟链数据的分片处理方法、设备和存储介质 |
CN111861459A (zh) * | 2019-04-28 | 2020-10-30 | 常州一仙智能科技有限公司 | 一种基于DPoS共识算法的Iota账本优化***及方法 |
CN112418860A (zh) * | 2020-12-07 | 2021-02-26 | 苏州科技大学 | 一种基于跨链技术的区块链高效管理架构及工作方法 |
CN112511590A (zh) * | 2020-10-26 | 2021-03-16 | 南京辰阔网络科技有限公司 | 一种区块链分片的高效存储重配置方法 |
CN112910965A (zh) * | 2021-01-18 | 2021-06-04 | 香港理工大学深圳研究院 | 一种提交分片型区块链下跨分片事务的方法及*** |
-
2021
- 2021-09-30 CN CN202111166056.0A patent/CN113807851B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109150972A (zh) * | 2018-07-17 | 2019-01-04 | 湖南宸瀚信息科技有限责任公司 | 一种双层分片的高效区块链的共识机制及其工作方法 |
CN109544334A (zh) * | 2018-10-22 | 2019-03-29 | 绿州蔚来(深圳)控股有限公司 | 一种网络可扩展性区块链实现方法 |
CN111861459A (zh) * | 2019-04-28 | 2020-10-30 | 常州一仙智能科技有限公司 | 一种基于DPoS共识算法的Iota账本优化***及方法 |
CN110310115A (zh) * | 2019-05-23 | 2019-10-08 | 杭州云象网络技术有限公司 | 一种基于分片机制实现分布式账本横向扩展的方法 |
CN111680050A (zh) * | 2020-05-25 | 2020-09-18 | 杭州趣链科技有限公司 | 一种联盟链数据的分片处理方法、设备和存储介质 |
CN112511590A (zh) * | 2020-10-26 | 2021-03-16 | 南京辰阔网络科技有限公司 | 一种区块链分片的高效存储重配置方法 |
CN112418860A (zh) * | 2020-12-07 | 2021-02-26 | 苏州科技大学 | 一种基于跨链技术的区块链高效管理架构及工作方法 |
CN112910965A (zh) * | 2021-01-18 | 2021-06-04 | 香港理工大学深圳研究院 | 一种提交分片型区块链下跨分片事务的方法及*** |
Non-Patent Citations (1)
Title |
---|
高政风 等: ""基于DAG的分布式账本共识机制研究"", 《软件学报》, pages 2 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114025012A (zh) * | 2022-01-10 | 2022-02-08 | 国网电子商务有限公司 | 基于信用分组的节点选取方法、装置、存储介质和设备 |
CN114025012B (zh) * | 2022-01-10 | 2022-03-22 | 国网电子商务有限公司 | 基于信用分组的节点选取方法、装置、存储介质和设备 |
CN117808467A (zh) * | 2024-02-28 | 2024-04-02 | 中国信息通信研究院 | 基于区块链网络的跨分片交易方法和装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113807851B (zh) | 2023-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11657036B2 (en) | Methods and apparatus for a distributed database that enables deletion of events | |
CN110245956B (zh) | 一种基于异步多链的区块链交易确认方法及*** | |
JP7184959B2 (ja) | ネットワーク内の分散データベースのための方法及び装置 | |
CN110851537A (zh) | 一种基于区块链分片技术的共识方法 | |
CN113807851B (zh) | 一种基于分片的区块链可扩展性实现方法及*** | |
US20220107960A1 (en) | Methods and apparatus for a distributed database within a network | |
CN113064764B (zh) | 在区块链***中执行区块的方法及装置 | |
Cong et al. | A blockchain consensus protocol with horizontal scalability | |
CN110597922A (zh) | 数据处理方法、装置、终端及存储介质 | |
CN113923217B (zh) | 一种基于dag的异步拜占庭共识方法及*** | |
US20220383304A1 (en) | Distributed network with consensus mechanism | |
CN114202422A (zh) | 一种区块链分片方法、区块链***及跨分片交易处理方法 | |
CN113157450A (zh) | 在区块链***中执行区块的方法及装置 | |
Singhal et al. | Metaanalysis of methods for scaling blockchain technology for automotive uses | |
US20220377133A1 (en) | Read access for computational results of a distributed network | |
Oh et al. | Graph learning BFT: A design of consensus system for distributed ledgers | |
Lyu et al. | Publish or Perish: Defending Withholding Attack in Dfinity Consensus | |
GB2571927A (en) | Resource management system and method of operation thereof | |
RU2776826C2 (ru) | Способы и устройство для распределенной базы данных, которая позволяет удалять события | |
RU2778013C2 (ru) | Способы и устройство для распределенной базы данных в сети | |
Consensus et al. | Check for updates |
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 |