CN110288346A - 区块链分布式存储下载方法、设备和存储介质 - Google Patents
区块链分布式存储下载方法、设备和存储介质 Download PDFInfo
- Publication number
- CN110288346A CN110288346A CN201910577312.1A CN201910577312A CN110288346A CN 110288346 A CN110288346 A CN 110288346A CN 201910577312 A CN201910577312 A CN 201910577312A CN 110288346 A CN110288346 A CN 110288346A
- Authority
- CN
- China
- Prior art keywords
- downloading
- broadcast
- block chain
- node
- money transfer
- 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
Classifications
-
- 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
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- 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
- 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/1097—Protocols 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Accounting & Taxation (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种区块链分布式存储下载方法、设备和存储介质,该方法包括:接收下载节点发送的下载请求信息并验证是否合法:是,则生成对称密钥,通过加密密钥对下载请求信息所请求下载的若干分片进行加密以生成加密信息,并将加密信息返回给下载节点,以供生成并发送解密请求信息;其中,解密请求信息包括对服务节点进行转账的转账交易;接收解密请求信息并验证转账交易,在验证成功后将转账交易广播给区块链的其它节点以供广播、打包和执行,将解密密钥返回给下载节点以供对加密信息进行解密以获取若干分片。本申请配置付费下载机制,使提供分布式存储服务的服务节点获得回报,并促使更多的节点参与并提供分布式存储服务。
Description
技术领域
本申请涉及区块链技术领域,具体涉及一种区块链分布式存储下载方法、设备和存储介质。
背景技术
区块链中的每个节点都进行同样的计算,并且最终将相同的结果保存在本地,在包含有几千甚至几万个节点的区块链系统中,数据高度冗余,尽管每个节点都容易从其他对等节点同步需要的数据,但是对于整个区块链系统而言,所消耗的存储资源存在高度冗余的问题。
基于上述问题,申请人在同期提交的另一件专利申请中提出了一种适用于在公链场景进行分布式存储的区块链分布式存储解决方案,然后该方案(乃至于其它可能存在的同类方案)需要大量节点参与并提供分布式存储服务方可实现,若绝大多数节点都只享用其它节点所提供的服务,而不参与并提供服务,则会导致该类方案最终搁浅。因此,区块链分布式存储解决方案需要一种激励并促使节点参与并提供分布式存储服务的激励机制。此外,更进一步地,该激励机制还应当防止节点在该机制中进行作弊。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种激励节点参与提供分布式存储服务的区块链分布式存储下载方法、设备和存储介质;并进一步期望于防止节点在激励机制中作弊。
第一方面,本发明提供一种区块链分布式存储下载方法,适用于分布式存储的服务节点,该方法包括:
接收下载节点发送的下载请求信息,验证下载请求信息是否合法:
是,则生成对称密钥,通过对称密钥中的加密密钥对下载请求信息所请求下载的若干分片进行加密以生成加密信息,并将加密信息返回给下载节点,以供生成并发送解密请求信息;其中,解密请求信息包括对服务节点进行转账的转账交易;
接收解密请求信息并验证转账交易,在验证成功后将转账交易广播给区块链的其它节点以供广播、打包和执行,将对称密钥中的解密密钥返回给下载节点以供对加密信息进行解密以获取若干分片。
第二方面,本发明提供另一种区块链分布式存储下载方法,适用于使用分布式存储服务的下载节点,该方法包括:
响应于下载若干分片,生成下载请求信息并发送至对应的服务节点,以供验证下载请求信息是否合法:是,则生成对称密钥,通过对称密钥中的加密密钥对下载请求信息所请求下载的若干分片进行加密以生成加密信息并返回;
接收加密信息,生成对服务节点进行转账的转账交易,以及包括转账交易的解密请求信息;
将解密请求信息发送至服务节点以供验证转账交易,在验证成功后将转账交易广播给区块链的其它节点以供广播、打包和执行,并返回对称密钥中的解密密钥;
接收解密密钥,根据解密密钥对加密信息进行解密以获取若干分片。
第三方面,本发明还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的区块链分布式存储下载方法。
第四方面,本发明还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本发明各实施例提供的区块链分布式存储下载方法。
本发明诸多实施例提供的区块链分布式存储下载方法、设备和存储介质通过在区块链分布式存储解决方案中配置付费下载机制,使提供分布式存储服务的服务节点获得回报,并促使更多的节点参与并提供分布式存储服务;
本发明一些实施例提供的区块链分布式存储下载方法、设备和存储介质进一步通过在验证下载请求时拒绝余额不足的下载请求、无需验证转账交易执行成功即提供解密密钥、将分布式存储管理合约配置为允许下载节点欠账并存储欠款记录以便进行欠款偿还,一方面实现了在提供解密密钥时无需等待转账交易的执行结果,即允许先下载后付费,另一方面保障了下载节点为了继续使用分布式存储服务必须偿还欠款,从而使分布式存储服务机制更为高效可靠;
本发明一些实施例提供的区块链分布式存储下载方法、设备和存储介质进一步通过由服务节点提交存证交易,并由下载节点在解密失败时提交仲裁交易,由分布式存储管理合约自动根据存证交易和仲裁交易进行验证和仲裁,从而避免了服务节点或下载节点进行作弊。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明一实施例提供的一种区块链分布式存储下载方法的流程图。
图2为图1所示方法的一种优选实施方式中步骤S12的流程图。
图3为图1所示方法的一种优选实施方式中步骤S16的流程图。
图4为图1所示方法的另一种优选实施方式中步骤S16的流程图。
图5为图1所示方法的一种优选实施方式的流程图。
图6为本发明一实施例提供的另一种区块链分布式存储下载方法的流程图。
图7为图6所示方法的一种优选实施方式的流程图。
图8为本发明一实施例提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1为本发明一实施例提供的一种区块链分布式存储下载方法的流程图。
如图1所示,在本实施例中,本发明提供一种适用于分布式存储的服务节点的区块链分布式存储下载方法,包括:
S12:接收下载节点发送的下载请求信息,验证下载请求信息是否合法:
是,则执行步骤S14:生成对称密钥,通过对称密钥中的加密密钥对下载请求信息所请求下载的若干分片进行加密以生成加密信息,并将加密信息返回给下载节点,以供生成并发送解密请求信息;其中,解密请求信息包括对服务节点进行转账的转账交易;
S16:接收解密请求信息并验证转账交易,在验证成功后将转账交易广播给区块链的其它节点以供广播、打包和执行,将对称密钥中的解密密钥返回给下载节点以供对加密信息进行解密以获取若干分片。
在本实施例中,区块链的分布式存储服务通过配置在区块链上的分布式存储管理合约实现,该合约用于将请求进行分布式存储的服务节点均匀配置到第一数量个存储组中,该第一数量个存储组配置有索引,该合约还用于将分布式存储的数据编码成第一数量个配置有相同索引的分片,并使每个服务节点只存储与所在存储组的索引序号相同的分片。相对应地,在上述方法中,下载节点所生成的一份下载请求信息所请求下载的若干分片的索引序号应相同。在更多实施例中,上述方法还可以适用于不同的区块链分布式存储服务,例如,每个存储组的服务节点可以存储多个索引序号的分片,或,多个存储组的服务节点可以存储同一索引序号的分片,等等,在该类方案中,同样需要将下载请求信息配置为请求下载配置有与服务节点所在存储组相对应索引序号的分片,在其它类方案中,可根据具体的分布式存储规则来配置相应的下载请求信息,可实现相同的技术效果。
以分布式存储管理合约配置了30个存储组,下载节点A请求下载某数据段的分片0-分片29,在下载分片17时生成下载请求信息m17并发送至索引序号为17的存储组中的服务节点B为例:
在步骤S12中,服务节点B接收下载节点A发送的下载请求信息m17,并根据m17所包括的分片17的哈希值H17验证本地是否存有分片17:
否,则生成提示数据不存在的错误信息并返回给下载节点A;
是,则服务节点B执行步骤S14,生成对称密钥(p1,p2),通过加密密钥p1对根据H17查找到的分片17进行加密,生成加密信息S17,并将S17返回给下载节点A;
下载节点A收到加密信息S17后,根据S17的数据量确定向服务节点B支付的酬劳数额,从而生成对服务节点B进行转账的转账交易tx1,以及包括tx1的解密请求信息mde17,将mde17发送给服务节点B;
在步骤S16中,服务节点B接收mde17后,对tx1的签名和转账金额进行验证,若验证失败则返回错误信息,验证成功则向区块链的其它节点广播tx1,并将解密密钥p2返回给下载节点A;
各节点广播、打包、执行tx1,通过共识后,完成下载节点A对服务节点B的转账;
下载节点A收到解密密钥p2后,通过解密密钥p2对加密信息S17进行解密,得到分片17。
在本实施例中,步骤S12中的合法性验证包括验证本地是否存在所请求下载的数据,在更多实施例中还可以进一步包括,验证下载节点A的账户余额是否充足,下载节点A是否在系统的黑名单中,等任意一项或多项其它合法性验证。
上述实施例通过在区块链分布式存储解决方案中配置付费下载机制,使提供分布式存储服务的服务节点获得回报,并促使更多的节点参与并提供分布式存储服务。
在上述方法中,还存在下载节点A的账户余额可能不足,转账交易tx1可能执行失败,导致服务节点B未收到酬劳的问题,针对该问题,可以采用确认tx1执行成功,即转账完成后再发送解密密钥p2的方法(详见以下图4所示的优选实施例),然而服务节点采用等待转账交易执行成功再发送解密密钥的手段又会导致下载节点在接收解密密钥时可能需要承受高延迟的等待,从而导致区块链分布式存储服务的效率降低。因此,为了同时保障下载节点向服务节点支付酬劳的可靠性和下载节点可以快速收到解密密钥的高效性,本发明还提出了以下优选实施例:
图2为图1所示方法的一种优选实施方式中步骤S12的流程图。
图3为图1所示方法的一种优选实施方式中步骤S16的流程图。
如图2所示,在一优选实施例中,下载请求信息包括第一公钥,步骤S12还包括:
S124:验证第一公钥对应的第一地址中是否有足够余额:否,则下载请求信息不合法,执行步骤S125。
如图3所示,步骤S16包括:
S1611:接收解密请求信息并验证转账交易;
S1613:在验证成功后,将对称密钥中的解密密钥返回给下载节点以供对加密信息进行解密以获取若干分片;以及,
S1615:将转账交易广播给区块链的其它节点以供广播、打包和执行。
其中,分布式存储管理合约用于在转账交易执行失败时创建下载节点对服务节点欠款的欠款记录。该欠款记录用于在执行由合约维护方终端定期发起的欠款偿还交易时查询欠款以进行还款。
具体地,同样以下载节点A向服务节点B请求下载分片17为例:
若下载节点A此前存在未支付的欠款,则服务节点B在步骤S124中的合法性验证将失败,并向下载节点A返回余额不足的错误信息;
若下载节点A在发送下载请求信息m17时账户余额充足(且没有未偿还的欠款记录),通过了步骤S124的验证,但在区块链的各节点执行转账交易tx1前因各种原因导致账户余额不足(或存在未偿还的欠款记录),此时下载节点A仍能快速收到服务节点B在步骤S1613发送的解密密钥,但因步骤S1615所广播的tx1因余额不足执行失败,分布式存储管理合约会创建下载节点A对服务节点B欠款的欠款记录,导致下载节点A在偿还该笔欠款之前,无法再次通过步骤S124的合法性验证。此外,合约维护方终端可以定期发起欠款偿还交易,区块链节点在执行欠款偿还交易时,通过查询上述欠款记录确定需要偿还的欠款,并在账户余额足以偿还欠款时进行转账以偿还欠款,同时标记该笔欠款记录已偿还;若账户余额不足以偿还欠款,则可以将余额转账以偿还部分欠款,同时标记该笔欠款的已偿还部分或未偿还部分,也可以直接令该笔欠款偿还交易执行失败。
进一步优选地,为了避免下载节点A因未知晓账户已欠款而导致无法使用区块链分布式存储服务,还可以配置短信通知或邮件通知等任意一项或多项欠款通知机制。
上述实施例进一步通过在验证下载请求时拒绝余额不足的下载请求、无需验证转账交易执行成功即提供解密密钥、将分布式存储管理合约配置为允许下载节点欠账并存储欠款记录以便进行欠款偿还,一方面实现了在提供解密密钥时无需等待转账交易的执行结果,即允许先下载后付费,另一方面保障了下载节点为了继续使用分布式存储服务必须偿还欠款,从而使分布式存储服务机制更为高效可靠。
图4为图1所示方法的另一种优选实施方式中步骤S16的流程图。如图4所示,在另一优选实施例中,步骤S16包括:
S1621:接收解密请求信息并验证转账交易;
S1623:在验证成功后,将转账交易广播给区块链的其它节点以供广播、打包和执行;
S1625:确认转账交易执行成功后,将对称密钥中的解密密钥返回给下载节点以供对加密信息进行解密以获取若干分片。
具体地,图4所示方法与图2和图3所示方法的区别在于,在图4所示的方法中,步骤S12中无需验证下载节点的账户余额是否充足,步骤S16中仅在转账交易执行成功时才返回解密密钥,具体过程不再赘述。
上述个实施例提供的方法中,还存在下载节点可能作弊,或,服务节点可能作弊的问题,针对该问题,本发明还提出了以下优选实施例:
图5为图1所示方法的一种优选实施方式的流程图。如图5所示,在一优选实施例中,上述方法还包括:
S18:生成存证交易并广播给区块链的其它节点以供广播、打包和执行,以供各节点在接收、打包和执行仲裁交易时进行验证和仲裁。
其中,仲裁交易由下载节点在解密失败时生成并广播。
具体地,在本实施例中,存证交易包括对称密钥的哈希值和下载节点签名的转账交易的交易哈希,仲裁交易包括加密信息、对称密钥、上述交易哈希,以及,服务节点签名的对称密钥的哈希值、若干分片的哈希值。在更多实施例中,还可以根据实际需求配置不同的存证交易和仲裁交易,例如,将存证交易配置为包括下载节点所发送的签名的任意一项或多项仲裁所需的信息、将仲裁交易配置为包括服务节点所发送的签名的任意一项或多项仲裁所需的信息,等等。
上述验证包括以下至少一项:
验证对称密钥是否可以解密加密信息;
验证解密加密信息所获得的若干分片的哈希值与服务节点签名的若干分片的哈希值是否一致;
验证仲裁交易提交的各项信息及相关的签名是否正确;
验证存证交易提交的各项信息及相关的签名是否正确。
上述仲裁包括:
在解密成功、解密获得的分片数据无误时,或,仲裁交易所提交的信息有误时,将仲裁失败记录存储到区块链上;
在解密失败时,解密成功且解密获得的分片数据有误时,或,存证交易提交的信息有误时,返还转账交易的转账金额,并将仲裁成功记录存储到区块链上。
上述实施例进一步通过由服务节点提交存证交易,并由下载节点在解密失败时提交仲裁交易,由分布式存储管理合约自动根据存证交易和仲裁交易进行验证和仲裁,从而避免了服务节点或下载节点进行作弊。
图6为本发明一实施例提供的另一种区块链分布式存储下载方法的流程图。图6所示的方法可配合图1-4所示的方法执行。
如图6所示,在本实施例中,本发明还提供另一种适用于使用分布式存储服务的下载节点的区块链分布式存储下载方法,包括:
S21:响应于下载若干分片,生成下载请求信息并发送至对应的服务节点,以供验证下载请求信息是否合法:是,则生成对称密钥,通过对称密钥中的加密密钥对下载请求信息所请求下载的若干分片进行加密以生成加密信息并返回;
S23:接收加密信息,生成对服务节点进行转账的转账交易,以及包括转账交易的解密请求信息;
S25:将解密请求信息发送至服务节点以供验证转账交易,在验证成功后将转账交易广播给区块链的其它节点以供广播、打包和执行,并返回对称密钥中的解密密钥;
S27:接收解密密钥,根据解密密钥对加密信息进行解密以获取若干分片。
优选地,下载请求信息包括第一公钥,上述验证下载请求信息是否合法包括:验证第一公钥对应的第一地址中是否有足够余额:否,则下载请求信息不合法。
上述在验证成功后将转账交易广播给区块链的其它节点以供广播、打包和执行,并返回对称密钥中的解密密钥包括:
在验证成功后,返回对称密钥中的解密密钥;以及,
将转账交易广播给区块链的其它节点以供广播、打包和执行。
分布式存储管理合约用于在转账交易执行失败时创建下载节点对服务节点欠款的欠款记录。该欠款记录用于在执行由合约维护方终端定期发起的欠款偿还交易时查询欠款以进行还款。
优选地,上述在验证成功后将转账交易广播给区块链的其它节点以供广播、打包和执行,并返回对称密钥中的解密密钥包括:
在验证成功后,将转账交易广播给区块链的其它节点以供广播、打包和执行;
确认转账交易执行成功后,返回对称密钥中的解密密钥。
优选地,区块链上配置有分布式存储管理合约,分布式存储管理合约用于将请求进行分布式存储的服务节点均匀配置到第一数量个存储组中,第一数量个存储组配置有索引,分布式存储管理合约还用于将分布式存储的数据编码成第一数量个配置有相同索引的分片,并使每个服务节点只存储与所在存储组的索引序号相同的分片;上述若干分片的索引序号相同。
上述实施例的执行原理可参考图1-4所示方法,此处不再赘述。
图7为图6所示方法的一种优选实施方式的流程图。图7所示的方法可配合图5所示的方法执行。
如图7所示,在一优选实施例中,服务节点在返回解密密钥后还生成存证交易并广播给区块链的其它节点以供广播、打包和执行,上述方法还包括:
S29:在解密失败后,生成仲裁交易并广播给区块链的其它节点以供广播、打包和执行以根据存证交易和仲裁交易进行验证和仲裁。
优选地,存证交易包括对称密钥的哈希值和下载节点签名的转账交易的交易哈希,仲裁交易包括加密信息、对称密钥、上述交易哈希,以及,服务节点签名的对称密钥的哈希值、若干分片的哈希值。
上述验证包括以下至少一项:
验证对称密钥是否可以解密加密信息;
验证解密加密信息所获得的若干分片的哈希值与服务节点签名的若干分片的哈希值是否一致;
验证仲裁交易提交的各项信息及相关的签名是否正确;
验证存证交易提交的各项信息及相关的签名是否正确。
上述仲裁包括:
在解密成功、解密获得的分片数据无误时,或,仲裁交易所提交的信息有误时,将仲裁失败记录存储到区块链上;
在解密失败时,解密成功且解密获得的分片数据有误时,或,存证交易提交的信息有误时,返还转账交易的转账金额,并将仲裁成功记录存储到区块链上。
上述实施例的执行原理可参考图5所示方法,此处不再赘述。
图8为本发明一实施例提供的一种设备的结构示意图。
如图8所示,作为另一方面,本申请还提供了一种设备800,包括一个或多个中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM803中,还存储有设备800操作所需的各种程序和数据。CPU801、ROM802以及RAM803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本公开的实施例,上述任一实施例描述的区块链分布式存储下载方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行区块链分布式存储下载方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。
作为又一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请的区块链分布式存储下载方法。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,各所述单元可以是设置在计算机或移动智能设备中的软件程序,也可以是单独配置的硬件装置。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (14)
1.一种区块链分布式存储下载方法,其特征在于,适用于所述分布式存储的服务节点,所述方法包括:
接收下载节点发送的下载请求信息,验证所述下载请求信息是否合法:
是,则生成对称密钥,通过所述对称密钥中的加密密钥对所述下载请求信息所请求下载的若干分片进行加密以生成加密信息,并将所述加密信息返回给所述下载节点,以供生成并发送解密请求信息;其中,所述解密请求信息包括对所述服务节点进行转账的转账交易;
接收所述解密请求信息并验证所述转账交易,在验证成功后将所述转账交易广播给所述区块链的其它节点以供广播、打包和执行,将所述对称密钥中的解密密钥返回给所述下载节点以供对所述加密信息进行解密以获取所述若干分片。
2.根据权利要求1所述的方法,其特征在于,所述下载请求信息包括第一公钥,所述验证所述下载请求信息是否合法包括:验证所述第一公钥对应的第一地址中是否有足够余额:否,则所述下载请求信息不合法;
所述在验证成功后将所述转账交易广播给所述区块链的其它节点以供广播、打包和执行,将所述对称密钥中的解密密钥返回给所述下载节点以供对所述加密信息进行解密以获取所述若干分片包括:
在验证成功后,将所述对称密钥中的解密密钥返回给所述下载节点以供对所述加密信息进行解密以获取所述若干分片;以及,
将所述转账交易广播给所述区块链的其它节点以供广播、打包和执行;
其中,分布式存储管理合约用于在所述转账交易执行失败时创建所述下载节点对所述服务节点欠款的欠款记录;所述欠款记录用于在执行由合约维护方终端定期发起的欠款偿还交易时查询欠款以进行还款。
3.根据权利要求1所述的方法,其特征在于,所述在验证成功后将所述转账交易广播给所述区块链的其它节点以供广播、打包和执行,将所述对称密钥中的解密密钥返回给所述下载节点以供对所述加密信息进行解密以获取所述若干分片包括:
在验证成功后,将所述转账交易广播给所述区块链的其它节点以供广播、打包和执行;
确认所述转账交易执行成功后,将所述对称密钥中的解密密钥返回给所述下载节点以供对所述加密信息进行解密以获取所述若干分片。
4.根据权利要求1所述的方法,其特征在于,还包括:
生成存证交易并广播给所述区块链的其它节点以供广播、打包和执行,以供各所述节点在接收、打包和执行仲裁交易时进行验证和仲裁;
其中,所述仲裁交易由所述下载节点在解密失败时生成并广播。
5.根据权利要求4所述的方法,其特征在于,所述存证交易包括所述对称密钥的哈希值和所述下载节点签名的所述转账交易的交易哈希,所述仲裁交易包括所述加密信息、所述对称密钥、所述交易哈希,以及,所述服务节点签名的所述对称密钥的哈希值、所述若干分片的哈希值;
所述验证包括以下至少一项:
验证所述对称密钥是否可以解密所述加密信息;
验证解密所述加密信息所获得的若干分片的哈希值与所述服务节点签名的所述若干分片的哈希值是否一致;
验证所述仲裁交易提交的各项信息及相关的签名是否正确;
验证所述存证交易提交的各项信息及相关的签名是否正确;
所述仲裁包括:
在解密成功、解密获得的分片数据无误时,或,仲裁交易所提交的信息有误时,将仲裁失败记录存储到区块链上;
在解密失败时,解密成功且解密获得的分片数据有误时,或,所述存证交易提交的信息有误时,返还所述转账交易的转账金额,并将仲裁成功记录存储到区块链上。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述区块链上配置有分布式存储管理合约,所述分布式存储管理合约用于将请求进行分布式存储的服务节点均匀配置到第一数量个存储组中,所述第一数量个存储组配置有索引,所述分布式存储管理合约还用于将分布式存储的数据编码成所述第一数量个配置有所述索引的分片,并使每个服务节点只存储与所在存储组的索引序号相同的分片;
所述若干分片的索引序号相同。
7.一种区块链分布式存储下载方法,其特征在于,适用于使用分布式存储服务的下载节点,所述方法包括:
响应于下载若干分片,生成下载请求信息并发送至对应的服务节点,以供验证所述下载请求信息是否合法:是,则生成对称密钥,通过所述对称密钥中的加密密钥对所述下载请求信息所请求下载的若干分片进行加密以生成加密信息并返回;
接收所述加密信息,生成对所述服务节点进行转账的转账交易,以及包括所述转账交易的解密请求信息;
将所述解密请求信息发送至所述服务节点以供验证所述转账交易,在验证成功后将所述转账交易广播给所述区块链的其它节点以供广播、打包和执行,并返回所述对称密钥中的解密密钥;
接收所述解密密钥,根据所述解密密钥对所述加密信息进行解密以获取所述若干分片。
8.根据权利要求7所述的方法,其特征在于,所述下载请求信息包括第一公钥,所述验证所述下载请求信息是否合法包括:验证所述第一公钥对应的第一地址中是否有足够余额:否,则所述下载请求信息不合法;
所述在验证成功后将所述转账交易广播给所述区块链的其它节点以供广播、打包和执行,并返回所述对称密钥中的解密密钥包括:
在验证成功后,返回所述对称密钥中的解密密钥;以及,
将所述转账交易广播给所述区块链的其它节点以供广播、打包和执行;
分布式存储管理合约用于在所述转账交易执行失败时创建所述下载节点对所述服务节点欠款的欠款记录;所述欠款记录用于在执行由合约维护方终端定期发起的欠款偿还交易时查询欠款以进行还款。
9.根据权利要求7所述的方法,其特征在于,所述在验证成功后将所述转账交易广播给所述区块链的其它节点以供广播、打包和执行,并返回所述对称密钥中的解密密钥包括:
在验证成功后,将所述转账交易广播给所述区块链的其它节点以供广播、打包和执行;
确认所述转账交易执行成功后,返回所述对称密钥中的解密密钥。
10.根据权利要求7所述的方法,其特征在于,所述服务节点在返回所述解密密钥后还生成存证交易并广播给所述区块链的其它节点以供广播、打包和执行;
所述方法还包括:
在解密失败后,生成仲裁交易并广播给所述区块链的其它节点以供广播、打包和执行以根据所述存证交易和所述仲裁交易进行验证和仲裁。
11.根据权利要求10所述的方法,其特征在于,所述存证交易包括所述对称密钥的哈希值和所述下载节点签名的所述转账交易的交易哈希,所述仲裁交易包括所述加密信息、所述对称密钥、所述交易哈希,以及,所述服务节点签名的所述对称密钥的哈希值、所述若干分片的哈希值;
所述验证包括以下至少一项:
验证所述对称密钥是否可以解密所述加密信息;
验证解密所述加密信息所获得的若干分片的哈希值与所述服务节点签名的所述若干分片的哈希值是否一致;
验证所述仲裁交易提交的各项信息及相关的签名是否正确;
验证所述存证交易提交的各项信息及相关的签名是否正确;
所述仲裁包括:
在解密成功、解密获得的分片数据无误时,或,仲裁交易所提交的信息有误时,将仲裁失败记录存储到区块链上;
在解密失败时,解密成功且解密获得的分片数据有误时,或,所述存证交易提交的信息有误时,返还所述转账交易的转账金额,并将仲裁成功记录存储到区块链上。
12.根据权利要求7-11任一项所述的方法,其特征在于,所述区块链上配置有分布式存储管理合约,所述分布式存储管理合约用于将请求进行分布式存储的服务节点均匀配置到第一数量个存储组中,所述第一数量个存储组配置有索引,所述分布式存储管理合约还用于将分布式存储的数据编码成所述第一数量个配置有所述索引的分片,并使每个服务节点只存储与所在存储组的索引序号相同的分片;
所述若干分片的索引序号相同。
13.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-12中任一项所述的方法。
14.一种存储有计算机程序的存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-12中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910577312.1A CN110288346A (zh) | 2019-06-28 | 2019-06-28 | 区块链分布式存储下载方法、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910577312.1A CN110288346A (zh) | 2019-06-28 | 2019-06-28 | 区块链分布式存储下载方法、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110288346A true CN110288346A (zh) | 2019-09-27 |
Family
ID=68019719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910577312.1A Pending CN110288346A (zh) | 2019-06-28 | 2019-06-28 | 区块链分布式存储下载方法、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110288346A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111523895A (zh) * | 2020-05-06 | 2020-08-11 | 杭州复杂美科技有限公司 | 数据延时公布方法、设备和存储介质 |
CN112104627A (zh) * | 2020-09-03 | 2020-12-18 | 深圳市中科网威科技有限公司 | 基于区块链的数据传输方法、装置、电子设备及存储介质 |
KR20210065565A (ko) * | 2019-11-27 | 2021-06-04 | 충북대학교 산학협력단 | 블록체인 기반의 데이터 프라이버시를 제공하는 분산 지식 발견 시스템 및 방법 |
CN112990903A (zh) * | 2021-03-10 | 2021-06-18 | 中国联合网络通信集团有限公司 | 基于区块链的话费转账方法、可转账节点和需求节点 |
CN113592485A (zh) * | 2021-08-02 | 2021-11-02 | 杭州复杂美科技有限公司 | 钱包找回方法、计算机设备和存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002366776A (ja) * | 2001-06-11 | 2002-12-20 | Ricoh Co Ltd | コンテンツ配信システム |
CN101425162A (zh) * | 2007-11-02 | 2009-05-06 | 英华达股份有限公司 | 数字内容下载系统与方法 |
US20160267472A1 (en) * | 2015-03-13 | 2016-09-15 | Gyft, Inc. | Securing digital gift cards with a public ledger |
CN107392620A (zh) * | 2017-06-02 | 2017-11-24 | 口碑控股有限公司 | 一种支付方法、设备及装置 |
CN108648084A (zh) * | 2018-05-18 | 2018-10-12 | 百度在线网络技术(北京)有限公司 | 一种区块链网络的数据处理方法、装置、设备及存储介质 |
CN108664223A (zh) * | 2018-05-18 | 2018-10-16 | 百度在线网络技术(北京)有限公司 | 一种分布式存储方法、装置、计算机设备及存储介质 |
CN108737498A (zh) * | 2018-04-18 | 2018-11-02 | 中国地质大学(武汉) | 一种基于区块链的p2p安全下载检测方法及系统 |
CN108924092A (zh) * | 2018-06-07 | 2018-11-30 | 北京航空航天大学 | 基于区块链的可公开仲裁分布式云存储方法及系统 |
CN109491968A (zh) * | 2018-11-13 | 2019-03-19 | 浙江鲸腾网络科技有限公司 | 一种文件处理方法、装置、设备及计算机可读存储介质 |
CN109508975A (zh) * | 2018-11-28 | 2019-03-22 | 阿里巴巴集团控股有限公司 | 一种账单分期事件的记录和查询方法、装置及电子设备 |
CN109886812A (zh) * | 2019-02-15 | 2019-06-14 | 航天恒星科技有限公司 | 基于区块链的数据交易系统及方法 |
-
2019
- 2019-06-28 CN CN201910577312.1A patent/CN110288346A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002366776A (ja) * | 2001-06-11 | 2002-12-20 | Ricoh Co Ltd | コンテンツ配信システム |
CN101425162A (zh) * | 2007-11-02 | 2009-05-06 | 英华达股份有限公司 | 数字内容下载系统与方法 |
US20160267472A1 (en) * | 2015-03-13 | 2016-09-15 | Gyft, Inc. | Securing digital gift cards with a public ledger |
CN107392620A (zh) * | 2017-06-02 | 2017-11-24 | 口碑控股有限公司 | 一种支付方法、设备及装置 |
CN108737498A (zh) * | 2018-04-18 | 2018-11-02 | 中国地质大学(武汉) | 一种基于区块链的p2p安全下载检测方法及系统 |
CN108648084A (zh) * | 2018-05-18 | 2018-10-12 | 百度在线网络技术(北京)有限公司 | 一种区块链网络的数据处理方法、装置、设备及存储介质 |
CN108664223A (zh) * | 2018-05-18 | 2018-10-16 | 百度在线网络技术(北京)有限公司 | 一种分布式存储方法、装置、计算机设备及存储介质 |
CN108924092A (zh) * | 2018-06-07 | 2018-11-30 | 北京航空航天大学 | 基于区块链的可公开仲裁分布式云存储方法及系统 |
CN109491968A (zh) * | 2018-11-13 | 2019-03-19 | 浙江鲸腾网络科技有限公司 | 一种文件处理方法、装置、设备及计算机可读存储介质 |
CN109508975A (zh) * | 2018-11-28 | 2019-03-22 | 阿里巴巴集团控股有限公司 | 一种账单分期事件的记录和查询方法、装置及电子设备 |
CN109886812A (zh) * | 2019-02-15 | 2019-06-14 | 航天恒星科技有限公司 | 基于区块链的数据交易系统及方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210065565A (ko) * | 2019-11-27 | 2021-06-04 | 충북대학교 산학협력단 | 블록체인 기반의 데이터 프라이버시를 제공하는 분산 지식 발견 시스템 및 방법 |
KR102309024B1 (ko) | 2019-11-27 | 2021-10-07 | 충북대학교 산학협력단 | 블록체인 기반의 데이터 프라이버시를 제공하는 분산 지식 발견 시스템 및 방법 |
CN111523895A (zh) * | 2020-05-06 | 2020-08-11 | 杭州复杂美科技有限公司 | 数据延时公布方法、设备和存储介质 |
CN112104627A (zh) * | 2020-09-03 | 2020-12-18 | 深圳市中科网威科技有限公司 | 基于区块链的数据传输方法、装置、电子设备及存储介质 |
CN112104627B (zh) * | 2020-09-03 | 2023-02-28 | 深圳市中科网威科技有限公司 | 基于区块链的数据传输方法、装置、电子设备及存储介质 |
CN112990903A (zh) * | 2021-03-10 | 2021-06-18 | 中国联合网络通信集团有限公司 | 基于区块链的话费转账方法、可转账节点和需求节点 |
CN112990903B (zh) * | 2021-03-10 | 2023-06-09 | 中国联合网络通信集团有限公司 | 基于区块链的话费转账方法、可转账节点和需求节点 |
CN113592485A (zh) * | 2021-08-02 | 2021-11-02 | 杭州复杂美科技有限公司 | 钱包找回方法、计算机设备和存储介质 |
CN113592485B (zh) * | 2021-08-02 | 2023-05-30 | 杭州复杂美科技有限公司 | 钱包找回方法、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102309819B1 (ko) | 블록체인 기반의 거래 시스템 및 그 방법 | |
US11783323B1 (en) | Autonomous devices | |
CN109544160B (zh) | 一种基于区块链和智能合约的交易真实性验证方法及系统 | |
Beniiche | A study of blockchain oracles | |
CN110363665B (zh) | 债权数据处理方法、装置、设备及介质 | |
CN110288346A (zh) | 区块链分布式存储下载方法、设备和存储介质 | |
US10592985B2 (en) | Systems and methods for a commodity contracts market using a secure distributed transaction ledger | |
US11528147B2 (en) | Verifying integrity and secure operations of cloud-based software services | |
CN104574050B (zh) | 在线结算的方法、装置及系统 | |
US11283865B2 (en) | Service meshes and smart contracts for zero-trust systems | |
CN110599323B (zh) | 一种资源处理方法及处理设备 | |
CN110741599A (zh) | 基于有序智能合约创建多个记录的系统和方法 | |
CN109478282A (zh) | 通过交易装置进行数字资产分发 | |
CN108985760A (zh) | 支付方法及系统、设备和存储介质 | |
Cook et al. | Blockchain: Transforming the seafood supply chain | |
CN104081425A (zh) | 基于电子支票的付款系统 | |
CN109643415A (zh) | 交易管理技术 | |
CN108764872A (zh) | 一种授权支付方法及系统、设备和存储介质 | |
CN109377338A (zh) | 基于区块链的金融产品处理方法及装置 | |
CN109493064B (zh) | 基于区块链架构的仓单交易协同方法及装置 | |
US20080294508A1 (en) | Method and apparatus for an electronic transaction network designed to facilitate dual, bilateral buyer-driven and bilateral seller-driven conditional early payment incentive offers, acceptances, and payments | |
US20040034597A1 (en) | System and method for managing micropayment transactions, corresponding client terminal and trader equipment | |
CN109426955A (zh) | 目标对象提供方法、装置及系统 | |
CN111125778A (zh) | 一种版权交易信息的处理方法及装置 | |
CN111062717A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190927 |