CN108648084A - 一种区块链网络的数据处理方法、装置、设备及存储介质 - Google Patents

一种区块链网络的数据处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN108648084A
CN108648084A CN201810480503.1A CN201810480503A CN108648084A CN 108648084 A CN108648084 A CN 108648084A CN 201810480503 A CN201810480503 A CN 201810480503A CN 108648084 A CN108648084 A CN 108648084A
Authority
CN
China
Prior art keywords
node
block chain
block
contract
data
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
CN201810480503.1A
Other languages
English (en)
Other versions
CN108648084B (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.)
Baidu Online Network Technology Beijing Co Ltd
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201810480503.1A priority Critical patent/CN108648084B/zh
Publication of CN108648084A publication Critical patent/CN108648084A/zh
Application granted granted Critical
Publication of CN108648084B publication Critical patent/CN108648084B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种区块链网络的数据处理方法、装置、设备及存储介质,所述方法包括从区块链网络中接收作为事务数据的合约发起声明;根据合约发起声明中的要素要求,从区块链的事务数据中或区块链网络的节点中进行数据采集;将采集的数据作为要素数据添加至所述合约发起声明,形成智能合约;将所述智能合约添加至区块中,并通过所述区块链网络进行确认存储。本发明实施例的技术方案解决了现有区块链网络中智能合约的局限性问题,从而丰富了智能合约的功能。

Description

