CN117395305B - 基于区块链的安全计算方法、装置、设备及存储介质 - Google Patents
基于区块链的安全计算方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117395305B CN117395305B CN202311685704.2A CN202311685704A CN117395305B CN 117395305 B CN117395305 B CN 117395305B CN 202311685704 A CN202311685704 A CN 202311685704A CN 117395305 B CN117395305 B CN 117395305B
- Authority
- CN
- China
- Prior art keywords
- block
- nodes
- node
- data
- blockchain
- 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 claims abstract description 137
- 238000000034 method Methods 0.000 claims abstract description 22
- 238000012790 confirmation Methods 0.000 claims description 4
- 230000001360 synchronised effect Effects 0.000 abstract description 7
- 230000035945 sensitivity Effects 0.000 abstract description 4
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000001514 detection method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
Classifications
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- 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/40—Network security protocols
-
- 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- 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 Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于区块链技术领域,公开了一种基于区块链的安全计算方法、装置、设备及存储介质。本发明通过根据区块节点的数据计算请求获取到云端数据,根据区块节点确定相邻区块节点,将云端数据分配至区块节点与相邻区块节点,使区块节点与相邻区块节点对云端数据进行边缘计算,得到计算结果,将计算结果同步至区块链,对区块链的数据进行更新,通过将数据量大的“边”和“端”,将对延迟敏感度低的数据迁移到边上进行,减少区块链的负担,从而提高区块链的数据处理效率和安全性。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于区块链的安全计算方法、装置、设备及存储介质。
背景技术
在区块链的边缘计算中,通常会因为自身可拓展性差导致在边缘计算时引发区块链边缘计算的安全问题,目前所采用的方法为将安全策略和权限分散到各个节点上,避免集中式控制,或因为单点故障导致数据紊乱,同时在数据传输过程中使用加密算法,随着通信加密算法引入,使得区块链中的边缘节点在进行数据处理时需要先对数据进行解密操作,增加数据处理成本,增加节点的负担,从而降低区块链的数据处理效率和区块链的安全性。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种基于区块链的安全计算方法、装置、设备及存储介质,旨在解决现有技术中区块链中进行边缘计算时的安全性差的技术问题。
为实现上述目的,本发明提供了一种基于区块链的安全计算方法,所述方法包括以下步骤:
根据区块节点的数据计算请求获取到云端数据;
根据所述区块节点确定相邻区块节点;
确定所述区块节点和所述相邻区块节点的总数量;
将所述云端数据分为成与所述相邻区块节点一致的云端数据块,使所述区块节点与所述相邻区块节点分别计算,得到与所述总数量一致的若干个局部计算结果,其中,每一个区块节点均被分配一个所述云端数据块;
将所述若干个局部计算结果汇总,得到所述云端数据的计算结果;
将所述计算结果同步至所述区块链,对所述区块链的数据进行更新。
可选地,所述根据所述区块节点确定相邻区块节点,包括:
获取所述区块链的节点拓扑图;
确定所述区块节点在所述节点拓扑图中的位置;
根据所述区块节点在所述节点拓扑图中的位置确定与所述区块节点直接连接的区块节点的位置;
根据所述区块节点在所述节点拓扑图中的位置与所述区块节点直接连接的区块节点的位置计算节点之间的距离;
根据所述节点之间的距离确定相邻区块节点。
可选地,所述将所述云端数据分为成与所述相邻区块节点一致的云端数据块,使所述区块节点与所述相邻区块节点分别计算,得到与所述总数量一致的若干个局部计算结果,包括:
根据所述云端数据确定计算业务类型;
确定所述计算业务类型数量,将所述计算业务类型数量与所述相邻区块节点的数量进行比较;
在所述计算业务类型数量小于所述相邻区块节点的数量时,确定所述相邻区块节点的数量与所述计算业务类型数量的差值;
确定所述计算业务类型对应的数据量,根据所述差值确定目标分组,根据所述目标分组将所述数据量较多的计算业务类型平均划分并绑定所述目标分组,使所述区块节点与所述相邻区块节点分别计算,得到与所述总数量一致的若干个局部计算结果。
可选地,所述根据区块节点的数据计算请求获取到云端数据,包括:
根据所述区块节点的数据计算请求定位到存储目标云端数据的目标区块节点;
根据所述数据计算请求从所述目标区块节点获取到目标云端数据;
对所述目标云端数据进行同态加密,得到所述云端数据。
可选地,所述将所述计算结果同步至所述区块链,对所述区块链的数据进行更新,包括:
接收所述区块节点的区块同步信息;
根据所述区块同步信息向所述区块链中全部区块节点发送状态确定信息,使所述全部区块节点将自身的区块状态信息广播,输出广播状态信息;
接收所述全部区块节点根据所述广播状态信息处理的区块链状态信息;
将所述区块链状态信息在所述区块链广播,使所述全部区块节点根据所述区块链状态信息与所述全部区块节点的状态信息对比,在所述区块链状态信息与所述全部区块节点的状态信息不一致时,将所述全部区块节点的状态信息更新为所述区块链状态信息。
可选地,所述接收所述全部区块节点根据所述广播状态信息处理的区块链状态信息,包括:
根据所述广播状态信息生成状态向量表,所述状态向量表记录各个节点的当前状态;
对所述状态向量表中的各个节点的当前状态根据状态类型进行分类,将个数最多的类型所对应的当前状态输出为所述区块链状态信息。
可选地,所述将所述计算结果同步至所述区块链,对所述区块链的数据进行更新之后,还包括:
对所述区块链的数据容量进行检测,在所述数据容量大于预设阈值时,为所述区块链中新增区块节点;
根据所述新增区块节点更新所述区块链的拓扑图。
此外,为实现上述目的,本发明还提出一种基于区块链的安全计算装置,所述基于区块链的安全计算装置包括:
数据获取模块,用于根据区块节点的数据计算请求获取到云端数据;
节点确认模块,用于根据所述区块节点确定相邻区块节点;
数据计算模块,用于将所述云端数据分配至所述区块节点与所述相邻区块节点,使所述区块节点与所述相邻区块节点对所述云端数据进行边缘计算,得到计算结果;
状态同步模块,用于将所述计算结果同步至所述区块链,对所述区块链的数据进行更新。
此外,为实现上述目的,本发明还提出一种基于区块链的安全计算设备,所述基于区块链的安全计算设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于区块链的安全计算程序,所述基于区块链的安全计算程序配置为实现如上文所述的基于区块链的安全计算方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有基于区块链的安全计算程序,所述基于区块链的安全计算程序被处理器执行时实现如上文所述的基于区块链的安全计算方法的步骤。
本发明通过根据区块节点的数据计算请求获取到云端数据,根据区块节点确定相邻区块节点,将云端数据分配至区块节点与相邻区块节点,使区块节点与相邻区块节点对云端数据进行边缘计算,得到计算结果,将计算结果同步至区块链,对区块链的数据进行更新,通过将数据量大的“边”和“端”,将对延迟敏感度低的数据迁移到边上进行,减少区块链的负担,从而提高区块链的数据处理效率和安全性。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的基于区块链的安全计算设备的结构示意图;
图2为本发明基于区块链的安全计算方法第一实施例的流程示意图;
图3为本发明基于区块链的安全计算方法一实施例的区块节点的拓扑图;
图4为本发明基于区块链的安全计算方法第二实施例的流程示意图;
图5为本发明基于区块链的安全计算装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的基于区块链的安全计算设备结构示意图。
如图1所示,该基于区块链的安全计算设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,Wi-Fi)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM),也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对基于区块链的安全计算设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及基于区块链的安全计算程序。
在图1所示的基于区块链的安全计算设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明基于区块链的安全计算设备中的处理器1001、存储器1005可以设置在基于区块链的安全计算设备中,所述基于区块链的安全计算设备通过处理器1001调用存储器1005中存储的基于区块链的安全计算程序,并执行本发明实施例提供的基于区块链的安全计算方法。
本发明实施例提供了一种基于区块链的安全计算方法,参照图2,图2为本发明一种基于区块链的安全计算方法第一实施例的流程示意图。
本实施例中,所述基于区块链的安全计算方法包括以下步骤:
步骤S10:根据区块节点的数据计算请求获取到云端数据。
需要说明的是,本实施例的执行主体是基于区块链的安全计算设备,其中,该基于区块链的安全计算设备具有数据处理,数据通信及程序运行等功能,所述基于区块链的安全计算设备可以为集成控制器,控制计算机等设备,当然还可以为其他具备相似功能的设备,本实施例对此不做限制。
可以理解的是,区块链是由若干个节点之间互联而形成的,每个节点之间的数据通信都会在整个网络中进行广播,并且每个区块节点都能够对这一次数据通信进行记录,形成自身的账本,因此,被记录在区块链中的数据具有较高的安全性。
在具体实现中,当某一区块节点需要处理相关数据时,此时需要获取到存储与其他节点中的云端数据,此时,该区块节点需要访问存放有云端数据的区块节点,同时这一数据会被包括自身在内的所有区块节点进行记录。在存储有目标云端数据的节点接收到数据计算请求后,能够将云端数据发送至发送数据计算请求的区块节点,在这个过程中所产生的所有动作都会被记录,形成相应的数据信息。
进一步地,所述根据区块节点的数据计算请求获取到云端数据,包括:
根据所述区块节点的数据计算请求定位到存储目标云端数据的目标区块节点;
根据所述数据计算请求从所述目标区块节点获取到目标云端数据;
对所述目标云端数据进行同态加密,得到所述云端数据。
在具体实现中,区块节点的数据计算请求会被其他的区块节点进行接收,并对数据计算请求进行解析,在判断得到当前的数据计算请求不是自身时,可以抛弃当前的数据计算请求,并不做出反应,在解析并识别到数据计算请求的访问目标为自身时,可以对数据计算请求进行分析,确定数据请求中的具体信息,例如需要访问到的数据,接收到数据计算请求的区块节点能够对这一请求做出对应回应,包括返回目标云端数据,或拒绝数据访问请求。在接收到数据计算请求的区块节点接收到数据计算请求后,能根据数据计算请求得到对应的目标云端数据,并对目标云端数据进行同态加密,得到云端数据。并将云端数据发送给发送数据计算请求的区块节点,在接收云端数据的区块节点接到云端数据后,可直接在加密状态下进行数据处理,所得到的数据与解密后处理的结果保持一致,能够减少数据的加密和解密的时间损耗,也避免加密和解密过程中的数据损坏。
步骤S20:根据所述区块节点确定相邻区块节点。
需要说明的是,相邻区块节点可以理解为与当前区块节点直接连接的区块节点,在区块链中由于去中心化,数据是通过在节点之间进行传输的,因此,可以根据区块节点之间的通信时间确定相邻区块节点。
在具体实现中,由于区块节点之间的距离存在差别,因此在寻找相邻区块节点时,能够向与当前区块节点直接进行通信的区块节点发起探测信息,并接收探测信息的回执信息,并根据回执信息判断此刻相邻的区块节点间的距离,由于区块节点可能因为种种原因会导致掉线,因此,需要实时确定相邻区块节点,根据区块节点之间的距离按照从小到大进行排序,将距离最近的若干个区块节点作为相邻区块节点,具体选择的数量根据实际情况进行设置,本实施例对此不作限制。
进一步地,所述根据所述区块节点确定相邻区块节点,包括:
获取所述区块链的节点拓扑图;
确定所述区块节点在所述节点拓扑图中的位置;
根据所述区块节点在所述节点拓扑图中的位置确定与所述区块节点直接连接的区块节点的位置;
根据所述区块节点在所述节点拓扑图中的位置与所述区块节点直接连接的区块节点的位置计算节点之间的距离;
根据所述节点之间的距离确定相邻区块节点。
在具体实现中,参照图3,图3为区块节点的拓扑图,根据拓扑图能够得到区块链中的区块节点之间的通信关系。对拓扑图中的反映的连接关系确定出与区块节点直接连接的区块节点的位置。并给确定位置的区块节点进行探测,确定是否处于工作状态,在接收到对应的区块节点的探测反馈后,记录消耗时间,同时根据节点和消耗时间生成区块节点距离表,按照消耗的时间确定区块节点之间的距离,消耗的时间越长,区块节点之间的距离就越远。最终根据区块节点之间的距离确定相邻的区块节点。
步骤S30:将所述云端数据分配至所述区块节点与所述相邻区块节点,使所述区块节点与所述相邻区块节点对所述云端数据进行边缘计算,得到计算结果。
该步骤进一步包括:将所述云端数据分为成与所述相邻区块节点一致的云端数据块,使所述区块节点与所述相邻区块节点分别计算,得到与所述总数量一致的若干个局部计算结果,其中,每一个区块节点均被分配一个所述云端数据块;将所述若干个局部计算结果汇总,得到所述云端数据的计算结果。
在具体实现中,在区块节点获取到云端数据后,能将云端数据分配至相邻区块节点,区块节点与多个相邻区块节点形成多个“边”能够分摊单个节点的数据处理压力,每个区块节点都能够根据自身获得到的云端数据进行计算,最终将得到计算结果输出至执行数据计算的区块节点,得到最终的计算结果。
进一步地,所述将所述云端数据分为成与所述相邻区块节点一致的云端数据块,使所述区块节点与所述相邻区块节点分别计算,得到与所述总数量一致的若干个局部计算结果,包括:
根据所述云端数据确定计算业务类型;
确定所述计算业务类型数量,将所述计算业务类型数量与所述相邻区块节点的数量进行比较;
在所述计算业务类型数量小于所述相邻区块节点的数量时,确定所述相邻区块节点的数量与所述计算业务类型数量的差值;
确定所述计算业务类型对应的数据量,根据所述差值确定目标分组,根据所述目标分组将所述数据量较多的计算业务类型平均划分并绑定所述目标分组,使所述区块节点与所述相邻区块节点分别计算,得到与所述总数量一致的若干个局部计算结果。
在具体实现中,能够确定区块节点和相邻区块节点的总数量,并将所得到的云端数据划分为与总数量一致的云端数据块,例如区块节点和相邻区块节点的总数量为4,那么可以将云端数据分为4个云端数据块,分别交付给对应的区块节点进行计算,其中,每个云端数据块的大小可以保持一致,也可以存在区别,本实施例对此不作限制,优选为数据完整的划分方式进行划分。每个区块节点在接收到各自负责处理的云端数据块时,都能够根据该云端数据块计算得到局部计算结果,在计算结束后能够将得到的局部计算结果传输至发起数据计算请求的区块节点,并由发起数据计算请求的区块节点将各个局部计算结果汇总,得到云端数据的计算结果。
步骤S40:将所述计算结果同步至所述区块链,对所述区块链的数据进行更新。
在具体实现中,在将计算结果在区块链中进行广播之前,需要根据计算结果更新自身区块节点中的数据状态,并在区块节点计算得到云端数据的计算结果后,能将当前的计算结果进行广播,在广播信息中包括当前节点的状态信息,在其他区块节点接收到广播信息后,能够根据广播中携带的数据状态信息更新自身的数据状态。
本实施例通过根据区块节点的数据计算请求获取到云端数据,根据区块节点确定相邻区块节点,将云端数据分配至区块节点与相邻区块节点,使区块节点与相邻区块节点对云端数据进行边缘计算,得到计算结果,将计算结果同步至区块链,对区块链的数据进行更新,通过将数据量大的“边”和“端”,将对延迟敏感度低的数据迁移到边上进行,减少区块链的负担,从而提高区块链的数据处理效率和安全性。
参考图4,图4为本发明一种基于区块链的安全计算方法第二实施例的流程示意图。
基于上述第一实施例,本实施例基于区块链的安全计算方法在所述步骤S10之前,还包括:
步骤S401:接收所述区块节点的区块同步信息。
步骤S402:根据所述区块同步信息向所述区块链中全部区块节点发送状态确定信息,使所述全部区块节点将自身的区块状态信息广播,输出广播状态信息。
步骤S403:接收所述全部区块节点根据所述广播状态信息处理的区块链状态信息。
步骤S404:将所述区块链状态信息在所述区块链广播,使所述全部区块节点根据所述区块链状态信息与所述全部区块节点的状态信息对比,在所述区块链状态信息与所述全部区块节点的状态信息不一致时,将所述全部区块节点的状态信息更新为所述区块链状态信息。
在具体实现中,在完成数据计算的区块节点后,能够发起区块同步信息,用于将区块链中的各个区块节点的状态信息,在接收到区块节点的区块同步信息之后,能够将区块同步信息向区块链中的全部节点发送状态确定信息,使区块链中的每个区块节点将自身的区块状态信息与广播中的状态信息对比,同时也将自身的状态数据进行广播,从单一区块节点来看,首先能够根据接收到的广播信息对自身的状态信息进行更新,在更新完成后,将自身的广播信息进行广播,同时还会接收到其他区块节点发来的广播信息,对接收到的广播信息进行解析,获得广播信息中包括的状态信息,并根据自身的状态信息与广播中的状态信息对比,确定状态信息的一致性,在状态信息不一致时,将当前的区块节点的状态信息更新为为区块链的状态信息。
进一步地,所述接收所述全部区块节点根据所述广播状态信息处理的区块链状态信息,包括:
根据所述广播状态信息生成状态向量表,所述状态向量表记录各个节点的当前状态;
对所述状态向量表中的各个节点的当前状态根据状态类型进行分类,将个数最多的类型所对应的当前状态输出为所述区块链状态信息。
需要说明的是,状态向量表指的是区块节点用于判断当前区块链中节点中的状态信息的向量表。
在具体实现中,在理想状态下,在数据同步完成之后,每个区块节点中的状态信息应当保持一致,但是在现实中会存在各种各样因素导致状态数据同步失败,因此会导致区块节点中的数据未成功同步,因此,为了解决这一问题,可以由区块发起状态数据广播,每个广播中携带对应区块的状态信息,并对广播信息以及自身的状态信息生成状态向量表,在构建向量表时,首先接收到发起数据更新的区块节点同步出来的状态信息,并以该状态信息为基准,确定各个状态信息之间的差异。在一个节点对其他全部区块节点的状态信息进行检测后,能够对状态信息检测的结果进行分类,并统计状态信息中数量最多的一个分类,并将当前的分类确定为初步状态信息。同时,其他分区节点都能够采用同样的方式得到初步状态信息,并根据各个初步状态信息确定得到未完成状态同步的区块节点,并单独向未完成状态同步的区块节点发起强制更新信息,将该区块节点的数据状态进行更新,更新为区块链状态信息。
进一步地,所述将所述计算结果同步至所述区块链,对所述区块链的数据进行更新之后,还包括:
对所述区块链的数据容量进行检测,在所述数据容量大于预设阈值时,为所述区块链中新增区块节点;
根据所述新增区块节点更新所述区块链的拓扑图。
在具体实现中,对当前区块链的数据容量进行检测,得到检测结果,在检测结果中的数据容量大于预设阈值时,此时说明当前区块链中可能不适合进行大规模数据运算,此时存在数据安全性隐患,因此可以为区块链中新增区块节点,当然,即使在数据容量存在空余时,新增区块节点也能主动加入当前的区块链中。在新增区块节点加入到区块链中时,可以与区块链中的其他区块节点建立数据通信,同时将新增的区块节点更新区块链的拓扑图。
本实施例通过在区块节点完成数据计算后,将自身的区块节点的状态信息同步,并在同步之后,能够对当前区块链中的各个区块节点的状态信息更新,保证区块数据的一致性,此时能够通过广播的形式,使每个区块节点根据广播信息得到每个区块节点接收到的状态信息,并将每个区块节点接收到的信息进行归类,确定当前区块链的状态信息以及未完成状态更新的区块节点,并进行相应的更新措施,使区块链中的数据趋于一致,保证区块链数据的安全性。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有基于区块链的安全计算程序,所述基于区块链的安全计算程序被处理器执行时实现如上文所述的基于区块链的安全计算方法的步骤。
参照图5,图5为本发明基于区块链的安全计算装置第一实施例的结构框图。
如图5所示,本发明实施例提出的基于区块链的安全计算装置包括:
数据获取模块10,用于根据区块节点的数据计算请求获取到云端数据;
节点确认模块20,用于根据所述区块节点确定相邻区块节点;
数据计算模块30,用于将所述云端数据分配至所述区块节点与所述相邻区块节点,使所述区块节点与所述相邻区块节点对所述云端数据进行边缘计算,得到计算结果;
状态同步模块40,用于将所述计算结果同步至所述区块链,对所述区块链的数据进行更新。
本实施例通过根据区块节点的数据计算请求获取到云端数据,根据区块节点确定相邻区块节点,将云端数据分配至区块节点与相邻区块节点,使区块节点与相邻区块节点对云端数据进行边缘计算,得到计算结果,将计算结果同步至区块链,对区块链的数据进行更新,通过将数据量大的“边”和“端”,将对延迟敏感度低的数据迁移到边上进行,减少区块链的负担,从而提高区块链的数据处理效率和安全性。
在一实施例中,所述节点确认模块20,还用于获取所述区块链的节点拓扑图;确定所述区块节点在所述节点拓扑图中的位置;根据所述区块节点在所述节点拓扑图中的位置确定与所述区块节点直接连接的区块节点的位置;根据所述区块节点在所述节点拓扑图中的位置与所述区块节点直接连接的区块节点的位置计算节点之间的距离;根据所述节点之间的距离确定相邻区块节点。
在一实施例中,所述数据计算模块30,还用于确定所述区块节点和所述相邻区块节点的总数量;将所述云端数据分为成与所述相邻区块节点一致的云端数据块,使所述区块节点与所述相邻区块节点分别计算,得到与所述总数量一致的若干个局部计算结果,其中,每一个区块节点均被分配一个所述云端数据块;将所述若干个局部计算结果汇总,得到所述云端数据的计算结果。
在一实施例中,所述数据获取模块10,还用于根据所述区块节点的数据计算请求定位到存储目标云端数据的目标区块节点;根据所述数据计算请求从所述目标区块节点获取到目标云端数据;对所述目标云端数据进行同态加密,得到所述云端数据。
在一实施例中,所述状态同步模块40,还用于接收所述区块节点的区块同步信息;根据所述区块同步信息向所述区块链中全部区块节点发送状态确定信息,使所述全部区块节点将自身的区块状态信息广播,输出广播状态信息;接收所述全部区块节点根据所述广播状态信息处理的区块链状态信息;将所述区块链状态信息在所述区块链广播,使所述全部区块节点根据所述区块链状态信息与所述全部区块节点的状态信息对比,在所述区块链状态信息与所述全部区块节点的状态信息不一致时,将所述全部区块节点的状态信息更新为所述区块链状态信息。
在一实施例中,所述状态同步模块40,还用于根据所述广播状态信息生成状态向量表,所述状态向量表记录各个节点的当前状态;对所述状态向量表中的各个节点的当前状态根据状态类型进行分类,将个数最多的类型所对应的当前状态输出为所述区块链状态信息。
在一实施例中,所述状态同步模块40,还用于对所述区块链的数据容量进行检测,在所述数据容量大于预设阈值时,为所述区块链中新增区块节点;
根据所述新增区块节点更新所述区块链的拓扑图。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
应该理解的是,虽然本申请实施例中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述 实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通 过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的 技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体 现出来,该计算机软件产品存储在一个存储介质(如只读存储器(Read Only Memory,ROM)/RAM、磁碟、光 盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种基于区块链的安全计算方法,其特征在于,所述基于区块链的安全计算方法包括:
根据区块节点的数据计算请求获取到云端数据;
根据所述区块节点确定相邻区块节点;
确定所述区块节点和所述相邻区块节点的总数量;
将所述云端数据分为成与所述相邻区块节点一致的云端数据块,使所述区块节点与所述相邻区块节点分别计算,得到与所述总数量一致的若干个局部计算结果,其中,每一个区块节点均被分配一个所述云端数据块;
将所述若干个局部计算结果汇总,得到所述云端数据的计算结果;
将所述计算结果同步至所述区块链,对所述区块链的数据进行更新;
其中,所述将所述计算结果同步至所述区块链,对所述区块链的数据进行更新,还包括:
接收所述区块节点的区块同步信息;
根据所述区块同步信息向所述区块链中全部区块节点发送状态确定信息,使所述全部区块节点将自身的区块状态信息广播,输出广播状态信息;
根据所述广播状态信息生成状态向量表,所述状态向量表记录各个节点的当前状态;
对所述状态向量表中的各个节点的当前状态根据状态类型进行分类,将个数最多的类型所对应的当前状态输出为所述区块链状态信息;
将所述区块链状态信息在所述区块链广播,使所述全部区块节点根据所述区块链状态信息与所述全部区块节点的状态信息对比,在所述区块链状态信息与所述全部区块节点的状态信息不一致时,将所述全部区块节点的状态信息更新为所述区块链状态信息。
2.如权利要求1所述的方法,其特征在于,所述根据所述区块节点确定相邻区块节点,包括:
获取所述区块链的节点拓扑图;
确定所述区块节点在所述节点拓扑图中的位置;
根据所述区块节点在所述节点拓扑图中的位置确定与所述区块节点直接连接的区块节点的位置;
根据所述区块节点在所述节点拓扑图中的位置与所述区块节点直接连接的区块节点的位置计算节点之间的距离;
根据所述节点之间的距离确定相邻区块节点。
3.如权利要求1所述的方法,其特征在于,所述将所述云端数据分为成与所述相邻区块节点一致的云端数据块,使所述区块节点与所述相邻区块节点分别计算,得到与所述总数量一致的若干个局部计算结果,包括:
根据所述云端数据确定计算业务类型;
确定所述计算业务类型数量,将所述计算业务类型数量与所述相邻区块节点的数量进行比较;
在所述计算业务类型数量小于所述相邻区块节点的数量时,确定所述相邻区块节点的数量与所述计算业务类型数量的差值;
确定所述计算业务类型对应的数据量,根据所述差值确定目标分组,根据所述目标分组将所述数据量较多的计算业务类型平均划分并绑定所述目标分组,使所述区块节点与所述相邻区块节点分别计算,得到与所述总数量一致的若干个局部计算结果。
4.如权利要求1所述的方法,其特征在于,所述根据区块节点的数据计算请求获取到云端数据,包括:
根据所述区块节点的数据计算请求定位到存储目标云端数据的目标区块节点;
根据所述数据计算请求从所述目标区块节点获取到目标云端数据;
对所述目标云端数据进行同态加密,得到所述云端数据。
5.如权利要求1所述的方法,其特征在于,所述将所述计算结果同步至所述区块链,对所述区块链的数据进行更新之后,还包括:
对所述区块链的数据容量进行检测,在所述数据容量大于预设阈值时,为所述区块链中新增区块节点;
根据所述新增区块节点更新所述区块链的拓扑图。
6.一种基于区块链的安全计算装置,用于实现权利要求1至5任一项所述的基于区块链的安全计算方法,其特征在于,所述基于区块链的安全计算装置包括:
数据获取模块,用于根据区块节点的数据计算请求获取到云端数据;
节点确认模块,用于根据所述区块节点确定相邻区块节点;
数据计算模块,用于确定所述区块节点和所述相邻区块节点的总数量;将所述云端数据分为成与所述相邻区块节点一致的云端数据块,使所述区块节点与所述相邻区块节点分别计算,得到与所述总数量一致的若干个局部计算结果,其中,每一个区块节点均被分配一个所述云端数据块;将所述若干个局部计算结果汇总,得到所述云端数据的计算结果;
状态同步模块,用于将所述计算结果同步至所述区块链,对所述区块链的数据进行更新;
其中,所述将所述计算结果同步至所述区块链,对所述区块链的数据进行更新,还包括:
接收所述区块节点的区块同步信息;
根据所述区块同步信息向所述区块链中全部区块节点发送状态确定信息,使所述全部区块节点将自身的区块状态信息广播,输出广播状态信息;
根据所述广播状态信息生成状态向量表,所述状态向量表记录各个节点的当前状态;
对所述状态向量表中的各个节点的当前状态根据状态类型进行分类,将个数最多的类型所对应的当前状态输出为所述区块链状态信息;
将所述区块链状态信息在所述区块链广播,使所述全部区块节点根据所述区块链状态信息与所述全部区块节点的状态信息对比,在所述区块链状态信息与所述全部区块节点的状态信息不一致时,将所述全部区块节点的状态信息更新为所述区块链状态信息。
7.一种基于区块链的安全计算设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于区块链的安全计算程序,所述基于区块链的安全计算程序配置为实现如权利要求1至5中任一项所述的基于区块链的安全计算方法的步骤。
8.一种存储介质,其特征在于,所述存储介质上存储有基于区块链的安全计算程序,所述基于区块链的安全计算程序被处理器执行时实现如权利要求1至5任一项所述的基于区块链的安全计算方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311685704.2A CN117395305B (zh) | 2023-12-11 | 2023-12-11 | 基于区块链的安全计算方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311685704.2A CN117395305B (zh) | 2023-12-11 | 2023-12-11 | 基于区块链的安全计算方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117395305A CN117395305A (zh) | 2024-01-12 |
CN117395305B true CN117395305B (zh) | 2024-03-19 |
Family
ID=89463410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311685704.2A Active CN117395305B (zh) | 2023-12-11 | 2023-12-11 | 基于区块链的安全计算方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117395305B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111064579A (zh) * | 2019-12-11 | 2020-04-24 | 北京金汤科技有限公司 | 基于区块链的安全多方计算方法、***、及存储介质 |
CN112184219A (zh) * | 2020-09-22 | 2021-01-05 | 远光软件股份有限公司 | 安全多方计算方法、电子设备及存储介质 |
WO2023020233A1 (zh) * | 2021-08-18 | 2023-02-23 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及存储介质 |
CN116915379A (zh) * | 2023-08-10 | 2023-10-20 | 重庆邮电大学 | 一种基于同态加密算法和零知识证明协议的区块链隐私保护方法及*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210120018A1 (en) * | 2019-10-22 | 2021-04-22 | Insolar Technologies GmbH | Systems and methods for reaching consensus in a decentralized network |
-
2023
- 2023-12-11 CN CN202311685704.2A patent/CN117395305B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111064579A (zh) * | 2019-12-11 | 2020-04-24 | 北京金汤科技有限公司 | 基于区块链的安全多方计算方法、***、及存储介质 |
CN112184219A (zh) * | 2020-09-22 | 2021-01-05 | 远光软件股份有限公司 | 安全多方计算方法、电子设备及存储介质 |
WO2023020233A1 (zh) * | 2021-08-18 | 2023-02-23 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及存储介质 |
CN116915379A (zh) * | 2023-08-10 | 2023-10-20 | 重庆邮电大学 | 一种基于同态加密算法和零知识证明协议的区块链隐私保护方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN117395305A (zh) | 2024-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11940965B2 (en) | Data migration method and apparatus | |
CN110049087B (zh) | 一种联盟链的可信度验证方法、***、装置及设备 | |
US10728813B2 (en) | Method and device for handing over user equipment among wireless access points | |
EP3800589A1 (en) | Task processing method and apparatus | |
CN102622296B (zh) | 搜索引擎模块的测试方法、***及其装置 | |
CN110046901B (zh) | 联盟链的可信度验证方法、***、装置及设备 | |
JP2018508072A (ja) | メッセージをプッシュするための方法および装置 | |
CN106658665A (zh) | 一种用于建立无线连接的方法与设备 | |
CN108650333B (zh) | 区块链***的分散节点负荷方法、介质、装置和区块链*** | |
CN112615905A (zh) | 区块链分片的调度方法、装置、设备及存储介质 | |
WO2023131058A1 (zh) | 一种企业数字中台中资源服务应用的调度***和方法 | |
CN106407002A (zh) | 数据处理任务执行方法和装置 | |
JP2020013349A (ja) | 履歴管理方法、履歴管理装置及び履歴管理システム | |
JP2020013347A (ja) | 履歴管理方法、及び履歴管理装置 | |
CN110868313A (zh) | 一种巡检方法、相关装置及可读存储介质 | |
CN111756829A (zh) | 账本数据同步方法、装置、设备和存储介质 | |
CN110619022A (zh) | 基于区块链网络的节点检测方法、装置、设备及存储介质 | |
CN106331060B (zh) | 一种基于wifi进行布控的方法和*** | |
CN111405021A (zh) | 一种对等节点的数据传输方法、装置、设备及存储介质 | |
CN117395305B (zh) | 基于区块链的安全计算方法、装置、设备及存储介质 | |
US10200864B2 (en) | Method and device for managing wireless access point | |
CN110659272A (zh) | 数据清洗方法和*** | |
CN111866845B (zh) | 数据传输方法、装置、设备及计算机可读存储介质 | |
CN112235376B (zh) | 电动车信息监控方法、装置及电动车管理*** | |
WO2019140644A1 (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 |