CN111885050A - 基于区块链网络的数据存储方法、装置、相关设备及介质 - Google Patents

基于区块链网络的数据存储方法、装置、相关设备及介质 Download PDF

Info

Publication number
CN111885050A
CN111885050A CN202010707943.3A CN202010707943A CN111885050A CN 111885050 A CN111885050 A CN 111885050A CN 202010707943 A CN202010707943 A CN 202010707943A CN 111885050 A CN111885050 A CN 111885050A
Authority
CN
China
Prior art keywords
consensus
block
target transaction
execution environment
trusted execution
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
Application number
CN202010707943.3A
Other languages
English (en)
Other versions
CN111885050B (zh
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010707943.3A priority Critical patent/CN111885050B/zh
Publication of CN111885050A publication Critical patent/CN111885050A/zh
Application granted granted Critical
Publication of CN111885050B publication Critical patent/CN111885050B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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 digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • H04L2209/463Electronic voting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

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)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明实施例公开了一种基于区块链网络的数据存储方法、装置、相关设备及介质;其中方法包括:第一共识节点响应区块提议的触发事件,在可信执行环境中调用已通过共识的目标交易选取程序从内存池中选取目标交易数据;在可信执行环境中对目标交易数据进行签名,得到签名信息;并根据签名信息和目标交易数据生成提议区块;将提议区块广播至区块链网络中的第二共识节点,使第二共识节点根据签名信息对提议区块进行共识投票;若根据第二共识节点的区块投票结果确定提议区块通过共识,则将提议区块中的目标交易数据添加至区块链网络中的区块链上。本发明实施例可以提升交易数据选取的公平性和可靠性,进而提升区块链网络的整体共识性能。

Description

