CN117114886B - 一种基于双层共识机制的区块链碳交易方法及系统 - Google Patents
一种基于双层共识机制的区块链碳交易方法及系统 Download PDFInfo
- Publication number
- CN117114886B CN117114886B CN202311375071.5A CN202311375071A CN117114886B CN 117114886 B CN117114886 B CN 117114886B CN 202311375071 A CN202311375071 A CN 202311375071A CN 117114886 B CN117114886 B CN 117114886B
- Authority
- CN
- China
- Prior art keywords
- carbon
- data
- enterprise
- blockchain
- transaction
- 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
Links
- 229910052799 carbon Inorganic materials 0.000 title claims abstract description 185
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 title claims abstract description 184
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000007246 mechanism Effects 0.000 title claims abstract description 21
- 238000006386 neutralization reaction Methods 0.000 claims abstract description 9
- 239000012634 fragment Substances 0.000 claims abstract description 8
- 239000010410 layer Substances 0.000 claims description 43
- 238000003860 storage Methods 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 15
- 239000002355 dual-layer Substances 0.000 claims description 10
- 238000005192 partition Methods 0.000 claims description 10
- 238000012795 verification Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 claims description 8
- 108091035707 Consensus sequence Proteins 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 4
- 230000010365 information processing Effects 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 230000008901 benefit Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004134 energy conservation Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 239000010793 electronic waste Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/26—Government or public services
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- Finance (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Tourism & Hospitality (AREA)
- Technology Law (AREA)
- Educational Administration (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Primary Health Care (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于双层共识机制的区块链碳交易方法及系统,涉及信息处理技术领域,区块链接收边缘服务器提供的各企业碳配额数据,更新链上数据,并定期向边缘服务器发送各企业的交易数据,更新边缘服务器数据;边缘服务器比较各企业的碳排放数据与碳配额数据;若碳排放数据大于碳配额数据,则企业需在区块链上向其他企业购买碳配额,以达到碳中和;若碳排放数据不大于碳配额数据,则企业可以在区块链上向其他企业出售剩余的碳配额,以实现碳交易;在系统中,构建了基于哈希图的分片区块链双层共识架构,在各分片中区块链采用有向无环图结构。本发明提供的方法及系统提高了区块链的吞吐量、共识效率以及性能,适用于大规模的高并发碳交易场景。
Description
技术领域
本发明涉及信息处理技术领域,尤其涉及一种基于双层共识机制的区块链碳交易方法及系统。
背景技术
近年来,节能减排工作的提出与倡导推进了经济社会发展全面绿色转型,助力实现碳达峰、碳中和目标。其中对企业实行碳排放权交易,简称碳交易,以市场手段促进企业采取节能及低碳能源发展,提高企业参与碳减排的主动性,是促进实现碳中和目标的一种方式。但随着碳交易市场规模的增大,如何保证交易的可信性和如何支撑大规模高并发的交易需求是碳市场目前需要考虑的问题。
随着区块链技术的发展,区块链技术已被广泛应用在各个场景中,碳交易场景中也有涉及。根据现有经验来看,区块链的去中心化、数据不可篡改、数据可追溯等特点可以很好的应用在碳交易场景中,以解决碳交易中可信的问题,但面对高并发碳交易需求,以目前传统的区块链性能是无法满足业务需求的。
为了让区块链技术能够满足当前碳市场交易需求,需要提高区块链可伸缩性和吞吐率。目前针对这些问题,主流的现有方案有两大类,一种是分片技术,将整个区块链网络分成不同的分片,由各分片的节点负责处理所在分片的事务和存储分片的状态。另一种是有向无环图(Directed Acyclic Graph,DAG)分布式账本技术,主要对区块链的状态存储进行改进,每个交易单元或包含交易单元的区块单元能够同时被多个新加入的节点引用。
发明内容
鉴于此,本发明实施例提供了一种基于双层共识机制的区块链碳交易方法及系统,以消除或改善现有技术中存在的一个或更多个缺陷,解决现有区块链技术的性能无法满足大规模的高并发碳交易业务需求,以及大量碳排放数据、碳配额数据对区块链造成的存储压力问题。
一方面,本发明提供了一种基于双层共识机制的区块链碳交易方法,所述方法在区块链上执行;所述区块链连接有多个边缘服务器;所述方法包括以下步骤:
接收所述边缘服务器提供的各企业碳配额数据,对链上数据进行更新;
向所述边缘服务器发送各企业最新的交易数据,对所述边缘服务器内的存储数据进行更新;
所述边缘服务器收集并存储各企业的碳排放数据,比较各企业对应的碳排放数据与碳配额数据;若企业的碳排放数据大于碳配额数据,则所述企业在所述区块链上向其他企业购买碳配额,以达到碳中和;若企业的碳排放数据不大于碳配额数据,则所述企业在所述区块链上向其他企业出售剩余的碳配额,以实现碳交易;
其中,所述区块链采用分片式的有向无环图架构,将各企业作为节点,并按照预设规则划分全局节点和局部节点,以构建全局分片和局部分片,在所述全局分片中进行跨片交易,在所述局部分片中进行片内交易。
在本发明的一些实施例中,若企业的碳排放数据大于碳配额数据,所述边缘服务器向所述企业进行预警反馈。
另一方面,本发明提供一种基于双层共识机制的区块链碳交易系统,其特征在于,所述系统用于实现如上文中任一项所述基于双层共识机制的区块链碳交易方法,所述系统包括:
数据采集层;所述数据采集层用于采集各企业产生的碳排放数据,并根据各企业所属的行业类型进行分类;
边缘层;所述边缘层包括多个边缘服务器,所述边缘服务器用于存储管控部门对各企业发放的碳配额数据,以及所述数据采集层采集得到的碳排放数据;
区块链层;所述区块链层采用分片式的有向无环图架构,将各企业作为节点,并按照预设规则划分全局节点和局部节点,以构建全局分片和局部分片,在所述全局分片中进行跨片交易,在所述局部分片中进行片内交易,实现碳交易任务;
所述边缘层和所述区块链层通过网络进行连接,相互分享并更新各自存储数据。
在本发明的一些实施例中,所述区块链的全局分片和局部分片均采用预设的哈希图共识算法,所述哈希图共识算法使用八卦协议。
在本发明的一些实施例中,对所述区块链进行分片划分时,根据各企业的地理位置以及所属行业类型进行分片划分,其中,不同分片之间能够并行处理片内碳交易业务。
在本发明的一些实施例中,采用基于椭圆曲线的随机可验证算法选取所述全局节点。
在本发明的一些实施例中,选取方法包括以下步骤:
生成各节点的公私钥对、随机数和证明数;
将预设区间划分为多个小区间,每个小区间表示一个值域;将各节点的随机数映射至所述预设区间,与每个小区间进行对比,将满足预设对比条件的节点作为候选节点;
对所述候选节点的随机数和证明数进行匹配验证,将通过验证的候选节点作为所述全局节点,并舍弃未通过验证的候选节点。
在本发明的一些实施例中,基于所述预设的哈希图共识算法,共识方法包括以下步骤:
采用所述八卦协议对各节点的本地哈希图进行广播并更新,以实现各节点之间的数据同步;
按照现有哈希图共识算法的定义确认事件的创建轮次和接受轮次;其中,若超过预设轮次还未确认所述事件的接受轮次,则从所述预设轮次中随机选择一个轮次作为所述事件的接受轮次;
按照接受轮次、共识时间戳、数字签名的优先级顺序确定共识顺序。
在本发明的一些实施例中,确实所述共识顺序的方法包括以下步骤:
根据所述接受轮次进行排序,优先处理所述接受轮次小的事件;
当所述事件的接受轮次相同时,找到所述事件接受轮次证人的直接祖先和所述事件的后代,求取所述直接祖先和所述后代的时间戳的中位数,将所述中位数作为所述事件的共识时间戳,优先处理所述共识时间戳早的事件;
当所述事件的共识时间戳相同时,按照所述事件的数字签名进行排序,优先处理排名靠前的事件;当所述事件的数字签名相同时,使用一个随机数进行异或运算,将结果从小到大进行排序,优先处理排序靠前的事件。
另一方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中提及的任意一项所述方法的步骤。
本发明的有益效果至少是:
本发明提供一种基于双层共识机制的区块链碳交易方法及系统,包括:区块链接收边缘服务器提供的各企业碳配额数据,更新链上数据,并定期向边缘服务器发送各企业的交易数据,更新边缘服务器内的存储数据;通过链上链下的数据协同存储,减轻区块链链上数据存储压力。边缘服务器比较各企业的碳排放数据与碳配额数据;若企业的碳排放数据大于碳配额数据,则企业需在区块链上向其他企业购买碳配额,以达到碳中和;若企业的碳排放数据不大于碳配额数据,则企业可以在区块链上向其他企业出售剩余的碳配额,以实现碳交易。在系统中,构建了基于哈希图的分片区块链双层共识架构,并在各分片中,区块链采用有向无环图结构;使用基于椭圆曲线的随机可验证算法选取全局节点构建全局分片处理跨片交易,简化跨片交易复杂性;改进哈希图共识算法,减少共识步骤,进一步提高共识效率。由此,本发明提供的方法及系统提高了区块链的吞吐量、共识效率以及性能,适用于大规模高并发碳交易场景。
本发明的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本发明的实践而获知。本发明的目的和其它优点可以通过在说明书以及附图中具体指出的结构实现到并获得。
本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1为本发明一实施例中基于双层共识机制的区块链碳交易方法的步骤示意图。
图2为本发明一实施例中基于双层共识机制的区块链碳交易系统的结构示意图。
图3为本发明一实施例中基于哈希图的分片区块链双层共识架构示意图。
图4为本发明一实施例中选取知名见证人的过程示意图。
图5为本发明一实施例中改进后的Hashgraph共识算法流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
在此,还需要说明的是,如果没有特殊说明,术语“连接”在本文不仅可以指直接连接,也可以表示存在中间物的间接连接。
在下文中,将参考附图描述本发明的实施例。在附图中,相同的附图标记代表相同或类似的部件,或者相同或类似的步骤。
这里需要强调的是,在下文中提及的各步骤标记并不是对各步骤先后顺序的限定,而应当理解为可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
为了解决现有区块链技术的性能无法满足大规模的高并发碳交易业务需求,以及大量碳排放数据、碳配额数据对区块链造成的存储压力问题,本发明提出了一种基于双层共识机制的区块链碳交易方法,该方法在区块链上执行,该区块链连接有多个边缘服务器,如图1所示,该方法包括以下步骤S101~S103:
步骤S101:接收边缘服务器提供的各企业碳配额数据,对链上数据进行更新。
步骤S102:向边缘服务器发送各企业最新的交易数据,对边缘服务器内的存储数据进行更新。
步骤S103:边缘服务器收集并存储各企业的碳排放数据,比较各企业对应的碳排放数据与碳配额数据;若企业的碳排放数据大于碳配额数据,则企业在区块链上向其他企业购买碳配额,以达到碳中和;若企业的碳排放数据不大于碳配额数据,则企业在区块链上向其他企业出售剩余的碳配额,以实现碳交易。
其中,区块链采用分片式的有向无环图架构,将各企业作为节点,并按照预设规则划分全局节点和局部节点,以构建全局分片和局部分片,在全局分片中进行跨片交易,在局部分片中进行片内交易。
在步骤S101和步骤S102中,基于边缘服务器实现链上链下数据协同存储,减轻了链上数据的存储压力。具体的,边缘服务器中存储有管控部门对各企业发放的碳配额数据,并存储有各企业的碳排放数据,碳排放数据种类多、数量大,若直接将碳排放数据存储在区块链上,会对区块链上的存储造成较大的压力与开销;区块链上承载碳交易业务,存储有交易数据,交易数据中包含有进行碳交易相关的碳配额数据。
边缘服务器向区块链提供企业的碳配额数据,区块链接收最新的碳配额数据后进行更新,并定期向边缘服务器提供更新后的交易数据,边缘服务器进行及时更新。
在步骤S103中,边缘服务器实时或定期监测各企业的碳排放数据,计算比较各企业的碳排放数据与管控部门发放的碳配额数据,以进行碳交易。具体的,若企业的碳排放数据大于碳配额数据,则说明该企业碳排放量已超出发放的碳配额量,需要在区块链上向其他企业购买碳配额,以达到碳中和;若企业的碳排放数据不大于碳配额数据,则说明该企业碳排放量小于或等于发放的碳配额量,当碳排放量小于碳配额量时,会有剩余的碳配额,可以在区块链上向其他企业出售剩余的碳配额,进行碳交易。基于步骤S103的交易方法,可以限制并管理各企业的碳排放量,推动低碳发展。
其中,在本发明中,碳交易均在区块链上实现,区块链具备去中心化、数据不可篡改、数据可追溯等特点,能够保证企业之间碳配额数据交易的可信。面向高并发的碳交易,区块链层采用分片式的有向无环图(Directed Acyclic Graph,DAG)架构,引入双层共识机制,以便能够更快处理碳交易业务。具体的区块链设计在下文硬件部分作进一步说明。
在一些实施例中,当边缘服务器比较得到某企业的碳排放数据大于碳配额数据时,边缘服务器向该企业进行预警反馈,同时也可以提示该企业在区块链上购买碳配额。
本发明还提供一种基于双层共识机制的区块链碳交易系统,该系统能够实现上述基于双层共识机制的区块链碳交易方法,如图2所示,该系统包括数据采集层、边缘层和区块链层,具体的:
数据采集层用于采集各企业产生的碳排放数据,并根据各企业所属的行业类型进行分类。不同行业的碳排放数据来源不同,示例性的,制造业中,生产过程、运输物流、废弃物处理等业务会产生碳排放;采矿业中,开采过程、矿石运输、设备运转等业务会产生碳排放;信息产业中,数据中心运营、电子废物处理等业务会产生碳排放。因此,在本发明中,数据采集层可以按照行业类型进行分类采集企业的碳排放数据。
边缘层包括多个边缘服务器,边缘服务器用于存储管控部门对各企业发放的碳配额数据,以及数据采集层采集得到的碳排放数据。考虑到企业碳排放数据种类多、数量大,若直接将企业碳排放数据存储在区块链上,必然会对区块链造成较大的存储压力。由此,本发明引入边缘层,将企业产生的碳排放数据存储在边缘服务器上,减轻区块链的存储压力。同时,在一些实施例中,当企业碳排放量超出发放的碳配额时,可以利用边缘服务器对相应企业进行预警信息反馈。
区块链层采用分片式的有向无环图(DAG)架构,将各企业作为节点,并按照预设规则划分全局节点和局部节点,以构建全局分片和局部分片,在全局分片中进行跨片交易,在局部分片中进行片内交易,实现碳交易任务。
在区块链层中,对区块链的设计作进一步说明。
为了让区块链能够高效处理大量碳交易业务,DAG区块链采用哈希图(Hashgraph)共识算法,该算法使用八卦(Gossip)共识协议。进一步的,为应对高并发的碳交易业务,将DAG区块链进行分片处理,不同分片之间可以并行处理片内业务,从而保证本发明的区块链能够高效地实现高吞吐量和低延迟的交易处理。
在一些实施例中,考虑到随着分片数量的增加,跨片交易频率也会相应增加。跨片交易需要在多个分片之间进行信息交互和协调,从而导致交易的延迟时间增加,系统复杂性提高。在碳交易场景下,所处同个工业园区和/或所属相同行业的企业之间进行碳交易的频率更大,因此,在对区块链进行分片划分时,根据各企业的地理位置以及所属行业类型进行分片划分,以减少跨片交易次数。
同时,为了解决跨片交易耗时复杂的问题,本发明提出了基于分片区块链的哈希图(Hashgraph)双层共识架构,如图3所示。在该架构中,划分全局节点和局部节点,全局节点从局部分片节点中进行选取,组成全局分片,全局分片负责处理跨片交易,维护事件共识顺序,局部分片负责处理片内交易。全局分片和局部分片均采用基于哈希图结构进行共识,构建双层分片共识架构。在该架构中全局分片专门处理该跨片交易,能够简化系统处理跨分片交易的复杂性,能提高处理区块链系统吞吐量和性能。
在一些实施例中,采用基于椭圆曲线的随机可验证(EC-VRF)算法选取全局节点。
为了保证节点的正确性和难以攻击性,全局节点采用基于椭圆曲线的随机可验证算法进行选取,保证被选取的节点是基于概率的随机选择,无法预知被选取的节点并进行提前攻击。EC-VRF算法主要由公私钥生成函数keygen()、随机数和证明生成函数randgen()和验证函数verify()组成,具体的:
keygen()→(sk,pk):设椭圆曲线的基点G,阶数为n。随机选择随机数sk∈[1,n-1],计算公钥pk=sk*G,输出公私钥(sk,pk)。
randgen(m,sk)→(v,proof):选择随机数r∈[1,n-1],使用散列函数生成H=ECVRF_hash1(m),是将消息m映射到椭圆曲线上一点H。计算V=sk*H。使用散列函数hash2输出整数c=hash2(r*G,r*H),计算s=(r-c*sk)modn。则输出随机数v=hash3(V)和证明数proof=(V;c;s)。
verify(m’,proof’)→true/false:使用散列函数ECVRF_hash1(m’)将m’映射到椭圆曲线上一点H’,计算u=pk*c’+G*s’和v=V’*c’+H’*s’。使用散列函数hash2计算c’’=hash2(u,v),如果c’’=c’则证明随机数有效,验证通过输出true,否则随机数无效,验证不通过输出false。
将该算法应用于本发明中,假定网络中有K个分片,对于分片k∈{1,...,K}中有nk个节点,则节点i∈[1,nk]。分片k中节点被随机选取作为全局节点的概率为p=t/nk,其中,t是在分片k中选取作为全局节点的数量。节点i在分片k中是否被选取作为全局节点的过程包括以下步骤S201~S203:
步骤S201:生成各节点的公私钥对、随机数和证明数,具体的,节点i通过keygen()函数生成公私钥对(pki,ski),节点i拥有唯一的身份ID,基于公钥和身份ID构建消息mi=(pki,IDi),通过randgen(mi,ski)函数生成随机数vi和证明数proofi。
步骤S202:将预设区间划分为多个小区间,每个小区间表示一个值域。具体的,基于被选取作为全局节点的概率和二项分布,将区间划分为[0,1),划分为w+1个小区间,每个区间的表达式如公式所示:
将各节点的随机数映射至预设区间,与每个小区间进行对比,将满足预设对比条件的节点作为候选节点。具体的,将节点i生成的随机数vi量化到(0,1)区间中,得到P=vi/2hashlen,将P放入二项分布函数公式中进行对比,当满足P∈Ij, j>0时,则表示节点i被选中作为候选节点,否则该节点结束选择过程。
步骤S203:对候选节点的随机数和证明数进行匹配验证,将通过验证的候选节点作为全局节点,并舍弃未通过验证的候选节点。具体的,利用verify(mi’,proofi’)验证被选中作为候选节点的节点i的随机数vi和证明数proofi是否匹配,若验证通过,则作为全局节点,若未通过,则舍弃。
在本发明中,对现有Hashgraph共识算法进行改进,以提高共识效率。
在现有Hashgraph共识算法中,存在以下相关定义:
绝大多数:超过网络中节点的2/3。
强可见:当事件x能够通过绝大多数节点的向下路径发现事件y,则事件x是强可见事件y。
创建轮次:为每个节点的第一个事件分配创建轮次。此后,若一个事件能够强可见绝大多数见证人事件,则为其分配创建轮次为r+1,否则该事件的创建轮次为r。
接受轮次:如果事件可以被第r轮的每个知名见证人可见,则该事件的接受轮次为r。
见证人:每个节点在确定创建轮次的第一个事件为见证人事件。
著名见证人:如果r+1轮的绝大多数见证人能看到r轮中的见证人,则该见证人为著名见证人。
八卦协议:通过gossip协议进行传播哈希(hash)图,随机选择节点交换已知事件的信息,同时将自己知道的其他节点也加入到信息传播中。被gossip传递的信息是gossip本身的历史,因此是gossip about gossip。
虚拟投票:每个成员都有哈希图的副本,投票规则是在可见的情况下投赞成票,否则投反对票,该投票过程消耗零带宽。Hashgraph共识协议的步骤主要为:划分轮次-选取知名见证人-确定事件顺序。在哈希图中选取知名见证人进行虚拟投票,该过程需要投票、统计、确认,至少需要三个轮次事件才能被确认,确定r轮次的见证人是否为知名见证人,需要r+1轮的见证人投票决定,如果r+1轮见证人可见r轮次见证人事件,则投赞成票。由r+2轮见证人统计票数,统计r+1轮次见证人的投票时,只统计强可见的投票。如果赞成票大于2/3的成员节点时,则该r轮见证人为著名见证人。如图4所示,r+1轮的见证人对r轮的B2见证人事件投赞成票,r+2轮次的B4见证人事件能强可见r+1所有见证人事件,统计对B2的赞成票4票,超过2/3的成员节点,因此B2是知名见证人。若事件可以被第r轮每个知名见证人可见,则该事件的接受轮次为r。
在现有Hashgraph共识算法中,虽然Hashgraph共识不消耗带宽,但是在事件从创建到完成确认需要经过投票和收集投票结果,耗时较长,共识效率低。因此,在本发明中,为了提高Hashgraph共识效率,对Hashgraph共识算法进行简化,去掉了选取知名见证人的过程,减少共识步骤,从而提高共识效率。
如图5所示,为本发明改进后的Hashgraph共识算法流程图,依次包括以下步骤S301~S304:
步骤S301数据同步:采用八卦(Gossip)协议对各节点的本地哈希图进行广播并更新,以实现各节点之间的数据同步。具体的,各个节点本地都有一个哈希副本图,节点将自己的哈希图随机发送给其他节点,其他节点收到后更新本地的哈希图,然后在将其广播给其他节点。从而保证消息在节点之间达到数据最终一致性。
步骤S302确定事件创建轮次:按照现有哈希图共识算法的定义确认事件的创建轮次。具体的,若事件在轮次r中强可见绝大多数见证人,则分配创建轮次为r+1,否则该事件的轮次还是为r。事件有且仅有两个父事件,自父事件,即相关节点创建的事件,和其他父事件,即由不同节点创建的事件。如图5所示,事件的结构包含了事件创建的时间戳(timestamp),交易事件(transactions),自父事件的哈希值(self-parent_hash)和其他父事件的哈希值(other-parent_hash)。
步骤S303确定事件接受轮次:按照现有哈希图共识算法的定义确认事件的接受轮次。具体的,若事件被第r轮绝大多数见证人强可见,即是该事件的接受轮次为r。在一些实施例中,若超过预设轮次还未确认所述事件的接受轮次,示例性的,预设轮次为五轮,则在该五个轮次进行随机选择一个轮次作为该事件的接受轮次,因此,事件的接受轮次概率为1。
步骤S304确定共识顺序:事件顺序依次按照接受轮次、共识时间戳、数字签名优先级进行排序。具体的,首先根据接受轮次进行排序,优先处理接受轮次小的事件;当事件的接受轮次相同时,以事件x为例,找到事件x接受轮次r轮证人的直接祖先和事件x的后代,求取直接祖先和后代的时间戳的中位数,将中位数作为事件x的共识时间戳,优先处理共识时间戳早的事件;当事件的共识时间戳相同时,按照事件的数字签名进行排序,优先处理排名靠前的事件;当事件的数字签名相同时,使用一个随机数进行异或运算,将结果从小到大进行排序,优先处理排序靠前的事件。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现基于双层共识机制的区块链碳交易方法的步骤。
与上述方法相应地,本发明还提供了一种设备,该设备包括计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该设备实现如前所述方法的步骤。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现前述边缘计算服务器部署方法的步骤。该计算机可读存储介质可以是有形存储介质,诸如随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、软盘、硬盘、可移动存储盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
综上所述,本发明提供一种基于双层共识机制的区块链碳交易方法及系统,包括:区块链接收边缘服务器提供的各企业碳配额数据,更新链上数据,并定期向边缘服务器发送各企业的交易数据,更新边缘服务器内的存储数据。通过链上链下的数据协同存储,减轻区块链链上数据存储压力。边缘服务器比较各企业的碳排放数据与碳配额数据;若企业的碳排放数据大于碳配额数据,则企业需在区块链上向其他企业购买碳配额,以达到碳中和;若企业的碳排放数据不大于碳配额数据,则企业可以在区块链上向其他企业出售剩余的碳配额,以实现碳交易。在系统中,构建了基于哈希图的分片区块链双层共识架构,并在各分片中,区块链采用有向无环图结构;使用基于椭圆曲线的随机可验证算法选取全局节点构建全局分片处理跨片交易,简化跨片交易复杂性;改进哈希图共识算法,减少共识步骤,进一步提高共识效率。由此,本发明提供的方法及系统提高了区块链的吞吐量、共识效率以及性能,适用于大规模高并发碳交易场景。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
本发明中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种基于双层共识机制的区块链碳交易方法,其特征在于,所述方法在区块链上执行;所述区块链连接有多个边缘服务器;所述方法包括以下步骤:
接收所述边缘服务器提供的各企业碳配额数据,对链上数据进行更新;
向所述边缘服务器发送各企业最新的交易数据,对所述边缘服务器内的存储数据进行更新;
所述边缘服务器收集并存储各企业的碳排放数据,比较各企业对应的碳排放数据与碳配额数据;若企业的碳排放数据大于碳配额数据,则所述企业在所述区块链上向其他企业购买碳配额,以达到碳中和;若企业的碳排放数据不大于碳配额数据,则所述企业在所述区块链上向其他企业出售剩余的碳配额,以实现碳交易;
其中,所述区块链采用分片式的有向无环图架构,并根据各企业的地理位置和所属行业分类进行分片划分;基于椭圆曲线的随机可验证算法,生成各节点的公私钥对、随机数和证明数,并将预设区间划分为多个小区间,其中,每个小区间表示一个值域;将各节点的随机数映射至所述预设区间,与每个小区间进行对比,将满足预设对比条件的节点作为候选节点;对所述候选节点的随机数和证明数进行匹配验证,将通过验证的候选节点作为全局节点,根据所述全局节点构建全局分片,未被选取的节点构建局部分片,在所述全局分片中进行跨片交易,在所述局部分片中进行片内交易;所述全局分片和所述局部分片均采用预设哈希图算法进行共识,所述预设哈希图算法使用八卦协议对各节点的本地哈希图进行广播并更新,以实现各节点之间的数据同步;按照现有哈希图共识算法的定义确认事件的创建轮次和接受轮次;其中,若超过预设轮次还未确认所述事件的接受轮次,则从所述预设轮次中随机选择一个轮次作为所述事件的接受轮次;按照接受轮次、共识时间戳、数字签名的优先级顺序确定共识顺序;所述共识顺序包括根据所述接受轮次进行排序,优先处理所述接受轮次小的事件;当所述事件的接受轮次相同时,找到所述事件接受轮次证人的直接祖先和所述事件的后代,求取所述直接祖先和所述后代的时间戳的中位数,将所述中位数作为所述事件的共识时间戳,优先处理所述共识时间戳早的事件;当所述事件的共识时间戳相同时,按照所述事件的数字签名进行排序,优先处理排名靠前的事件;当所述事件的数字签名相同时,使用一个随机数进行异或运算,将结果从小到大进行排序,优先处理排序靠前的事件。
2.根据权利要求1所述的基于双层共识机制的区块链碳交易方法,其特征在于,若企业的碳排放数据大于碳配额数据,所述边缘服务器向所述企业进行预警反馈。
3.一种基于双层共识机制的区块链碳交易系统,其特征在于,所述系统用于实现如权利要求1至2中任一项所述基于双层共识机制的区块链碳交易方法,所述系统包括:
数据采集层;所述数据采集层用于采集各企业产生的碳排放数据,并根据各企业所属的行业类型进行分类;
边缘层;所述边缘层包括多个边缘服务器,所述边缘服务器用于存储管控部门对各企业发放的碳配额数据,以及所述数据采集层采集得到的碳排放数据;
区块链层;所述区块链层采用分片式的有向无环图架构,将各企业作为节点,并按照预设规则划分全局节点和局部节点,以构建全局分片和局部分片,在所述全局分片中进行跨片交易,在所述局部分片中进行片内交易,实现碳交易任务;
所述边缘层和所述区块链层通过网络进行连接,相互分享并更新各自存储数据。
4.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至2中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311375071.5A CN117114886B (zh) | 2023-10-23 | 2023-10-23 | 一种基于双层共识机制的区块链碳交易方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311375071.5A CN117114886B (zh) | 2023-10-23 | 2023-10-23 | 一种基于双层共识机制的区块链碳交易方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117114886A CN117114886A (zh) | 2023-11-24 |
CN117114886B true CN117114886B (zh) | 2024-04-09 |
Family
ID=88813260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311375071.5A Active CN117114886B (zh) | 2023-10-23 | 2023-10-23 | 一种基于双层共识机制的区块链碳交易方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117114886B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114531245A (zh) * | 2022-01-17 | 2022-05-24 | 山东大学 | 一种基于区块链的碳排放交易方法 |
CN115115458A (zh) * | 2022-08-30 | 2022-09-27 | 国网区块链科技(北京)有限公司 | 一种基于区块链的近零碳排放园区的能源交易系统及方法 |
WO2023095415A1 (ja) * | 2021-11-25 | 2023-06-01 | 株式会社野村総合研究所 | 温室効果ガス排出量の情報を扱う情報連携システム、情報処理装置及びプログラム |
CN116258609A (zh) * | 2023-05-15 | 2023-06-13 | 国网数字科技控股有限公司 | 一种电力系统交易协同方法、装置及存储介质 |
CN116471024A (zh) * | 2023-04-21 | 2023-07-21 | 河南工业大学 | 一种基于dag和分片的区块链异步共识算法 |
CN116668313A (zh) * | 2023-06-14 | 2023-08-29 | 石家庄铁道大学 | 基于分片的可拓展区块链网络模型 |
CN116743771A (zh) * | 2023-08-11 | 2023-09-12 | 杭州趣链科技有限公司 | 区块链共识方法、装置、电子设备及计算机可读存储介质 |
-
2023
- 2023-10-23 CN CN202311375071.5A patent/CN117114886B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023095415A1 (ja) * | 2021-11-25 | 2023-06-01 | 株式会社野村総合研究所 | 温室効果ガス排出量の情報を扱う情報連携システム、情報処理装置及びプログラム |
CN114531245A (zh) * | 2022-01-17 | 2022-05-24 | 山东大学 | 一种基于区块链的碳排放交易方法 |
CN115115458A (zh) * | 2022-08-30 | 2022-09-27 | 国网区块链科技(北京)有限公司 | 一种基于区块链的近零碳排放园区的能源交易系统及方法 |
CN116471024A (zh) * | 2023-04-21 | 2023-07-21 | 河南工业大学 | 一种基于dag和分片的区块链异步共识算法 |
CN116258609A (zh) * | 2023-05-15 | 2023-06-13 | 国网数字科技控股有限公司 | 一种电力系统交易协同方法、装置及存储介质 |
CN116668313A (zh) * | 2023-06-14 | 2023-08-29 | 石家庄铁道大学 | 基于分片的可拓展区块链网络模型 |
CN116743771A (zh) * | 2023-08-11 | 2023-09-12 | 杭州趣链科技有限公司 | 区块链共识方法、装置、电子设备及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
Data Trusted Sharing Delivery: A Blockchain-Assisted Software-Defined Content Delivery Network;Sujie Shao 等;IEEE INTERNET OF THINGS JOURNAL;第10卷(第14期);11949-11959 * |
Also Published As
Publication number | Publication date |
---|---|
CN117114886A (zh) | 2023-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108768665B (zh) | 区块链生成方法、装置、计算机设备以及存储介质 | |
US20230239157A1 (en) | Network for improved verification speed with tamper resistant data | |
Shrestha et al. | A new type of blockchain for secure message exchange in VANET | |
Chen et al. | An improved algorithm for practical byzantine fault tolerance to large-scale consortium chain | |
CN108900364B (zh) | 区块链网络的管理方法、装置、介质及电子设备 | |
US20200272618A1 (en) | Distributed ledger technology | |
CN113347164B (zh) | 基于区块链的分布式共识系统及方法、设备、存储介质 | |
CN102272728B (zh) | 基于多项式的数据转换和利用的方法、装置和计算机程序产品 | |
CN113973021B (zh) | 一种图式区块链的网络传输优化装置及方法 | |
CN113242305B (zh) | 跨链事务处理方法、装置、计算机设备及介质 | |
CN115694876A (zh) | 一种区块链电力交易系统、共识方法、设备和存储介质 | |
CN114978684B (zh) | 基于改进凝聚型层次聚类的pbft共识方法 | |
CN116963077A (zh) | 一种面向频谱交易的区块链分片方法 | |
CN115664682A (zh) | 基于联盟链主从多链的医疗数据共享的共识方法 | |
CN113779642B (zh) | 数据处理方法及其装置、系统、电子设备 | |
CN114745140A (zh) | 基于聚合加密的城市规划领域区块链共识验证方法及系统 | |
CN117251889B (zh) | 区块链共识方法、相关装置和介质 | |
CN115022326A (zh) | 基于协同过滤推荐的区块链拜占庭容错共识方法 | |
Yin et al. | EBSF: Node Characteristics-Based Block Allocation Plans for Efficient Blockchain Storage | |
CN117114886B (zh) | 一种基于双层共识机制的区块链碳交易方法及系统 | |
Diallo et al. | An improved PBFT-based consensus for securing traffic messages in VANETs | |
CN117376894A (zh) | 面向无线传感器网络的pbft共识算法的改进方法及系统 | |
CN115879889A (zh) | 基于区块链的业务处理方法、装置和计算机设备 | |
Dai et al. | Lightdag: A low-latency dag-based bft consensus through lightweight broadcast | |
CN116258609A (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 |