CN114745102B - 一种基于边缘计算的轻量级且可扩展的区块链系统 - Google Patents
一种基于边缘计算的轻量级且可扩展的区块链系统 Download PDFInfo
- Publication number
- CN114745102B CN114745102B CN202210176550.3A CN202210176550A CN114745102B CN 114745102 B CN114745102 B CN 114745102B CN 202210176550 A CN202210176550 A CN 202210176550A CN 114745102 B CN114745102 B CN 114745102B
- Authority
- CN
- China
- Prior art keywords
- node
- block
- epoch
- committee
- hash value
- 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
- 238000004364 calculation method Methods 0.000 title abstract description 11
- 238000012795 verification Methods 0.000 claims abstract description 33
- 238000000034 method Methods 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 16
- 230000007246 mechanism Effects 0.000 claims description 8
- 230000008859 change Effects 0.000 claims description 4
- 238000005457 optimization Methods 0.000 claims description 3
- 238000012217 deletion Methods 0.000 claims 1
- 230000037430 deletion Effects 0.000 claims 1
- 238000005265 energy consumption Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/105—Multiple levels of security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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 using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3297—Cryptographic 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 time stamps, e.g. generation of time stamps
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种基于边缘计算的轻量级且可扩展的区块链系统,涉及身份认证层、节点层、共识层和存储层,具体包括:节点身份认证与角色层级划分、委员会选举、新区块生成与验证、委员会更迭、区块数据卸载;本发明轻量级且可扩展的区块链系统,减轻节点的账本存储负担和交易共识计算负担,提高区块链的交易吞吐量。
Description
技术领域
本发明涉及区块链技术,具体涉及一种基于边缘计算的轻量级且可扩展的区块链系统。
背景技术
区块链是结合P2P网络、智能合约、共识机制、密码学等技术的新型分布式账本技术,去中心化的特性使得区块链能够在不同利益主体参与的无信任场景中构建出信任基础,为解决传统服务架构下存在的安全和信任问题提供了新思路。
传统区块链依赖计算密集型的共识算法以及高冗余的分布式存储提供安全性保障,典型的应用领域是加密货币。随着区块链的发展,人们尝试将其应用于金融经济、智能城市、医疗健康、物联网、供应链等领域。但这些应用领域存在着大量低资源设备,如传感器、智能家居设备等。这些低资源设备无法负担传统区块链高能耗和高存储的压力,主要表现在以下方面:
一方面,节点通过计算密集型的共识机制(如PoW(Proof of work))来竞争记账权,此过程不仅造成大量计算资源的浪费,同时极大地消耗电力资源。据统计,一笔比特币交易的能源消耗可以为一个美国家庭供电14.46天;比特币网络的整体电力需求已飙升至每年121.36多太瓦时,超过了阿根廷整个国家的用电量。
另一方面,节点需要保存完整的区块链副本才能验证区块和交易,由于数据的不可篡改性,区块链账本随着时间的推移不断增长。截止到2021年6月25日,比特币账本大小已经达到408.47GB,平均每天以约100M的速度在增长。新加入区块链网络的节点需要等待较长时间下载巨大的账本数据。这个问题极大地限制了存储容量有限的节点参与维护区块链,降低了区块链系统的去中心化程度。
此外,由于存在分叉问题,交易需要等待至少6个区块之后才能被确认。另外,受出块时间和区块大小的限制,传统区块链的可扩展性极低,比如比特币的吞吐量仅为7TPS。
综上所述,面向资源受限场景部署传统区块链存在巨大挑战,低资源设备无法负担传统区块链的高能耗和高存储的压力,且低扩展性的传统区块链无法适应于高效率要求场景。
为解决上述问题,许多专家学者研究轻量级且可扩展的区块链技术。在计算方面,研究绿色低能耗的轻量级共识机制;在存储方面,利用分片技术、历史数据卸载和压缩方案等;在扩展性方面,利用高效的共识机制以及分片技术等手段来提高交易的吞吐量。
然而,上述现有技术方案很少能够兼顾多个方面,它们仅着眼于单一维度优化,未充分考虑节点间资源的差异性;大多共识机制仍存在分叉现象,交易确认时延高;而在存储方面破坏了账本数据的完整性,不利于交易数据的查询与追溯。
发明内容
发明目的:本发明的目的在于解决现有技术中存在的不足,提供一种基于边缘计算的轻量级且可扩展的区块链系统。
技术方案:本发明的一种基于边缘计算的轻量级且可扩展的区块链系统,涉及身份认证层、节点层、共识层和存储层;所述身份认证层中的证书注册机构CA对节点层中的节点进行身份认证以及角色层级划分;所述共识层通过基于可验证随机函数VRF的身份证明PoI共识协议来进行委员会选举与更迭以及新区块的产生与验证;所述存储层实现区块存储结构优化以及历史区块数据卸载,用于缓解节点存储压力;
上述身份认证层、节点层、共识层和存储层之间的具体工作过程如下:
S1、节点身份认证与角色层级划分
所有节点在加入区块链网络时通过证书注册机构CA进行身份认证,并将节点层中节点角色划分为高级节点、中级节点和低级节点;
S2、委员会选举
通过基于可验证随机函数VRF的抽签算法从中级节点和高级节点合集中选出部分节点组成委员会;委员会生命周期记为纪元ETi,当该纪元结束时,委员会发生更迭,重新挑选下一批委员;每次所选委员会成员的身份标识均将被记录到该纪元的创世区块中;
S3、新区块生成与验证
委员会成员在一个固定的时间段内通过不断改变输入随机数r的值计算一个哈希函数,并得到一个哈希值的输出集合委员会成员在自己的哈希值输出集合/>中找到一个具有最多前置连续零的哈希值Zi,并将该哈希值Zi发送给委员会的其他成员,每个委员会成员均比较所有的哈希值Zi,其中哈希值的前置连续零数量最多的委员会成员获得记账权;获得记账权的委员会成员构造候选区块Bt,并发送给其他委员会成员等待验证,委员会成员验证候选区块Bt,若验证成功,则将候选区块Bt广播到区块链网络中,并附加到该成员本地存储的区块链中;
重复上述内容直到纪元结束;
S4、委员会更迭
当纪元结束时,现任委员会成员对下一纪元的随机字符串达成一致,该随机字符串用作下一纪元委员会成员选举过程中输入的随机种子;此处使用RandShare协议来生成一个不可操控、不可预测的随机字符串,这里的随机字符串具有不可操控性和不可预测性,同时该协议能容忍三分之一的恶意参与者;
S5、区块数据卸载,即中级节点通过存储层提供的数据卸载模块对历史区块数据进行删除;
每个区块Bt由纪元编号Ei和区块在纪元内的高度Hj两部分标识,利用共识的周期性,每个纪元的创世区块中更新一颗包含所有账户最新状态的完整状态树,从而删除历史纪元的区块数据而不影响区块链系统的正常运行;中级节点只需在存储空间不足时,将纪元编号Ei与当前纪元不符的区块进行删除处理,缓解存储压力。
进一步地,所述步骤S1的具体过程为:
S1.1、证书注册机构CA检测节点层中节点Nodei的硬件资源,对节点进行角色层级划分为高级节点、中级节点和低级节点,并为每个节点分配一个角色层级表示符其中/>表示高级节点,/>表示中级节点,/>表示低级节点;
S1.2、证书注册机构CA对每个节点Nodei分配一个唯一的公私钥对<PKi,SKi>,然后根据节点Nodei的公钥PKi以及角色层级表示符iLeval计算节点身份标识码ICi;
节点身份标识码ICi表示为:
ICi=SHA256(PKi||iLevel)
节点Nodei可以用<PKi,ICi>作为唯一身份标识;
其中,高级节点和中级节点承担区块链的全节点角色,边缘节点部署在高级节点层,高级节点参与共识并存储全账本,中级节点存储最新纪元的区块数据即可参与共识,低级节点通过连接高级节点或中级节点来发起交易,存储区块头和其感兴趣的交易。
进一步地,所述步骤S3的具体过程为:
S3.1、首先判断当前是否处于纪元的创世区块,若是,则将纪元生命周期长度ETi以及节点计算哈希值的时间MTi硬编码到当前纪元的创世区块内,其中ETi和MTi与当前委员会成员的硬件资源和剩余能量相关;若否,则执行步骤S3.2;
S3.2、每个委员会成员在时间缝隙MTi中通过不断改变随机数r的值来计算哈希函数SHA256(SHA256(Blockt)||ICi||r),并由所有的输出组成了一个哈希值集合每个委员会成员分别在自己集合/>中找到一个具有最多前置连续零的哈希值Zi,然后以<Zi,ri,ICi>的形式发送给其他委员会成员,其中ri是与哈希值Zi对应的随机数,ICi则是该委员会成员的身份标识码;
S3.3、每个委员会成员等待一个固定时间ST来更新区块链,其中ST定义为区块链网络中最大延迟的两倍,被硬编码在纪元的创世区块中。在ST时间段内,委员会成员会收到其他成员的哈希值Zi,每个成员比较所有的哈希值Zi,其中哈希值的前置连续零数量最多的成员获得记账权;
S3.4、获得记账权的委员会成员选择一个新交易记录集合{Tx}t,然后生成新的候选区块Bt,并将Bt广播给其他的委员会成员;
候选区块Bt的格式为:
Bt=<header={PreHash,E,H,t,<PKi,ICi>,ET,MT,r,Z,SR,TR,RR},body={SMT,TMT,RMT}>
其中,PreHash为前一区块的哈希值,E为纪元编号,H为区块在纪元内的高度,t为时间戳,〈PKi,ICi>为该区块所属节点的身份标识,ET为纪元时间长度,MT为当前纪元节点计算哈希值的时间间隙,r为Z对应的随机数,Z为该节点具有最多前置连续零的哈希值,SR为状态树的根哈希值,TR为交易树的根哈希值,RR为收据树的根哈希值,SMT为账户状态Merkle哈希树,TMT为交易Merkle哈希树,RMT为收据Merkle哈希树;
S3.5、一旦收到候选区块Bt,所有委员会成员基于账户状态验证候选区块Bt以及交易{Tx}t的有效性;若验证成功,则将候选区块Bt广播到区块链网络中,并附加到该成员本地存储的区块链中;
S3.6、重复上述步骤S3.1至步骤S3.5,直至当前纪元结束。
为了解决共识机制的分叉问题,所述步骤S3.3中比较哈希值Zi的具体过程为:
(1)、所有成员各自比较哈希值Zi的前置连续零数量,前置连续零数量最多的哈希值所属节点获得记账权;
(2)、当存在多个最多前置连续零的哈希值时,则比较哈希值对应输入随机数的值,随机数最小的节点获得记账权;
(3)、倘若随机数也相等,则直接比较哈希值Zi的大小,哈希值最小的节点获得记账权。
进一步地,所述步骤S3.4中生成候选区块Bt的具体方法为:
(1)、从当前所有新交易中选择一批有效交易作为待打包的交易集合{Tx}t,并基于{Tx}t构建状态Merkle哈希树SMT、交易Merkle哈希树TMT、收据Merkle哈希树RMT,依次将根节点哈希值标记为SR、TR、RR;并设置区块体body={SMT,TMT,RMT};
(2)、设置纪元编号E,判断当前是否处于该纪元的生命周期内,若是,则E=E;若否,则T=E+1;
(3)、设置区块高度H=H+1,其中H在该纪元的创世区块中初始化为0;
(4)、设置纪元时间长度ET=ET,当前纪元节点计算哈希值的时间间隙MT=MT,其中ET、MT在该纪元创世区块已被硬编码;
(5)、设置区块头header;
header={PreHash,E,H,t,<PKi,ICi>,ET,MT,r,Z,sr,tR,RR}
最终候选区块为Bt=<header,body>。
进一步地,所述步骤S3.5中验证候选区块Bt的具体方法为:
(1)、验证节点身份的合法性:从候选区块Bt中获取节点身份标识<PKi,ICi>,并在该纪元的创世区块及CA中查找是否记录该身份标识,若否,则验证失败,结束验证并丢弃该块;若是,则执行步骤(2);
(2)、验证时间戳t的合法性:从候选区块Bt中获取时间戳t,并验证t是否在给定时间段Ti=MTi+ST内,若否,则验证失败,结束验证并丢弃该块;若是,则执行步骤(3);
(3)、验证随机数r的合法性:从候选区块Bt中获取随机数r、ICi以及哈希值Z,并计算Z′=SHA256(SHA256(Blockt)||ICi||r),若Z′≠Z,则验证失败,结束验证并丢弃该块;若Z′=Z,则执行步骤(4);
(4)、验证哈希值Z是否具有最多前置连续零:从候选区块Bt中获取哈希值Z,并与S3.3哈希值比较过程中挑选出的哈希值Z″进行比较,若Z″≠Z,则验证失败,结束验证并丢弃该块;若Z″=Z,则执行步骤(5);
(5)、验证交易的合法性:从候选区块Bt中获取交易集合{Tx}t,根据每笔交易涉及用户的账户状态验证其是否合法,一旦有交易非法,则验证失败,结束验证并丢弃该块;若所有的交易皆合法,则将候选区块Bt广播到区块链网络中,并附加到该成员本地存储的区块链中。
进一步地,所述步骤S5中状态树的更新方式为:
(1)、在每个纪元的创世区块中更新一颗包含所有账户最新状态的完整状态树;
(2)、在纪元内,当某些账户状态发生变化时,则在最新区块记录这些账户的最新状态,而那些状态未发生变化的账户则通过哈希指针向前引用。
有益效果:本发明与现有技术相比具有以下优点:
(1)、本发明基于边缘计算,充分考虑节点资源情况,优化区块链分层架构,做到了兼顾轻量级计算、存储以及扩展性,为面向资源受限的场景部署区块链提供了基础。
(2)、本发明将边缘节点部署在高级节点层,高级节点和中级节点承担区块链的全节点角色;高级节点存储全账本,保证了账本数据的完整性;中级节点存储最新纪元的区块数据;低级节点为轻节点角色,存储区块头。三层的节点架构使得更多的节点以更低的代价参与共识,促使区块链更加去中心化。
(3)、本发明基于VRF设计一种轻量级且可扩展的共识协议,通过委员会的形式减少大范围共识过程中的资源消耗,使节点以更低的计算成本参与共识,无分叉特性使得交易确认延迟由传统的6个区块间隔降低为0个。
(4)、本发明结合共识的周期性,合理优化了状态树的更新方式,提供一个有效的历史区块数据卸载服务,使得中级节点的账本存储维持在一个稳定的状态。
附图说明
图1为本发明的系统模型示意图;
图2为本发明的共识流程图;
图3为本发明的区块结构示意图;
图4为本发明的状态树更新示意图。
具体实施方式
下面对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
如图1所示,本发明的基于边缘计算的轻量级且可扩展的区块链系统包括身份认证层、节点层、共识层和存储层。节点层又分为高、中、低三个层级。其中,将边缘节点部署在高级节点层,高级节点参与共识并存储全账本,中级节点最新纪元的区块数据即可参与共识,低级节点通过连接高级节点或中级节点发起交易,存储区块头和其感兴趣的交易。主要包含以下步骤:
1.节点身份认证与角色层级划分;
2.区块共识;如图2所示,共识流程又分为委员会选举、新区块生成与验证、委员会更迭。委员会的生命周期表示为纪元。
3.历史区块数据卸载。
假设高级节点层共有4个节点,分别标记为0,1,2,3;中级节点层共有若干个节点,标记为4,5,6…n;其中节点0,1,2,4,5,6为当前的委员会成员,为纪元i。
具体方法如下:
环节i(节点身份认证与角色层级划分)
(1)、证书注册机构CA检测节点Nodei的硬件资源,对节点进行角色层级划分,并为每个节点分配一个角色层级表示符其中/>表示高级节点,/>表示中级节点,/>表示低级节点。
(2)、CA对每个节点Nodei分配一个唯一的公私钥对<PKi,SKi>,然后根据节点Nodei的公钥PKi以及角色层级表示符iLeval计算节点身份标识码ICi。
节点身份标识码ICi表示为:
ICi=SHA256(PKi||iLevel)
节点Nodei可以用<PKi,ICi>作为唯一身份标识。
环节ii(委员会选举)
通过基于可验证随机函数VRF的抽签算法从中级节点和高级节点合集中选出部分节点组成委员会。在当前纪元i下,委员会成员为节点0,1,2,,4,5,6,这些节点的身份标识<PKi,ICi>将被记录到该纪元的创世区块<Ei,H0>中。
环节iii(新区块生成与验证)
(1)、判断当前是否处于纪元的创世区块,若是,则将纪元生命周期长度ETi以及节点计算哈希值的时间MTi硬编码到当前纪元的创世区块内,其中ETi和MTi与当前委员会成员的硬件资源和剩余能量相关。若否,则执行步骤(2)。
(2)、每个委员会成员在时间缝隙MTi中通过不断改变随机数r的值来计算哈希函数
SHA256(SHA256(Blockt)||ICi||r)
,由所有的输出组成了一个哈希值集合每个委员会成员在自己集合/>中找到一个具有最多前置连续零的哈希值Zi,然后以<Zi,ri,ICi>的形式发送给其他委员会成员,其中ri是与哈希值Zi对应的随机数,ICi则是该委员会成员的身份标识码。
(3)、每个委员会成员等待一个固定时间ST来更新区块链,其中ST定义为区块链网络中最大延迟的两倍,被硬编码在纪元的创世区块中。在ST时间段内,委员会成员会收到其他成员的哈希值Zi,每个成员比较所有的哈希值Zi,其中哈希值的前置连续零数量最多的成员获得记账权。当最多前置连续零的哈希值存在多个时,则比较哈希值对应输入随机数的值,随机数最小的节点获得记账权;倘若随机数也相等,则直接比较哈希值Zi的大小,哈希值最小的节点获得记账权。假设此时节点0获得记账权。
(4)、节点0从当前所有新交易中选择一批有效交易作为待打包的交易集合{Tx}t,并基于{Tx}y构建状态Merkle哈希树SMT、交易Merkle哈希树TMT、收据Merkle哈希树RMT,依次将根节点哈希值标记为SR、TR、RR;并设置区块体body={SMT,TMT,RMT};设置纪元编号E,判断当前是否处于纪元i的生命周期内,若是,则E=i;若否,则E=i+1;设置区块高度H=H+1,其中H在该纪元的创世区块中初始化为0;设置纪元时间长度ET=ET,当前纪元节点计算哈希值的时间间隙MT=MT,其中ET、MT在纪元i创世区块<Ei,H0>已被硬编码;设置区块头header={PreHash,E,H,t,<PKi,ICi>,ET,MT,r,Z,SR,TR,RR},最终候选区块为Bt=<header,body>。节点0将Bt广播给其他的委员会成员;区块结构如图3所示;
(5)、一旦收到候选区块Bt,所有委员会成员验证节点身份的合法性,从候选区块Bt中获取节点身份标识<PKi,ICi>,并在该纪元的创世区块及CA中查找是否记录该身份标识,若否,则验证失败,结束验证并丢弃该块;若是,则继续验证时间戳t的合法性,从候选区块Bt中获取时间戳t,并验证t是否在给定时间段Ti=MTi+ST内,若否,则验证失败,结束验证并丢弃该块;若是,则继续验证随机数r的合法性,从候选区块Bt中获取随机数r、ICi以及哈希值Z,并计算Z′=SHA256(SHA256(Blockt)||ICi||r),若Z′≠Z,则验证失败,结束验证并丢弃该块;若Z′=Z,则继续验证哈希值Z是否具有最多前置连续零,从候选区块Bt中获取哈希值Z,并与哈希值比较过程(3)中挑选出的哈希值Z″进行比较,若Z″≠Z,则验证失败,结束验证并丢弃该块;若Z″=Z,则继续验证交易的合法性,从候选区块Bt中获取交易集合{Tx}t,根据每笔交易涉及用户的账户状态验证其是否合法,一旦有交易非法,则验证失败,结束验证并丢弃该块;若所有的交易皆合法,则将候选区块Bt广播到区块链网络中,并附加到该成员本地存储的区块链中。
(6)、重复上述步骤(1)至步骤(5),直至纪元i的生命周期ETi结束。
环节iiii(委员会更迭)
当纪元结束时,现任委员会成员对下一纪元的随机字符串达成一致,该随机字符串用作下一纪元委员会成员选举过程中输入的随机种子。随机字符串的生成使用的是RandShare协议。
环节iiiii(历史区块数据卸载)
每个区块Bt由纪元编号Ei和区块在纪元内的高度Hj两部分标识。利用共识的周期性,每个纪元的创世区块中更新一颗包含所有账户最新状态的完整状态树,从而删除历史纪元的区块数据而不影响区块链系统的正常运行。中级节点只需在存储空间不足时,将纪元编号与当前纪元Ei不符的区块进行删除处理,缓解存储压力。
其中,状态树的更新方式如图4所示:
(1)、在每个纪元的创世区块中更新一颗包含所有账户最新状态的完整状态树;
(2)、在纪元内,当某些账户状态发生变化时,则在最新区块记录这些账户的最新状态,而那些状态未发生变化的账户则通过哈希指针向前引用。
本发明搭建私有区块来以验证方案性能及可行性,衡量性能的主要参数为共识时间、交易吞吐量、交易延时、账本存储大小。其中相关参数设置为:ET=10min,MT=1s,区块大小512KB,表1列出了在有50个委员节点,区块数量2000,高中低三级节点存储能力分别为128GB、1GB、1MB的场景下,比特币、Microchain与本发明的各性能对比值。
如表1所示,本发明在各个性能指标上都有不错的表现。
表1
本发明的轻量级且可扩展的区块链系统减轻节点共识过程中的计算负担与账本数据存储负担,低资源设备花费少量的代价即可参与共识,更加适应资源受限场景的需求;此外,无分叉特性提高交易吞吐量,增强区块链的安全性。
Claims (7)
1.一种基于边缘计算的轻量级且可扩展的区块链系统,其特征在于:涉及身份认证层、节点层、共识层和存储层;所述身份认证层中的证书注册机构CA对节点层中的节点进行身份认证以及角色层级划分;所述共识层通过基于可验证随机函数VRF的身份证明PoI共识协议来进行委员会选举与更迭以及新区块的产生与验证;所述存储层实现区块存储结构优化以及历史区块数据卸载;
上述身份认证层、节点层、共识层和存储层之间的具体工作过程如下:
S1、节点身份认证与角色层级划分
所有节点在加入区块链网络时通过证书注册机构CA进行身份认证,并将节点层中节点角色划分为高级节点、中级节点和低级节点;高级节点和中级节点承担区块链的全节点角色,边缘节点部署在高级节点层,高级节点参与共识并存储全账本,中级节点存储最新纪元的区块数据即可参与共识,低级节点通过连接高级节点或中级节点来发起交易,存储区块头和其感兴趣的交易;
S2、委员会选举
通过基于可验证随机函数VRF的抽签算法从中级节点和高级节点合集中选出部分节点组成委员会;委员会生命周期记为纪元ETi,当该纪元结束时,委员会发生更迭,重新挑选下一批委员;每次所选委员会成员的身份标识均将被记录到该纪元的创世区块中;
S3、新区块生成与验证
委员会成员在一个固定的时间段内通过不断改变输入随机数r的值计算一个哈希函数,并得到一个哈希值的输出集合委员会成员在自己的哈希值输出集合/>中找到一个具有最多前置连续零的哈希值Zi,并将该哈希值Zi发送给委员会的其他成员,每个委员会成员均比较所有的哈希值Zi,其中哈希值的前置连续零数量最多的委员会成员获得记账权;获得记账权的委员会成员构造候选区块Bt,并发送给其他委员会成员等待验证,委员会成员验证候选区块Bt,若验证成功,则将候选区块Bt广播到区块链网络中,并附加到该成员本地存储的区块链中;
重复上述内容直到纪元结束;
S4、委员会更迭
当纪元结束时,现任委员会成员对下一纪元的随机字符串达成一致,该随机字符串用作下一纪元委员会成员选举过程中输入的随机种子;
S5、区块数据卸载,即中级节点通过存储层的数据卸载模块对历史区块数据进行删除;
每个区块Bt由纪元编号Ei和区块在纪元内的高度Hj两部分标识,利用共识的周期性,每个纪元的创世区块中更新一颗包含所有账户最新状态的完整状态树,从而删除历史纪元的区块数据而不影响区块链系统的正常运行;中级节点只需在存储空间不足时,将纪元编号Ei与当前纪元不符的区块进行删除处理。
2.根据权利要求1所述的基于边缘计算的轻量级且可扩展的区块链系统,其特征在于:所述步骤S1的具体过程为:
S1.1、证书注册机构CA检测节点层中节点Nodei的硬件资源,对节点进行角色层级划分为高级节点、中级节点和低级节点,并为每个节点分配一个角色层级表示符其中/>表示高级节点,/>表示中级节点,/>表示低级节点;
S1.2、证书注册机构CA对每个节点Nodei分配一个唯一的公私钥对<PKi,SKi>,然后根据节点Nodei的公钥PKi以及角色层级表示符iLeval计算节点身份标识码ICi;
节点身份标识码ICi表示为:
ICi=SHA256(PKi||iLevel)
节点Nodei用<PKi,ICi>作为唯一身份标识。
3.根据权利要求1所述的基于边缘计算的轻量级且可扩展的区块链系统,其特征在于:所述步骤S3的具体过程为:
S3.1、首先判断当前是否处于纪元的创世区块,若是,则将纪元生命周期长度ETi以及节点计算哈希值的时间MTi硬编码到当前纪元的创世区块内,其中ETi和MTi与当前委员会成员的硬件资源和剩余能量相关;若否,则执行步骤S3.2;
S3.2、每个委员会成员在时间缝隙MTi中通过不断改变随机数r的值来计算哈希函数SHA256(SHA256(Blockt)||ICi||r),并由所有的输出组成了一个哈希值集合每个委员会成员分别在自己集合/>中找到一个具有最多前置连续零的哈希值Zi,然后以<Zi,ri,ICi>的形式发送给其他委员会成员,其中ri是与哈希值Zi对应的随机数,ICi则是该委员会成员的身份标识码;
S3.3、每个委员会成员等待一个固定时间ST来更新区块链,在ST时间段内,委员会成员会收到其他成员的哈希值Zi,每个成员比较所有的哈希值Zi,其中哈希值的前置连续零数量最多的成员获得记账权;
S3.4、获得记账权的委员会成员选择一个新交易记录集合{Tx}t,然后生成新的候选区块Bt,并将Bt广播给其他的委员会成员;
候选区块Bt的格式为:
Bt=<header={PreHash,E,H,t,<PKi,ICi>,ET,MT,r,Z,SR,TR,RR},body={SMT,TMT,RMT}>
其中,PreHash为前一区块的哈希值,E为纪元编号,H为区块在纪元内的高度,t为时间戳,<PKi,ICi>为该区块所属节点的身份标识,ET为纪元时间长度,MT为当前纪元节点计算哈希值的时间间隙,r为Z对应输入的随机数,Z为该节点具有最多前置连续零的哈希值,SR为状态树的根哈希值,TR为交易树的根哈希值,RR为收据树的根哈希值,SMT为账户状态Merkle哈希树,TMT为交易Merkle哈希树,RMT为收据Merkle哈希树;
S3.5、一旦收到候选区块Bt,所有委员会成员基于账户状态验证候选区块Bt以及交易{Tx}t的有效性;若验证成功,则将候选区块Bt广播到区块链网络中,并附加到该成员本地存储的区块链中;
S3.6、重复上述步骤S3.1至步骤S3.5,直至当前纪元结束。
4.根据权利要求3所述的基于边缘计算的轻量级且可扩展的区块链系统,其特征在于:所述步骤S3.3中比较哈希值Zi的具体过程为:
(1)、所有成员各自比较哈希值Zi的前置连续零数量,前置连续零数量最多的哈希值所属节点获得记账权;
(2)、当存在多个最多前置连续零的哈希值时,则比较哈希值对应输入随机数的值,随机数最小的节点获得记账权;
(3)、倘若随机数也相等,则直接比较哈希值Zi的大小,哈希值最小的节点获得记账权。
5.根据权利要求3所述的基于边缘计算的轻量级且可扩展的区块链系统,其特征在于:所述步骤S3.4中生成候选区块Bt的具体方法为:
(1)、从当前所有新交易中选择一批有效交易作为待打包的交易集合{Tx}t,并基于{Tx}t构建状态Merkle哈希树SMT、交易Merkle哈希树TMT、收据Merkle哈希树RMT,依次将根节点哈希值标记为SR、TR、RR;并设置区块体body={SMT,TMT,RMT};
(2)、设置纪元编号E,判断当前是否处于该纪元的生命周期内,若是,则E=E;若否,则E=E+1;
(3)、设置区块高度H=H+1,其中H在该纪元的创世区块中初始化为0;
(4)、设置纪元时间长度ET=ET,当前纪元节点计算哈希值的时间间隙MT=MT,其中ET、MT在该纪元创世区块已被硬编码;
(5)、设置区块头header;
header={PreHash,E,H,t,<PKi,ICi>,ET,MT,r,Z,SR,TR,RR}
最终候选区块为Bt=<header,bodt>。
6.根据权利要求3所述的基于边缘计算的轻量级且可扩展的区块链系统,其特征在于:所述步骤S3.5中验证候选区块Bt的具体方法为:
(1)、验证节点身份的合法性:从候选区块Bt中获取节点身份标识<PKi,ICi>,并在该纪元的创世区块及CA中查找是否记录该身份标识,若否,则验证失败,结束验证并丢弃该块;若是,则执行步骤(2);
(2)、验证时间戳t的合法性:从候选区块Bt中获取时间戳t,并验证t是否在给定时间段Ti=MTi+ST内,若否,则验证失败,结束验证并丢弃该块;若是,则执行步骤(3);
(3)、验证随机数r的合法性:从候选区块Bt中获取随机数r、ICi以及哈希值Z,并计算Z′=SHA256(SHA256(Blockt)||ICi||r),若Z′≠Z,则验证失败,结束验证并丢弃该块;若Z′=Z,则执行步骤(4);
(4)、验证哈希值Z是否具有最多前置连续零:从候选区块Bt中获取哈希值Z,并与S3.3哈希值比较过程中挑选出的哈希值Z″进行比较,若Z″≠Z,则验证失败,结束验证并丢弃该块;若Z″=Z,则执行步骤(5);
(5)、验证交易的合法性:从候选区块Bt中获取交易集合{Tx}t,根据每笔交易涉及用户的账户状态验证其是否合法,一旦有交易非法,则验证失败,结束验证并丢弃该块;若所有的交易皆合法,则将候选区块Bt广播到区块链网络中,并附加到该成员本地存储的区块链中。
7.根据权利要求1所述的基于边缘计算的轻量级且可扩展的区块链系统,其特征在于:所述步骤S5中状态树的更新方式为:
(1)、在每个纪元的创世区块中更新一颗包含所有账户最新状态的完整状态树;
(2)、在纪元内,当某些账户状态发生变化时,则在最新区块记录这些账户的最新状态,而那些状态未发生变化的账户则通过哈希指针向前引用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210176550.3A CN114745102B (zh) | 2022-02-25 | 2022-02-25 | 一种基于边缘计算的轻量级且可扩展的区块链系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210176550.3A CN114745102B (zh) | 2022-02-25 | 2022-02-25 | 一种基于边缘计算的轻量级且可扩展的区块链系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114745102A CN114745102A (zh) | 2022-07-12 |
CN114745102B true CN114745102B (zh) | 2024-02-27 |
Family
ID=82275238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210176550.3A Active CN114745102B (zh) | 2022-02-25 | 2022-02-25 | 一种基于边缘计算的轻量级且可扩展的区块链系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114745102B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115459969B (zh) * | 2022-08-26 | 2024-04-30 | 中电信数智科技有限公司 | 一种层次化可扩展区块链平台及其交易处理方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110400218A (zh) * | 2019-06-05 | 2019-11-01 | 西安电子科技大学 | 基于陪审团制度的分层共识方法、区块链数据处理系统 |
CN112085502A (zh) * | 2020-09-09 | 2020-12-15 | 江苏大学 | 一种基于边缘计算的轻量级区块链监管方法及系统 |
CN112381552A (zh) * | 2020-11-19 | 2021-02-19 | 华南理工大学 | 一种基于层级区块链的供应链溯源方法及应用 |
CN112511590A (zh) * | 2020-10-26 | 2021-03-16 | 南京辰阔网络科技有限公司 | 一种区块链分片的高效存储重配置方法 |
CN114065283A (zh) * | 2020-11-20 | 2022-02-18 | 北京邮电大学 | 一种轻量级可循环再生的区块链存储方法及装置 |
-
2022
- 2022-02-25 CN CN202210176550.3A patent/CN114745102B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110400218A (zh) * | 2019-06-05 | 2019-11-01 | 西安电子科技大学 | 基于陪审团制度的分层共识方法、区块链数据处理系统 |
CN112085502A (zh) * | 2020-09-09 | 2020-12-15 | 江苏大学 | 一种基于边缘计算的轻量级区块链监管方法及系统 |
CN112511590A (zh) * | 2020-10-26 | 2021-03-16 | 南京辰阔网络科技有限公司 | 一种区块链分片的高效存储重配置方法 |
CN112381552A (zh) * | 2020-11-19 | 2021-02-19 | 华南理工大学 | 一种基于层级区块链的供应链溯源方法及应用 |
CN114065283A (zh) * | 2020-11-20 | 2022-02-18 | 北京邮电大学 | 一种轻量级可循环再生的区块链存储方法及装置 |
Non-Patent Citations (1)
Title |
---|
ECLB: Edge-Computing-Based Lightweight Blockchain Framework for Mobile Systems;Qingqing Xie , Fan Dong,and Xia Feng;Security and Communication Networks;第22卷;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114745102A (zh) | 2022-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109360100B (zh) | 基于区块链技术的交易快速确认方法及装置 | |
CN111611315B (zh) | 面向金融大数据的多叉树结构区块链集成优化存储方法 | |
CN110046894B (zh) | 一种基于纠删码的分组可重构区块链建立方法 | |
CN110945548A (zh) | 用于管理区块链网络中大型分布式存储池的计算机实现的系统和方法 | |
EP3632037A1 (en) | Network for improved verification speed with tamper resistant data | |
CN108737375A (zh) | 一种区块链共识方法及系统 | |
CN111241114A (zh) | 一种结合交易与共识的智能服务交易区块链信誉管理方法和系统 | |
CN111371905B (zh) | 一种基于云计算的区块链分层共识证明系统与方法 | |
CN110570308B (zh) | 一种具有激励机制的基于区块链的电子仓单交易系统 | |
WO2019019056A1 (zh) | 前置机参与区块链共识的方法 | |
CN110580605B (zh) | 一种基于区块链的电子仓单信息存储系统 | |
CN105678151A (zh) | 构建可信节点/卫星节点的区块链传输方法和系统 | |
CN112769580A (zh) | 一种区块链分层激励共识算法 | |
CN112651830A (zh) | 应用于电力资源共享网络的区块链共识方法 | |
CN114745102B (zh) | 一种基于边缘计算的轻量级且可扩展的区块链系统 | |
Yin et al. | Sidechains with fast cross-chain transfers | |
CN111861459A (zh) | 一种基于DPoS共识算法的Iota账本优化系统及方法 | |
CN114463009B (zh) | 一种用于提高大规模能源节点交易安全性的方法 | |
CN116595094A (zh) | 基于区块链的联邦学习激励方法、装置、设备和存储介质 | |
Yu et al. | Low powered blockchain consensus protocols based on consistent hash | |
CN114862397A (zh) | 一种基于双链结构的双解耦区块链分布式方法 | |
CN113360951B (zh) | 一种基于分区式区块链的电子证据保全方法 | |
CN112039837B (zh) | 一种基于区块链和秘密共享的电子证据保全方法 | |
CN109104444B (zh) | 一种基于区块链的电子签章方法 | |
Xu et al. | Precision Poverty Alleviation Methods in the Agricultural Field Based upon Wireless Communication Networks and Blockchain |
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 |