CN114386096A - 去中心化的交易数据存储方法、装置、设备及存储介质 - Google Patents
去中心化的交易数据存储方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114386096A CN114386096A CN202111643217.0A CN202111643217A CN114386096A CN 114386096 A CN114386096 A CN 114386096A CN 202111643217 A CN202111643217 A CN 202111643217A CN 114386096 A CN114386096 A CN 114386096A
- Authority
- CN
- China
- Prior art keywords
- data
- node
- stored
- transaction
- decentralized
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Accounting & Taxation (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Finance (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及数据存储技术领域,具体是涉及去中心化的交易数据存储方法、装置、设备及存储介质。本发明存储的数据为多方交易中所涉及到的数据,具体存储过程是将交易中所涉及到的数据同时存储到各个参与方所对应的节点上,而且在存储数据之前所有的参与方都会对即将要存储数据在业务层面的合法性进行验证,只有验证通过的数据才能进行存储,而数据具体存储过程也需要由业务层事先指定的节点发起并通过其他节点的验证,从而保证了数据的一致性和安全性。交易数据通过哈希运算被存储在累加器结构中,从而保证数据的不可篡改。本发明是将数据同步存储在各个参与方所对应的节点上,使得数据存储无需依赖于第三平台,从而实现数据产权和数据隐私的保护。
Description
技术领域
本发明涉及数据存储技术领域,具体是涉及去中心化的交易数据存储方法、装置、设备及存储介质。
背景技术
互联网平台的兴起,极大的降低了人与人之间的交易成本,并促成了电商、打车、外卖等行业的繁荣。未来,随着交易成本的进一步下降,互联网业务将逐步从当前的双方交易扩展到多方交易。多方交易的一个典型实例是虚拟企业,即面对市场需求,临时聚合成立多方协作共同体,其本质是多个对等的参与方之间建立的一种临时性的、去中心化的、基于契约的交易关系。
与现有的双方交易类似,多方交易也可以通过互联网平台促成。同时,这往往意味着多方交易的数据也由平台保存。目前,这种中心化的数据存储方式正受到越来越多的质疑。从数据产权的角度来看,多方交易数据的所有权应属于各个参与方,平台不应该垄断数据并以此获利。从数据隐私的角度看,平台并没有实际参与多方交易业务,让平台保存与其无关的数据,会引发参与方对交易隐私泄露和交易数据滥用的担忧。现有技术因为对多方所涉及到的数据都存储到公共平台上,因容易泄露数据隐私而降低了数据存储的安全性。
综上所述,现有技术降低了数据存储的安全性。
因此,现有技术还有待改进和提高。
发明内容
为解决上述技术问题,本发明提供了去中心化的交易数据存储方法、装置、设备及存储介质,解决了现有技术降低了数据存储安全性的问题。
为实现上述目的,本发明采用了以下技术方案:
第一方面,本发明提供一种去中心化的交易数据存储方法,其中,包括:
获取交易中作为请求参与方请求保存的待存储数据;
依据所述待存储数据,得到第二节点对所述待存储数据的数据验证信息,所述数据验证信息用于表征所述待存储数据是否符合存储要求,所述第一节点与交易中除所述请求参与方之外的参与方所对应;
当所述数据验证信息符合存储要求时,将所述待存储数据分别存储至所述第一节点和第二节点中,用于去中心化存储,所述第一节点与请求参与方所对应。
在一种实现方式中,还包括:
获取请求参与方所对应的请求方签名信息,所述请求方签名信息用于表征请求参与方的身份信息;
依据所述请求方签名信息,得到所述第一节点对所述请求方签名信息的签名验证信息。
在一种实现方式中,所述当所述数据验证信息符合存储要求时,将所述待存储数据分别存储至所述第一节点和第二节点中,用于去中心化存储,所述第一节点与请求参与方所对应,包括:
当所述数据验证信息符合存储要求且所述签名验证信息为验证通过,将所述待存储数据分别存储至所述第一节点和第二节点中。
在一种实现方式中,所述当所述数据验证信息符合存储要求且所述签名验证信息为验证通过,将所述待存储数据分别存储至所述第一节点和第二节点中,包括:
当所述数据验证信息符合存储要求且所述签名验证信息为验证通过之后,获取各个所述第一节点所对应的签名信息;
依据各个所述第一节点所对应的签名信息,当得到签名信息验证通过时,得到各个所述第一节点和所述第二节点之间形成业务层共识;
形成业务层共识之后,将所述待存储数据分别存储至所述第一节点和第二节点中。
在一种实现方式中,所述形成业务层共识之后,将所述待存储数据分别存储至所述第一节点和第二节点中,包括:
依据所述第一节点,得到所述第一节点中所包含的指定节点,所述指定节点与交易中指定参与方所对应,所述指定参与方位于交易中除所述请求参与方之外的参与方中;
通过指定节点对待存储数据进行打包,得到打包之后的所述待存储数据;
将打包之后的所述待存储数据分别存储至所述第一节点和第二节点中。
在一种实现方式中,所述通过指定节点对待存储数据进行打包,得到打包之后的所述待存储数据,包括:
依据所述待存储数据,得到所述待存储数据所对应的哈希值;
通过所述指定节点对所述哈希值进行打包,得到打包之后的所述哈希值。
在一种实现方式中,所述将打包之后的所述待存储数据分别存储至所述第一节点和第二节点中,包括:
获取所述指定参与方所对应的指定签名信息,所述指定签名信息用于标准所述指定参与方的身份信息;
当所述第一节点和第二节点对所述指定签名信息验证通过的数量达到设定数目时,将打包之后的所述哈希值分别存储至所述第一节点和第二节点中。
在一种实现方式中,所述当所述第一节点和第二节点对所述指定签名信息验证通过的数量达到设定数目时,将打包之后的所述哈希值分别存储至所述第一节点和第二节点中,包括:
依据所述待存储数据,得到所述待存储数据所对应的当前交易状态;
依据所述当前交易状态,得到与所述当前交易状态所对应的下一时刻交易状态;
通过所述指定节点对所述下一时刻交易状态进行打包,得到打包之后的所述下一时刻交易状态;
将打包之后的所述下一时刻交易状态和打包之后的所述哈希值作为一个整体分别存储至所述第一节点和第二节点中。
在一种实现方式中,还包括:
当所述数据验证信息未符合存储要求时,继续获取交易中作为请求参与方请求保存的待存储后续数据,直至所述待存储后续数据所对应的所述数据验证信息符合存储要求。
在一种实现方式中,还包括:
通过设置计算器,通过所述数据验证信息未符合存储要求所对应的数量。
在一种实现方式中,所述第一节点和所述第一节点位于区块链中。
第二方面,本发明实施例还提供一种去中心化的交易数据存储方法的装置,其中,所述装置包括如下组成部分:
数据获取模块,用于获取交易中作为请求参与方请求保存的待存储数据;
验证模块,用于依据所述待存储数据,得到第二节点对所述待存储数据的数据验证信息,所述数据验证信息用于表征所述待存储数据是否符合存储要求,所述第一节点与交易中除所述请求参与方之外的参与方所对应;
存储模块,用于当所述数据验证信息符合存储要求时,将所述待存储数据分别存储至所述第一节点和第二节点中,用于去中心化存储,所述第一节点与请求参与方所对应。
第三方面,本发明实施例还提供一种终端设备,其中,所述终端设备包括存储器、处理器及存储在所述存储器中并可在所述处理器上运行的去中心化的交易数据存储程序,所述处理器执行所述去中心化的交易数据存储程序时,实现上述所述的去中心化的交易数据存储方法的步骤。
第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有去中心化的交易数据存储程序,所述去中心化的交易数据存储程序被处理器执行时,实现上述所述的去中心化的交易数据存储方法的步骤。
有益效果:本发明将交易中所涉及到的数据同时存储到各个参与方所对应的节点上,而且在存储数据之前,所有的参与方都会对即将要存储数据的合法性进行验证,只有验证通过的数据才能进行存储,从而保证了数据的安全性。本发明是将数据同步存储在各个参与方所对应的节点上,使得数据无需依赖于第三平台,从而实现数据产权和数据隐私的保护。
附图说明
图1为本发明的整体流程图;
图2为本发明实施例中的业务层共识流程图;
图3为本发明实施例中的数据层共识流程图;
图4为本发明实施例中的区块链数据结构;
图5为本发明实施例提供的终端设备的内部结构原理框图。
具体实施方式
以下结合实施例和说明书附图,对本发明中的技术方案进行清楚、完整地描述。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
经研究发现,互联网平台的兴起,极大的降低了人与人之间的交易成本,并促成了电商、打车、外卖等行业的繁荣。未来,随着交易成本的进一步下降,互联网业务将逐步从当前的双方交易扩展到多方交易。多方交易的一个典型实例是虚拟企业,即面对市场需求,临时聚合成立多方协作共同体,其本质是多个对等的参与方之间建立的一种临时性的、去中心化的、基于契约的交易关系。与现有的双方交易类似,多方交易也可以通过互联网平台促成。同时,这往往意味着多方交易的数据也由平台保存。目前,这种中心化的数据存储方式正受到越来越多的质疑。从数据产权的角度来看,多方交易数据的所有权应属于各个参与方,平台不应该垄断数据并以此获利。从数据隐私的角度看,平台并没有实际参与多方交易业务,让平台保存与其无关的数据,会引发参与方对交易隐私泄露和交易数据滥用的担忧。现有技术因为对多方所涉及到的数据都存储到公共平台上,因容易泄露数据隐私而降低了数据存储的安全性。
为解决上述技术问题,本发明提供了去中心化的交易数据存储方法、装置、设备及存储介质,解决了现有技术降低了数据存储安全性的问题。具体实施时,首先交易中所涉及到的各个参与方对待存储的待存储数据进行验证,当所有参与方都对待存储数据验证通过之后,再将待存储数据同步存储在各个参与方所对应的节点上。本发明是将数据同步存储在各个参与方所对应的节点上,使得数据无需依赖于第三平台,从而实现数据产权和数据隐私的保护。
举例说明,装修房子这个交易过程中,交易相当于各个参与方在一起完成一件事的过程,需要涉及到业主、设计师、装修师这三个参与方。业主参与方所对应的用于存储数据的位置为第二节点N,设计师参与方所对应的用于存储数据的位置为第一节点n中的n1,装修师参与方所对应的用于存储数据的位置为第一节点n中的n2。第二节点N、第一节点n中的n1、第一节点n中的n2位于同一个存储结构中。当业主参与方作为请求方请求存储“给设计师参与方转一笔五万元的设计费”这一待存储数据。设计师参与方和装修师参与方都会对待存储数据进行验证,当两者都是验证通过时,才将待存储数据分别存储在第二节点N、第一节点n中的n1、第一节点中的n2中。本实施例中,第二节点N、第一节点中的n1、第一节点2构成了一个只有业主、设计师、装修师能够进行存储数据的数据存储结构,即构成一个独立于第三平台的相对封闭的存储结构,使得数据实现了去中心化。而且由于是第二节点N、第一节点中的n1、第一节点n2同时存储待存储数据,一旦任何一方改动数据,其它两方就能够获知数据被改动了,从而实现对数据存储的监督。
示例性方法
本实施例的去中心化的交易数据存储方法可应用于终端设备中,所述终端设备可为具有存储功能的终端产品,比如手机、电脑等。在本实施例中,如图1中所示,所述去中心化的交易数据存储方法具体包括如下步骤:
S100,获取交易中作为请求参与方请求保存的待存储数据。
本实施例中,交易就是各个参与方共同完成一件事的过程。在完成这件事之前首先要建立一个智能合约,所谓智能合约就是在完成这件事的过程中各个参与方应该做的事情以及每件事情的先后顺序。本实施例对智能合约进行了如下定义:
状态集合S:定义了智能合约(业务)的所有状态。在任意时刻,智能合约只能处在一个特定的状态中。
比如智能合约定义了业主装修房子这个业务,包括业主给设计师付款,付款之后设计师设计图纸,有了图纸之后装修师开始装修房子。装修房子就包括了三个状态,智能合约只能处于其中一个状态。
角色集合R:定义了智能合约(业务)的所有参与角色。在合约执行时,每个角色对应一个具体的参与方节点。
比如业主、设计师、装修师就构成了所有参与角色。
状态转移条件集合T:定义了智能合约(业务)之间的转移条件,是一个从S1×S2到R的任一子集R*的映射,其中,S1代表当前状态,S2代表即将进入的下一个状态,R*代表需要达成共识的参与方。在R*中,需要进一步指定数据的上传者R1和区块的提议者R2。
比如业主给设计师付设计图纸的费用是当前状态,那么设计师收到费用之后设计图纸就是下一个状态。
在上述智能合约的基本属性基础上,可以赋予智能合约业务上的具体含义,即对角色、状态的实际含义,以及应上传的数据内容做出说明。业务上的含义不属于共识协议的范畴。通过将业务上的含义与智能合约本身进行分离,可以将智能合约作为模板,通过赋予不同的业务上的含义,实现智能合约的复用。
S200,依据所述待存储数据,得到第二节点对所述待存储数据的数据验证信息,所述数据验证信息用于表征所述待存储数据是否符合存储要求,所述第一节点与交易中除所述请求参与方之外的参与方所对应。
本实施例中的第二节点可以看做区块链中的一个存储单元,区块链去中心化、不可篡改、公开透明的特性使得它非常适合作为多方交易数据存储的底层技术。数据在参与交易的多方之间共同保存能够极大的加强多方之间的信任,并降低信息不对称带来的交易成本,从而更好的完成协作;参与方无法实现单方面的数据篡改和数据垄断;完成多方交易也无需被迫的信任和依赖特定的第三方平台。
S300,获取请求参与方所对应的请求方签名信息,所述请求方签名信息用于表征请求参与方的身份信息。
S400,依据所述请求方签名信息,得到所述第一节点对所述请求方签名信息的签名验证信息。
本实施例的步骤S200至S400是为了形成业务共识,所谓业务共识就是各个参与方通过了对待存储数据验证(各个参与方都同意存储待存储数据),且各个参与方对上传数据的请求参与方的身份也都验证通过(达到共识)。本实施例中形成共识的具体过程如下:
如图2所示,假设参与方1(即请求参与方,对应第二节点)和参与方2(即除请求参与方之外的其它参与方,对应第一节点)共同参与了同一个智能合约,且当前合约处在状态S1的环节,参与方1代表在S1环节中上传数据的第二节点,参与方2代表在该环节中参与共识的其他任一第一节点。为了达成业务层共识,首先由节点1将待存储数据发送到每个参与共识的第一节点,同时节点1还发送签名信息,并在其中表明想要进入的下一个状态S2。节点2(第一节点中的其中一个节点)在接受到待存储数据和签名消息后,首先由参与方2主观上验证待存储数据是否符合要求(由数据在业务上的具体含义决定),并验证数字签名信息是否合法。如果验证成功,则代表节点2同意对待存储数据进行保存且同意进入S2状态。节点2同意之后再向第一节点中的其它节点发送节点2的签名信息用以告知其它节点自己验证成功,当然节点2也会向节点1发送签名信息,以告知节点1自己验证通过。第一节点中的其它节点也进行和节点2同样的操作,以形成业务共识。
以上验证如果失败,则共识无法达成,节点会发送带有错误码(err_code)的签名消息,并根据错误码返回到当前环节的相应阶段,增加计数器ctr,并重新发送相应的数据和签名信息。当验证未通过时,继续获取交易中作为请求参与方请求保存的数据data′(待存储后续数据),直至所述数据data′(待存储后续数据)所对应的所述数据验证信息符合存储要求。同时还通过计数器ctr同时未通过验证的次数。
举例说明,交易中一共涉及到三个参与方,分别是请求存储数据的请求参与方、参与方甲和参与方乙,参与方甲和参与方乙为除请求参与方之外的其它参与方,请求参与方对应的节点为节点1、参与方甲对应的节点为节点2′、参与方乙对应的节点为节点2″(节点2包含了节点2′和节点2″这两个节点)。节点1将待存储数据及自己的签名信息发送给节点2′和节点2″,节点2′通过了对待存储数据的验证也通过了对节点1的签名信息的验证。节点2′验证通过之后会把验证通过的信息发送给节点1和节点2″,以让这两个节点知道是谁通过了验证。对节点2″进行和节点2′同样的操作。
S500,当所述数据验证信息符合存储要求且所述签名验证信息为验证通过,将所述待存储数据分别存储至所述第一节点和第二节点中。
本实施例各个参与方都对请求参与方请求保存的待存储数据和请求方的签名信息验证通过之后,开始对待存储数据进行存储,存储包括如下步骤S501、S502、S503、S504、S505、S506、S507、S508、S509、S5010:
S501,当所述数据验证信息符合存储要求且所述签名验证信息为验证通过之后,获取各个所述第一节点所对应的签名信息。
S502,依据各个所述第一节点所对应的签名信息,当得到签名信息验证通过时,得到各个所述第一节点和所述第二节点之间形成业务层共识。
将各个第二节点所对应的签名信息在各个第二节点之间进行相互验证,当每一个第二节点都验证通过之后,就形成了业务共识。
S503,依据所述第一节点,得到所述第一节点中所包含的指定节点,所述指定节点与交易中指定参与方所对应,所述指定参与方位于交易中除所述请求参与方之外的参与方中。
本实施例中的指定参与方为智能合约预先确定的参与方。
S504,获取所述指定参与方所对应的指定签名信息,所述指定签名信息用于标准所述指定参与方的身份信息。
步骤S503和S504是对指定参与方的签名信息进行验证。
当所述第一节点和第二节点对所述指定签名信息验证通过的数量达到设定数目时,执行步骤S505-S506。本实施例中,对指定参与方的签名信息进行验证的具体过程如下:
各个节点独立对提议者R2的身份以及区块的合法性进行验证,并进行投票。当投票结果符合预订的数目要求时,则达成数据层共识,每个节点将区块存储在区块链数据结构中。此后,智能合约将进入下一个状态。
S505,依据所述待存储数据,得到所述待存储数据所对应的哈希值。
如图4所示为区块链的整体数据结构图,图4中的每个箭头代表一次哈希(hash)操作。由于上传的待存储数据可以为任意类型数据(例如:图片、视频),因此待存储数据(data)本身并不直接保存在区块链上,而是保存在数据云中。
S506,通过所述指定节点对所述哈希值进行打包,得到打包之后的所述哈希值。
S507,依据所述待存储数据,得到所述待存储数据所对应的当前交易状态。
S508,依据所述当前交易状态,得到与所述当前交易状态所对应的下一时刻交易状态。
S509,通过所述指定节点对所述下一时刻交易状态进行打包,得到打包之后的所述下一时刻交易状态。
S5010,将打包之后的所述下一时刻交易状态和打包之后的所述哈希值作为一个整体分别存储至所述第一节点和第二节点中。
步骤S506-S509是对待存储数据所对应的哈希值以及下一时刻交易状态进行打包,之所以要将待存储数据转换成哈希值,是为了防止随意篡改待存储数据,从而保证待存储数据的安全性。
本实施例中步骤S509打包的具体过程如下:
将待存储数据的哈希(hash)值以及下个状态s作为数据上传者R1(请求参与方)的交易TX的一部分被打包。一同打包的还有其他参与方发送的用于达成业务层共识的交易,与R1的交易相比,这些交易中只需包含签名消息。
如图3所示,假设节点2对应提议者R2(指定参与方),节点2按照特定的数据格式打包区块(block),并发送区块和签名消息到其他节点(以节点1代表,节点1即第二节点,与请求参与方相对应)。
通过上述记载可知,本实施例是对待存储数据所对应的哈希值、请求参与方的签名信息,以及其它参与方对待存储数据的验证结果和其它参与方的签名信息都进行了打包。
本实施例完成打包之后形成区块,形成区块之后,各个参与方需要对区块的合法性进行验证,验证的具体过程如下:
所谓验证区块的合法性,就是验证区块中的内容是否符合上述结构(预定的数据结构),对于未参与业务层共识的节点,还需要验证业务层是否共识,即所有交易中的签名是否合法,签名中的数据和预计进入的下一个状态是否一致。
举例说明,节点2将区块发送给各个参与方所对应的节点,节点1在接收到之后,首先根据签名,验证节点2的成员身份,即节点2是否是智能合约中的提议者R2角色,并进一步验证区块的合法性。对于未参与当前环节业务层共识的节点,例如参与智能合约其他环节的角色,或是单纯的第三方数据冗余备份节点,还需要根据区块中打包的交易数据确认业务层共识是否达成。如果上述验证都通过,则节点1向其他节点发送签名消息进行投票。节点2对所有接收到的投票的合法性和总数量进行验证,如果合法投票达到预先规定的数目,则达成数据层共识,并将区块保存到自身的区块链数据结构中。随后,智能合约进入到下一个状态S2。以上验证如果失败,则共识无法达成,节点会发送带有错误码(err_code)的签名消息,并根据错误码返回到当前环节的相应阶段,增加计数器ctr,并重新发送相应的数据和签名消息。
从上述记载可知,本实施例并没有对打包之后的哈希值、下一时刻交易状态和共识结果直接进行存储,而是先通过各个包括请求方在内的所有参与方对打包形成的区块进行验证,验证通过之后再进行存储。
步骤S5010所涉及的存储的原理如下:
所有的交易在分别经过hash之后,形成区块头(header),区块头与所有交易共同组成该环节产生的区块。将每个区块的区块头再次hash,并将结果保存在累加器(Accumulator)中。累加器是一种通用的高效验证成员存在性的数据结构。因此,累加器以非常精简且无法篡改的方式保存了智能合约从开始到完结过程中的所有产生的区块信息,并且可以快速的对区块内容进行验证。每个智能合约的累加器在生成后,可以再次hash并存放在已完成的智能合约索引(index)中,便于参与方随时快速对该合约的过程进行查找。对于一个保存完整区块链数据的节点,将保存智能合约的所有区块以及累加器。此外,还可以保存在区块链之外的数据,即原始的data以及索引。如果想要节约存储空间,在确保存在完整节点的前提下,节点可以作为轻节点,仅保存累加器,因为累加器是可以证明区块内容。
综上,本发明将交易中所涉及到的数据同时存储到各个参与方所对应的节点上,而且在存储数据之前所有的参与方都会对即将要存储数据的合法性进行验证,只有验证通过的数据才能进行存储,从而保证了数据的安全性。本发明是将数据同步存储在各个参与方所对应的节点上,使得数据无需依赖于第三平台,从而实现数据产权和数据隐私的保护。
另外,本发明让参与多方交易的用户可以无需依赖第三方平台保存数据,从而实现数据产权和数据隐私的保护。而且相较传统“有币”公链和联盟链,通过为每个多方交易创建由参与方组成的局部“微链”,并采用由业务层共识驱动数据层共识的确定性共识机制,能够实现任意类型多方数据的去中心、不可篡改的存储,且能够在保持公链属性的前提下具备非常好的可扩展性,从而实现海量多方交易数据的实时保存。
示例性装置
本实施例还提供一种去中心化的交易数据存储方法的装置,所述装置包括如下组成部分:
数据获取模块,用于获取交易中作为请求参与方请求保存的待存储数据;
验证模块,用于依据所述待存储数据,得到第二节点对所述待存储数据的数据验证信息,所述数据验证信息用于表征所述待存储数据是否符合存储要求,所述第一节点与交易中除所述请求参与方之外的其它参与方所对应;
存储模块,用于当所述数据验证信息符合存储要求时,将所述待存储数据分别存储至所述第一节点和第二节点中,用于去中心化存储,所述第一节点与请求参与方所对应。
基于上述实施例,本发明还提供了一种终端设备,其原理框图可以如图5所示。该终端设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏、温度传感器。其中,该终端设备的处理器用于提供计算和控制能力。该终端设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该终端设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种去中心化的交易数据存储方法。该终端设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该终端设备的温度传感器是预先在终端设备内部设置,用于检测内部设备的运行温度。
本领域技术人员可以理解,图5中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的终端设备的限定,具体的终端设备以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种终端设备,终端设备包括存储器、处理器及存储在存储器中并可在处理器上运行的去中心化的交易数据存储程序,处理器执行去中心化的交易数据存储程序时,实现如下操作指令:
获取交易中作为请求参与方请求保存的待存储数据;
依据所述待存储数据,得到第二节点对所述待存储数据的数据验证信息,所述数据验证信息用于表征所述待存储数据是否符合存储要求,所述第一节点与交易中除所述请求参与方之外的其它参与方所对应;
当所述数据验证信息符合存储要求时,将所述待存储数据分别存储至所述第一节点和第二节点中,用于去中心化存储,所述第一节点与请求参与方所对应。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
综上,本发明公开了去中心化的交易数据存储方法、装置、设备及存储介质,所述方法包括:获取交易中作为请求参与方请求保存的待存储数据;依据所述待存储数据,得到第二节点对所述待存储数据的数据验证信息;当所述数据验证信息符合存储要求时,将所述待存储数据分别存储至所述第一节点和第二节点中,用于去中心化存储,所述第一节点与请求参与方所对应。本发明是将数据同步存储在各个参与方所对应的节点上,使得数据无需依赖于第三平台,从而实现数据产权和数据隐私的保护。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (14)
1.一种去中心化的交易数据存储方法,其特征在于,包括:
获取交易中作为请求参与方请求保存的待存储数据;
依据所述待存储数据,得到第一节点对所述待存储数据的数据验证信息,所述数据验证信息用于表征所述待存储数据是否符合存储要求,所述第一节点与交易中除所述请求参与方之外的参与方所对应;
当所述数据验证信息符合存储要求时,将所述待存储数据分别存储至所述第一节点和第二节点中,用于去中心化存储,所述第二节点与请求参与方所对应。
2.如权利要求1所述的去中心化的交易数据存储方法,其特征在于,还包括:
获取请求参与方所对应的请求方签名信息,所述请求方签名信息用于表征请求参与方的身份信息;
依据所述请求方签名信息,得到所述第一节点对所述请求方签名信息的签名验证信息。
3.如权利要求2所述的去中心化的交易数据存储方法,其特征在于,所述当所述数据验证信息符合存储要求时,将所述待存储数据分别存储至所述第一节点和第二节点中,用于去中心化存储,所述第一节点与请求参与方所对应,包括:
当所述数据验证信息符合存储要求且所述签名验证信息为验证通过,将所述待存储数据分别存储至所述第一节点和第二节点中。
4.如权利要求3所述的去中心化的交易数据存储方法,其特征在于,所述当所述数据验证信息符合存储要求且所述签名验证信息为验证通过,将所述待存储数据分别存储至所述第一节点和第二节点中,包括:
当所述数据验证信息符合存储要求且所述签名验证信息为验证通过之后,获取各个所述第一节点所对应的签名信息;
依据各个所述第一节点所对应的签名信息,当得到签名信息验证通过时,得到各个所述第一节点和所述第二节点之间形成业务层共识;
形成业务层共识之后,将所述待存储数据分别存储至所述第一节点和第二节点中。
5.如权利要求4所述的去中心化的交易数据存储方法,其特征在于,所述形成业务层共识之后,将所述待存储数据分别存储至所述第一节点和第二节点中,包括:
依据所述第一节点,得到所述第一节点中所包含的指定节点,所述指定节点与交易中指定参与方所对应,所述指定参与方位于交易中除所述请求参与方之外的参与方中;
通过所述指定节点对待存储数据进行打包,得到打包之后的所述待存储数据;
将打包之后的所述待存储数据分别存储至所述第一节点和第二节点中。
6.如权利要求5所述的去中心化的交易数据存储方法,其特征在于,所述通过所述指定节点对待存储数据进行打包,得到打包之后的所述待存储数据,包括:
依据所述待存储数据,得到所述待存储数据所对应的哈希值;
通过所述指定节点对所述哈希值进行打包,得到打包之后的所述哈希值。
7.如权利要求6所述的去中心化的交易数据存储方法,其特征在于,所述将打包之后的所述待存储数据分别存储至所述第一节点和第二节点中,包括:
获取所述指定参与方所对应的指定签名信息,所述指定签名信息用于标准所述指定参与方的身份信息;
当所述第一节点和第二节点对所述指定签名信息验证通过的数量达到设定数目时,将打包之后的所述哈希值分别存储至所述第一节点和第二节点中。
8.如权利要求7所述的去中心化的交易数据存储方法,其特征在于,所述当所述第一节点和第二节点对所述指定签名信息验证通过的数量达到设定数目时,将打包之后的所述哈希值分别存储至所述第一节点和第二节点中,包括:
依据所述待存储数据,得到所述待存储数据所对应的当前交易状态;
依据所述当前交易状态,得到与所述当前交易状态所对应的下一时刻交易状态;
通过所述指定节点对所述下一时刻交易状态进行打包,得到打包之后的所述下一时刻交易状态;
将打包之后的所述下一时刻交易状态和打包之后的所述哈希值作为一个整体分别存储至所述第一节点和第二节点中。
9.如权利要求1所述的去中心化的交易数据存储方法,其特征在于,还包括:
当所述数据验证信息未符合存储要求时,继续获取交易中作为请求参与方请求保存的待存储后续数据,直至所述待存储后续数据所对应的所述数据验证信息符合存储要求。
10.如权利要求9所述的去中心化的交易数据存储方法,其特征在于,还包括:
通过设置计算器,通过所述数据验证信息未符合存储要求所对应的数量。
11.如权利要求1-10任一项所述的去中心化的交易数据存储方法,其特征在于,所述第一节点和所述第二节点位于区块链中。
12.一种去中心化的交易数据存储方法的装置,其特征在于,所述装置包括如下组成部分:
数据获取模块,用于获取交易中作为请求参与方请求保存的待存储数据;
验证模块,用于依据所述待存储数据,得到第二节点对所述待存储数据的数据验证信息,所述数据验证信息用于表征所述待存储数据是否符合存储要求,所述第一节点与交易中除所述请求参与方之外的其它参与方所对应;
存储模块,用于当所述数据验证信息符合存储要求时,将所述待存储数据分别存储至所述第一节点和第二节点中,用于去中心化存储,所述第一节点与请求参与方所对应。
13.一种终端设备,其特征在于,所述终端设备包括存储器、处理器及存储在所述存储器中并可在所述处理器上运行的去中心化的交易数据存储程序,所述处理器执行所述去中心化的交易数据存储程序时,实现如权利要求1-10任一项所述的去中心化的交易数据存储方法的步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有去中心化的交易数据存储程序,所述去中心化的交易数据存储程序被处理器执行时,实现如权利要求1-10任一项所述的去中心化的交易数据存储方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111643217.0A CN114386096A (zh) | 2021-12-29 | 2021-12-29 | 去中心化的交易数据存储方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111643217.0A CN114386096A (zh) | 2021-12-29 | 2021-12-29 | 去中心化的交易数据存储方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114386096A true CN114386096A (zh) | 2022-04-22 |
Family
ID=81199653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111643217.0A Pending CN114386096A (zh) | 2021-12-29 | 2021-12-29 | 去中心化的交易数据存储方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114386096A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113407944A (zh) * | 2021-06-03 | 2021-09-17 | 广东辰宜信息科技有限公司 | 智能合约的可信配置方法、装置、计算机设备及存储介质 |
CN115345998A (zh) * | 2022-08-24 | 2022-11-15 | 苏州康柏思信息科技有限公司 | 一种基于互联网的门窗模拟家装平台 |
-
2021
- 2021-12-29 CN CN202111643217.0A patent/CN114386096A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113407944A (zh) * | 2021-06-03 | 2021-09-17 | 广东辰宜信息科技有限公司 | 智能合约的可信配置方法、装置、计算机设备及存储介质 |
CN113407944B (zh) * | 2021-06-03 | 2023-09-26 | 广东辰宜信息科技有限公司 | 智能合约的可信配置方法、装置、计算机设备及存储介质 |
CN115345998A (zh) * | 2022-08-24 | 2022-11-15 | 苏州康柏思信息科技有限公司 | 一种基于互联网的门窗模拟家装平台 |
CN115345998B (zh) * | 2022-08-24 | 2023-08-25 | 苏州康柏思信息科技有限公司 | 一种基于互联网的门窗模拟家装平台 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108848119B (zh) | 跨区块链的交互方法及装置、系统、电子设备 | |
CN112288097A (zh) | 联邦学习数据处理方法、装置、计算机设备及存储介质 | |
CN107896157B (zh) | 黑名单数据交换方法及应用服务器 | |
CN110599181A (zh) | 基于区块链的数据处理方法、装置和设备及存储介质 | |
US20230299984A1 (en) | Blockchain-based data processing method, apparatus and device, and storage medium | |
CN114386096A (zh) | 去中心化的交易数据存储方法、装置、设备及存储介质 | |
WO2019024161A1 (zh) | 基于区块链的数据管理方法、区块链系统、服务器及可读存储介质 | |
CN111177800B (zh) | 基于区块链的数据处理方法及装置、电子设备 | |
CN107979525A (zh) | 一种红包发放方法、设备以及介质 | |
CN110866273B (zh) | 一种基于区块链和星际文件系统的企业间标准共识方法 | |
CN111813864A (zh) | 一种联盟链搭建方法、装置、计算机设备及存储介质 | |
WO2021004058A1 (zh) | 基于区块链的数据处理方法和装置 | |
CN112613877B (zh) | 应用于区块链网络的智能合约触发方法、装置及相关设备 | |
CN109800594A (zh) | 文档访问权限管理方法、装置及计算机设备 | |
CN110597919A (zh) | 基于区块链的数据管理方法、装置、设备及存储介质 | |
CN110457629A (zh) | 权限处理、权限控制方法及装置 | |
CN110599269A (zh) | 票据生成方法、装置、计算机可读存储介质和计算机设备 | |
CN112700251A (zh) | 金融场景下的身份确认方法、装置和系统 | |
CN116991936A (zh) | 基于区块链的权益凭证管理方法、装置、电子设备和介质 | |
CN112269915B (zh) | 业务处理方法、装置、设备及存储介质 | |
WO2020233011A1 (zh) | 基于区块链的app消息共享方法、系统、装置及存储介质 | |
CN116975901A (zh) | 基于区块链的身份验证方法、装置、设备、介质及产品 | |
CN115145976A (zh) | 基于区块链的数据处理方法、装置、计算机设备和介质 | |
CN113987598A (zh) | 区块的迁移方法和装置 | |
US20140372375A1 (en) | Contact data sharing |
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 |