一种区块链网络的数据处理方法、装置、设备及存储介质
技术领域
本发明实施例涉及区块链技术领域,尤其涉及一种区块链网络的数据处理方法、装置、设备及存储介质。
背景技术
区块链技术是一种去中心化且寓于分布式结构的数据存储、传输和证明的方法,用数据区块取代了目前互联网对中心服务器的依赖。智能合约是指以数字形式定义的能够自动执行条款的合约。在区块链技术领域,智能合约特指基于预定事件触发、不可篡改、自动执行的计算机程序。
现有技术中,区块链上的节点可以通过调用智能合约实现各种交易。交易双方达成的智能合约作为事务请求发送给区块生成节点,由区块生成节点进行处理,打包添加至区块中进行存储。通过区块链系统来保证区块中交易数据的不可篡改性,从而保证交易的安全性。但是,上述智能合约的处理方式,限制了智能合约所能处理的事务形式,无法将区块链技术的优势充分发挥。
发明内容
本发明实施例提供一种区块链网络的数据处理方法、装置、设备及存储介质,实现打破现有区块链网络中智能合约的局限性,从而丰富智能合约的功能。
第一方面,本发明实施例提供了一种区块链网络的数据处理方法,应用于区块链网络中的区块生成节点,所述方法包括:
从区块链网络中接收作为事务数据的合约发起声明;
根据合约发起声明中的要素要求,从区块链的事务数据中或区块链网络的节点中进行数据采集;
将采集的数据作为要素数据添加至所述合约发起声明,形成智能合约;
将所述智能合约添加至区块中,并通过所述区块链网络进行确认存储。
第二方面,本发明实施例还提供了一种区块链网络的数据处理装置,包括:
声明接收模块,用于从区块链网络中接收作为事务数据的合约发起声明;
数据采集模块,用于根据合约发起声明中的要素要求,从区块链的事务数据中或区块链网络的节点中进行数据采集;
合约形成模块,用于将采集的数据作为要素数据添加至所述合约发起声明,形成智能合约;
存储确认模块,用于将所述智能合约添加至区块中,并通过所述区块链网络进行确认存储。
第三方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所提供的区块链网络的数据处理方法。
第四方面,本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所提供的区块链网络的数据处理方法。
本发明实施例通过区块生成节点根据接收的合约发起声明中的要素要求,从区块链的事务数据中或区块链网络的节点中进行数据采集,并将采集的数据作为要素数据添加至合约发起声明以形成智能合约,再由区块生成节点对智能合约进行打包记录,将其添加到区块中,从而实现了区块生成节点参与智能合约的生成过程,发挥了区块生成节点能更多调度区块链网络中节点资源的优势,以及能够通过动态变化的区块生成节点的公信力,提高智能合约的可信度。上述技术方案解决了现有区块链网络中智能合约的局限性问题,从而丰富了智能合约的功能。
附图说明
图1a是本发明实施例一提供的一种区块链网络的数据处理方法的流程图;
图1b是本发明实施例一所涉及的区块生成节点的选举过程示意图;
图2a是本发明实施例二提供的一种区块链网络的数据处理方法的流程图;
图2b是本发明实施例二提供的一种区块生成节点参与生成智能合约的示意图;
图3a是本发明实施例三提供的一种区块链网络的数据处理方法的流程图;
图3b是本发明实施例三所涉及的原始梅克尔树的结构示意图;
图4是本发明实施例四提供的一种区块链网络的数据处理装置的示意图;
图5为本发明实施例五提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。
另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1a是本发明实施例一提供的一种区块链网络的数据处理方法的流程图,本实施例可适用于在区块链网络中生成并存储确认智能合约的情况,该方法可以由区块链网络的数据处理装置来执行,该装置可以由软件和/或硬件的方式来实现,并一般可集成在承担区块生成节点功能的计算机设备中,区块生成节点是在区块链网络中当前获得区块生成权限的节点。如图1a所示,该方法包括如下操作:
S110、从区块链网络中接收作为事务数据的合约发起声明。
其中,事务数据是指区块链网络中的节点发起的,需要经过区块生成节点处理后添加至区块中存储的数据,所谓处理可能包括诸如信息转换、格式调整、或代码运行等,根据具体的事务数据的情况来执行。例如,常规的交易请求数据就是典型的一种事务数据。在区块链的不用应用场景下会产生不同的事务数据需要处理。在同一个应用场景中,节点所发送的事务数据可能相同也可能不同。合约发起声明指的是区块链网络中的节点,针对某种建立智能合约的需求所发起的声明,该声明用于表达该节点需要与其他节点之间建立某种智能合约。示例性的,合约发起声明可以是某节点需要其他节点为其提供存储空间,以达成提供存储服务的存储智能合约而发起的声明。合约发起声明是智能合约建立之前的准备内容。
在本发明实施例中,在形成智能合约前,由区块链网络中的节点在区块链网络中广播合约发起声明,或者直接将合约发起声明发送至区块生成节点。当前竞争到区块处理权限的区块生成节点可以接收到合约发起声明。
图1b是本发明实施例一所涉及的区块生成节点的选举过程示意图,如图1b所示,假设区块链网络中包括四个节点,即节点1、节点2、节点3和节点4。各节点可以通过共识算法选举区块生成节点,如节点2胜出并宣布成为区块生成节点。其中,共识算法可以采用POW(Proof of Work,工作量证明)算法,也可以采用DPOS(Delegated Proof of Stake,委托权益证明)算法等。当然,本领域的技术人员还可以根据实际需求,建立其他可以选举产生区块生成节点的方法,本发明实施例对此并不进行限制。
S120、根据合约发起声明中的要素要求,从区块链的事务数据中或区块链网络的节点中进行数据采集。
其中,要素,可能是所要创建的智能合约的参与方、合约成立条件、合约内容、以及合约期限等任意智能合约成立的数据。要素要求为合约发起声明中规定的对要获取的要素内容的要求,可以是一系列规定或条件。例如,要素可以是合约参与节点,则要素要求可以是合约发起声明中规定的节点数量以及节点的性能参数等。
相应的,区块生成节点接收到合约发起声明后,根据合约发起声明中的要素要求,在区块链网络中对满足要素要求的数据进行采集。具体的,区块生成节点可以从区块链的事务数据中直接进行数据采集,也可以从响应合约发起声明的节点中进行数据采集。
在本发明的一个可选实施例中,根据合约发起声明中的要素要求,从区块链的事务数据中或区块链网络的节点中进行数据采集包括:
根据所述合约发起声明中的要素要求,从区块链的历史区块的事务数据中或当前未添加至区块的事务数据中,查询要素承诺声明,根据所述要素承诺声明采集要素数据;或者
根据所述合约发起声明中的要素要求,在区块链网络中广播要素采集请求,接收区块链网络的节点反馈的要素承诺声明,根据所述要素承诺声明采集要素数据。
其中,历史区块可以是已经添加到区块链中的区块,要素承诺声明可以是在合约发起声明产生之前预先由节点提供后收集存储的,是满足合约发起声明中要素要求的需求条件的参数说明。例如,对于分布式存储服务的智能合约,要素承诺声明可以是节点在区块链网络中广播的节点性能信息或押金信息等。要素采集请求可以是针对要素要求所制定的用于采集满足要素要求数据的逻辑处理请求。
在本发明实施例中,区块生成节点获取要素承诺声明可以通过两种方式实现。第一,区块生成节点可以在已经添加到区块链的历史区块中的事务数据中,或者从当前正在处理的还未添加到区块的事务数据中,主动查询满足要素要求的要素承诺声明。也即,要素承诺声明可以是在合约发起声明之前区块链网络中的节点广播的涉及节点参数的信息或协议,也可以是在合约发起声明之后,在区块链网络中广播合约发起声明,接收到合约发起声明的其他区块链网络节点实时反馈的涉及节点参数的信息或协议,以供区块生成节点参考。第二,区块生成节点还可以通过广播满足要素要求的要素采集请求,被动接收其他节点根据要素采集请求实时反馈的要素承诺声明。在区块生成节点获取到要素承诺声明后,直接根据要素承诺声明采集要素数据。
示例性的,发起合约发起声明的节点想利用多个节点进行数据存储,则合约发起声明的要素要求可以是数据存储时间、要求的节点数量以及节点需要满足的性能参数。原始存储节点对合约发起声明进行广播,区块生成节点接收到合约发起声明后,可以在历史区块的事务数据中或当前未添加至区块的事务数据中,查询网络中哪些节点广播的信息(例如,剩余的存储空间以及性能参数等)满足要素要求,直接对满足要素要求的节点采集相应的数据。另外,由于合约发起声明在区块链网络中广播传输,因此,网络中的其他节点也可以接收合约发起声明,如果节点确定其满足合约发起声明中的要素要求,且愿意与发起合约发起声明的节点建立合作,则可以广播满足要素要求的要素承诺声明。区块生成节点进而可以通过被动接收节点的要素承诺声明直接从满足要素要求的节点采集相应的数据。对于建立智能合约的双方,可能都存在需求,例如存储需求,以及提供存储空间盈利的需求,那么,合约发起声明和要素承诺声明可以不必有依赖性的先后发起,而是由节点按需发起,再由区块生成节点进行协调配对的。
在本发明的一个可选实施例中,还可以包括:从区块链网络中接收作为事务数据的要素承诺声明,添加至区块中,并通过所述区块链网络进行确认存储。
相应的,为了便于区块生成节点在后续生成智能合约的过程中从区块链的历史区块的事务数据中查询要素承诺声明,区块生成节点可以直接将接收的要素承诺声明作为事务数据,并将其添加至区块中进行保存。S130、将采集的数据作为要素数据添加至所述合约发起声明,形成智能合约。
相应的,区块生成节点采集到要素数据后,直接将其添加到合约发起声明中,进而形成智能合约。由此可见,本发明实施例中的区块生成节点不仅可以完成智能合约的打包和记录功能,还能直接参与智能合约的生成过程,为智能合约的生成提供必要的数据。生成的智能合约,可以经过或不经过合约发起声明对应节点的确认。
S140、将所述智能合约添加至区块中,并通过所述区块链网络进行确认存储。
在本发明实施例中,同样由区块生成节点将形成的智能合约进行打包和记录,添加至区块中,并通过区块链网络发送给其他节点,进行确认并存储。
本发明实施例通过区块生成节点根据接收的合约发起声明中的要素要求,从区块链的事务数据中或区块链网络的节点中进行数据采集,并将采集的数据作为要素数据添加至合约发起声明以形成智能合约,再由区块生成节点对智能合约进行打包记录,将其添加到区块中,从而实现了区块生成节点参与智能合约的生成过程,发挥了区块生成节点能更多调度区块链网络中节点资源的优势,以及能够通过动态变化的区块生成节点的公信力,提高智能合约的可信度。上述技术方案解决了现有区块链网络中智能合约的局限性问题,从而丰富了智能合约的功能。
实施例二
图2a是本发明实施例二提供的一种区块链网络的数据处理方法的流程图,图2b是本发明实施例二提供的一种区块生成节点参与生成智能合约的示意图,本实施例以上述实施例为基础进行具体化,在本实施例中,将合约发起声明具体为租赁承诺。相应的,本发明实施例所提供的区块链网络的数据处理方法可以适用于区块生成节点依据租赁节点发起的租赁承诺形成智能合约的情况,该情况具体涉及两种角色的节点,即租赁节点和承租节点。租赁节点是有租赁某种资源或能力的节点,承租节点是提供租赁资源或能力的节点。
如图2a所示,本实施例的方法可以包括:
S210、从区块链网络中的租赁节点接收作为合约发起声明的租赁承诺。
其中,所述租赁承诺的内容包括下述至少一项:租赁节点公钥、保证金、待存储文件的副本数量和大小、租赁期限、租赁成本、以及承租节点要求。租赁承诺可以是经过租赁节点私钥签名的消息。
其中,租赁节点可以是通过合约发起声明体现其租赁需求的节点,租赁需求指的是租赁其他节点为其服务时所规定的约束条件。例如,租赁需求可以是利用其他节点的存储空间或计算能力为其服务。租赁承诺可以是租赁节点依据其租赁需求所制定的一系列规定或条件等。租赁承诺中的保证金可以是租赁节点需要被冻结的押金。待存储文件可以是文本、图片、视频、音频以及其他类型(如zip格式的压缩文件等)的可存储的文件,本发明实施例并不对待存储文件的类型进行限定。租赁期限可以是租赁节点租赁承租节点的起止时间,租赁成本可以包括租赁节点愿意为承租节点提供的奖励金等。承租节点要求可以是对承租节点的存储空间、计算能力、稳定性、可靠性以及历史租赁承诺的成功完成率等信息所提出的要求。
在本发明实施例中,租赁承诺体现了租赁节点的租赁需求。租赁节点可以通过租赁承诺获取满足其租赁需求的承租节点。其中,租赁需求包括但不限于承租节点的数量、性能、租赁的起止时间以及其他的一些需求等,承租节点可以是至少两个。租赁节点可以将租赁承诺在区块链网络中进行广播,使得区块生成节点可以接收到租赁承诺,并依据接收到的租赁承诺确定承租节点。
S220、根据所述租赁承诺中的租赁需求,从区块链的事务数据中或区块链网络的节点中采集的要素数据至少包括如下至少一种:承租节点信息、承租金额和承租时间。
其中,承租节点信息包括但不限于节点的押金、存储空间、计算性能、负载性能、稳定性、可靠性以及历史租赁承诺的成功完成率等。承租金额可以是承租节点规定的使用本节点为其服务所要支付的金额。承租时间可以是与租赁节点建立合作关系的起止时间。
具体的,区块生成节点在确定承租节点时,需要依据租赁承诺中的租赁需求,以区块链的事务数据(包括历史区块的事务数据和当前未添加至区块的事务数据)作为数据源进行数据采集。或者,区块生成节点还可以直接从区块链网络的节点进行数据采集。例如,租赁需求中涉及到对承租节点的存储空间以及承租金额的需求,则区块生成节点只要在区块链的事务数据或在其他节点中搜索到包括承租节点的存储空间信息和承租金额的要素数据,即可以将要素数据对应的节点作为承租候选节点。示例性的,如图2b所示,租赁节点在区块链网络中广播发布租赁承诺,区块生成节点接收租赁承诺。同时,区块生成节点根据其他节点广播发布的承租承诺确定了3个承租候选节点,即承租候选节点1、承租候选节点2和承租候选节点3。当智能合约确认存储后,承租候选节点1、承租候选节点2和承租候选节点3,则成为承租节点1、承租节点2和承租节点3(图2b中未示出)。
S230、根据从承租承诺中采集到的承租节点信息进行筛选,从而选择承租节点,其中,所述承租节点信息至少包括:历史租赁承诺的成功完成率,以及押金。
其中,要素承诺声明为经过承租节点私钥签名的承租承诺,承租承诺的内容可以包括下述至少一项:承租节点的公钥、承租节点的押金、承租节点能提供的存储空间、以及承租有效期。另外,承租承诺的内容还可以包括承租节点的性能信息,如计算性能、稳定性和可靠性等,本发明实施例并不对承租承诺的内容进行限定。历史租赁承诺的成功完成率指的是承租节点在已经接受租赁承诺后,其按承租承诺规定的任务按期且按时完成的成功率,可以由区块生成节点负责统计和记录。
在本发明实施例中,区块生成节点从区块链的事务数据中或区块链网络的节点中采集要素数据即为从承租承诺中采集要素数据。为了对租赁节点提供基本的信用保障,区块生成节点在确定承租候选节点后,可以依据承租节点信息中包括的历史租赁承诺的成功完成率以及押金等对承租候选节点进行筛选,以确定满足租赁承诺的承租节点。需要说明的是,接收到包含承租承诺区块的每个节点都会读取区块中所有做出有效的承租承诺的承租节点的信息,并对所有有效的承租节点进行承租信用分计算。因此,区块生成节点可获知承租候选节点的具体情况,据此进行筛选。其中,影响承租信用分的因素包括但不限于:1)历史租赁承诺的成功完成率。成功率越高,承租信用分越高;2)承租节点愿意付出的押金(同时检查该承租节点是否拥有足够的虚拟货币作为押金)。押金越高,承租信用分越高。
S240、将选择的承租节点的关联数据,作为要素数据添加至所述租赁承诺,形成所述智能合约。
其中,关联数据可以是承租承诺中满足租赁承诺的租赁需求的相关数据,例如,承租节点的公钥、押金、能提供的存储空间以及承租有效期等。
相应的,在区块生成节点确定承租节点后,可以将承租节点的关联数据作为要素数据添加至租赁承诺中,从而形成一份数据完整的智能合约。
在一个具体的例子中,将生成的智能合约用于分布式的文件存储时,区块生成节点参与租赁节点和承租节点之间生成的智能合约可以包括两种形式。第一,租赁节点发起租赁承诺(包括租赁开始时间、结束时间、可付价格、以及其他租赁需求等,还可以包括承租节点数量和性能等参数),并在区块链网络中进行广播。区块生成节点接收到租赁承诺,并从承租候选节点中确定承租节点,达成智能合约。其中,区块生成节点可以在区块被区块链确认后,再将承租节点告知给租赁节点以便传输待存储数据。第二,租赁节点发起租赁承诺包括租赁开始时间、结束时间、可付价格、以及其他租赁需求等,还可以包括承租节点数量和性能等参数),并在区块链网络中进行广播。接收到租赁承诺的节点,接受此租赁承诺,并向区块生成节点反馈承租承诺,从而成为承租节点。区块生成节点将指定有承租节点以及租赁条件的租赁承诺(相当于智能合约)添加到区块中,并通过区块链网络进行确认存储。
需要说明的是,承租节点还可以在承租承诺的有效期结束后,更新并发布新的承租承诺。
S250、将所述智能合约添加至区块中,并通过所述区块链网络进行确认存储。
需要说明的是,上述依据租赁节点发起的租赁承诺形成智能合约的过程也可以由租赁节点部分取代区块生成节点完成,例如,区块生成节点将候选承租节点提供给租赁节点进行筛选等。智能合约达成后,租赁节点可以将智能合约进行广播或发送至区块生成节点,使得区块生成节点将接收的智能合约添加至区块中,并通过区块链网络进行确认存储。
采用上述技术方案,通过将租赁承诺作为合约发起声明,以明确租赁节点的租赁需求,并通过区块生成节点接收租赁承诺,使其根据租赁承诺中的租赁需求查询或接收承租承诺,以确定满足租赁需求的承租节点,进而根据租赁节点与承租节点的关系,以及一些列规定和条件形成相应的智能合约,打破了现有区块链网络中的智能合约只能由参与方制定的局限性,使得区块生成节点参与到智能合约的生成过程,从而丰富智能合约的功能。
本领域技术人员可以理解,本发明实施例的技术方案,还可以适用于其他租赁场景,不限于租赁存储空间存储文件的场景。例如,还可以租赁数据计算资源等。
实施例三
图3a是本发明实施例三提供的一种区块链网络的数据处理方法的流程图,本实施例以上述实施例为基础进行具体化,在本实施例中,给出了采用区块链网络对待存储文件进行分布式存储的具体实现方式。相应的,本发明实施例所提供的区块链网络的数据处理方法可以适用于区块链网络对待存储文件进行分布式存储。如图3a所示,本实施例的方法可以包括:
S310、区块生成节点从区块链网络中的租赁节点接收作为合约发起声明的租赁承诺,其中,所述租赁承诺的内容包括下述至少一项:租赁节点公钥、保证金、待存储文件的副本数量和大小、租赁期限、租赁成本、以及承租节点要求。
其中,租赁节点可以是具有文件云存储需求的节点,用于上传待存储文件。当一个节点有租赁需求时,可以在区块链网络中进行广播,此时,它成为一个租赁候选节点,当智能合约生成并存储确认后,成为租赁节点。
S320、区块生成节点根据所述租赁承诺中的租赁需求,从区块链的事务数据中或区块链网络的节点中采集的要素数据至少包括如下至少一种:承租节点信息、承租金额、和承租时间。
其中,承租节点可以是存储文件分块的节点。当一个节点想利用自身的存储空间为满足租赁需求的租赁节点存储数据时,可以在区块链网络中进行广播。此时,它成为一个承租候选节点,当智能合约生成并存储确认后,成为承租节点。需要说明的是,每个承租节点在智能合约的有效期内需要不停的在区块链网络中写入证明数据,证明自己正在线上提供数据存储服务。
S330、区块生成节点根据从承租承诺中采集到的承租节点信息进行筛选,从而选择承租节点,其中,所述承租节点信息至少包括:历史租赁承诺的成功完成率,以及押金。
S340、租赁节点将待存储文件进行分组,形成多个数据分组。
其中,数据分组可以是待存储文件的其中一部分文件数据。
在本发明实施例中,在对待存储文件进行分布式存储之前,首先需要将待存储文件进行分组,将其划分为多个数据分组。需要说明的是,对待存储文件进行分组可以采用平均划分为N个数据分组的方式,使得每个数据分组包括相同数据量的文件数据。也可以采用随机划分的方式对待存储文件进行分组,使得每个数据分组包括不同数据量的文件数据。当然,本领域技术人员还可以根据实际需求,在本技术方案的技术背景下,建立其他的文件分组的方式,本发明实施例对此并不进行限制。
在本发明的一个可选实施例中,还可以包括:采用密钥对各数据分组进行顺序加密,其中,除第一个数据分组外的其他每个数据分组的密钥根据前一个数据分组的密文产生;记录所述各数据分组的加密顺序。
为了提高数据分组的安全性,对待存储文件进行分组后,需要对各数据分组进行加密。可选的,数据分组的加密方式可以是顺序加密。具体是:对各数据分组采用对称加密算法及分组加密机制进行加密,每次可以对128个比特的数据进行对称加密,加密的密钥最多可以达到256个比特。其中,第一个数据分组可以单独加密并产生对应的密文,后续在对其他的数据分组加密时,需要以前一个数据分组的密文作为一部分输入来对下一个数据分组的输出进行混淆。具体是采用前一个数据分组的密文来计算确定下一个数据分组的密钥。下一个数据分组的密钥可以包括一部分固定密钥,另一部分是通过密文计算确定的。由于传统CPU(中央处理器,Central Processing Unit/Processor)未针对分组加密算法进行过指令集优化,因此,对上述依赖前一个数据分组的顺序加密方式进行暴力破解需要付出巨大的攻击代价。此外,即使密钥泄漏也不会导致存储文件内容的泄漏,因为攻击者还需要获取全部数据分组并了解其加密顺序,才有可能破解出存储文件的内容。在采用密钥对各数据分组进行顺序加密后,为了便于后期恢复原始待存储文件,还需要对各数据分组的加密顺序进行记录。
在本发明的一个可选实施例中,记录各数据分组的加密顺序包括:按照数据分组的加密顺序,计算各数据分组的哈希值,形成原始梅克尔树(Merkle trees)。
其中,原始梅克尔树是依据数据分组计算所得各个哈希值为基础建立的梅克尔树。示例性的,图3b是本发明实施例三所涉及的原始梅克尔树的结构示意图。如图3b所示,待存储文件可以包括四个数据分组(DATA BLOCK),分别计算各数据分组的哈希值,按照从左至右的顺序形成梅克尔树的叶节点(Hash-LEAF),而后两两叶节点组合再计算哈希值作为上层分支(Hash-BRANCH),直至计算出梅克尔树的根节点(Hash-ROOT)。梅克尔树不仅记录了数据分组的哈希值,还以树状结构记录了数据分组的顺序。在该原始梅克尔树中,以第二个数据分组(DATA BLOCK2)为例,还记录了其存储于三个数据分片(DATA SHARD1、DATASHARD2和DATA SHARD3)中。
相应的,可以采用梅克尔树的方式对各数据分组的加密顺序进行记录,进而利用梅克尔树的优势提升分布式网络的运行效率和可扩展性,并可以作为后期恢复数据的校验凭据。
S350、租赁节点将全部数据分组形成至少三个数据分片,其中,每个数据分片中包括部分数据分组,且每个数据分组添加到至少两个数据分片中。
在本发明实施例中,数据分片由部分数据分组组成,即每个数据分片并不需要包括所有的数据分组。其中,各个数据分片中所包括的数据分组的数量可以相同,也可以不同,例如,数据分片包括的数据分组数量可以是2个、5个、8个或者更多,本发明实施例并不对数据分片包括的数据分组的数量进行限定。
需要说明的是,为了提高数据存储的安全性,租赁节点可以将全部的数据分组形成至少三个数据分片,并且能够保证每个数据分组都可以添加到至少两个数据分片中,即保证每个数据分组至少形成了两个存储副本。在分组成片的处理过程中,数据分组会进行冗余存储,对于M副本存储来说,一个数据分组会在M个数据分片中出现。副本的数量M大于或等于2,可以预先设定,也可以根据实际情况,例如存储文件的重要性等级、承租节点的稳定性情况进行动态调整。
S360、租赁节点将各数据分片在确定的承租节点中进行分布式存储。
在本发明实施例中,可以将根据数据分组形成的数据分片在确定的各承租节点中进行分布式存储,而非直接存储待存储文件形成的数据分组。可选的,每个承租节点可以只存储一个数据分片。
相应的,在将各数据分片在各承租节点中进行分布式存储时,可以采用里德-所罗门冗余算法(Reed-Solomon Redundancy)。这种算法通过多项式运算/纠错码(ErasureCode)来纠正错误数据。因此,即使有部分节点掉线或者数据损坏,数据文件仍然可以被成功恢复和访问。示例性的,一份待存储文件被分割为多个数据分组,形成数据分片后散布且M副本冗余存储在N个承租节点上(例如30个节点,3副本存储),每个承租节点存储一部分数据分组。只要有N/M个正常分布式承租节点存活,就可以恢复原始的待存储文件。
在一个具体的例子中,可以采取3副本冗余存储。在使用30个承租节点的情况下,只要同时有10个正常承租节点存活,就可以提供可用的存储服务。假设每个承租节点的可靠性仅为50%,则经过简单的计算,可以得出区块链网络的服务稳定性是f=1-(1-70%)21,即99.99995%。
S370、区块生成节点将选择的承租节点的关联数据,作为要素数据添加至所述租赁承诺,形成所述智能合约。
S380、区块生成节点将所述智能合约添加至区块中,并通过所述区块链网络进行确认存储。
租赁节点也可以在智能合约生成后,再将数据分片传输给承租节点存储。
S390、租赁节点记录数据分片与数据分组的对应关系,以及承租节点与所存储数据分片的对应关系,并删除租赁节点本地的待存储文件。
其中,数据分片与数据分组的对应关系可以实现通过数据分组查找对应的数据分片,承租节点与所存储数据分片的对应关系可以实现通过所存储的数据分片查找对应的承租节点,以便从承租节点中下载对应的所存储数据分片。同时,两组对应关系还可以实现对数据分组的验证。需要说明的是,两组对应关系可以由区块生成节点记录,也可以由租赁节点进行记录。
在本发明实施例中,根据数据分片与数据分组的对应关系,以及承租节点与所存储数据分片的对应关系,可以实现对数据分组和数据分片的隐私保护。相应的,在完成各数据分片的存储以及各对应关系的记录后,即可以删除租赁节点本地的待存储文件,以防止待存储文件被不法攻击者所获取。
在一个具体的例子中,数据分片与数据分组的对应关系可以是:数据分片1包括编号分别为1、2和3对应的数据分组。承租节点与所存储数据分片的对应关系可以是承租节点5存储编号为1的数据分片。
在本发明的一个可选实施例中,记录数据分片与数据分组的对应关系,以及承租节点与所存储数据分片的对应关系包括:采用梅克尔树形式记录数据分片中所包括的数据分组的哈希值,作为分片梅克尔树;记录各分片梅克尔树与各所述数据分片所在承租节点的对应关系。
其中,分片梅克尔树是依据数据分片中所包括的数据分组计算所得各个哈希值为基础建立的梅克尔树。
在本发明实施例中,可以使用梅克尔树来进行记录每个数据分片的结构。由于在获取原始梅克尔树时为每个数据分组设置了对应的顺序编号ID和对应内容的hash值,所以每个数据分片可以依据其包括的数据分组的哈希值最终计算获取一个对应的分片梅克尔树。在分片梅克尔树中,数据分组的顺序不必与原始加密顺序相同,可以将数据分组任意的两两组合计算梅克尔树的哈希分支。
相应的,在获取到各数据分片对应的分片梅克尔树后,可以将各分片梅克尔树与各数据分片所在的承租节点之间的对应关系进行记录。每个数据分片对应一个分片梅克尔树。
在本发明实施例中,通过对数据分组按顺序加密后依据各数据分组的哈希值形成原始梅克尔树,以及通过数据分片中所包括的数据分组的哈希值形成分片梅克尔树,能够实现对数据分组以及数据分片的数据查找和校验,提高存储文件的私密性和安全性,从而有效避免攻击者恢复原始文件。
相应的,在恢复存储文件时,可以依据产生存储文件查询请求,根据记录的数据分片与数据分组的对应关系,以及承租节点与所存储数据分片的对应关系,分别从承租节点中下载各数据分组;根据各数据分组恢复形成存储文件。
具体的,可以根据本地记录的各数据分组的加密顺序,确定第一个数据分组作为当前数据分组;根据数据分片与数据分组的对应关系,以及承租节点与所存储数据分片的对应关系,确定当前数据分组所在的承租节点,作为当前分组节点。从当前分组节点下载数据分片,并从数据分片中提取当前数据分组。计算提取出的当前数据分组的哈希值,与本地存储当前数据分组的哈希值,并进行匹配,以验证当前数据分组的有效性。验证通过后,采用对应密钥对当前数据分组进行解密,采用当前数据分组的密文确定下一个数据分组的对应密钥;将下一个数据分组更新为当前数据分组。如果当前数据分组存储于已下载数据分片,则返回执行解密操作。如果当前数据分组未存储于已下载数据分片,则返回执行确定当前分组节点的操作,直至所有数据分组下载完成,并根据各数据分组恢复形成存储文件。
在一个具体的例子中,以某网盘创建区块链网络并采用本发明实施例所提供的区块链网络的数据处理方法。网盘首先成为区块链网络的创始节点,并为自己选择一个用于非对称加密的公钥/私钥的密钥对。此时,网盘对应的节点就是区块生成节点,同时承担租赁节点和承租节点的角色,并开始生成创世区块。当N个区块生成完成后,最初的创世区块的安全性就可以得到保障(攻击者必须拥有大大超过全网50%总算力的算力,并同时攻击算力强大到可以逆推N个区块,回退到创世区块)。此时可以对外发布区块链网络,允许全网其他节点加入形成区块链网络中的分布式节点。网盘作为创始节点,通过在生成区块的过程中,可以获得一定量的虚拟货币资产,可以用来作为冷启动资金(即保证金和租赁成本),以盘活最初的分布式云存储生态经济。网盘可以把这些虚拟货币奖励给最初加入区块链网络的节点,也可以发布最初的存储任务,把虚拟货币奖励给成功完成这些存储任务的承租节点。当虚拟货币资产分布到区块链网络中各个节点的时候,就可以初步建立分布式云存储生态经济并自适应地运行。
相应的,当区块链网络中存在多个节点时,各个节点开始依据共识机制竞争成为新一轮的区块生成节点。区块生成节点可以获得一定的虚拟货币作为区块生成奖励。当本轮区块生成后,开启下一轮区块生成节点的竞争过程。当一个节点愿意成为一个承租节点时,使用自身的私钥签名自身的承租承诺(包括节点自身的公钥、愿意付出的押金、自身能够提供的可用存储空间、该承租承诺对应的有效期等),然后在区块链网络中进行广播。承租节点可以在该承租承诺有效期结束后,更新并发布新的承租承诺。区块生成节点会将收到的承租承诺记录到一个区块中,发布到区块链网络上。根据整个区块链网络的分布式共识机制,每个节点都会读取区块中所有做出有效的承租承诺的承租节点的信息,并对所有有效的承租节点进行承租信用分计算。当一个节点(例如,代表百度网盘的节点)有租赁需求时,也即该节点需要区块链网络上的其它节点来帮其存储文件时,开始具有租赁需求的租赁承诺的准备过程:为每个承租节点准备好其需要存储的数据分片;使用自己的私钥对租赁承诺(包括节点自身的公钥、愿意付出的保证金、形成的数据分片的数量、数据分片的大小、租赁期限以及愿意付出的租赁成本等)进行签名,并将租赁承诺在区块链网络中进行广播。区块生成节点会将收到的租赁承诺进行处理,调取匹配的承租节点,生成智能合约。其中,智能合约中指定了租赁节点与承租节点,也记录了每个承租节点分别需要存储哪个文件分块;每个承租节点成功完成存储任务后可以获得多少奖励;每个租赁节点和承租节点需要被冻结的押金等。另外还记录了一些惩罚措施,例如,如果承租节点没有成功完成存储任务,则承租节点的押金将被扣除。区块生成节点将生成的智能合约记录到一个区块中,并发布到区块链网络上,此时智能合约的准备阶段生效。
相应的,在智能合约的准备阶段生效后,租赁节点开始根据智能合约,向各个承租节点分别传输数据。数据传输完成后,租赁节点和承租节点分别向全网进行广播。接收到广播消息的区块生成节点将智能合约的状态由准备变为已生效。
本发明实施例通过区块生成节点参与租赁节点与承租节点之间达成的智能合约后,将租赁节点中本地存的待存储文件以数据分片的方式在确定的承租节点中进行分布式存储,从而实现了数据的分布式存储。通过对数据分组进行顺序加密,极大增加了攻击承租节点来恢复原始存储文件的难度。分布式存储能够解决中心化存储的瓶颈问题,降低带宽成本和存储成本,且采用数据分组的多副本存储,避免由于部分承租节点的故障而导致数据整体的不可恢复。并且,由于每个承租节点中所存储的数据分片都没有包括所有的数据组分,所以不可能通过攻破一个承租节点就能恢复原始存储文件。上述技术方案通过丰富智能合约的功能解决区块链网络中智能合约的局限性问题,以实现文件数据的分布式存储,解决了现有云存储技术产生的存储成本持续增高以及分布式存储技术引发的数据存储不安全的问题,便于用户在区块链网络中进行文件存储以降低存储成本,且能够有效提高存储文件的私密性和安全性,从而避免攻击者恢复原始文件。
实施例四
图4是本发明实施例四提供的一种区块链网络的数据处理装置的示意图,如图4所示,所述装置包括:声明接收模块410、数据采集模块420、合约形成模块430以及存储确认模块430,其中:
声明接收模块410,用于从区块链网络中接收作为事务数据的合约发起声明;
数据采集模块420,用于根据合约发起声明中的要素要求,从区块链的事务数据中或区块链网络的节点中进行数据采集;
合约形成模块430,用于将采集的数据作为要素数据添加至所述合约发起声明,形成智能合约;
存储确认模块440,用于将所述智能合约添加至区块中,并通过所述区块链网络进行确认存储。
本发明实施例通过区块生成节点根据接收的合约发起声明中的要素要求,从区块链的事务数据中或区块链网络的节点中进行数据采集,并将采集的数据作为要素数据添加至合约发起声明以形成智能合约,再由区块生成节点对智能合约进行打包记录,将其添加到区块中,从而实现了区块生成节点参与智能合约的生成过程,发挥了区块生成节点能更多调度区块链网络中节点资源的优势,以及能够通过动态变化的区块生成节点的公信力,提高智能合约的可信度。上述技术方案解决了现有区块链网络中智能合约的局限性问题,从而丰富了智能合约的功能。
可选的,数据采集模块420,还用于根据所述合约发起声明中的要素要求,从区块链的历史区块的事务数据中或当前未添加至区块的事务数据中,查询要素承诺声明,根据所述要素承诺声明采集要素数据;或者
根据所述合约发起声明中的要素要求,在区块链网络中广播要素采集请求,接收区块链网络的节点反馈的要素承诺声明,根据所述要素承诺声明采集要素数据。
可选的,所述装置还包括:数据存储模块,用于从区块链网络中接收作为事务数据的要素承诺声明,添加至区块中,并通过所述区块链网络进行确认存储。
可选的,所述合约发起声明为租赁承诺,数据采集模块420,还用于根据所述租赁承诺中的租赁需求,从区块链的事务数据中或区块链网络的节点中采集的要素数据至少包括如下至少一种:承租节点信息、承租金额、和承租时间。
可选的,声明接收模块410,还用于从区块链网络中的租赁节点接收作为合约发起声明的租赁承诺,其中,所述租赁承诺的内容包括下述至少一项:租赁节点公钥、保证金、待存储文件的副本数量和大小、租赁期限、租赁成本、以及承租节点要求;
其中,所述要素承诺声明为经过承租节点私钥签名的承租承诺,所述承租承诺的内容包括下述至少一项:承租节点的公钥、承租节点的押金、承租节点能提供的存储空间、以及承租有效期。
可选的,合约形成模块430,还用于根据从承租承诺中采集到的承租节点信息进行筛选,从而选择承租节点,其中,所述承租节点信息至少包括:历史租赁承诺的成功完成率,以及押金;将选择的承租节点的关联数据,作为要素数据添加至所述租赁承诺,形成所述智能合约。
可选的,所述承租节点的数量为至少两个。
上述区块链网络的数据处理装置可执行本发明任意实施例所提供的区块链网络的数据处理方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例提供的区块链网络的数据处理方法。
实施例五
图5为本发明实施例五提供的一种计算机设备的结构示意图。图5示出了适于用来实现本发明实施方式的计算机设备512的框图。图5显示的计算机设备512仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。计算机设备512典型的是承担区块链系统节点功能的计算设备。
如图5所示,计算机设备512以通用计算设备的形式表现。计算机设备512的组件可以包括但不限于:一个或者多个处理器516,存储装置528,连接不同系统组件(包括存储装置528和处理器516)的总线518。
总线518表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture,ISA)总线,微通道体系结构(Micro Channel Architecture,MCA)总线,增强型ISA总线、视频电子标准协会(Video Electronics Standards Association,VESA)局域总线以及外围组件互连(Peripheral Component Interconnect,PCI)总线。
计算机设备512典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备512访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储装置528可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory,RAM)530和/或高速缓存存储器532。计算机设备512可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统534可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如只读光盘(Compact Disc-Read Only Memory,CD-ROM)、数字视盘(Digital Video Disc-Read Only Memory,DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线518相连。存储装置528可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块526的程序536,可以存储在例如存储装置528中,这样的程序模块526包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块526通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备512也可以与一个或多个外部设备514(例如键盘、指向设备、摄像头、显示器524等)通信,还可与一个或者多个使得用户能与该计算机设备512交互的设备通信,和/或与使得该计算机设备512能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口522进行。并且,计算机设备512还可以通过网络适配器520与一个或者多个网络(例如局域网(Local AreaNetwork,LAN),广域网Wide Area Network,WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器520通过总线518与计算机设备512的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备512使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、磁盘阵列(Redundant Arrays of IndependentDisks,RAID)系统、磁带驱动器以及数据备份存储系统等。
处理器516通过运行存储在存储装置528中的程序,从而执行各种功能应用以及数据处理,例如实现本发明上述实施例所提供的区块链网络的数据处理方法。
也即,所述处理单元执行所述程序时实现:从区块链网络中接收作为事务数据的合约发起声明;根据合约发起声明中的要素要求,从区块链的事务数据中或区块链网络的节点中进行数据采集;将采集的数据作为要素数据添加至所述合约发起声明,形成智能合约;将所述智能合约添加至区块中,并通过所述区块链网络进行确认存储。
通过所述计算机设备根据接收的合约发起声明中的要素要求,从区块链的事务数据中或区块链网络的节点中进行数据采集,并将采集的数据作为要素数据添加至合约发起声明以形成智能合约,再由区块生成节点对智能合约进行打包记录,将其添加到区块中,从而实现了区块生成节点参与智能合约的生成过程,发挥了区块生成节点能更多调度区块链网络中节点资源的优势,以及能够通过动态变化的区块生成节点的公信力,提高智能合约的可信度。上述技术方案解决了现有区块链网络中智能合约的局限性问题,从而丰富了智能合约的功能。
实施例六
本发明实施例六还提供一种存储计算机程序的计算机存储介质,所述计算机程序在由计算机处理器执行时用于执行本发明上述实施例任一所述的区块链网络的数据处理方法:从区块链网络中接收作为事务数据的合约发起声明;根据合约发起声明中的要素要求,从区块链的事务数据中或区块链网络的节点中进行数据采集;将采集的数据作为要素数据添加至所述合约发起声明,形成智能合约;将所述智能合约添加至区块中,并通过所述区块链网络进行确认存储。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(Read Only Memory,ROM)、可擦式可编程只读存储器((Erasable Programmable ReadOnly Memory,EPROM)或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、射频(Radio Frequency,RF)等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种区块链网络的数据处理方法,其特征在于,应用于区块链网络中的区块生成节点,所述方法包括:
从区块链网络中接收作为事务数据的合约发起声明;
根据合约发起声明中的要素要求,从区块链的事务数据中或区块链网络的节点中进行数据采集;
将采集的数据作为要素数据添加至所述合约发起声明,形成智能合约;
将所述智能合约添加至区块中,并通过所述区块链网络进行确认存储。
2.根据权利要求1所述的方法,其特征在于,根据合约发起声明中的要素要求,从区块链的事务数据中或区块链网络的节点中进行数据采集包括:
根据所述合约发起声明中的要素要求,从区块链的历史区块的事务数据中或当前未添加至区块的事务数据中,查询要素承诺声明,根据所述要素承诺声明采集要素数据;或者
根据所述合约发起声明中的要素要求,在区块链网络中广播要素采集请求,接收区块链网络的节点反馈的要素承诺声明,根据所述要素承诺声明采集要素数据。
3.根据权利要求2所述的方法,其特征在于,还包括:
从区块链网络中接收作为事务数据的要素承诺声明,添加至区块中,并通过所述区块链网络进行确认存储。
4.根据权利要求1-3任一所述的方法,其特征在于,所述合约发起声明为租赁承诺,相应的,根据所述合约发起声明中的要素要求,从区块链的事务数据中或区块链网络的节点中进行数据采集包括:
根据所述租赁承诺中的租赁需求,从区块链的事务数据中或区块链网络的节点中采集的要素数据至少包括如下至少一种:承租节点信息、承租金额、和承租时间。
5.根据权利要求4所述的方法,其特征在于,从区块链网络中接收作为事务数据的合约发起声明包括:
从区块链网络中的租赁节点接收作为合约发起声明的租赁承诺,其中,所述租赁承诺的内容包括下述至少一项:租赁节点公钥、保证金、待存储文件的副本数量和大小、租赁期限、租赁成本、以及承租节点要求;
其中,所述要素承诺声明为经过承租节点私钥签名的承租承诺,所述承租承诺的内容包括下述至少一项:承租节点的公钥、承租节点的押金、承租节点能提供的存储空间、以及承租有效期。
6.根据权利要求5所述的方法,其特征在于,将采集的数据作为要素数据添加至所述合约发起声明,形成智能合约包括:
根据从承租承诺中采集到的承租节点信息进行筛选,从而选择承租节点,其中,所述承租节点信息至少包括:历史租赁承诺的成功完成率,以及押金;
将选择的承租节点的关联数据,作为要素数据添加至所述租赁承诺,形成所述智能合约。
7.根据权利要求6所述的方法,其特征在于,所述承租节点的数量为至少两个。
8.一种区块链网络的数据处理装置,其特征在于,包括:
声明接收模块,用于从区块链网络中接收作为事务数据的合约发起声明;
数据采集模块,用于根据合约发起声明中的要素要求,从区块链的事务数据中或区块链网络的节点中进行数据采集;
合约形成模块,用于将采集的数据作为要素数据添加至所述合约发起声明,形成智能合约;
存储确认模块,用于将所述智能合约添加至区块中,并通过所述区块链网络进行确认存储。
9.一种计算机设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的区块链网络的数据处理方法。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的区块链网络的数据处理方法。
CN201810480503.1A 2018-05-18 2018-05-18 一种区块链网络的数据处理方法、装置、设备及存储介质 Active CN108648084B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810480503.1A CN108648084B (zh) 2018-05-18 2018-05-18 一种区块链网络的数据处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810480503.1A CN108648084B (zh) 2018-05-18 2018-05-18 一种区块链网络的数据处理方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN108648084A true CN108648084A (zh) 2018-10-12
CN108648084B CN108648084B (zh) 2022-01-04

Family

ID=63756985

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810480503.1A Active CN108648084B (zh) 2018-05-18 2018-05-18 一种区块链网络的数据处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN108648084B (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109447804A (zh) * 2018-10-30 2019-03-08 杭州复杂美科技有限公司 交易分流方法、设备和存储介质
CN109542888A (zh) * 2018-12-03 2019-03-29 百度在线网络技术(北京)有限公司 区块链的数据修改和同步方法、装置、设备及存储介质
CN109558950A (zh) * 2018-11-06 2019-04-02 联动优势科技有限公司 一种确定模型参数的方法及装置
CN109635165A (zh) * 2018-12-06 2019-04-16 北京磁云数字科技有限公司 基于树形区块链网络的数据汇总方法、装置、设备及介质
CN110147992A (zh) * 2019-04-29 2019-08-20 阿里巴巴集团控股有限公司 基于区块链的账单生成方法及装置和电子设备
CN110288445A (zh) * 2019-06-28 2019-09-27 杭州复杂美科技有限公司 去中心化存储方法、设备和存储介质
CN110288346A (zh) * 2019-06-28 2019-09-27 杭州复杂美科技有限公司 区块链分布式存储下载方法、设备和存储介质
CN110300170A (zh) * 2019-06-28 2019-10-01 杭州复杂美科技有限公司 区块链分布式存储下载方法、设备和存储介质
CN110300173A (zh) * 2019-06-28 2019-10-01 杭州复杂美科技有限公司 去中心化数据存储方法、验证方法、设备和存储介质
CN110766078A (zh) * 2019-10-24 2020-02-07 广东工业大学 一种车联网环境下基于区块链的图片校验方法
CN111127205A (zh) * 2019-12-23 2020-05-08 卓尔智联(武汉)研究院有限公司 智能合约生成方法、装置、计算机设备和存储介质
CN111858771A (zh) * 2020-07-30 2020-10-30 杭州复杂美科技有限公司 分布式数据存储方法、设备和存储介质
CN113222708A (zh) * 2021-05-27 2021-08-06 济南浪潮数据技术有限公司 一种基于区块链的闲置存储空间交易方法
CN113330714A (zh) * 2019-01-17 2021-08-31 Emc Ip控股有限公司 防止数据丢失
CN113689213A (zh) * 2018-12-26 2021-11-23 创新先进技术有限公司 区块链数据处理方法、装置及系统
CN113900598A (zh) * 2021-12-10 2022-01-07 北京百度网讯科技有限公司 基于区块链的数据存储方法、装置、设备以及存储介质
CN113918102A (zh) * 2021-12-10 2022-01-11 北京百度网讯科技有限公司 一种基于区块链的数据处理方法、装置、设备及存储介质
CN113935070A (zh) * 2021-12-16 2022-01-14 北京百度网讯科技有限公司 基于区块链的数据处理方法、装置、设备以及存储介质
CN114073023A (zh) * 2019-04-26 2022-02-18 株式会社赛斯 电子设备和信息处理系统
CN114401117A (zh) * 2021-12-27 2022-04-26 浙江数秦科技有限公司 基于区块链的账户登录验证系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106897902A (zh) * 2017-02-21 2017-06-27 中链科技有限公司 基于区块链技术的服务交易方法、系统和交易服务器
CN107194778A (zh) * 2017-05-25 2017-09-22 金立彦 基于区块链的设备租赁方法及系统
CN107590659A (zh) * 2017-09-07 2018-01-16 中链科技有限公司 土地权属数据处理方法、系统和计算机可读存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106897902A (zh) * 2017-02-21 2017-06-27 中链科技有限公司 基于区块链技术的服务交易方法、系统和交易服务器
CN107194778A (zh) * 2017-05-25 2017-09-22 金立彦 基于区块链的设备租赁方法及系统
CN107590659A (zh) * 2017-09-07 2018-01-16 中链科技有限公司 土地权属数据处理方法、系统和计算机可读存储介质

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109447804A (zh) * 2018-10-30 2019-03-08 杭州复杂美科技有限公司 交易分流方法、设备和存储介质
CN109558950A (zh) * 2018-11-06 2019-04-02 联动优势科技有限公司 一种确定模型参数的方法及装置
CN109542888A (zh) * 2018-12-03 2019-03-29 百度在线网络技术(北京)有限公司 区块链的数据修改和同步方法、装置、设备及存储介质
CN109635165A (zh) * 2018-12-06 2019-04-16 北京磁云数字科技有限公司 基于树形区块链网络的数据汇总方法、装置、设备及介质
CN113689213A (zh) * 2018-12-26 2021-11-23 创新先进技术有限公司 区块链数据处理方法、装置及系统
CN113330714A (zh) * 2019-01-17 2021-08-31 Emc Ip控股有限公司 防止数据丢失
CN114073023B (zh) * 2019-04-26 2024-05-31 株式会社赛斯 电子设备和信息处理系统
CN114073023A (zh) * 2019-04-26 2022-02-18 株式会社赛斯 电子设备和信息处理系统
CN110147992A (zh) * 2019-04-29 2019-08-20 阿里巴巴集团控股有限公司 基于区块链的账单生成方法及装置和电子设备
CN110147992B (zh) * 2019-04-29 2023-08-04 创新先进技术有限公司 基于区块链的账单生成方法及装置和电子设备
CN110300173A (zh) * 2019-06-28 2019-10-01 杭州复杂美科技有限公司 去中心化数据存储方法、验证方法、设备和存储介质
CN110288445B (zh) * 2019-06-28 2024-03-05 杭州复杂美科技有限公司 去中心化存储方法、设备和存储介质
CN110300170A (zh) * 2019-06-28 2019-10-01 杭州复杂美科技有限公司 区块链分布式存储下载方法、设备和存储介质
CN110288346A (zh) * 2019-06-28 2019-09-27 杭州复杂美科技有限公司 区块链分布式存储下载方法、设备和存储介质
CN110288445A (zh) * 2019-06-28 2019-09-27 杭州复杂美科技有限公司 去中心化存储方法、设备和存储介质
CN110766078A (zh) * 2019-10-24 2020-02-07 广东工业大学 一种车联网环境下基于区块链的图片校验方法
CN111127205B (zh) * 2019-12-23 2020-11-20 卓尔智联(武汉)研究院有限公司 智能合约生成方法、装置、计算机设备和存储介质
CN111127205A (zh) * 2019-12-23 2020-05-08 卓尔智联(武汉)研究院有限公司 智能合约生成方法、装置、计算机设备和存储介质
CN111858771A (zh) * 2020-07-30 2020-10-30 杭州复杂美科技有限公司 分布式数据存储方法、设备和存储介质
CN113222708A (zh) * 2021-05-27 2021-08-06 济南浪潮数据技术有限公司 一种基于区块链的闲置存储空间交易方法
CN113918102A (zh) * 2021-12-10 2022-01-11 北京百度网讯科技有限公司 一种基于区块链的数据处理方法、装置、设备及存储介质
CN113900598A (zh) * 2021-12-10 2022-01-07 北京百度网讯科技有限公司 基于区块链的数据存储方法、装置、设备以及存储介质
CN113935070A (zh) * 2021-12-16 2022-01-14 北京百度网讯科技有限公司 基于区块链的数据处理方法、装置、设备以及存储介质
CN113935070B (zh) * 2021-12-16 2022-06-07 北京百度网讯科技有限公司 基于区块链的数据处理方法、装置、设备以及存储介质
US11734455B2 (en) 2021-12-16 2023-08-22 Beijing Baidu Netcom Science Technology Co., Ltd. Blockchain-based data processing method and apparatus, device, and storage medium
CN114401117A (zh) * 2021-12-27 2022-04-26 浙江数秦科技有限公司 基于区块链的账户登录验证系统
CN114401117B (zh) * 2021-12-27 2024-03-19 浙江数秦科技有限公司 基于区块链的账户登录验证系统

Also Published As

Publication number Publication date
CN108648084B (zh) 2022-01-04

Similar Documents

Publication Publication Date Title
CN108648084A (zh) 一种区块链网络的数据处理方法、装置、设备及存储介质
CN108681943A (zh) 一种区块链网络的数据处理方法、装置、设备及存储介质
US20220318907A1 (en) Systems and methods for generating secure, encrypted communications across distributed computer networks for authorizing use of cryptography-based digital repositories in order to perform blockchain operations in decentralized applications
CN112214780B (zh) 一种数据处理方法、装置、智能设备及存储介质
CN108924092B (zh) 基于区块链的可公开仲裁分布式云存储方法及系统
CN110473094B (zh) 基于区块链的数据授权方法及装置
CN111970129B (zh) 一种基于区块链的数据处理方法、设备以及可读存储介质
US11481375B2 (en) Point-to-point distributed decentralized system
CN108664223A (zh) 一种分布式存储方法、装置、计算机设备及存储介质
CN109190331B (zh) 一种基于区块链的航天测控网数据交易方法
CN112804354B (zh) 跨链进行数据传输的方法、装置、计算机设备和存储介质
CN111049806B (zh) 一种联合权限控制方法、装置、电子设备和存储介质
CN110601816A (zh) 一种区块链系统中轻量级节点控制方法及装置
CN111465951A (zh) 使用区块链的智能物流管理
CN111416709B (zh) 基于区块链系统的投票方法、装置、设备及存储介质
CN114008969A (zh) 包含在区块链中的交易的延展性
CN109936620A (zh) 基于区块链的存储方法及装置、系统与存储介质
CN114331437A (zh) 一种基于区块链的数字印章使用方法及装置
CN116055052A (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
CN115409511B (zh) 一种基于区块链的个人信息保护系统
US20230246817A1 (en) Systems and methods for generating secure, encrypted communications across distributed computer networks for authorizing use of cryptography-based digital repositories in order to perform blockchain operations in decentralized applications
US20230246822A1 (en) Systems and methods for providing secure, encrypted communications across distributed computer networks by coordinating cryptography-based digital repositories in order to perform blockchain operations in decentralized applications
CN114418769A (zh) 一种区块链交易计费方法、装置及可读存储介质
CN111125734B (zh) 一种数据处理方法及系统
Harishankar et al. Plasma Go: A Scalable Sidechain Protocol for Flexible Payment Mechanisms in Blockchain-based Marketplaces

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant