CN114519197A - 一种基于区块链和云服务的数据存储架构和方法 - Google Patents
一种基于区块链和云服务的数据存储架构和方法 Download PDFInfo
- Publication number
- CN114519197A CN114519197A CN202210070331.7A CN202210070331A CN114519197A CN 114519197 A CN114519197 A CN 114519197A CN 202210070331 A CN202210070331 A CN 202210070331A CN 114519197 A CN114519197 A CN 114519197A
- Authority
- CN
- China
- Prior art keywords
- message
- consensus
- node
- data
- block
- 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/602—Providing cryptographic facilities or services
-
- 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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出的一种基于区块链和云服务的数据存储架构和方法,通过在预言机层部署特定的预言机智能合约实现区块链系层与云服务存储层之间的文件数据访问和调用,实现了向云服务存储层中的数据读写存储访问,不仅可以减少区块链层的存储的压力,使得区块链层仅保存文件数据的关键信息,还可以对云服务存储层中的文件数据进行快速检索与数据验证。通过区块链共识层的共识节点接收到来自云服务存储层发送的数据,并由所有参与共识的共识节点发起投票和审核,超过一定数量的投票消息能够合成区块消息,并将区块消息在参与共识的共识节点之间达成共识,可以有效提升数据上链的安全性、可靠性和一致性。
Description
技术领域
本发明涉及数据云存储技术领域,特别是涉及一种基于区块链和云服务的数据存储架构和方法。
背景技术
近年来,信息技术的高速发展使得很多领域需要对巨大规模的数据进行存储和管理,包括科研资料、商业文件以及个人行为产生的数据等。然而,传统的存储介质和存储模式都已经无法满足这种巨大的数据存储需求,这一方面给传统存储技术带来了巨大的压力,另一方面也给存储技术的发展带来了新的机遇。另外,人们对便利、高效以及低成本存储技术的追求也促进了新存储技术的诞生。
在大数据时代背景下,作为云计算概念的延伸和发展,云存储成为了个人、企业以及政府在存储巨大规模数据时的新选择。据调查显示[1],在2015年有超过50%的受访企业选择将云存储平台作为其数据存储的平台,而到了2020年,这一数据已经超过了85%。云存储用户拥有庞大的存储空间、计算资源以及灵活的数据共享模式,可以在云存储平台上创建和访问数据库[2]。这使得用户在很大程度上减少了购买存储设备的成本,节约了在本地进行数据管理的开销。故而,云存储成为了未来存储技术发展的一种新趋势,即在有效控制存储成本的前提下,使用户的存储变得更加高效。
把数据存储到不受信任的第三方服务器上,可能会导致一些数据安全隐患的出现,例如云上数据的创建、修改、共享以及删除等难以追踪,云数据存在数据泄露风险。区块链技术的出现为云数据存储提供了新的思路,区块链技术目前受到各国战略性关注的革命性技术,它是一种集可靠存储、高安全性、不可篡改于一体的新兴技术。其链式结构、加密技术、不可篡改的时间戳特性可以保护已存储数据的完整性,同时确保数据的来源和使用均可追溯。
为了提升云数据存储的安全性与可靠性,许多学者开展了相关的研究工作,国内外学者已有不少相关研究工作,例如:
Holt等人将日志的创建和验证分开,通过使用加密算法,从而提高了数据的安全性。Hasan等人提出了一种低开销以及支持跨平台使用的数据存储方案,该方案收集与数据库连接的所有应用程序中的读写请求,并收集正在添加的新数据和添加该数据的应用程序标识,通过使用加密算法和数字签名算法,从而确保数据的机密性和完整性。Atenises等人通过使用RSA签名算法,从而实现了云服务提供商和可信第三方对数据来源信息的交互验证,进而提高了数据的安全性。Shah等人首先对数据信息进行加密,之后向可信第三方发送数据的哈希值,从而提高了数据来的安全性。Asghar等人提出了一种基于文件加密技术的数据存储方案;首先,该方案确保了数据的完整性,进而确保了云存储平台的可用性;其次,该方案能够支持对数据来源信息的查询;最后,该方案中数据来源信息管理员可以修改数据,却不需要对数据进行重新加密,但该方案的可扩展性不强。Wang等人使用随机掩盖的方法来进行第三方审计,通过使用这种方法确保了可信第三方无法获得有关数据来源信息的内容,避免了在完整性校验过程中出现数据泄露的问题。但是,当可信第三方和云服务提供商之间存在利益纠纷时,就可能会对数据安全和用户隐私造成很大威胁。张键红等人提出了一种基于双线性映射的第三方审计方案,该方案通过增强数据所有者的自主验证能力,进而在一定程度上提高了数据的安全性,但该方案仍需要基于可信的可信第三方。Li等人提出了一个内核级的日志存储方案Progger,该方案可以收集并存储细粒度的数据来源信息。Indrajit等人提出了将日志记录转换并传输到云存储平台中的新方案,相较于传统方案减少了收集和存储数据来源信息的开销。邵必林等人分别从云存储数据的持有性证明、云存储数据的可恢复性证明和云存储数据的所有权证明这三个方面进行了归纳总结,总结了现有云存储数据溯源方案存在的优缺点,并从技术原理、时间消耗、可行性、检测率等方面对现阶段使用的典型方案进行了性能评估。
随着区块链的提出,研究者们开始将区块链运用于云存储平台,从而确保数据的完整性。Liang等人提出可以将区块链运用到云存储平台中,从而实现数据的有效溯源。Ruj等人提出了基于区块链的云存储方案,通过使用区块链来存储日志,从而实现了数据的存证。Sachin等人将区块链运用到数据的存储中,通过使用区块链确保了数据来源信息的不可篡改性。Tosh等人对基于区块链的云存储数据方案中的共识机制进行了进一步的分析和改进。虽然目前已有关于将区块链应用到云存储平台,但仍存在一些不足,如云存储数据安全问题和云存储数据不能实时防篡改检测等。
传统的区块链与云存储结合的存储方法往往采用星际文件系统(IPFS)等文件系统,实现区块链与外部文件的交互。星际文件系统(IPFS)是一种点对点的分布式文件系统(The Inter Planetary File System)。它区别于普通的HTTP协议,IPFS是按照文件的哈希值来查找文件,而不是文件的路径或者URL。但是IPFS文件系统中文件数据往往分块保存在不同节点上,文件索引耗时较高,数据存储成本较高。
传统的区块链与云存储结合的存储方法中,数据向区块链系统保存时,用户通常将数据发送给单一区块链节点,区块链节点存在数据篡改的可能性,且缺乏数据的审核机制。
参考文献:
[1].Ahuja R,Mohanty S K.A scalable attribute-based access controlscheme with flexible delegation cum sharing of access privileges for cloudstorage[J].IEEE Transactions on Cloud Computing,2017,8(1):32-44.
[2].Sridhar T,Vivek V,Shekhar R.Seclogmon:Security in cloud computingusing activity log for consumer data protection[C]//2017 2nd IEEEInternational Conference on Recent Trends in Electronics,Information&Communication Technology(RTEICT).IEEE,2017:1458-1462.
发明内容
基于此,本发明提供一种基于区块链和云服务的数据存储架构和方法,旨在解决传统的区块链与云存储结合的存储方法会将文件数据分块保存在不同节点上,导致文件索引耗时较长,数据存储成本较高;而且区块链共识节点在数据共识时具有较高的权限,存在共识节点数据篡改的可能性,且缺乏数据的审核机制的问题。
为实现上述目的,本发明提出如下技术方案:
本发明实施例提供一种基于区块链和云服务的数据存储架构,包括:
云服务存储层:用于接收、处理并存储用户上传的文件数据;
区块链共识层:用于接收所述云服务存储层传输的文件数据的关键信息,并通过审核和投票决定是否将接收的文件数据的关键信息保存在共识节点上;
预言机层:用于将所述云服务存储层接收的文件数据进行加密,并通过预言机智能合约实现所述区块链共识层与所述云服务存储层之间的文件数据访问和调用。
进一步地,所述文件数据的关键信息包括用户ID、用户IP、文件数据的Hash值和文件数据的URLs信息。
进一步地,所述预言机智能合约为可修改定制的智能合约。
一种基于区块链和云服务的数据存储方法,包括以下步骤:
S1:共识节点从云服务存储层收集来自用户上传的文件数据的关键信息,并将关键信息转换为交易信息,按时间先后顺序排列形成本地交易集合,利用私钥进行门限签名,然后向主节点发送Preparei消息;
S2:主节点验证Preparei消息的正确性,根据本地交易集合求出公共交易集合,然后向共识节点发送Pre-Commitj消息;
S3:共识节点验证Pre-Commitj消息的正确性,并投票决定是否接受Pre-Commitj消息,接受Pre-Commitj消息后进行部分门限签名,然后向主节点发送Commit消息;
S4:主节点验证Commit消息中的部分门限签名的正确性,验证共识节点对公共交易集合的验证通过后,发送Pre-Decidej消息至参与共识的共识节点;
S5:共识节点验证Pre-Decidej消息的正确性,验证通过后执行本地交易集合包含的交易;并更新本地交易集合新生成区块包含的信息。
进一步地,所述步骤S2中主节点验证Preparei消息的正确性的过程包括:
S21:主节点调用共识节点的公钥验证Preparei消息中包含的共识节点的门限签名信息是否正确;
S22:主节点判断本地交易集合新生成区块所在的视图和本地交易集合新生成区块所在的高度是否正确;
S23:若所述步骤S21和所述步骤S22均正确,则主节点验证Preparei消息通过;反之不通过。
进一步地,所述步骤S3中共识节点验证Pre-Commitj消息的正确性,并投票决定是否接受Pre-Commitj消息的过程包括:
S31:共识节点判断公共交易集合中包含的交易信息是否与本地交易集合中的包含的交易信息一致;
S32:共识节点判断Pre-Commitj消息中包含的区块视图是否与本地交易集合新生产区块所在的视图一致、判断Pre-Commitj消息中包含的区块高度是否与本地交易集合新生产区块所在的高度一致;
S33:若所述步骤S31和所述步骤S32均验证通过,则共识节点接受Pre-Commitj消息。
进一步地,所述步骤S4中主节点验证Commit消息中的部分门限签名的正确性的过程包括:
S41:将部分门限签名中包含的公共交易集合进行哈希计算;
S42:将主节点中的公共交易集合进行哈希计算;
S43:比较所述步骤S41中与所述步骤S42中得出的哈希值,两者相同,则主节点验证Commit消息中的部分门限签名通过,反之不通过。
进一步地,所述步骤5中共识节点验证Pre-Decidej消息的正确性的过程包括:
S51:共识节点首先验证主节点的门限签名是否有效;
S52:共识节点验证是否至少有N-f个不同共识节点发送了部分门限签名到主节点;
其中,N表示区块链中所有参与共识的共识节点的数量,f表示故障共识节点的最大数量;
S53:最后验证Pre-Decidej消息中包含的区块视图是否与本地交易集合新生成区块所在的视图一致、Pre-Decidej消息中包含的区块高度是否与本地交易集合新生成区块所在的高度h一致、以及Pre-Decidej中包含的交易形成区块后哈希值是否与本地交易集合TransListi中包含的交易新生成区块后取哈希值一致;
S54:若所述步骤S51、所述步骤S52和所述步骤S53均验证通过,则共识节点验证Pre-Decidej消息通过;反之不通过。
本发明提出的一种基于区块链和云服务的数据存储架构和方法,通过在预言机层部署特定的预言机智能合约实现区块链系层与云服务存储层之间的文件数据访问和调用,实现了向云服务存储层中的数据读写存储访问,不仅可以减少区块链层的存储的压力,使得区块链层仅保存文件数据的关键信息,还可以对云服务存储层中的文件数据进行快速检索与数据验证。同时,所述基于区块链和云服务的数据存储架构和方法还支持可定制智能合约,相比于传统的星际文件系统(IPFS)系统,仅修改合约即可实现对数据上链的功能定制,具有较好的可扩展性。通过区块链共识层的共识节点接收到来自云服务存储层发送的数据,并由所有参与共识的共识节点发起投票和审核,超过一定数量的投票消息能够合成区块消息,并将区块消息在参与共识的共识节点之间达成共识,可以有效提升数据上链的安全性、可靠性和一致性;并且由区块链共识层的共识节点上仅保存了用户ID、用户IP、文件数据Hash值、文件数据的URLs等信息,而没有保存文件数据本身,使得攻击者无法从共识节点上获取文件数据本身,进一步提高了文件数据中包含的数据的安全性和用户的隐私。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本发明实施例所述的基于区块链和云服务的数据存储架构示意图;
图2为本发明实施例所述的基于区块链和云服务的数据存储方法流程图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,若本发明实施例中有涉及方向性指示(诸如上、下、左、右、前、后、顶、底……),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
在本申请中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
需要说明的是,当元件被称为“固定于”或“设置于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。
另外,若本发明实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
传统的区块链与云存储结合的存储方法往往采用IPFS等文件系统,实现区块链与外部文件的交互,IPFS是按照文件的哈希值来查找文件,而不是文件的路径或者URL,但是IPFS文件系统中文件数据往往分块保存在不同节点上,文件索引耗时较长,数据存储成本较高;而且区块链共识节点在数据共识时具有较高的权限,存在共识节点数据篡改的可能性,且缺乏数据的审核机制。为了解决上述技术问题,本发明提出了一种基于区块链和云服务的数据存储架构和方法。
如图1所示,本发明实施例提供一种基于区块链和云服务的数据存储架构,包括:
云服务存储层:用于接收、处理并存储用户上传的文件数据。
具体地,利用腾讯云文件桶对用户上传的文件数据进行处理和存储,并开发了API接口实现将文件数据以块为单位按大小进行划分和上传,腾讯云文件桶可以实现文件数据的云存储和文件数据的访问权限控制,可以减少区块链共识层的文件数据存储量,提升云服务存储层中分布式文件系统的文件数据存储效率。
区块链共识层:用于接收所述云服务存储层传输的文件数据的关键信息,并通过审核和投票决定是否将接收的文件数据的关键信息保存在共识节点上。
具体地,区块链的共识节点Ni(i∈[1,n])通过预言机层接收从云服务存储层发送的含有用户ID、用户IP、文件数据的Hash值、文件数据的URLs信息的关键信息创建到交易中,并通过共识算法将创建的交易进行审核和投票,根据投票的结果决定是否将交易中包含的信息保存在区块链的共识节点Ni(i∈[1,n])上,从而实现对云服务存储层存储的文件数据进行追溯、存证和索引。
由于每个共识节点Ni(i∈[1,n])都包含有完整的交易信息,且相对于云服务存储层存储的文件数据,共识节点Ni(i∈[1,n])上仅保存了文件数据中包含的用户ID、用户IP、文件数据的Hash值、文件数据的URLs等信息,而没有保存文件数据本身,使得攻击者无法从共识节点Ni(i∈[1,n])上获取文件数据本身,从而保护了文件数据中的数据和用户的隐私。
预言机层:用于将所述云服务存储层接收的文件数据进行加密,并通过预言机智能合约实现所述区块链共识层与所述云服务存储层之间的文件数据访问和调用。
具体地,首先使用SHA256算法计算得到文件数据的Hash值,并调用预言机数据接口实现将文件数据向区块链共识层传输;通过部署特定的预言机智能合约实现区块链共识层与云服务存储层之间的文件数据访问调用,当虚拟机发现调用预言机智能合约的目的地址对预言机层的智能合约调用,就认为是区块链共识层与云服务存储层对预言机层进行访问。预言机层包含读功能与写功能,读功能可以读取腾讯文件桶中的数据,写功能可以在腾讯云文件桶中创建文件,并向创建的文件中写数据。
参照图2,在本发明实施例还提出一种基于区块链和云服务的数据存储方法,包括以下具体步骤:
S1:Prepare阶段,不同的共识节点Ni(i∈[1,n])从云服务存储层分别搜集来自用户上传的含有用户ID、用户IP、文件数据的Hash值、文件数据的URLs信息的关键信息,并转换为交易信息Trann,然后将交易信息Trann按照时间先后顺序进行排列,形成本地交易集合TransListi=<Tran1,Tran2,…,Tran3>;接着共识节点Ni(i∈[1,n])发送Preparei消息给主节点Nj(j∈[1,n]),可知,
Preparei=<Sigi(v,h,TransListi),Hash(TransListi)>
其中,v表示本地交易集合TransListi新生成区块所在的视图;h表示本地交易集合TransListi新生成区块所在的高度;Sigi(v,h,TransListi)表示使用共识节点Ni(i∈[1,n])的私钥SKi进行签名;Hash(TransListi)表示对本地交易集合TransListi取哈希值,用于验证交易信息Trann是否被修改。
S2:Pre-Commit阶段,主节点Nj(j∈[1,n])搜集来自各个共识节点Ni(i∈[1,n])发送的Preparei消息,使用各个共识节点Ni(i∈[1,n])的公钥PKi验证Preparei消息签名的正确性;若签名信息、新生成区块所在的视图v与新生成区块所在的高度h均正确,主节点Nj(j∈[1,n])搜集来自共识节点Ni(i∈[1,n])的本地交易集合TransListi中包含的交易,并求出公共交易集合CommomTransListj(j∈[1,n]);然后主节点Nj(j∈[1,n])发送Pre-Commitj(j∈[1,n])消息给参与共识的共识节点Ni(i∈[1,n]),可知
Pre-Commitj=<Sigj(v′,h′,CommomTransListj),Hash(CommomTransListj)>
其中,v′表示主节点Nj(j∈[1,n])提议的区块视图;h′表示主节点Nj(j∈[1,n])提议的区块高度;Hash(CommomTransListj)表示对公共交易集合CommomTransListj(j∈[1,n])取哈希值。
S3:Commit阶段,参与共识的共识节点Ni(i∈[1,n])验证主节点Nj(j∈[1,n])发送的Pre-Commitj消息的有效性,并进行投票是否接受该Pre-Commitj消息。
若公共交易集合CommomTransListj(j∈[1,n])中包含的交易信息与本地交易集合TransListi中的包含的交易信息一致,且Pre-Commitj消息中包含的区块视图v′和区块高度h′满足要求,即满足v′=v和h′=h,验证通过;否则验证不通过。
若验证通过,共识节点Ni(i∈[1,n])向主节点Nj(j∈[1,n])发送Commit消息,其中Commit消息包含共识节点Ni(i∈[1,n])的部分门限签名PartSigi(v,h,Hash(CommomTransListj))。
S4:Pre-Decide阶段,主节点Nj(j∈[1,n])收到来自不同共识节点Ni(i∈[1,n])的Commit消息后,首先验证Commit消息中的部分门限签名PartSigi(v,h,Hash(CommomTransListj))是否正确,以及部分门限签名PartSigi(v,h,Hash(CommomTransListj))中包含的Hash(CommomTransListj)是否与主节点Nj(j∈[1,n])中的公共交易集合CommomTransListj(j∈[1,n])取Hash后的结果一致。
若主节点Nj(j∈[1,n])收到来自N-f个不同共识节点Ni(i∈[1,n])的Commit消息并验证通过后,表示主节点Nj(j∈[1,n])认为有至少N-f个不同共识节点Ni(i∈[1,n])对公共交易集合CommomTransListj(j∈[1,n])验证通过,然后主节点Nj(j∈[1,n])将来自不同共识节点Ni(i∈[1,n])的部分门限签名PartSigi(v,h,Hash(CommomTransListj))合成为Pre-Decidej消息并广播给参与共识的共识节点Ni(i∈[1,n]),可知
Pre-Decidej=<ThresholdSigj(Hash(block),v′,h′)>
其中,Hash(block)表示Pre-Decidej消息中包含的交易新生成区块的Hash值,并由主节点Nj(j∈[1,n])进行门限签名;
N表示区块链中所有参与共识的共识节点的数量,f表示故障共识节点的最大数量。在本申请中,当系统默认参与共识的共识节点最多有f个出现故障时,即主节点Nj(j∈[1,n])收到N-f个消息后,认为大多数没有出现故障的节点对公共交易集合CommomTransListj(j∈[1,n])验证通过。
S5:Decide阶段,参与共识的共识节点Ni(i∈[1,n])收到来自主节点Nj(j∈[1,n])的Pre-Decidej消息后,验证主节点Nj(j∈[1,n])的门限签名是否有效,并验证是否至少有N-f个不同共识节点Ni(i∈[1,n])发送了部分门限签名PartSigi(v,h,hash(CommomTransListj))到主节点Nj(j∈[1,n]),最后验证Pre-Decidej消息中包含的区块视图v′是否与本地交易集合TransListi新生成区块所在的视图v一致、区块高度h′是否与本地交易集合TransListi新生成区块所在的高度h一致、以及Hash(block)的值是否与本地交易集合TransListi中包含的交易生成区块后取Hash值一致。
若验证通过,共识节点Ni(i∈[1,n])将执行本地交易集合TransListi中包含的交易,并更新本地交易集合TransListi新生成区块中包含的交易信息。
本发明提出的一种基于区块链和云服务的数据存储架构和方法,通过在预言机层部署特定的预言机智能合约实现区块链系层与云服务存储层之间的文件数据访问和调用,实现了向云服务存储层中的数据读写存储访问,不仅可以减少区块链层的存储的压力,使得区块链层仅保存文件数据的关键信息,还可以对云服务存储层中的文件数据进行快速检索与数据验证。同时,所述基于区块链和云服务的数据存储架构和方法还支持可定制智能合约,相比于传统的星际文件系统(IPFS)系统,仅修改合约即可实现对数据上链的功能定制,具有较好的可扩展性。通过区块链共识层的共识节点接收到来自云服务存储层发送的数据,并由所有参与共识的共识节点发起投票和审核,超过一定数量的投票消息能够合成区块消息,并将区块消息在参与共识的共识节点之间达成共识,可以有效提升数据上链的安全性、可靠性和一致性;并且由区块链共识层的共识节点上仅保存了用户ID、用户IP、文件数据Hash值、文件数据的URLs等信息,而没有保存文件数据本身,使得攻击者无法从共识节点上获取文件数据本身,进一步提高了文件数据中包含的数据的安全性和用户的隐私。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。
Claims (8)
1.一种基于区块链和云服务的数据存储架构,其特征在于,包括:
云服务存储层:用于接收、处理并存储用户上传的文件数据;
区块链共识层:用于接收所述云服务存储层传输的文件数据的关键信息,并通过审核和投票决定是否将接收的文件数据的关键信息保存在共识节点上;
预言机层:用于将所述云服务存储层接收的文件数据进行加密,并通过预言机智能合约实现所述区块链共识层与所述云服务存储层之间的文件数据访问和调用。
2.根据权利要求1所述的基于区块链和云服务的数据存储架构,其特征在于,所述文件数据的关键信息包括用户ID、用户IP、文件数据的Hash值和文件数据的URLs信息。
3.根据权利要求1所述的基于区块链和云服务的数据存储架构,其特征在于,所述预言机智能合约为可修改定制的智能合约。
4.一种基于区块链和云服务的数据存储方法,其特征在于,包括以下步骤:
S1:共识节点从云服务存储层收集来自用户上传的文件数据的关键信息,并将关键信息转换为交易信息,按时间先后顺序排列形成本地交易集合,利用私钥进行门限签名,然后向主节点发送Preparei消息;
S2:主节点验证Preparei消息的正确性,根据本地交易集合求出公共交易集合,然后向共识节点发送Pre-Commitj消息;
S3:共识节点验证Pre-Commitj消息的正确性,并投票决定是否接受Pre-Commitj消息,接受Pre-Commitj消息后进行部分门限签名,然后向主节点发送Commit消息;
S4:主节点验证Commit消息中的部分门限签名的正确性,验证共识节点对公共交易集合的验证通过后,发送Pre-Decidej消息至参与共识的共识节点;
S5:共识节点验证Pre-Decidej消息的正确性,验证通过后执行本地交易集合包含的交易;并更新本地交易集合新生成区块包含的信息。
5.根据权利要求4所述的基于区块链和云服务的数据存储方法,其特征在于,所述步骤S2中主节点验证Preparei消息的正确性的过程包括:
S21:主节点调用共识节点的公钥验证Preparei消息中包含的共识节点的门限签名信息是否正确;
S22:主节点判断本地交易集合新生成区块所在的视图和本地交易集合新生成区块所在的高度是否正确;
S23:若所述步骤S21和所述步骤S22均正确,则主节点验证Preparei消息通过;反之不通过。
6.根据权利要求4所述的基于区块链和云服务的数据存储方法,其特征在于,所述步骤S3中共识节点验证Pre-Commitj消息的正确性,并投票决定是否接受Pre-Commitj消息的过程包括:
S31:共识节点判断公共交易集合中包含的交易信息是否与本地交易集合中的包含的交易信息一致;
S32:共识节点判断Pre-Commitj消息中包含的区块视图是否与本地交易集合新生产区块所在的视图一致、判断Pre-Commitj消息中包含的区块高度是否与本地交易集合新生产区块所在的高度一致;
S33:若所述步骤S31和所述步骤S32均验证通过,则共识节点接受Pre-Commitj消息。
7.根据权利要求4所述的基于区块链和云服务的数据存储方法,其特征在于,所述步骤S4中主节点验证Commit消息中的部分门限签名的正确性的过程包括:
S41:将部分门限签名中包含的公共交易集合进行哈希计算;
S42:将主节点中的公共交易集合进行哈希计算;
S43:比较所述步骤S41中与所述步骤S42中得出的哈希值,两者相同,则主节点验证Commit消息中的部分门限签名通过,反之不通过。
8.根据权利要求4所述的基于区块链和云服务的数据存储方法,其特征在于,所述步骤5中共识节点验证Pre-Decidej消息的正确性的过程包括:
S51:共识节点首先验证主节点的门限签名是否有效;
S52:共识节点验证是否至少有N-f个不同共识节点发送了部分门限签名到主节点;
其中,N表示区块链中所有参与共识的共识节点的数量,f表示故障共识节点的最大数量;
S53:最后验证Pre-Decidej消息中包含的区块视图是否与本地交易集合新生成区块所在的视图一致、Pre-Decidej消息中包含的区块高度是否与本地交易集合新生成区块所在的高度h一致、以及Pre-Decidej中包含的交易形成区块后哈希值是否与本地交易集合TransListi中包含的交易新生成区块后取哈希值一致;
S54:若所述步骤S51、所述步骤S52和所述步骤S53均验证通过,则共识节点验证Pre-Decidej消息通过;反之不通过。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210070331.7A CN114519197A (zh) | 2022-01-21 | 2022-01-21 | 一种基于区块链和云服务的数据存储架构和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210070331.7A CN114519197A (zh) | 2022-01-21 | 2022-01-21 | 一种基于区块链和云服务的数据存储架构和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114519197A true CN114519197A (zh) | 2022-05-20 |
Family
ID=81596119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210070331.7A Pending CN114519197A (zh) | 2022-01-21 | 2022-01-21 | 一种基于区块链和云服务的数据存储架构和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114519197A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115021914A (zh) * | 2022-06-14 | 2022-09-06 | 广西师范大学 | 一种基于区块链的安全高效的教育资历见证方法 |
CN116132140A (zh) * | 2022-12-30 | 2023-05-16 | 北京邮电大学 | 区块链共识机制的部署方法、装置、电子设备及存储介质 |
CN116527284A (zh) * | 2023-06-16 | 2023-08-01 | 中国联合网络通信集团有限公司 | 数据存储安全性确定方法、装置、设备及存储介质 |
-
2022
- 2022-01-21 CN CN202210070331.7A patent/CN114519197A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115021914A (zh) * | 2022-06-14 | 2022-09-06 | 广西师范大学 | 一种基于区块链的安全高效的教育资历见证方法 |
CN116132140A (zh) * | 2022-12-30 | 2023-05-16 | 北京邮电大学 | 区块链共识机制的部署方法、装置、电子设备及存储介质 |
CN116527284A (zh) * | 2023-06-16 | 2023-08-01 | 中国联合网络通信集团有限公司 | 数据存储安全性确定方法、装置、设备及存储介质 |
CN116527284B (zh) * | 2023-06-16 | 2023-08-29 | 中国联合网络通信集团有限公司 | 数据存储安全性确定方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102566892B1 (ko) | 블록체인 합의 방법, 디바이스 및 시스템 | |
Zhu et al. | Dynamic audit services for integrity verification of outsourced storages in clouds | |
CN111461723B (zh) | 基于区块链的数据处理系统及方法、装置 | |
Bao et al. | IoTChain: A three-tier blockchain-based IoT security architecture | |
CN111552676A (zh) | 基于区块链的存证方法、装置、设备及介质 | |
Yan et al. | A homomorphic encryption and privacy protection method based on blockchain and edge computing | |
CN114519197A (zh) | 一种基于区块链和云服务的数据存储架构和方法 | |
CN111476572B (zh) | 基于区块链的数据处理方法、装置、存储介质及设备 | |
US9521000B1 (en) | Complete forward access sessions | |
CN109495592A (zh) | 数据协同方法及电子设备 | |
CN111131412B (zh) | 实现5g移动端计算的方法、系统、移动端及云端服务器 | |
Li et al. | A Blockchain‐Based Public Auditing Scheme for Cloud Storage Environment without Trusted Auditors | |
US20240187420A1 (en) | Securing browser cookies | |
Dwivedi et al. | Smart contract and IPFS-based trustworthy secure data storage and device authentication scheme in fog computing environment | |
CN115380303A (zh) | 基于区块链的可信平台 | |
Li et al. | A survey on integrity auditing for data storage in the cloud: from single copy to multiple replicas | |
Pandey | Implementation of DNA cryptography in cloud computing and using Huffman algorithm, socket programming and new approach to secure cloud data | |
Gao et al. | BFR‐SE: A Blockchain‐Based Fair and Reliable Searchable Encryption Scheme for IoT with Fine‐Grained Access Control in Cloud Environment | |
Chen et al. | ToAM: a task-oriented authentication model for UAVs based on blockchain | |
Peng et al. | A blockchain‐based mobile crowdsensing scheme with enhanced privacy | |
Peng et al. | A privacy-preserving mobile crowdsensing scheme based on blockchain and trusted execution environment | |
CN113129008A (zh) | 数据处理方法、装置、计算机可读介质及电子设备 | |
Ganesh et al. | An efficient integrity verification and authentication scheme over the remote data in the public clouds for mobile users | |
Zhu | Building a secure infrastructure for IoT systems in distributed environments | |
Wang et al. | A blockchain-based decentralized public auditing scheme for cloud storage |
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 |