基于区块链网络的数据存储方法、装置、相关设备及介质
技术领域
本申请涉及互联网技术领域,具体涉及计算机技术领域,尤其涉及一种基于区块链网络的数据存储方法、一种基于区块链网络的数据存储装置、一种计算机设备及一种计算机存储介质。
背景技术
随着互联网技术的发展,区块链网络凭借其数据不可篡改的性能受到了广泛认可。越来越多企业或个人选择将自己的交易数据发送给共识节点,并请求共识节点将自己的交易数据存储至区块链网络的区块链中,以避免自己的交易数据被恶意篡改。可见,共识节点通常会接收到大量企业或个人所发送的交易数据;即共识节点内部通常会缓存大量的交易数据。在此情况下,共识节点每次在执行出块操作(即选取交易数据并生成交易区块的操作)时,需从已缓存的大量交易数据中选取一部分交易数据;然后将被选取的交易数据打包成交易区块,并将该交易区块添加至区块链,从而实现将交易数据的存储。基于此,如何保证交易数据选取的公平性和可靠性便成为了研究热点。
发明内容
本发明实施例提供了一种基于区块链网络的数据存储方法、装置、相关设备及介质,可以提升交易数据选取的公平性和可靠性,进而提升区块链网络的整体共识性能。
一方面,本发明实施例提供了一种基于区块链网络的数据存储方法,所述方法由所述区块链网络中的第一共识节点执行,所述第一共识节点包括已通过共识的可信执行环境,所述可信执行环境是指位于所述第一共识节点中,且与所述第一共识节点的操作系统相互隔离的安全区域;所述方法包括:
响应区块提议的触发事件,在所述可信执行环境中调用已通过共识的目标交易选取程序从内存池中选取目标交易数据;
在所述可信执行环境中对所述目标交易数据进行签名,得到签名信息;并根据所述签名信息和所述目标交易数据生成提议区块;
将所述提议区块广播至所述区块链网络中的第二共识节点,使所述第二共识节点根据所述签名信息对所述提议区块进行共识投票;
若根据所述第二共识节点的区块投票结果确定所述提议区块通过共识,则将所述提议区块中的所述目标交易数据添加至所述区块链网络中的区块链上。
一方面,本发明实施例提供了一种基于区块链网络的数据存储方法,所述区块链网络至少包括第一共识节点和第二共识节点,所述第一共识节点包括已通过共识的可信执行环境,所述可信执行环境是指位于所述第一共识节点中,且与所述第一共识节点的操作系统相互隔离的安全区域;所述方法由所述第二共识节点执行,所述方法包括:
接收所述第一共识节点广播的提议区块,所述提议区块是在可行执行环境中对目标交易数据进行签名得到签名信息后,根据所述签名信息和所述目标交易数据生成的;所述目标交易数据是由所述第一共识节点在所述可信执行环境中调用已通过共识的目标交易选取程序从内存池中选取的;
根据所述签名信息对所述提议区块进行共识投票;
向所述第一共识节点返回区块投票结果,使得所述第一共识节点在根据所述区块投票结果确定所述提议区块通过共识后,将提议区块中的所述目标交易数据添加至所述区块链网络中的区块链上。
一方面,本发明实施例提供了一种基于区块链网络的数据存储装置;所述装置运行于所述区块链网络中的第一共识节点中;所述第一共识节点包括已通过共识的可信执行环境,所述可信执行环境是指位于所述第一共识节点中,且与所述第一共识节点的操作系统相互隔离的安全区域;所述装置包括:
处理单元,用于响应区块提议的触发事件,在所述可信执行环境中调用已通过共识的目标交易选取程序从内存池中选取目标交易数据;
所述处理单元,还用于在所述可信执行环境中对所述目标交易数据进行签名,得到签名信息;并根据所述签名信息和所述目标交易数据生成提议区块;
广播单元,用于将所述提议区块广播至所述区块链网络中的第二共识节点,使所述第二共识节点根据所述签名信息对所述提议区块进行共识投票;
所述处理单元,还用于若根据所述第二共识节点的区块投票结果确定所述提议区块通过共识,则将所述提议区块中的所述目标交易数据添加至所述区块链网络中的区块链上。
一方面,本发明实施例提供了一种基于区块链网络的数据存储装置;所述区块链网络至少包括第一共识节点和第二共识节点,所述第一共识节点包括已通过共识的可信执行环境,所述可信执行环境是指位于所述第一共识节点中,且与所述第一共识节点的操作系统相互隔离的安全区域;所述装置运行于所述第二共识节点中,所述装置包括:
接收单元,用于接收所述第一共识节点广播的提议区块,所述提议区块是在可行执行环境中对目标交易数据进行签名得到签名信息后,根据所述签名信息和所述目标交易数据生成的;所述目标交易数据是由所述第一共识节点在所述可信执行环境中调用已通过共识的目标交易选取程序从内存池中选取的;
共识单元,用于根据所述签名信息对所述提议区块进行共识投票;
发送单元,用于向所述第一共识节点返回区块投票结果,使得所述第一共识节点在根据所述区块投票结果确定所述提议区块通过共识后,将提议区块中的所述目标交易数据添加至所述区块链网络中的区块链上。
再一方面,本发明实施例提供了一种计算机设备,所述计算机设备可以是上述所提及的第一共识节点,或者是上述所提及的第二共识节点;所述计算机设备包括输入接口和输出接口,所述计算机设备还包括:
处理器,适于实现一条或多条指令;以及,计算机存储介质;
若所述计算机设备为上述所提及的第一共识节点,则所述计算机存储介质存储有一条或多条第一指令,所述一条或多条第一指令适于由所述处理器加载并执行如下步骤:
响应区块提议的触发事件,在所述可信执行环境中调用已通过共识的目标交易选取程序从内存池中选取目标交易数据;
在所述可信执行环境中对所述目标交易数据进行签名,得到签名信息;并根据所述签名信息和所述目标交易数据生成提议区块;
将所述提议区块广播至所述区块链网络中的第二共识节点,使所述第二共识节点根据所述签名信息对所述提议区块进行共识投票;
若根据所述第二共识节点的区块投票结果确定所述提议区块通过共识,则将所述提议区块中的所述目标交易数据添加至所述区块链网络中的区块链上。
若所述计算机设备为上述所提及的第二共识节点,则所述计算机存储介质存储有一条或多条第二指令,所述一条或多条第二指令适于由所述处理器加载并执行如下步骤:
接收所述第一共识节点广播的提议区块,所述提议区块是在可行执行环境中对目标交易数据进行签名得到签名信息后,根据所述签名信息和所述目标交易数据生成的;所述目标交易数据是由所述第一共识节点在所述可信执行环境中调用已通过共识的目标交易选取程序从内存池中选取的;
根据所述签名信息对所述提议区块进行共识投票;
向所述第一共识节点返回区块投票结果,使得所述第一共识节点在根据所述区块投票结果确定所述提议区块通过共识后,将提议区块中的所述目标交易数据添加至所述区块链网络中的区块链上。
一方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有一条或多条第一指令,所述一条或多条第一指令适于由处理器加载并执行上述第一共识节点侧的基于区块链网络的数据存储方法;或者,所述计算机存储介质存储有一条或多条第二指令,所述一条或多条第二指令适于由处理器加载并执行上述第二共识节点侧的基于区块链网络的数据存储方法。
本发明实施例通过在第一共识节点内部署已通过共识的可信执行环境和目标交易选取程序;使得第一节点在响应区块提议的触发事件时,可通过在可信执行环境中调用已通过共识的目标交易选取程序从内存池中选取目标交易数据,从而有效保证交易数据选取的公平性。并且,由于可信执行环境与第一共识节点的操作系统相互隔离;因此通过在可信执行环境中执行程序调用操作,还可依靠可信执行环境的安全保密机制,防止在程序调用过程中目标交易程序被恶意篡改,从而提升程序调用的可靠性和安全性。在选取目标交易数据后,可在可信执行环境中对目标交易数据进行签名,得到签名信息;该签名信息可用于表明目标交易数据是通过调用目标交易选取程序选取得到的,从而提升目标交易数据的可靠性和可信度。然后,可根据签名信息和目标交易数据生成提议区块;并将提议区块广播至区块链网络中的第二共识节点,使第二共识节点根据签名信息对提议区块进行共识投票。若根据第二共识节点的区块投票结果确定提议区块通过共识,则可将提议区块中的目标交易数据添加至区块链网络中的区块链上;这样可有效提高区块链网络的整体共识性能。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的一种区块链网络的架构示意图;
图1b是本发明实施例提供的一种共识节点的结构示意图;
图2是本发明实施例提供的一种基于区块链网络的数据存储方法的流程示意图;
图3是本发明实施例提供的一种基于区块链网络的数据存储方法的流程示意图;
图4a是本发明实施例提供的一种将目标交易选取程序添加至区块链上的示意图;
图4b是本发明实施例提供的一种根据目标交易选取程序生成程序区块的示意图;
图4c是本发明实施例提供的一种采用目标交易数据生成交易区块的示意图;
图5是本发明实施例提供的一种基于区块链网络的数据存储装置的结构示意图;
图6是本发明实施例提供的一种基于区块链网络的数据存储装置的结构示意图;
图7是本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
区块链是一种分布式数据存储、点对点传输(P2P传输)、共识机制、加密算法等计算机技术的新型应用模式;其本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块。此处的数据块又可称为区块,其本质上是一个用于记录数据信息的数据结构;每一个数据块(区块)中包含了一批次网络交易的信息,用于验证其信息的有效性性(即防伪)和生成下一个区块。基于区块链和点对点网络(P2P网络)所构成的网络可称为区块链网络,区块链网络中进行数据处理的计算机设备可称为节点设备(简称节点)。应理解的是,区块链网络中的任一计算机设备(即节点)可以是终端设备,也可以是服务器。其中,终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机等,对此不作限制;服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器等,对此不作限制。
其中,云计算是一种计算模式;其通过将计算任务分布在大量计算机构成的资源地上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务提供资源的网络可称作“云”,“云”中的资源支持随时获取、按需使用、随时扩展等功能。也就是说,云计算是网格计算(Grid Computing)、分布式计算(Distributed Computing)、并行计算(ParallelComputing)、效用计算(Utility Computing)、网络存储(Network StorageTechnologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。大数据则是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
为了可以更好地实现将交易数据添加至区块链上进行存储,本发明实施例首先提出了一种新型的区块链网络。参见图1a所示,本发明实施例提出的区块链网络可至少包括:多个共识节点11和其他节点12。其中,共识节点11是指区块链网络中可基于共识机制执行共识处理,并可在可信执行环境(Trusted execution environment,TEE)中通过执行可信计算(Trusted Computing,TC)执行数据存储操作的节点。所谓的共识机制是指通过特殊节点(即共识节点)的投票,在很短的时间内完成对交易的验证和确认。所谓的可行执行环境是指位于共识节点11中,且与共识节点11的设备操作系统(System on Chip,Soc)相互隔离的安全区域;此处的设备操作系统可包括以下至少一项:安卓系统、IOS操作系统,等等。所谓的可信计算又可称为可信用计算,是一项由可信计算组(可信计算集群,简称为TCPA)推动和开发的技术。
为便于理解,下面将结合图1b对共识节点11的具体结构进行阐述;参见图1b所示,共识节点11可至少包括:可信执行环境111、其他区域112以及支撑可信节点的硬件113。具体的,可信执行环境111可包括可信应用(Trusted Application,TA)、可信执行环境的API(Application Programming Interface,应用程序接口)接口、可信存储空间以及安全系统。此处的可信存储空间可用于存储至少一个交易选取程序,所谓的交易选取程序是指用于执行交易数据的选取操作的程序代码。在具体应用中,该可信执行环境通过硬件和软件的结合,能够保证敏感数据安全传输、存储和处理,以及保证TA执行的机密性和完整性。其他区域112可包括其他模块、其他API接口、其他存储空间以及设备操作系统;此处的其他存储空间可用于存储内存池,所谓内存池是指用于暂时存放尚未加入到区块链上的交易数据的池子。硬件113则可包括用于通信的视频发射器、中央处理器(CPU,central processingunit)、硬盘等。
其他节点12是指区块链网络中除共识节点11以外的节点,如同步节点、业务节点、SPV(Simplified Payment Verification,简单支付验证)节点,等等。此处的同步节点是指区块链网络中参与区块同步的节点,业务节点是指区块链网络中提供业务处理服务的节点,SPV节点是指区块链网络中只提供存储服务的节点。应理解的是,图1a只是实例性地表示区块链网络的架构;但并不对区块链网络的具体架构进行限定。例如,在其他实施例中,区块链网络也可只包括多个共识节点11,不包括其他节点12。同理,图1b只是实例性地表示第一共识节点11的架构;但并不对第一共识节点11的具体架构进行限定。例如,图1b示出内存池位于其他区域112中的其他存储空间中;但在其他实施例中,内存池也可部署在可信执行环境111中的可信存储空间中,等等。
基于上述的区块链网络,本发明实施例提出了一种数据存储方案。在具体实现中,该数据存储方案的大致原理如下:任一共识节点可预先请求区块链网络中的其他共识节点对该任一共识节点内部所安装的可信执行环境进行共识投票,以及请求其他共识节点对至少一个交易选取程序进行共识投票。若可信执行环境和至少一个交易选取程序均通过共识,则可将至少一个交易选取程序装载至可信执行环境中。当任一共识节点欲选取交易数据添加至区块链中,任一共识节点可在可信执行环境中调用至少一个交易选取程序中的任一交易选取程序来选取交易数据,并在可信执行环境中对被选取的交易数据进行签名。然后,该任一共识节点可请求其他共识节点根据签名信息对被选取的交易数据进行共识;若被选取的交易数据通过共识,则可将被选取的交易数据添加至区块链网络中的区块链上。
由此可见,本发明实施例所提出的数据存储方案可具有如下有益效果:①通过调用已通过共识的交易选取程序执行目标交易数据的选取操作,可有效保证交易数据选取的公平性。②通过在可信执行环境中执行程序调用操作,可依靠可信执行环境的安全保密机制,防止在程序调用过程中目标交易程序被恶意篡改,从而提升程序调用的可靠性和安全性。③通过可信执行环境的签名信息证明被选取的交易数据是通过调用已通过共识的交易选取程序选取得到的,可有效提升被选取的交易数据的可靠性和可信度。
基于上述的描述,本发明实施例提出一种基于区块链网络的数据存储方法。在本发明实施例中,区块链网络可至少包括第一共识节点和第二共识节点;其中,第一共识节点是区块链网络中的任一共识节点,而第二共识节点则是区块链网络中除第一共识节点以外的共识节点。并且,第一共识节点可包括已通过共识的可信执行环境,且可信执行环境中装载有已通过共识的至少一个交易选取程序。请参见图2,该数据存储方法可包括以下步骤S201-S204:
S201,第一共识节点响应区块提议的触发事件,在可信执行环境中调用已通过共识的目标交易选取程序从内存池中选取目标交易数据。
在一种具体实现中,区块链网络中的各共识节点可分别具有一个出块周期(即采用交易数据生成交易区块的周期)。当各自的出块周期到达时,各共识节点便可分别执行出块操作;所谓的出块操作是指共识节点从自身的内存池中选取交易数据,并提议采用该被选取的交易数据生成交易区块的操作。基于此,此具体实现中的第一共识节点也具有一个出块周期;那么区块提议的触发事件可以是:检测到第一共识节点的出块周期到达的事件。再一种具体实现中,区块链网络中的各共识节点可按照预设出块顺序,轮流执行出块操作。那么,在此具体实现中,区块提议的触发事件可以是:检测到第一共识节点的出块顺序到达的事件;即检测到出块顺序位于第一共识节点之前,且与第一共识节点相邻的共识节点已完成出块操作的事件。
第一共识节点若检测到区块提议的触发事件,则可响应该区块提议的触发事件,在可信执行环境中调用已通过共识的目标交易选取程序从内存池中选取目标交易数据。其中,目标交易选取程序是指被装载在第一共识节点的可信执行环境中,且已通过共识的任一交易选取程序。在实际应用中,该目标交易选取程序是基于目标交易选取规则进行代码编写得到的,该目标交易选取规则可根据业务需求设置;例如,该目标交易选取规则可以为:根据各个交易数据在内存池中的存储时间选取目标交易数据;若交易数据的存储时间越长,则该交易数据被优先选取作为目标交易数据的概率越大。又如,该目标交易选取规则可以为:根据各个交易数据所属的交易账户来选取目标交易数据;若交易数据所属的交易账户和历史被选取的交易数据所属的交易账户不同,则该交易数据被优先选取作为目标交易数据的概率越大,等等。
S202,第一共识节点在可信执行环境中对目标交易数据进行签名,得到签名信息;并根据签名信息和目标交易数据生成提议区块。
S203,第一共识节点将提议区块广播至区块链网络中的第二共识节点,使第二共识节点根据签名信息对提议区块进行共识投票。
相应的,第二共识节点可接收第一共识节点广播的提议区块,并执行步骤S204。其中,该提议区块是在可行执行环境中对目标交易数据进行签名得到签名信息后,根据签名信息和目标交易数据生成的;目标交易数据是由第一共识节点在可信执行环境中调用已通过共识的目标交易选取程序从内存池中选取的。
S204,第二共识节点根据签名信息对提议区块进行共识投票。
在具体实施过程中,第二共识节点可获取第一共识节点内所部署的可信执行环境的设备公钥;然后,可采用该设备公钥对提议区块中的签名信息进行签名校验。若签名信息通过签名校验,则生成用于指示支持提议区块通过共识的区块投票结果。若签名信息未通过签名校验,则生成用于指示反对提议区块通过共识的区块投票结果。
S205,第二共识节点向第一共识节点返回区块投票结果,使得第一共识节点在根据区块投票结果确定提议区块通过共识后,将提议区块中的目标交易数据添加至所述区块链网络中的区块链上。
相应的,第一共识节点可接收第二共识节点返回的区块投票结果,并根据该区块投票结果检测提议区块是否通过共识。在具体实现中,第二共识节点的数量可以为一个或多个。那么,当第二共识节点的数量为一个时,第一共识节点接收到的区块投票结果的数量便为1个。在此情况下,若这一个区块投票结果指示:第二共识节点支持提议区块通过共识,则第一共识节点可直接确定提议区块通过共识;若这一个区块投票结果指示:第二共识节点反对提议区块通过共识,则可直接确定提议区块未通过共识。
当第二共识节点的数量为多个时,第一共识节点接收到的区块投票结果的数量便为多个。在此情况下,那么第一共识节点可直接根据多个第二共识节点返回的多个区块投票结果,统计关于该提议区块的提议支持票数和提议反对票数。或者,第一共识节点也可对该提议区块进行共识投票,得到第一共识节点的区块投票结果;然后,根据多个第二共识节点返回的多个区块投票结果以及第一共识节点的区块投票结果,统计关于该提议区块的提议支持票数和提议反对票数。其中,提议支持票数为用于指示支持提议区块通过共识的区块投票结果的数量,提议反对票数为用于支持反对提议区块通过共识的区块投票结果的数量。若统计出的提议支持票数满足提议共识条件,则可确定提议区块通过共识;若统计出的提议支持票数不满足提议共识条件,则可确定提议区块未通过共识。其中,提议共识条件可包括但不限于:提议支持票数大于或等于票数阈值,或者提议支持票数大于提议反对票数,或者提议支持票数和区块链网络中的共识节点的数量之间的比值大于或等于比值阈值,等等。
S206,若根据第二共识节点的区块投票结果确定提议区块通过共识,则第一共识节点将提议区块中的目标交易数据添加至区块链网络中的区块链上。
本发明实施例通过在第一共识节点内部署已通过共识的可信执行环境和目标交易选取程序;使得第一节点在响应区块提议的触发事件时,可通过在可信执行环境中调用已通过共识的目标交易选取程序从内存池中选取目标交易数据,从而有效保证交易数据选取的公平性。并且,由于可信执行环境与第一共识节点的操作系统相互隔离;因此通过在可信执行环境中执行程序调用操作,还可依靠可信执行环境的安全保密机制,防止在程序调用过程中目标交易程序被恶意篡改,从而提升程序调用的可靠性和安全性。在选取目标交易数据后,可在可信执行环境中对目标交易数据进行签名,得到签名信息;该签名信息可用于表明目标交易数据是通过调用目标交易选取程序选取得到的,从而提升目标交易数据的可靠性和可信度。然后,可根据签名信息和目标交易数据生成提议区块;并将提议区块广播至区块链网络中的第二共识节点,使第二共识节点根据签名信息对提议区块进行共识投票。若根据第二共识节点的区块投票结果确定提议区块通过共识,则可将提议区块中的目标交易数据添加至区块链网络中的区块链上;这样可有效提高区块链网络的整体共识性能。
基于上述的描述,本发明实施例还提供一种数据存储方法的流程示意图。在本发明实施例中,区块链网络可至少包括第一共识节点和第二共识节点;其中,第一共识节点是区块链网络中的任一共识节点,而第二共识节点则是区块链网络中除第一共识节点以外的共识节点。请参见图3,该数据存储方法可包括以下步骤S301-S316:
S301,第一共识节点获取可信执行环境的环境信息,并生成携带环境信息的环境共识请求。
S302,第一共识节点将环境共识请求广播至第二共识节点,使第二共识节点根据环境信息对可信执行环境的安全性能进行检测,并根据检测结果对可信执行环境进行共识投票。
相应的,第二共识节点可接收第一共识节点发送的环境共识请求。由前述可知,该环境共识请求携带可信执行环境的环境信息;此处的环境信息可包括但不限于:可信执行环境的设备标识(如设备序列号)、可信执行环境的设备提供方的厂商标识、可信执行环境的设备公钥,等等。因此,第二共识节点在接收到该环境共识请求后,可解析该环境共识请求,得到可信执行环境的环境信息,并执行步骤S303-S304。
S303,第二共识节点根据环境信息对可信执行环境的安全性能进行检测,并根据检测结果对可信执行环境进行共识投票。
在一种实施方式中,若环境信息包括可信执行环境的设备标识,以及可信执行环境的设备提供方的厂商标识;则根据环境信息对可信执行环境的安全性能进行检测的具体实施方式可以是:根据设备标识从厂商标识所指示的厂商服务器处,查询关于可信执行环境的安全性能参数;若安全性能参数大于参数阈值,则可确定可信执行环境通过安全性能的检测;否则,则可确定可信执行环境未通过安全性能的检测。
在一种实施方式中,若环境信息包括可信执行环境的设备标识,则根据环境信息对可信执行环境的安全性能进行检测的具体实施方式可以是:根据设备标识获取可信执行环境的历史防御信息;若该历史防御信息满足防御条件,则可确定可信执行环境通过安全性能的检测;否则,则可确定可信执行环境未通过安全性能的检测。其中,历史防御信息中包括以下至少一项:可信执行环境防御成功的历史次数,以及可信执行环境被攻击的总次数;相应的,防御条件包括以下至少一项:防御成功的历史次数大于第一次数阈值,被攻击的总次数小于第二次数阈值,以及根据防御成功的历史次数和被攻击的总次数计算得到的防御成功率大于成功率阈值。应理解的是,此处的第一次数阈值、第二次数阈值以及成功率阈值均可根据业务需求或者经验值设置。
第二共识节点在根据环境信息对可信执行环境的安全性能进行检测,得到检测结果后;便可根据检测结果对可信执行环境进行共识投票。具体的,若检测结果指示可信执行环境通过安全性能的检测,则可生成用于指示支持可信执行环境通过共识的环境投票结果;若检测结果指示可信执行环境未通过安全性能的检测,则可生成用于指示反对可信执行环境通过共识的环境投票结果。
S304,第二共识节点向第一共识节点返回环境投票结果,使得第一共识节点在根据环境投票结果确定可信执行环境通过共识后,将环境信息和第一共识节点的节点标识关联添加至区块链上。
相应的,第一共识节点可接收第二共识节点返回的环境投票结果;并根据该环境投票结果检测可信执行环境是否通过共识,其具体实施方式与前述实施例所提及的第一共识节点根据区块投票结果检测提议区块是否通过共识的具体实施方式类似,在此不再赘述。
S305,若根据第二共识节点的环境投票结果确定可信执行环境通过共识,则第一共识节点将环境信息和第一共识节点的节点标识关联添加至区块链上。
在具体实施过程中,若根据第二共识节点的环境投票结果确定可信执行环境通过共识,则第一共识节点可采用环境信息和第一共识节点的节点标识生成信息区块,然后将该信息区块添加至区块链上。应理解的是,为保证后续交易数据选取的公平性和可靠性,第一共识节点还需根据业务需求确定一个目标交易选取程序,并通过步骤S306-S310将目标交易选取程序添加至区块链中,如图4a所示。
S306,第一共识节点根据目标交易选取程序生成程序共识请求。
S307,第一共识节点将程序共识请求广播至第二共识节点,使第二共识节点对目标交易选取程序进行共识投票。其中,程序共识请求是根据目标交易选取程序生成的;该程序共识请求可用于指示第一共识节点欲在区块提议时,在可信执行环境中调用目标交易选取程序执行交易选取操作。相应的,第二共识节点可接收第一共识节点广播的程序共识请求,并执行步骤S308-S309。
S308,第二共识节点对目标交易选取程序进行共识投票。
在具体实施过程中,可获取目标交易选取程序所对应的目标交易选取规则,并对该目标交易选取规则进行共识。若目标交易选取规则通过共识,则生成用于指示支持目标交易选取程序通过共识的程序投票结果;若目标交易选取规则未通过共识,则生成用于指示反对目标交易选取程序通过共识的程序投票结果。
可选的,为了保证后续目标交易选取程序的可用性,本发明实施例还可对目标交易选取程序的版本进行约束。基于此,若目标交易选取规则通过共识,则生成用于指示支持所述目标交易选取程序通过共识的程序投票结果的具体实施方式可进一步包括:若目标交易选取规则通过共识,则获取目标交易选取程序的目标版本号。若版本号的生成时间晚于时间阈值,则表明目标交易选取程序的版本是比较新的版本;因此可生成用于指示支持目标交易选取程序通过共识的程序投票结果。否则,则表明目标交易选取程序的版本是旧版本,因此可生成用于指示反对目标交易选取程序通过共识的程序投票结果。
S309,第二共识节点向第一共识节点返回程序投票结果,使得第一共识节点在根据程序投票结果确定目标交易选取程序通过共识后,将目标交易选取程序添加至区块链上,并将目标交易选取程序装载至可信执行环境中。
相应的,第一共识节点可接收第二共识节点返回的程序投票结果;并根据该程序投票结果检测目标交易选取程序是否通过共识,其具体实施方式与前述实施例所提及的第一共识节点根据区块投票结果检测提议区块是否通过共识的具体实施方式类似,在此不再赘述。
S310,若根据第二共识节点的程序投票结果确定目标交易选取程序通过共识,则第一共识节点将目标交易选取程序添加至区块链上,并将目标交易选取程序装载至可信执行环境中。
在具体实施过程中,若根据第二共识节点的程序投票结果确定目标交易选取程序通过共识,则第一共识节点可先根据目标交易选取程序生成程序区块。在一种实施方式中,第一共识节点可直接采用目标交易选取程序生成程序区块。在一种实施方式中,第一共识节点可获取目标交易选取程序的程序信息,采用该程序信息生成程序区块,如图4b所示;此处的程序信息可包括但不限于:目标交易选取程序的目标版本号,目标交易选取程序所对应的目标交易选取规则,等等。在生成程序区块后,可将程序区块添加至区块链上。
需要说明的是,本发明实施例对上述步骤S301-S305和步骤S306-S310的执行顺序不作限定。例如,可先执行步骤S301-S305,再执行步骤S306-S310;或者可先执行步骤S306-S310,再执行步骤S301-S305;又或者可同时执行步骤S301-S305和步骤S306-S310。还需说明的是,若同时执行步骤S301-S305和步骤S306-S310,则第一共识节点可通过一个共识请求来同时请求第二共识节点对可信执行环境和目标交易选取程序进行共识,无需第一共识节点分别发送环境共识请求和程序共识请求,从而节省交互资源。
S311,第一共识节点响应区块提议的触发事件,在可信执行环境中调用已通过共识的目标交易选取程序从内存池中选取目标交易数据。
在具体实施过程中,第一共识节点可响应区块提议的触发事件,在可信执行环境中调用已通过共识的目标交易选取程序获取内存池中的各个交易数据的数据信息。然后,可根据各个交易数据的数据信息确定各个交易数据的优先级。其中,任一交易数据的数据信息可包括:任一交易数据在内存池中的存储时长;则任一交易数据的优先级与任一交易数据在内存池中的存储时长成正相关。或者,任一交易数据的数据信息可包括:任一交易数据所属的交易账户;则任一交易数据的优先级与交易账户下的已被选取的历史交易数据的数据量成负相关。在确定各个交易数据的优先级后,可按照各个交易数据的优先级从高到低的顺序,从内存池中选取目标交易数据。在一种实施方式中,可按照各个交易数据的优先级从高到低的顺序,从内存池中选取优先级最高的交易数据作为目标交易数据。在一种实施方式中,也可按照各个交易数据的优先级从高到低的顺序,从内存池中选取预设数量的交易数据作为目标交易数据。
S312,第一共识节点在可信执行环境中对目标交易数据进行签名,得到签名信息;并根据签名信息和目标交易数据生成提议区块。
S313,第一共识节点将提议区块广播至区块链网络中的第二共识节点。
S314,第二共识节点根据签名信息对提议区块进行共识投票。
由前述可知,区块链中关联存储有第一共识节点中的可信执行环境的环境信息和第一共识节点的节点标识。那么在具体实施过程中,第二共识节点可根据第一共识节点的节点标识,从区块链中获取第一共识节点的环境信息;该环境信息至少包括可信执行环境所对应的设备公钥。然后,可采用设备公钥对提议区块中的签名信息进行签名校验。若签名信息通过签名校验,则生成用于指示支持提议区块通过共识的区块投票结果;若签名信息未通过签名校验,则生成用于指示反对提议区块通过共识的区块投票结果。
S315,第二共识节点向第一共识节点返回区块投票结果。
S316,若根据第二共识节点的区块投票结果确定提议区块通过共识,则第一共识节点将提议区块中的目标交易数据添加至区块链网络中的区块链上。
在一种实施方式中,第一共识节点可直接将该提议区块作为交易区块,并将该交易区块添加至区块链网络中的区块链上。在一种实施方式中,第一共识节点可采用该目标交易数据生成交易区块,然后将该交易区块添加至区块链网络中的区块链上。其中,采用目标交易数据生成交易区块的示意图可一并参见图4c所示,具体过程如下:第一共识节点可先将目标交易数据添加至交易区块的区块主体中。其次,共识节点可采用默克尔树算法(Merkle Tree算法)对区块主体中的目标交易数据进行哈希运算,得到目标交易数据的哈希值。然后,共识节点可采用随机算法生成一个随机值,并采用计算得到的目标交易数据的哈希值、随机数、版本号、父区块哈希值、当前时间戳以及当前难度值组成交易区块的区块头部。并可采用特征值算法(如SHA256算法)对区块头部所包含的内容进行多次哈希运算,得到交易区块的区块头部的哈希值;此处的哈希运算的次数可根据计算难度确定,计算难度越大,哈希运算的次数越多。若交易区块的区块头部的哈希值小于预设阈值,则表明交易区块的区块头部是有效的,此时便可得到有效的交易区块。若交易区块的区块头部的特征值不小于预设阈值,则表明交易区块的区块头部是无效的;此时需要跳转至“采用随机算法生成一个随机值”的步骤,直至生成有效的区块头部以得到有效的交易区块。
本发明实施例通过在第一共识节点内部署已通过共识的可信执行环境和目标交易选取程序;使得第一节点在响应区块提议的触发事件时,可通过在可信执行环境中调用已通过共识的目标交易选取程序从内存池中选取目标交易数据,从而有效保证交易数据选取的公平性。并且,由于可信执行环境与第一共识节点的操作系统相互隔离;因此通过在可信执行环境中执行程序调用操作,还可依靠可信执行环境的安全保密机制,防止在程序调用过程中目标交易程序被恶意篡改,从而提升程序调用的可靠性和安全性。在选取目标交易数据后,可在可信执行环境中对目标交易数据进行签名,得到签名信息;该签名信息可用于表明目标交易数据是通过调用目标交易选取程序选取得到的,从而提升目标交易数据的可靠性和可信度。然后,可根据签名信息和目标交易数据生成提议区块;并将提议区块广播至区块链网络中的第二共识节点,使第二共识节点根据签名信息对提议区块进行共识投票。若根据第二共识节点的区块投票结果确定提议区块通过共识,则可将提议区块中的目标交易数据添加至区块链网络中的区块链上;这样可有效提高区块链网络的整体共识性能。
基于上述基于区块链网络的数据存储方法实施例的描述,本发明实施例还公开了一种基于区块链网络的数据存储装置。其中,所述区块链网络至少包括第一共识节点和第二共识节点,所述第一共识节点包括已通过共识的可信执行环境,所述可信执行环境是指位于所述第一共识节点中,且与所述第一共识节点的操作系统相互隔离的安全区域。所述数据存储装置可以是运行于第一共识节点中的一个计算机程序(包括程序代码),该数据存储装置可以执行图2-图3所示的部分方法步骤。请参见图5,所述数据存储装置可以运行如下单元:
处理单元501,用于响应区块提议的触发事件,在所述可信执行环境中调用已通过共识的目标交易选取程序从内存池中选取目标交易数据;
所述处理单元501,还用于在所述可信执行环境中对所述目标交易数据进行签名,得到签名信息;并根据所述签名信息和所述目标交易数据生成提议区块;
广播单元502,用于将所述提议区块广播至所述区块链网络中的第二共识节点,使所述第二共识节点根据所述签名信息对所述提议区块进行共识投票;
所述处理单元501,还用于若根据所述第二共识节点的区块投票结果确定所述提议区块通过共识,则将所述提议区块中的所述目标交易数据添加至所述区块链网络中的区块链上。
在一种实施方式中,处理单元501在用于响应区块提议的触发事件,在所述可信执行环境中调用已通过共识的目标交易选取程序从内存池中选取目标交易数据时,具体用于:响应区块提议的触发事件,在所述可信执行环境中调用已通过共识的目标交易选取程序获取所述内存池中的各个交易数据的数据信息;根据所述各个交易数据的数据信息确定所述各个交易数据的优先级;按照所述各个交易数据的优先级从高到低的顺序,从所述内存池中选取目标交易数据。
在一种实施方式中,任一交易数据的数据信息包括:所述任一交易数据在所述内存池中的存储时长;则所述任一交易数据的优先级与所述任一交易数据在所述内存池中的存储时长成正相关;或者,所述任一交易数据的数据信息包括:所述任一交易数据所属的交易账户;则所述任一交易数据的优先级与所述交易账户下的已被选取的历史交易数据的数据量成负相关。
在一种实施方式中,处理单元501还可用于:获取所述可信执行环境的环境信息,并生成携带所述环境信息的环境共识请求;广播单元502还可用于:将所述环境共识请求广播至所述第二共识节点,使所述第二共识节点根据所述环境信息对所述可信执行环境的安全性能进行检测,并根据检测结果对所述可信执行环境进行共识投票;处理单元501还可用于:若根据所述第二共识节点的环境投票结果确定所述可信执行环境通过共识,则将所述环境信息和所述第一共识节点的节点标识关联添加至所述区块链上。
在一种实施方式中,处理单元501还可用于:根据目标交易选取程序生成程序共识请求,所述程序共识请求用于指示所述第一共识节点欲在区块提议时,在所述可信执行环境中调用所述目标交易选取程序执行交易选取操作;广播单元502还可用于:将所述程序共识请求广播至所述第二共识节点,使所述第二共识节点对所述目标交易选取程序进行共识投票;处理单元501还可用于:若根据所述第二共识节点的程序投票结果确定所述目标交易选取程序通过共识,则将所述目标交易选取程序添加至所述区块链上,并将所述目标交易选取程序装载至所述可信执行环境中。
根据本发明的一个实施例,图2-图3所示的方法所涉及的部分步骤可以是由图5所示的数据存储装置中的各个单元来执行的。例如,图2中所示的步骤S201-S202以及步骤S206均可由图5中所示的处理单元501来执行,步骤S203可由图5中所示的广播单元502来执行;又如,图3中所示的步骤S301、步骤S305-S306、步骤S310-S312以及步骤S316均可由图5中所示的处理单元501来执行,步骤S302、步骤S307以及步骤S313均可由图5中所示的广播单元502来执行。
根据本发明的另一个实施例,图5所示的数据存储装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,基于数据存储装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本发明的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2-图3中所示的相应方法所涉及的部分步骤的计算机程序(包括程序代码),来构造如图5中所示的数据存储装置设备,以及来实现本发明实施例的数据存储方法的相关步骤。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
本发明实施例通过在第一共识节点内部署已通过共识的可信执行环境和目标交易选取程序;使得第一节点在响应区块提议的触发事件时,可通过在可信执行环境中调用已通过共识的目标交易选取程序从内存池中选取目标交易数据,从而有效保证交易数据选取的公平性。并且,由于可信执行环境与第一共识节点的操作系统相互隔离;因此通过在可信执行环境中执行程序调用操作,还可依靠可信执行环境的安全保密机制,防止在程序调用过程中目标交易程序被恶意篡改,从而提升程序调用的可靠性和安全性。在选取目标交易数据后,可在可信执行环境中对目标交易数据进行签名,得到签名信息;该签名信息可用于表明目标交易数据是通过调用目标交易选取程序选取得到的,从而提升目标交易数据的可靠性和可信度。然后,可根据签名信息和目标交易数据生成提议区块;并将提议区块广播至区块链网络中的第二共识节点,使第二共识节点根据签名信息对提议区块进行共识投票。若根据第二共识节点的区块投票结果确定提议区块通过共识,则可将提议区块中的目标交易数据添加至区块链网络中的区块链上;这样可有效提高区块链网络的整体共识性能。
基于上述基于区块链网络的数据存储方法实施例的描述,本发明实施例还公开了一种基于区块链网络的数据存储装置。其中,所述区块链网络至少包括第一共识节点和第二共识节点,所述第一共识节点包括已通过共识的可信执行环境,所述可信执行环境是指位于所述第一共识节点中,且与所述第一共识节点的操作系统相互隔离的安全区域。所述数据存储装置可以是运行于第二共识节点中的一个计算机程序(包括程序代码),该数据存储装置可以执行图2-图3所示的部分方法步骤。请参见图6,所述数据存储装置可以运行如下单元:
接收单元601,用于接收所述第一共识节点广播的提议区块,所述提议区块是在可行执行环境中对目标交易数据进行签名得到签名信息后,根据所述签名信息和所述目标交易数据生成的;所述目标交易数据是由所述第一共识节点在所述可信执行环境中调用已通过共识的目标交易选取程序从内存池中选取的;
共识单元602,用于根据所述签名信息对所述提议区块进行共识投票;
发送单元603,用于向所述第一共识节点返回区块投票结果,使得所述第一共识节点在根据所述区块投票结果确定所述提议区块通过共识后,将提议区块中的所述目标交易数据添加至所述区块链网络中的区块链上。
在一种实施方式中,所述区块链中关联存储有所述第一共识节点中的可信执行环境的环境信息和所述第一共识节点的节点标识;相应的,共识单元602在用于根据所述签名信息对所述提议区块进行共识投票时,可具体用于:根据所述第一共识节点的节点标识,从所述区块链中获取所述第一共识节点的环境信息;所述环境信息至少包括所述可信执行环境所对应的设备公钥;采用所述设备公钥对所述提议区块中的签名信息进行签名校验;若所述签名信息通过所述签名校验,则生成用于指示支持所述提议区块通过共识的区块投票结果;若所述签名信息未通过所述签名校验,则生成用于指示反对所述提议区块通过共识的区块投票结果。
在一种实施方式中,接收单元601还可用于:接收所述第一共识节点发送的环境共识请求,所述环境共识请求携带所述可信执行环境的环境信息;共识单元602还可用于:根据所述环境信息对所述可信执行环境的安全性能进行检测,并根据检测结果对所述可信执行环境进行共识投票;发送单元603还可用于:向所述第一共识节点返回环境投票结果,使得所述第一共识节点在根据所述环境投票结果确定所述可信执行环境通过共识后,将所述环境信息和所述第一共识节点的节点标识关联添加至所述区块链上。
在一种实施方式中,所述环境信息包括所述可信执行环境的设备标识,以及所述可信执行环境的设备提供方的厂商标识;相应的,共识单元602在用于根据所述环境信息对所述可信执行环境的安全性能进行检测时,可具体用于:根据所述设备标识从所述厂商标识所指示的厂商服务器处,查询关于所述可信执行环境的安全性能参数;若所述安全性能参数大于参数阈值,则确定所述可信执行环境通过安全性能的检测;否则,则确定所述可信执行环境未通过所述安全性能的检测。
在一种实施方式中,所述环境信息包括所述可信执行环境的设备标识;相应的,共识单元602在用于根据所述环境信息对所述可信执行环境的安全性能进行检测时,可具体用于:根据所述设备标识获取所述可信执行环境的历史防御信息;若所述历史防御信息满足防御条件,则确定所述可信执行环境通过安全性能的检测;否则,则确定所述可信执行环境未通过所述安全性能的检测;其中,所述历史防御信息中包括以下至少一项:所述可信执行环境防御成功的历史次数,以及所述可信执行环境被攻击的总次数;所述防御条件包括以下至少一项:所述防御成功的历史次数大于第一次数阈值,所述被攻击的总次数小于第二次数阈值,以及根据所述防御成功的历史次数和所述被攻击的总次数计算得到的防御成功率大于成功率阈值。
在一种实施方式中,接收单元601还可用于:接收所述第一共识节点发送的程序共识请求,所述程序共识请求是根据所述目标交易选取程序生成的;且所述程序共识请求用于指示所述第一共识节点欲在区块提议时,在所述可信执行环境中调用所述目标交易选取程序执行交易选取操作;共识单元602还可用于:对所述目标交易选取程序进行共识投票;发送单元603还可用于:向所述第一共识节点返回程序投票结果,使得所述第一共识节点在根据所述程序投票结果确定所述目标交易选取程序通过共识后,将所述目标交易选取程序添加至所述区块链上,并将所述目标交易选取程序装载至所述可信执行环境中。
在一种实施方式中,共识单元602在用于对所述目标交易选取程序进行共识投票时,可具体用于:获取所述目标交易选取程序所对应的目标交易选取规则,并对所述目标交易选取规则进行共识;若所述目标交易选取规则通过共识,则生成用于指示支持所述目标交易选取程序通过共识的程序投票结果;若所述目标交易选取规则未通过共识,则生成用于指示反对所述目标交易选取程序通过共识的程序投票结果。
在一种实施方式中,共识单元602在用于若所述目标交易选取规则通过共识,则生成用于指示支持所述目标交易选取程序通过共识的程序投票结果时,可具体用于:若所述目标交易选取规则通过共识,则获取所述目标交易选取程序的目标版本号;若所述版本号的生成时间晚于时间阈值,则生成用于指示支持所述目标交易选取程序通过共识的程序投票结果;否则,则生成用于指示反对所述目标交易选取程序通过共识的程序投票结果。
根据本发明的一个实施例,图2-图3所示的方法所涉及的部分步骤可以是由图6所示的数据存储装置中的各个单元来执行的。例如,图2中所示的步骤S204可由图6中所示的共识单元602来执行,步骤S205可由图6中所示的发送单元603来执行;又如,图3中所示的步骤S303、步骤S308以及步骤S314均可由图6中所示的共识单元602来执行,步骤S304、步骤S309以及步骤S315均可由图6中所示的发送单元603来执行。
根据本发明的另一个实施例,图6所示的数据存储装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,基于数据存储装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本发明的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2-图3中所示的相应方法所涉及的部分步骤的计算机程序(包括程序代码),来构造如图6中所示的数据存储装置设备,以及来实现本发明实施例的数据存储方法的相关步骤。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
本发明实施例通过在第一共识节点内部署已通过共识的可信执行环境和目标交易选取程序;使得第一节点在响应区块提议的触发事件时,可通过在可信执行环境中调用已通过共识的目标交易选取程序从内存池中选取目标交易数据,从而有效保证交易数据选取的公平性。并且,由于可信执行环境与第一共识节点的操作系统相互隔离;因此通过在可信执行环境中执行程序调用操作,还可依靠可信执行环境的安全保密机制,防止在程序调用过程中目标交易程序被恶意篡改,从而提升程序调用的可靠性和安全性。在选取目标交易数据后,可在可信执行环境中对目标交易数据进行签名,得到签名信息;该签名信息可用于表明目标交易数据是通过调用目标交易选取程序选取得到的,从而提升目标交易数据的可靠性和可信度。然后,可根据签名信息和目标交易数据生成提议区块;并将提议区块广播至区块链网络中的第二共识节点,使第二共识节点根据签名信息对提议区块进行共识投票。若根据第二共识节点的区块投票结果确定提议区块通过共识,则可将提议区块中的目标交易数据添加至区块链网络中的区块链上;这样可有效提高区块链网络的整体共识性能。
基于上述方法实施例以及装置实施例的描述,本发明实施例还提供一种计算机设备;该计算机设备可以是上述所提及的第一共识节点,也可以是上述所提及的第二共识节点。请参见图7,该计算机设备至少包括处理器701、输入接口702、输出接口703以及计算机存储介质704。其中,计算机设备内的处理器701、输入接口702、输出接口703以及计算机存储介质704可通过总线或其他方式连接。计算机存储介质704可以存储在计算机设备的存储器中,所述计算机存储介质704用于存储计算机程序,所述计算机程序包括程序指令,所述处理器701用于执行所述计算机存储介质704存储的程序指令。处理器701(或称CPU(Central Processing Unit,中央处理器))是计算机设备的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能。
在一个实施例中,若计算机设备为第一共识节点,则本发明实施例所述的处理器701可以用于被第一共识节点控制进行一系列的数据存储处理,包括:响应区块提议的触发事件,在所述可信执行环境中调用已通过共识的目标交易选取程序从内存池中选取目标交易数据;在所述可信执行环境中对所述目标交易数据进行签名,得到签名信息;并根据所述签名信息和所述目标交易数据生成提议区块;将所述提议区块广播至所述区块链网络中的第二共识节点,使所述第二共识节点根据所述签名信息对所述提议区块进行共识投票;若根据所述第二共识节点的区块投票结果确定所述提议区块通过共识,则将所述提议区块中的所述目标交易数据添加至所述区块链网络中的区块链上,等等。
在一个实施例中,若计算机设备为第二共识节点,则本发明实施例所述的处理器701可以用于被第二共识节点控制进行一系列的数据存储处理,包括:接收所述第一共识节点广播的提议区块,所述提议区块是在可行执行环境中对目标交易数据进行签名得到签名信息后,根据所述签名信息和所述目标交易数据生成的;所述目标交易数据是由所述第一共识节点在所述可信执行环境中调用已通过共识的目标交易选取程序从内存池中选取的;根据所述签名信息对所述提议区块进行共识投票;向所述第一共识节点返回区块投票结果,使得所述第一共识节点在根据所述区块投票结果确定所述提议区块通过共识后,将提议区块中的所述目标交易数据添加至所述区块链网络中的区块链上,等等。
本发明实施例还提供了一种计算机存储介质(Memory),该计算机存储介质是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括计算机设备中的内置存储介质,当然也可以包括计算机设备所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了计算机设备的操作系统。并且,在该存储空间中还存放了适于被处理器601加载并执行的一条或多条的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的,其还可以是至少一个位于远离前述处理器的计算机存储介质。
在一个实施例中,若计算机设备为第一共识节点,则该计算机存储介质中可存储有一条或多条第一指令。具体实现中,计算机存储介质中的一条或多第一条指令由处理器701加载并执行如下步骤:
响应区块提议的触发事件,在所述可信执行环境中调用已通过共识的目标交易选取程序从内存池中选取目标交易数据;
在所述可信执行环境中对所述目标交易数据进行签名,得到签名信息;并根据所述签名信息和所述目标交易数据生成提议区块;
将所述提议区块广播至所述区块链网络中的第二共识节点,使所述第二共识节点根据所述签名信息对所述提议区块进行共识投票;
若根据所述第二共识节点的区块投票结果确定所述提议区块通过共识,则将所述提议区块中的所述目标交易数据添加至所述区块链网络中的区块链上。
在一种实施方式中,在响应区块提议的触发事件,在所述可信执行环境中调用已通过共识的目标交易选取程序从内存池中选取目标交易数据时,该一条或多条第一指令由处理器701加载并具体执行:响应区块提议的触发事件,在所述可信执行环境中调用已通过共识的目标交易选取程序获取所述内存池中的各个交易数据的数据信息;根据所述各个交易数据的数据信息确定所述各个交易数据的优先级;按照所述各个交易数据的优先级从高到低的顺序,从所述内存池中选取目标交易数据。
在一种实施方式中,任一交易数据的数据信息包括:所述任一交易数据在所述内存池中的存储时长;则所述任一交易数据的优先级与所述任一交易数据在所述内存池中的存储时长成正相关;或者,所述任一交易数据的数据信息包括:所述任一交易数据所属的交易账户;则所述任一交易数据的优先级与所述交易账户下的已被选取的历史交易数据的数据量成负相关。
在一种实施方式中,该一条或多条第一指令还可由处理器701加载并具体执行:获取所述可信执行环境的环境信息,并生成携带所述环境信息的环境共识请求;将所述环境共识请求广播至所述第二共识节点,使所述第二共识节点根据所述环境信息对所述可信执行环境的安全性能进行检测,并根据检测结果对所述可信执行环境进行共识投票;若根据所述第二共识节点的环境投票结果确定所述可信执行环境通过共识,则将所述环境信息和所述第一共识节点的节点标识关联添加至所述区块链上。
在一种实施方式中,该一条或多条第一指令还可由处理器701加载并具体执行:根据目标交易选取程序生成程序共识请求,所述程序共识请求用于指示所述第一共识节点欲在区块提议时,在所述可信执行环境中调用所述目标交易选取程序执行交易选取操作;将所述程序共识请求广播至所述第二共识节点,使所述第二共识节点对所述目标交易选取程序进行共识投票;若根据所述第二共识节点的程序投票结果确定所述目标交易选取程序通过共识,则将所述目标交易选取程序添加至所述区块链上,并将所述目标交易选取程序装载至所述可信执行环境中。
在一个实施例中,若计算机设备为第二共识节点,则该计算机存储介质中可存储有一条或多条第二指令。具体实现中,计算机存储介质中的一条或多第二条指令由处理器701加载并执行如下步骤:
接收所述第一共识节点广播的提议区块,所述提议区块是在可行执行环境中对目标交易数据进行签名得到签名信息后,根据所述签名信息和所述目标交易数据生成的;所述目标交易数据是由所述第一共识节点在所述可信执行环境中调用已通过共识的目标交易选取程序从内存池中选取的;
根据所述签名信息对所述提议区块进行共识投票;
向所述第一共识节点返回区块投票结果,使得所述第一共识节点在根据所述区块投票结果确定所述提议区块通过共识后,将提议区块中的所述目标交易数据添加至所述区块链网络中的区块链上。
在一种实施方式中,所述区块链中关联存储有所述第一共识节点中的可信执行环境的环境信息和所述第一共识节点的节点标识;相应的,在根据所述签名信息对所述提议区块进行共识投票时,该一条或多条第二指令由处理器701加载并具体执行:根据所述第一共识节点的节点标识,从所述区块链中获取所述第一共识节点的环境信息;所述环境信息至少包括所述可信执行环境所对应的设备公钥;采用所述设备公钥对所述提议区块中的签名信息进行签名校验;若所述签名信息通过所述签名校验,则生成用于指示支持所述提议区块通过共识的区块投票结果;若所述签名信息未通过所述签名校验,则生成用于指示反对所述提议区块通过共识的区块投票结果。
在一种实施方式中,该一条或多条第二指令还可由处理器701加载并具体执行:接收所述第一共识节点发送的环境共识请求,所述环境共识请求携带所述可信执行环境的环境信息;根据所述环境信息对所述可信执行环境的安全性能进行检测,并根据检测结果对所述可信执行环境进行共识投票;向所述第一共识节点返回环境投票结果,使得所述第一共识节点在根据所述环境投票结果确定所述可信执行环境通过共识后,将所述环境信息和所述第一共识节点的节点标识关联添加至所述区块链上。
在一种实施方式中,所述环境信息包括所述可信执行环境的设备标识,以及所述可信执行环境的设备提供方的厂商标识;相应的,在根据所述环境信息对所述可信执行环境的安全性能进行检测时,该一条或多条第二指令由处理器701加载并具体执行:根据所述设备标识从所述厂商标识所指示的厂商服务器处,查询关于所述可信执行环境的安全性能参数;若所述安全性能参数大于参数阈值,则确定所述可信执行环境通过安全性能的检测;否则,则确定所述可信执行环境未通过所述安全性能的检测。
在一种实施方式中,所述环境信息包括所述可信执行环境的设备标识;相应的,在根据所述环境信息对所述可信执行环境的安全性能进行检测时,该一条或多条第二指令由处理器701加载并具体执行:根据所述设备标识获取所述可信执行环境的历史防御信息;若所述历史防御信息满足防御条件,则确定所述可信执行环境通过安全性能的检测;否则,则确定所述可信执行环境未通过所述安全性能的检测;其中,所述历史防御信息中包括以下至少一项:所述可信执行环境防御成功的历史次数,以及所述可信执行环境被攻击的总次数;所述防御条件包括以下至少一项:所述防御成功的历史次数大于第一次数阈值,所述被攻击的总次数小于第二次数阈值,以及根据所述防御成功的历史次数和所述被攻击的总次数计算得到的防御成功率大于成功率阈值。
在一种实施方式中,该一条或多条第二指令还可由处理器701加载并具体执行:接收所述第一共识节点发送的程序共识请求,所述程序共识请求是根据所述目标交易选取程序生成的;且所述程序共识请求用于指示所述第一共识节点欲在区块提议时,在所述可信执行环境中调用所述目标交易选取程序执行交易选取操作;对所述目标交易选取程序进行共识投票;向所述第一共识节点返回程序投票结果,使得所述第一共识节点在根据所述程序投票结果确定所述目标交易选取程序通过共识后,将所述目标交易选取程序添加至所述区块链上,并将所述目标交易选取程序装载至所述可信执行环境中。
在一种实施方式中,在对所述目标交易选取程序进行共识投票时,该一条或多条第二指令由处理器701加载并具体执行:获取所述目标交易选取程序所对应的目标交易选取规则,并对所述目标交易选取规则进行共识;若所述目标交易选取规则通过共识,则生成用于指示支持所述目标交易选取程序通过共识的程序投票结果;若所述目标交易选取规则未通过共识,则生成用于指示反对所述目标交易选取程序通过共识的程序投票结果。
在一种实施方式中,在若所述目标交易选取规则通过共识,则生成用于指示支持所述目标交易选取程序通过共识的程序投票结果时,该一条或多条第二指令由处理器701加载并具体执行:若所述目标交易选取规则通过共识,则获取所述目标交易选取程序的目标版本号;若所述版本号的生成时间晚于时间阈值,则生成用于指示支持所述目标交易选取程序通过共识的程序投票结果;否则,则生成用于指示反对所述目标交易选取程序通过共识的程序投票结果。
本发明实施例通过在第一共识节点内部署已通过共识的可信执行环境和目标交易选取程序;使得第一节点在响应区块提议的触发事件时,可通过在可信执行环境中调用已通过共识的目标交易选取程序从内存池中选取目标交易数据,从而有效保证交易数据选取的公平性。并且,由于可信执行环境与第一共识节点的操作系统相互隔离;因此通过在可信执行环境中执行程序调用操作,还可依靠可信执行环境的安全保密机制,防止在程序调用过程中目标交易程序被恶意篡改,从而提升程序调用的可靠性和安全性。在选取目标交易数据后,可在可信执行环境中对目标交易数据进行签名,得到签名信息;该签名信息可用于表明目标交易数据是通过调用目标交易选取程序选取得到的,从而提升目标交易数据的可靠性和可信度。然后,可根据签名信息和目标交易数据生成提议区块;并将提议区块广播至区块链网络中的第二共识节点,使第二共识节点根据签名信息对提议区块进行共识投票。若根据第二共识节点的区块投票结果确定提议区块通过共识,则可将提议区块中的目标交易数据添加至区块链网络中的区块链上;这样可有效提高区块链网络的整体共识性能。
需要说明的是,根据本申请的一个方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述图2或图3所示的数据存储方法实施例方面的各种可选方式中提供的方法。
并且,应理解的是,以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (15)

1.一种基于区块链网络的数据存储方法,其特征在于,所述方法由所述区块链网络中的第一共识节点执行,所述第一共识节点包括已通过共识的可信执行环境,所述可信执行环境是指位于所述第一共识节点中,且与所述第一共识节点的操作系统相互隔离的安全区域;所述方法包括:
响应区块提议的触发事件,在所述可信执行环境中调用已通过共识的目标交易选取程序从内存池中选取目标交易数据;
在所述可信执行环境中对所述目标交易数据进行签名,得到签名信息;并根据所述签名信息和所述目标交易数据生成提议区块;
将所述提议区块广播至所述区块链网络中的第二共识节点,使所述第二共识节点根据所述签名信息对所述提议区块进行共识投票;
若根据所述第二共识节点的区块投票结果确定所述提议区块通过共识,则将所述提议区块中的所述目标交易数据添加至所述区块链网络中的区块链上。
2.如权利要求1所述的方法,其特征在于,所述响应区块提议的触发事件,在所述可信执行环境中调用已通过共识的目标交易选取程序从内存池中选取目标交易数据,包括:
响应区块提议的触发事件,在所述可信执行环境中调用已通过共识的目标交易选取程序获取所述内存池中的各个交易数据的数据信息;
根据所述各个交易数据的数据信息确定所述各个交易数据的优先级;
按照所述各个交易数据的优先级从高到低的顺序,从所述内存池中选取目标交易数据。
3.如权利要求2所述的方法,其特征在于,任一交易数据的数据信息包括:所述任一交易数据在所述内存池中的存储时长;则所述任一交易数据的优先级与所述任一交易数据在所述内存池中的存储时长成正相关;或者,
所述任一交易数据的数据信息包括:所述任一交易数据所属的交易账户;则所述任一交易数据的优先级与所述交易账户下的已被选取的历史交易数据的数据量成负相关。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述可信执行环境的环境信息,并生成携带所述环境信息的环境共识请求;
将所述环境共识请求广播至所述第二共识节点,使所述第二共识节点根据所述环境信息对所述可信执行环境的安全性能进行检测,并根据检测结果对所述可信执行环境进行共识投票;
若根据所述第二共识节点的环境投票结果确定所述可信执行环境通过共识,则将所述环境信息和所述第一共识节点的节点标识关联添加至所述区块链上。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
根据目标交易选取程序生成程序共识请求,所述程序共识请求用于指示所述第一共识节点欲在区块提议时,在所述可信执行环境中调用所述目标交易选取程序执行交易选取操作;
将所述程序共识请求广播至所述第二共识节点,使所述第二共识节点对所述目标交易选取程序进行共识投票;
若根据所述第二共识节点的程序投票结果确定所述目标交易选取程序通过共识,则将所述目标交易选取程序添加至所述区块链上,并将所述目标交易选取程序装载至所述可信执行环境中。
6.一种基于区块链网络的数据存储方法,其特征在于,所述区块链网络至少包括第一共识节点和第二共识节点,所述第一共识节点包括已通过共识的可信执行环境,所述可信执行环境是指位于所述第一共识节点中,且与所述第一共识节点的操作系统相互隔离的安全区域;所述方法由所述第二共识节点执行,所述方法包括:
接收所述第一共识节点广播的提议区块,所述提议区块是在可行执行环境中对目标交易数据进行签名得到签名信息后,根据所述签名信息和所述目标交易数据生成的;所述目标交易数据是由所述第一共识节点在所述可信执行环境中调用已通过共识的目标交易选取程序从内存池中选取的;
根据所述签名信息对所述提议区块进行共识投票;
向所述第一共识节点返回区块投票结果,使得所述第一共识节点在根据所述区块投票结果确定所述提议区块通过共识后,将提议区块中的所述目标交易数据添加至所述区块链网络中的区块链上。
7.如权利要求6所述的方法,其特征在于,所述区块链中关联存储有所述第一共识节点中的可信执行环境的环境信息和所述第一共识节点的节点标识;所述根据所述签名信息对所述提议区块进行共识投票,包括:
根据所述第一共识节点的节点标识,从所述区块链中获取所述第一共识节点的环境信息;所述环境信息至少包括所述可信执行环境所对应的设备公钥;
采用所述设备公钥对所述提议区块中的签名信息进行签名校验;
若所述签名信息通过所述签名校验,则生成用于指示支持所述提议区块通过共识的区块投票结果;
若所述签名信息未通过所述签名校验,则生成用于指示反对所述提议区块通过共识的区块投票结果。
8.如权利要求6所述的方法,其特征在于,所述方法还包括:
接收所述第一共识节点发送的环境共识请求,所述环境共识请求携带所述可信执行环境的环境信息;
根据所述环境信息对所述可信执行环境的安全性能进行检测,并根据检测结果对所述可信执行环境进行共识投票;
向所述第一共识节点返回环境投票结果,使得所述第一共识节点在根据所述环境投票结果确定所述可信执行环境通过共识后,将所述环境信息和所述第一共识节点的节点标识关联添加至所述区块链上。
9.如权利要求8所述的方法,其特征在于,所述环境信息包括所述可信执行环境的设备标识,以及所述可信执行环境的设备提供方的厂商标识;所述根据所述环境信息对所述可信执行环境的安全性能进行检测,包括:
根据所述设备标识从所述厂商标识所指示的厂商服务器处,查询关于所述可信执行环境的安全性能参数;
若所述安全性能参数大于参数阈值,则确定所述可信执行环境通过安全性能的检测;否则,则确定所述可信执行环境未通过所述安全性能的检测。
10.如权利要求8所述的方法,其特征在于,所述环境信息包括所述可信执行环境的设备标识;所述根据所述环境信息对所述可信执行环境的安全性能进行检测,包括:
根据所述设备标识获取所述可信执行环境的历史防御信息;
若所述历史防御信息满足防御条件,则确定所述可信执行环境通过安全性能的检测;否则,则确定所述可信执行环境未通过所述安全性能的检测;
其中,所述历史防御信息中包括以下至少一项:所述可信执行环境防御成功的历史次数,以及所述可信执行环境被攻击的总次数;所述防御条件包括以下至少一项:所述防御成功的历史次数大于第一次数阈值,所述被攻击的总次数小于第二次数阈值,以及根据所述防御成功的历史次数和所述被攻击的总次数计算得到的防御成功率大于成功率阈值。
11.如权利要求6所述的方法,其特征在于,所述方法还包括:
接收所述第一共识节点发送的程序共识请求,所述程序共识请求是根据所述目标交易选取程序生成的;且所述程序共识请求用于指示所述第一共识节点欲在区块提议时,在所述可信执行环境中调用所述目标交易选取程序执行交易选取操作;
对所述目标交易选取程序进行共识投票;
向所述第一共识节点返回程序投票结果,使得所述第一共识节点在根据所述程序投票结果确定所述目标交易选取程序通过共识后,将所述目标交易选取程序添加至所述区块链上,并将所述目标交易选取程序装载至所述可信执行环境中。
12.如权利要求10所述的方法,其特征在于,所述对所述目标交易选取程序进行共识投票,包括:
获取所述目标交易选取程序所对应的目标交易选取规则,并对所述目标交易选取规则进行共识;
若所述目标交易选取规则通过共识,则生成用于指示支持所述目标交易选取程序通过共识的程序投票结果;
若所述目标交易选取规则未通过共识,则生成用于指示反对所述目标交易选取程序通过共识的程序投票结果。
13.如权利要求12所述的方法,其特征在于,所述若所述目标交易选取规则通过共识,则生成用于指示支持所述目标交易选取程序通过共识的程序投票结果,包括:
若所述目标交易选取规则通过共识,则获取所述目标交易选取程序的目标版本号;
若所述版本号的生成时间晚于时间阈值,则生成用于指示支持所述目标交易选取程序通过共识的程序投票结果;否则,则生成用于指示反对所述目标交易选取程序通过共识的程序投票结果。
14.一种计算机设备,包括输入接口和输出接口,其特征在于,还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条第一指令,所述一条或多条第一指令适于由所述处理器加载并执行如权利要求1-5任一项所述的基于区块链网络的数据存储方法;或者,所述计算机存储介质存储有一条或多条第二指令,所述一条或多条第二指令适于由所述处理器加载并执行如权利要求6-13任一项所述的基于区块链网络的数据存储方法。
15.一种计算机存储介质,其特征在于,所述计算机存储介质存储有一条或多条第一指令,所述一条或多条第一指令适于由处理器加载并执行如权利要求1-5任一项所述的基于区块链网络的数据存储方法;或者,所述计算机存储介质存储有一条或多条第二指令,所述一条或多条第二指令适于由所述处理器加载并执行如权利要求6-13任一项所述的基于区块链网络的数据存储方法。
CN202010707943.3A 2020-07-21 2020-07-21 基于区块链网络的数据存储方法、装置、相关设备及介质 Active CN111885050B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010707943.3A CN111885050B (zh) 2020-07-21 2020-07-21 基于区块链网络的数据存储方法、装置、相关设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010707943.3A CN111885050B (zh) 2020-07-21 2020-07-21 基于区块链网络的数据存储方法、装置、相关设备及介质

Publications (2)

Publication Number Publication Date
CN111885050A true CN111885050A (zh) 2020-11-03
CN111885050B CN111885050B (zh) 2022-01-11

Family

ID=73155856

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010707943.3A Active CN111885050B (zh) 2020-07-21 2020-07-21 基于区块链网络的数据存储方法、装置、相关设备及介质

Country Status (1)

Country Link
CN (1) CN111885050B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112199204A (zh) * 2020-12-04 2021-01-08 支付宝(杭州)信息技术有限公司 一种在区块链中处理交易的方法和装置
CN112487102A (zh) * 2020-12-15 2021-03-12 深圳前海微众银行股份有限公司 区块链数据处理方法、装置及电子设备
CN113570466A (zh) * 2021-09-24 2021-10-29 腾讯科技(深圳)有限公司 一种交易数据处理方法、装置以及可读存储介质
CN113852679A (zh) * 2021-09-16 2021-12-28 安徽中科晶格技术有限公司 基于认证节点器的网络资源优化方法、装置、设备及存储介质
CN113873004A (zh) * 2021-08-16 2021-12-31 中国人民银行数字货币研究所 一种任务执行方法和装置以及分布式计算系统
WO2024040174A1 (en) * 2022-08-19 2024-02-22 Jpmorgan Chase Bank, N.A. Systems and methods for deterministic ordering and enforcing intra-block fairness in distributed ledger implementations

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016008076A1 (zh) * 2014-07-14 2016-01-21 美国北卡罗来纳康普公司 用于线缆通道中的转接器以及线缆分配系统
CN106296359A (zh) * 2016-08-13 2017-01-04 深圳市樊溪电子有限公司 基于区块链技术的可信电力网络交易平台
CN106920167A (zh) * 2017-02-24 2017-07-04 北京航空航天大学 一种基于p2p金融的区块链机制与共识算法
EP3382616A1 (de) * 2017-03-31 2018-10-03 Siemens Aktiengesellschaft Verfahren und vorrichtung zum rechnergestützten bereitstellen eines sicherheitsgeschützten digitalen zwillings
CN108833398A (zh) * 2018-06-08 2018-11-16 浙江超脑时空科技有限公司 一种区块链智能合约更新方法、装置及设备
CN109964446A (zh) * 2018-06-08 2019-07-02 北京大学深圳研究生院 一种基于投票的共识方法
CN110247774A (zh) * 2019-06-28 2019-09-17 深圳市网心科技有限公司 一种区块链数据的共识方法及相关设备
CN111095899A (zh) * 2019-04-26 2020-05-01 阿里巴巴集团控股有限公司 针对可信执行环境的分布式密钥管理
CN111277409A (zh) * 2020-01-17 2020-06-12 杭州龙纪科技有限公司 一种区块链节点共识防作弊的方法
CN111383021A (zh) * 2020-05-29 2020-07-07 腾讯科技(深圳)有限公司 基于区块链网络的节点管理方法、装置、设备及介质
CN111406252A (zh) * 2019-11-06 2020-07-10 支付宝(杭州)信息技术有限公司 基于纠错码的共享区块链数据存储的共识
CN111433798A (zh) * 2020-02-03 2020-07-17 支付宝(杭州)信息技术有限公司 基于区块链的可信保函
CN111431707A (zh) * 2020-03-19 2020-07-17 腾讯科技(深圳)有限公司 业务数据信息处理方法、装置、设备以及可读存储介质

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016008076A1 (zh) * 2014-07-14 2016-01-21 美国北卡罗来纳康普公司 用于线缆通道中的转接器以及线缆分配系统
CN106296359A (zh) * 2016-08-13 2017-01-04 深圳市樊溪电子有限公司 基于区块链技术的可信电力网络交易平台
CN106920167A (zh) * 2017-02-24 2017-07-04 北京航空航天大学 一种基于p2p金融的区块链机制与共识算法
EP3382616A1 (de) * 2017-03-31 2018-10-03 Siemens Aktiengesellschaft Verfahren und vorrichtung zum rechnergestützten bereitstellen eines sicherheitsgeschützten digitalen zwillings
CN108833398A (zh) * 2018-06-08 2018-11-16 浙江超脑时空科技有限公司 一种区块链智能合约更新方法、装置及设备
CN109964446A (zh) * 2018-06-08 2019-07-02 北京大学深圳研究生院 一种基于投票的共识方法
CN111095899A (zh) * 2019-04-26 2020-05-01 阿里巴巴集团控股有限公司 针对可信执行环境的分布式密钥管理
CN110247774A (zh) * 2019-06-28 2019-09-17 深圳市网心科技有限公司 一种区块链数据的共识方法及相关设备
CN111406252A (zh) * 2019-11-06 2020-07-10 支付宝(杭州)信息技术有限公司 基于纠错码的共享区块链数据存储的共识
CN111277409A (zh) * 2020-01-17 2020-06-12 杭州龙纪科技有限公司 一种区块链节点共识防作弊的方法
CN111433798A (zh) * 2020-02-03 2020-07-17 支付宝(杭州)信息技术有限公司 基于区块链的可信保函
CN111431707A (zh) * 2020-03-19 2020-07-17 腾讯科技(深圳)有限公司 业务数据信息处理方法、装置、设备以及可读存储介质
CN111383021A (zh) * 2020-05-29 2020-07-07 腾讯科技(深圳)有限公司 基于区块链网络的节点管理方法、装置、设备及介质

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112199204A (zh) * 2020-12-04 2021-01-08 支付宝(杭州)信息技术有限公司 一种在区块链中处理交易的方法和装置
CN112487102A (zh) * 2020-12-15 2021-03-12 深圳前海微众银行股份有限公司 区块链数据处理方法、装置及电子设备
CN112487102B (zh) * 2020-12-15 2024-03-19 深圳前海微众银行股份有限公司 区块链数据处理方法、装置及电子设备
CN113873004A (zh) * 2021-08-16 2021-12-31 中国人民银行数字货币研究所 一种任务执行方法和装置以及分布式计算系统
CN113873004B (zh) * 2021-08-16 2024-03-26 中国人民银行数字货币研究所 一种任务执行方法和装置以及分布式计算系统
CN113852679A (zh) * 2021-09-16 2021-12-28 安徽中科晶格技术有限公司 基于认证节点器的网络资源优化方法、装置、设备及存储介质
CN113852679B (zh) * 2021-09-16 2024-01-26 安徽中科晶格技术有限公司 基于认证节点器的网络资源优化方法、装置、设备及存储介质
CN113570466A (zh) * 2021-09-24 2021-10-29 腾讯科技(深圳)有限公司 一种交易数据处理方法、装置以及可读存储介质
CN113570466B (zh) * 2021-09-24 2021-11-30 腾讯科技(深圳)有限公司 一种交易数据处理方法、装置以及可读存储介质
WO2024040174A1 (en) * 2022-08-19 2024-02-22 Jpmorgan Chase Bank, N.A. Systems and methods for deterministic ordering and enforcing intra-block fairness in distributed ledger implementations

Also Published As

Publication number Publication date
CN111885050B (zh) 2022-01-11

Similar Documents

Publication Publication Date Title
CN111885050B (zh) 基于区块链网络的数据存储方法、装置、相关设备及介质
CN111523890B (zh) 基于区块链的数据处理方法、装置、存储介质及设备
CN111383021B (zh) 基于区块链网络的节点管理方法、装置、设备及介质
EP3178011B1 (en) Method and system for facilitating terminal identifiers
CN110730225A (zh) 基于区块链的物联网的数据处理方法、物联网及存储介质
CN113570466B (zh) 一种交易数据处理方法、装置以及可读存储介质
CN111698315B (zh) 针对区块的数据处理方法、数据处理装置及计算机设备
CN111597567B (zh) 数据处理方法、装置、节点设备及存储介质
CN110597918A (zh) 一种账户管理方法、装置及计算机可读存储介质
CN110222535B (zh) 区块链配置文件的处理装置、方法及存储介质
RU2734027C2 (ru) Способ и устройство для предотвращения атаки на сервер
CN111367923A (zh) 数据处理方法、装置、节点设备及存储介质
CN111597537B (zh) 基于区块链网络的证书签发方法、相关设备及介质
CN112200680B (zh) 区块链节点管理方法、装置、计算机以及可读存储介质
CN112651044B (zh) 基于区块链技术的业务交易方法、系统及存储介质
CN113409047A (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
CN111680282B (zh) 基于区块链网络的节点管理方法、装置、设备及介质
CN116070191A (zh) 信息处理方法及其装置、存储介质、程序产品
CN111369246B (zh) 智能合约的调用鉴权方法、装置、电子设备及存储介质
CN110597557B (zh) 一种系统信息获取方法、终端及介质
CN109120714B (zh) 安防数据恢复方法及系统,节点服务器
CN117808467B (zh) 基于区块链网络的跨分片交易方法和装置、设备和介质
CN118214575A (zh) 基于区块链架构的资源凭证处理方法及相关设备
CN117097478A (zh) 基于区块链的数据处理方法、装置及相关设备
CN115567262A (zh) 基于eID的手机银行在线密码找回方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40030779

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant