一种可追溯防篡改芯片研发交易数据存储方法及系统与流程

文档序号:17479643发布日期:2019-04-20 06:21阅读:267来源:国知局
一种可追溯防篡改芯片研发交易数据存储方法及系统与流程

本发明涉及数据存储技术领域,尤其涉及一种芯片研发交易数据存储方法及系统。



背景技术:

芯片又称微电路(microcircuit)、微芯片(microchip)、集成电路(integratedcircuit,ic),具体是指内含集成电路的硅片,具有较小的体积,通常是计算机其其他电子设备的重要组成部分。芯片研发是一个复杂的过程,一般需要经过软件实现芯片功能、形成综合网表、电路图设计、性能仿真验证、版图布局布线、版图对电路图验证、工艺设计规则验证、版图的物理验证、流片验证等多个环节,因此一个芯片的研发通常需要多个厂商的相互配合。

目前,在芯片研发和芯片交易过程中会产生用于记录研发成果交易和芯片产品交易的过程数据,而这些过程数据存储在传统数据库中。存储在传统数据库中的过程数据容易被篡改且难以进行追溯,导致在芯片研发或芯片交易过程出现问题后无法根据过程数据进行责任追究。

因此,针对以上不足,需要提供一种使得芯片研发交易过程所产生的过程数据可追溯且防篡改的数据存储方法。



技术实现要素:

本发明要解决的技术问题在于芯片研发交易过程所产生的过程数据容易被篡改且难以进行追溯,针对现有技术中的缺陷,提供一种可以对芯片研发交易过程中所产生的过程数据进行追溯,且可以防止过程数据被篡改的技术方案。

为了解决上述技术问题,本发明提供了一种芯片研发交易数据存储方法,包括:

在区块链上存储针对每一个芯片研发交易目标的智能合约;

针对每一个所述芯片研发交易目标,获取预设时间段内至少两个交易节点根据相对应的所述智能合约参与该芯片研发交易目标过程中所产生的交易数据、智能合约消息数据及芯片研发数据;

针对获取到的每一个所述芯片研发数据,将该芯片研发数据以及用于对该芯片研发数据进行索引的索引哈希值存储到分布式链下存储系统;

确定针对所述预设时间段的至少两个共识节点;

利用所述至少两个共识节点依次循环对区块头进行至少一个哈希运算,其中,所述区块头根据获取到的所述交易数据、所述智能合约消息数据以及每一个所述芯片研发数据对应的所述索引哈希值生成;

将目标共识节点确定为记账节点,其中,所述目标共识节点优先运算出小于预设的自主挖矿目标值的哈希值;

通过所述记账节点将获取到的所述交易数据、所述智能合约消息数据和所述索引哈希值存储在生成的新区块中,并将所述新区块链接到所述区块链上。

可选地,在所述将所述新区块链接到所述区块链上之后,进一步包括:

接收一具有读取权限的访问节点针对一目标芯片研发数据而发送的读取请求;

根据所述读取请求从所述区块链上获取与所述目标芯片研发数据相对应的目标索引哈希值;

将所述目标索引哈希值发送给所述访问节点,以使所述访问节点可以根据所述目标索引哈希值从所述分布式链下存储系统中读取所述目标芯片研发数据。

可选地,

针对每一个所述芯片研发交易目标,与该芯片研发交易目标相对应的所述智能合约包括虚拟知识产权交易合约、虚拟知识产权授权合约中芯片研发合约中的任意一个或多个,其中,

所述虚拟知识产权交易合约用于定义两个交易节点之间买卖所述芯片研发数据的规则;

所述虚拟知识产权授权合约用于定义两个交易节点之间对所述芯片研发数据进行授权使用的规则;

所述芯片研发合约用于定义至少两个交易节点之间受雇研发所述芯片研发数据的规则。

可选地,所述确定针对所述预设时间段的至少两个共识节点,包括:

从至少两个系统节点中选择至少两个共识节点,其中,所述系统节点为始终在线稳定运行的节点。

可选地,所述确定针对所述预设时间段的至少两个共识节点,包括:

从至少一个授权节点中筛选出至少一个目标授权节点,将所述至少一个目标授权节点和至少两个系统节点确定为所述共识节点,其中,所述系统节点为始终在线稳定运行的节点,所述授权节点为具有共识权限的从业用户节点,所述授权节点被选中作为所述目标授权节点的概率与所述授权节点对应的参与度成正比,所述参与度由所述授权节点的在线时间和评价得分中的部分或全部而确定。

可选地,

所述分布式链下存储系统包括:云存储服务器和/或至少一个所述系统节点。

可选地,所述利用所述至少两个共识节点依次循环对区块头进行至少一个哈希运算,包括:

分别生成与每一个所述共识节点相对应的积分奖励交易信息,其中,针对每一个所述共识节点,如果该共识节点为所述系统节点,则该共识节点对应的所述积分奖励交易信息包括奖励积分值和奖励节点标识,所述奖励节点标识用于标识一个所述目标授权节点,如果该共识节点为所述授权节点,则该共识节点对应的所述积分奖励交易信息包括所述奖励积分值;

针对每一个所述共识节点,对该共识节点对应的所述积分奖励交易信息以及所述交易数据、所述智能合约交易数据和所述索引哈希值进行打包获得相对应的区块主体,并对所述区块主体进行哈希运算获得与该共识节点相对应的第一merkle树根哈希值;

根据预先确定的节点排序结果,每一个所述共识节点依次对相对应的区块头进行至少一次哈希运算而获得至少一个哈希值,其中,针对每一个所述共识节点,与该共识节点相对应的所述区块头包括有与该共识节点相对应的所述第一merkle树根哈希值、所述区块链上末位区块的第二merkle树根哈希值和自主挖矿随机数,所述自主挖矿随机数按照预设的规则变化,使得该共识节点每次对所述区块头进行哈希运算时所述区块头中包括有不同的所述自主挖矿随机数。

可选地,该芯片研发交易数据存储方法进一步包括:

按照相对应所述参与度由大至小的顺序,将所述至少一个目标授权节点排列在所述至少两个系统节点之后;

根据各个所述共识节点的排列顺序,获得所述节点排序结果。

可选地,所述将目标共识节点确定为记账节点之后,进一步包括:

如果所述记账节点为所述系统节点,根据与所述记账节点相对应的所述积分奖励交易信息包括的所述奖励积分值和所述奖励节点标识,向所述奖励节点标识所标识的所述目标授权节点发放与所述奖励积分值相对应的积分;

如果所述记账节点为授权节点,根据与所述记账节点相对应的所述积分奖励交易信息包括的所述奖励积分值,向所述记账节点发放与所述奖励积分值相对应的积分。

本发明还提供了一种芯片研发交易数据存储系统,包括:至少两个系统节点和至少两个交易节点,其中,

所述系统节点为始终在线稳定运行的节点;

所述至少两个系统节点,用于在区块链上存储针对每一个芯片研发交易目标的智能合约,针对每一个所述芯片研发交易目标,获取预设时间段内至少所述两个交易节点根据相对应的所述智能合约参与该芯片研发交易目标过程中所产生的交易数据、智能合约消息数据及芯片研发数据,并针对获取到的每一个所述芯片研发数据,将该芯片研发数据以及用于对该芯片研发数据进行索引的索引哈希值存储到分布式链下存储系统,以及确定针对所述预设时间段的至少两个共识节点;

所述至少两个共识节点,用于依次循环对区块头进行至少一个哈希运算,并将目标共识节点确定为记账节点,其中,所述区块头根据获取到的所述交易数据、所述智能合约消息数据以及每一个所述芯片研发数据对应的所述索引哈希值生成,所述目标共识节点优先运算出小于预设的自主挖矿目标值的哈希值;

所述记账节点,用于将获取到的所述交易数据、所述智能合约消息数据和所述索引哈希值存储在生成的新区块中,并将所述新区块链接到所述区块链上。

可选地,该芯片研发交易数据存储系统进一步包括:至少一个授权节点、至少一个普通节点和至少一个访客节点;

所述授权节点为具有共识权限的从业用户节点;

所述普通节点为联盟内具有区块读取权限的从业用户节点;

所述访客节点为联盟外具有从区块链中读取与其自身相关的所述交易数据和所述智能合约消息数据的用户节点;

所述普通节点,用于递交成为授权节点的申请,并在申请审批通过后成为所述授权节点;

所述访客节点,用于递交成为普通节点的申请,并在申请审批通过后成为所述普通节点。

实施本发明的芯片研发交易数据存储方法及系统,具有以下有益效果:

1、将每一个芯片研发交易目标对应的智能合约存储在区块链上,使得交易节点可以根据存储在区块链上的智能合约参与各个芯片研发交易目标,之后获取预设时间段内交易节点参与每一个芯片研发交易过程所产生的交易数据、智能合约消息数据和芯片研发数据,分别将每一个芯片研发数据以及用于对该芯片研发数据进行索引的索引哈希值存储到分布式链下存储系统,之后通过快速共识算法从针对预设时间段的共识节点中选举出记账节点,由记账节点将获取到的交易数据、智能合约消息数据和索引哈希值存储到区块链中。由此可见,在预设时间段内参与各个芯片研发交易目标所产生的交易数据、智能合约消息数据和索引哈希值均存储在区块链中,从而基于区块链存储的特性可以保证芯片研发和交易过程中所产生过程数据可追溯且防篡改。

2、针对芯片研发交易目标在区块链上存储智能合约,从而可以约束交易双方按照智能合约进行交易,当交易方出现违约行为时直接按照智能合约给予惩处。另外,将交易双方参与芯片研发交易目标过程所产生的交易数据和智能合约消息数据存储到区块链中,保证交易数据和智能合约消息数据的可追溯和防篡改,便于将交易数据和智能合约消息数据作为证据使用。综合上述两点,既可以对交易双方的违约行为起到威慑作用,用可以方便地取证维权,从而可以提高芯片研发和芯片交易过程的安全性。

3、分布式链下存储系统基于内容寻址,同时存储有芯片研发数据和与芯片研发数据相对应的索引哈希值,根据索引哈希值可以查找到相对应的芯片研发数据。当访问节点需要读取某一芯片研发数据时,首先从区块链中获取与该芯片研发数据相对应的索引哈希值,之后访问节点便可以根据该索引哈希值从分布式链下存储系统中读取所需的芯片研发数据,从而在保证读取芯片研发数据方便性的同时保证可以通过索引哈希值对芯片研发数据进行追溯。

4、通过存储不同类型的智能合约在区块链上,可以利用智能合约控制芯片知识产权买卖交易、芯片知识产权授权使用交易以及芯片研发交易,保证芯片研发和芯片交易过程中参与方能够履行各自义务、遵守约定的规则,从而可以提高芯片研发和芯片交易的安全性。

5、由于系统节点是可以始终在线稳定运行的节点,系统节点的数量、运行的稳定性和安全性均具有可靠的保证,因此从系统节点中选择节点作为共识节点,并保证所有共识节点均属于系统节点,可以保证共识节点进行共识过程的稳定性。

6、从授权节点中选择目标授权节点,将目标授权节点与所有系统节点确定为共识节点,由于系统节点的存在可以保证共识结果的可靠性,选择部分授权节点作为共识节点参与共识过程,可以提高共识过程和共识结果的公信力。

7、可以仅从系统节点中选择节点作为共识节点,也可以将系统节点与从授权节点中选择的目标授权节点作为共识节点,在实际业务实现过程中可以根据需求灵活确定选择共识节点的方法,从而可以提高共识的灵活性。

8、由各个共识节点依次循环对相应的区块头进行哈希运算,将优先运算出小于自主挖矿目标值的哈希值的共识节点确定为记账节点,从而可以缩短选举记账节点所需的时间,即实现了快速共识,提升了共识的效率。另外,由于各个共识节点运算出小于自主挖矿目标值的哈希值的概率相同,从而保证共识过程中各个共识节点之间的公平,从而可以保证共识过程的可靠性。

9、由于系统节点具有较高的可信性,在每一个区块生成过程中均会参与共识,因此将系统节点排列在各个目标授权节点之前。目标授权节点的参与度可以表征目标授权节点的可信性,参与度越高说明相应目标授权节点的可信性越高,因此按照相应参与度由大至小的顺序将各个目标授权节点排列在各个系统节点之后,使得对应参与度较高的目标授权节点可以优先对应参与度较低的目标授权节点进行哈希运算,一方面保证了共识过程的公平性,另一方面保证共识结果的安全性。

10、通过生成积分奖励交易信息,在确定出记账节点之后,根据积分奖励交易信息向参与共识过程的一个授权节点发放积分,积分可以提升节点的参与度,还可以作为虚拟货币在芯片研发和芯片交易过程中用于货币支付,从而可以对授权节点进行激励,保证授权节点积极参与共识过程,保证共识过程可以正常进行。

附图说明

图1是本发明实施例一提供的一种芯片研发交易数据存储方法的流程图;

图2是本发明实施例二提供的一种芯片研发数据读取方法的流程图;

图3是本发明实施例三提供的一种对应于虚拟知识产权交易合约的方法流程图;

图4是本发明实施例三提供的一种对应于虚拟知识产权授权合约的方法流程图;

图5是本发明实施例三提供的一种对应于芯片研发合约的方法流程图;

图6是本发明实施例六提供的一种记账节点确定方法的流程图;

图7是本发明实施例九提供的一种芯片研发交易数据存储系统的示意图;

图8是本发明实施例十提供的一种芯片研发交易数据存储系统的示意图。

图中:701:系统节点;702:交易节点;801:核心层;802:授权层;803:普通层;804:访客层;805:系统节点;806:授权节点;807:普通节点;808:访客节点;809:授权节点;810:授权节点;811:普通节点;812:访客节点。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

如图1所示,本发明实施例提供的芯片研发交易数据存储方法,可以包括如下步骤:

步骤101:在区块链上存储针对每一个芯片研发交易目标的智能合约;

步骤102:针对每一个芯片研发交易目标,获取预设时间段内至少两个交易节点根据相对应的智能合约参与该芯片研发交易目标过程中所产生的交易数据、智能合约消息数据及芯片研发数据;

步骤103:针对获取到的每一个芯片研发数据,将该芯片研发数据以及用于对该芯片研发数据进行索引的索引哈希值存储到分布式链下存储系统;

步骤104:确定针对预设时间段的至少两个共识节点;

步骤105:利用至少两个共识节点依次循环对区块头进行至少一个哈希运算,其中,区块头根据获取到的交易数据、智能合约消息数据以及每一个芯片研发数据对应的索引哈希值生成;

步骤106:将目标共识节点确定为记账节点,其中,目标共识节点优先运算出小于预设的自主挖矿目标值的哈希值;

步骤107:通过记账节点将获取到的交易数据、智能合约消息数据和索引哈希值存储在生成的新区块中,并将新区块链接到区块链上。

本发明实施例提供的芯片研发交易数据存储方法,将每一个芯片研发交易目标对应的智能合约存储在区块链上,使得交易节点可以根据存储在区块链上的智能合约参与各个芯片研发交易目标,之后获取预设时间段内交易节点参与每一个芯片研发交易过程所产生的交易数据、智能合约消息数据和芯片研发数据,分别将每一个芯片研发数据以及用于对该芯片研发数据进行索引的索引哈希值存储到分布式链下存储系统,之后通过快速共识算法从针对预设时间段的共识节点中选举出记账节点,由记账节点将获取到的交易数据、智能合约消息数据和索引哈希值存储到区块链中。由此可见,在预设时间段内参与各个芯片研发交易目标所产生的交易数据、智能合约消息数据和索引哈希值均存储在区块链中,从而基于区块链存储的特性可以保证芯片研发和交易过程中所产生过程数据可追溯且防篡改。

在本发明实施例中,交易数据是指不同交易节点之间进行芯片研发或芯片交易过程中所产生的过程数据,智能合约消息数据是指智能合约执行过程中所产生的阶段性数据,芯片研发数据是指针对芯片的知识产权数据。例如,交易数据可以是用于记录研发成果交付、款项支付等过程的数据,智能合约消息数据可以是记录智能合约执行过程中阶段性研发成果交付、不同智能合约之间交互等过程的数据,芯片研发数据可以是针对芯片所设计的电路图、性能仿真验证结果、版图布局布线等。

在本发明实施例中,由于区块链上可以存储对应于不同芯片研发交易目标的多个智能合约,同一个预设时间段内可能有多个芯片研发交易目标被执行,进而在一个预设时间段内存储到区块链中的交易数据、智能合约消息数据和索引哈希值可能对应于不同的多个芯片研发交易目标。

在本发明实施例中,针对芯片研发交易目标在区块链上存储智能合约,从而可以约束交易双方按照智能合约进行交易,当交易方出现违约行为时直接按照智能合约给予惩处。另外,将交易双方参与芯片研发交易目标过程所产生的交易数据和智能合约消息数据存储到区块链中,保证交易数据和智能合约消息数据的可追溯和防篡改,便于将交易数据和智能合约消息数据作为证据使用。综合上述两点,既可以对交易双方的违约行为起到威慑作用,用可以方便地取证维权,从而可以提高芯片研发和芯片交易过程的安全性。

在本发明实施例中,将芯片研发交易过程中所产生的芯片研发数据和相对应的索引哈希值存储到分布式链下存储系统中,并将索引哈希值存储到区块链中,一方面可以对研发数据进行追溯,另一方面根据索引哈希值可以方便地从分布式链下存储系统中读取芯片研发数据。

实施例二

在实施例一所提供芯片研发交易数据存储方法的基础上,在将芯片研发数据存储到分布式链下存储系统,并将索引哈希值存储到区块链上之后,具有读取权限的节点可以根据索引哈希值来读取芯片研发交易数据,具体过程如图2所示,可以包括如下步骤:

步骤201:接收一具有读取权限的访问节点针对一目标芯片研发数据而发送的读取请求;

步骤202:根据接收到的读取请求,从区块链上获取与目标芯片研发数据相对应的目标索引哈希值;

步骤203:将目标索引哈希值发送给访问节点,使得该访问节点可以根据目标索引哈希值从分布式链下存储系统中读取目标芯片研发数据。

分布式链下存储系统基于内容寻址,同时存储有芯片研发数据和与芯片研发数据相对应的索引哈希值,根据索引哈希值可以查找到相对应的芯片研发数据。当访问节点需要读取某一芯片研发数据时,首先从区块链中获取与该芯片研发数据相对应的索引哈希值,之后访问节点便可以根据该索引哈希值从分布式链下存储系统中读取所需的芯片研发数据,从而在保证读取芯片研发数据方便性的同时保证可以通过索引哈希值对芯片研发数据进行追溯。

需要说明的是,由于芯片研发数据的数据量通常比较大,无法直接将芯片研发数据存储在区块链上,进而采用将芯片研发数据存储在分布式链下存储系统上,并将芯片研发数据的索引哈希值存储到区块链上的存储方案。另外,针对每一个芯片研发数据,可以将其读取权限规则记录在相对应的智能合约中,利用存储在区块链上的智能合约确定访问节点是否具有读取规则,保证芯片研发数据的安全性。

实施例三

在实施例一所提供芯片研发交易数据存储方法的基础上,一个芯片研发交易目标所对应的智能合约可以是虚拟知识产权交易合约、虚拟知识产权授权合约和芯片研发合约中的任意一个或多个,其中,虚拟知识产权交易合约用于定义两个交易节点之间买卖芯片研发数据的规则,虚拟知识产权授权合约用于定义两个交易节点之间对芯片研发数据进行授权使用的规则,芯片研发合约用于定义至少两个交易节点之间受雇研发芯片研发数据的规则。

通过存储不同类型的智能合约在区块链上,可以利用智能合约控制芯片知识产权买卖交易、芯片知识产权授权使用交易以及芯片研发交易,保证芯片研发和芯片交易过程中参与方能够履行各自义务、遵守约定的规则,从而可以提高芯片研发和芯片交易的安全性。

下面对虚拟知识产权交易合约、虚拟知识产权授权合约和芯片研发合约的具体内容进行分别说明。

如图3所示,虚拟知识产权交易合约定义交易双方进行虚拟知识产权买卖的流程方法,具体包括如下步骤:

步骤301:指示买方交易节点对卖方所销售的虚拟知识产权的内容进行预览;

步骤302:判断买方交易节点是否支付与虚拟知识产权相对应的费用,如果是,执行步骤303,否则执行步骤301;

步骤303:判断卖方交易节点是否确认收款,如果是,执行步骤304,否则执行步骤302;

步骤304:指示卖方交易节点对虚拟知识产权的内容进行下载,并确定交易结束。

在交易双方进行虚拟知识产权买卖时,买方交易节点对应于虚拟知识产权买卖中的买方,卖方交易节点对应于虚拟知识产权买卖中的卖方,根据智能合约定义的虚拟知识产权交易规则,买方经过内容预览后觉得满意就进行费用支付,卖方确认收款后,提供下载地址和密钥给买方,买方进行内容下载,下载成功后交易结束。

如图4所示,虚拟知识产权授权合约定义交易双方进行虚拟知识产权授权使用的流程方法,具体包括如下步骤:

步骤401:指示买方交易节点对卖方所授权使用的虚拟知识产权的内容进行预览;

步骤402:判断买方交易节点是否签署保密协议,如果是,执行步骤403,否则执行步骤401;

步骤403:指示买方交易节点对虚拟知识产权进行试用;

步骤404:指示买方交易节点签署授权合同;

步骤405:判断买方交易节点是否支付获得使用虚拟知识产权的费用,如果是,执行步骤406,否则执行步骤404;

步骤406:判断卖方交易节点是否确认收款,如果是,执行步骤407,否则执行步骤405;

步骤407:指示买方交易节点获得使用虚拟知识产权的使用授权;

步骤408:判断卖方交易节点针对虚拟知识产权的授权是否到期,如果是,确定交易结束,否则执行步骤407。

在交易双方进行虚拟知识产权授权使用交易时,买方交易节点对应于需要使用虚拟知识产权的买方,卖方交易节点对应于拥有虚拟知识产权的卖方,根据智能合约定义的虚拟知识产权授权使用规则,买方首先虚拟知识产权预览,若感兴趣就签署保密协议(non-disclosureagreement,nda),然后买方进行虚拟知识产权的试用,若试用满意就签订授权合同,并进行费用支付,卖方确认收款后,授权卖方进行使用。另外,卖方的授权使用到期后授权交易结束。

如图5所示,雇主可能将一个芯片研发任务拆分成多个研发模块,由多个雇员分别对各个研发模块进行研发,芯片研发合约定义雇主与每一个雇员之间进行芯片研发的流程方法,具体包括如下步骤:

步骤501:指示雇主交易节点提出芯片研发任务;

步骤502:指示雇员交易节点针对芯片研发任务中的一个研发模块设定研发节点和研发费用;

步骤503:判断雇主交易节点是否接受研发节点和研发费用,如果是,执行步骤504,否则执行步骤502;

步骤504:指示雇员交易节点对研发模块进行研发;

步骤505:判断雇主交易节点是否确认研发过程符合研发节点,如果是,执行步骤506,否则执行步骤504;

步骤506:判断雇主交易节点是否支付研发费用,如果是,执行步骤507,否则执行步骤505;

步骤507:判断雇员交易节点是否确认收款,如果是,确定研发模块的研发结束,否则执行步骤506。

在交易双方进行芯片开发交易时,雇主交易节点对应于提出芯片开发需求的雇主,雇员交易节点对应于根据开发需求进行芯片开发的雇员,智能合约包括一个雇主和至少一个雇员,因为一个芯片的研发可能需要多方技术力量的合作。根据智能合约定义的芯片研发交易规则,雇主提出研发任务,假设这个任务包含两个模块。雇员1根据模块1的需求设定模块1的研发节点和研发预算,雇员2根据模块2的需求设定模块2的研发节点和研发预算。若雇主接受了雇员的模块研发方案,则雇员1和雇员2分别开展模块1开发和模块2开发。一旦到了研发节点,则雇主判断雇员是否满足研发节点要求,若满足则进入下一个研发阶段。若雇员所有的研发节点均满足研发要求,则雇主支付研发费用。雇员确认收款后,模块研发任务结束。

实施例四

在实施例一所提供芯片研发交易数据存储方法的基础上,步骤104确定对应于预设时间段的共识节点时,可以通过如下两种方式确定共识节点:

方式一:仅从系统节点中选择节点作为共识节点,即共识节点中不包括授权节点。

具体地,可以将所有的系统节点全部选择作为共识节点,也可以从所有系统节点中选择部分系统节点作为共识节点。由于系统节点是可以始终在线稳定运行的节点,系统节点的数量、运行的稳定性和安全性均具有可靠的保证,因此从系统节点中选择节点作为共识节点,并保证所有共识节点均属于系统节点,可以保证共识节点进行共识过程的稳定性。

方式二:从授权节点中选择一个或多个目标授权节点,进而将选择出的目标授权节点和全部的系统节点作为共识节点。具体地,在从授权节点中选择目标授权节点时,可以根据各个授权节点对应的参与度来选择目标授权节点,其中,对应参与度较高的授权节点被选中作为目标授权节点的概率较高,而授权节点对应的参与度由该授权节点的在线时间和评价得分中的部分或全部确定。

需要说明的是,从授权节点中选择出的目标授权节点均是处于在线状态的,非在线状态的授权节点不会被选中作为目标授权节点,从而保证后续快速共识过程可以正常进行。

针对每一个授权节点,该授权节点的在线时间越长,说明该授权节点参与共识或者进行芯片研发交易的累计时间越长,该授权节点的可信程度越高。另外,授权节点每次参与芯片研发或者芯片交易后,会根据芯片研发或者芯片交易的实际完成情况为授权节点评分,进而授权节点的累计评价得分越高说明该授权节点的信誉越好。从而可以根据授权节点的在线时长和评价得分来确定对应的参与度,在线时长越长且评价得分越高的授权节点的参与度越高,对应参与度越高的授权节点的可信度越高。

在从各个授权节点中选择共识节点时,对应参与度越高的授权节点被选中作为共识节点的概率越高,但并非按照对应参与度由高至低的顺序直接选择对应参与度较高的授权节点作为共识节点,这可以保证从授权节点中选择共识节点的公平性。

从授权节点中选择目标授权节点,将目标授权节点与所有系统节点确定为共识节点,由于系统节点的存在可以保证共识结果的可靠性,选择部分授权节点作为共识节点参与共识过程,可以提高共识过程和共识结果的公信力。

综上,可以仅从系统节点中选择节点作为共识节点,也可以将系统节点与从授权节点中选择的目标授权节点作为共识节点,在实际业务实现过程中可以根据需求灵活确定选择共识节点的方法,从而可以提高共识的灵活性。

实施例五

在实施例四所提供芯片研发交易数据存储方法的基础上,用于数据存储的数据层可以包括链上部分和链下部分,其中,链上部分可以是一个分布式区块链账本,是把区块串成链表的数据结构,链下部分可以是一个分布式链下存储系统。

具体地,分布式链下存储系统可以是云存储服务器,还可以是各个系统节点。对于云存储服务器来说,一个云存储服务器的节点将被用于存储非上链的业务数据。云存储服务器可以提供一个高吞吐量、内容寻址块存储模型以及内容寻址的超链接。平台中的资源、视频、文档等非结构化数据通过云存储服务器进行保存。用户的上传和下载操作经过应用服务器权限校验后,可以向云存储服务器进行操作请求。

实施例六

在实施例一至五中任一实施例所提供芯片研发交易数据存储方法的基础上,步骤105利用各个共识节点依次循环对相应的区块头进行至少一次哈希运算而获得相对应的至少一个哈希值,进而步骤106根据共识节点运算出的哈希值从共识节点中确定记账节点。如图6所示,具体确定记账节点的过程可以通过如下步骤实现:

步骤601:分别生成与每一个共识节点相对应的积分奖励交易信息。

针对所确定出的各个共识节点中的每一个共识节点,根据该共识节点的来源不同,所生成的对应于该共识节点的积分奖励交易信息也不同,具体地:

针对任意一个为系统节点的共识节点,针对该共识节点所生成的积分奖励交易信息包括有奖励积分值和奖励节点标识。其中,奖励节点标识用于标识一个目标授权节点,而奖励积分值则定义了所要奖励的积分数额。另外,奖励节点标识所标识的目标授权节点是从各个目标授权就中选择出来的,而对应参与度越高的目标授权节点被选中的概率越高。

针对任意一个为授权节点的共识节点,针对该共识节点所生成的积分奖励交易信息仅包括有奖励积分值。

步骤602:每一个共识节点对相对应的积分奖励交易信息以及交易数据、智能合约消息数据和索引哈希值进行打包,获得相对应的区块主体,并对获得的区块主体进行哈希运算而获得相对应的第一merkle树根哈希值。

针对每一个共识节点,该共识节点对其所对应的积分奖励交易信息以及在预设时间段内获取到的所有交易数据、智能合约消息数据和索引哈希值进行打包,进而获得与该共识节点相对应的区块主体,之后通过预先设定的哈希算法对打包获得的区块主体进行哈希运算,获得与该共识节点相对应的第一merkle树根哈希值。

步骤603:根据预先确定的节点排序结果,每一个共识节点依次对相对应的区块头进行至少一次哈希运算获得至少一个哈希值,直至有共识节点运算出小于自主挖矿目标值的哈希值。

预先对各个共识节点进行排序而获得相对应的节点排序结果,之后根据节点排序结果,各个共识节点依次循环对相对应的区块头进行哈希运算,每个共识节点每次对其相对应的区块头进行至少一次哈希运算,每一次哈希运算均获得一个哈希值。其中,针对任意一个共识节点,该共识节点对应的区块头包括有与该共识节点相对应的第一merkle树根哈希值、区块链上末位区块的第二merkle树根哈希值和自主挖矿随机数,自主挖矿随机数可以按照预设的规则变化,使得该共识节点每一次对相应区块头进行哈希运算时区块头中的所包括的自主挖矿随机数均不同。

例如,通过对区块链上的末位区块进行哈希运算,获得第二merkle树根哈希值。100个共识节点按照已经确定出的节点排序结果,依次对各自对应的区块头进行10次哈希运算,每一次对区块头进行哈希运算获得相对应的一个哈希值,直至有共识节点运算出小于自主挖矿目标值的哈希值。针对任意一个共识节点x,根据节点排序结果轮到共识节点x进行哈希运算时,共识节点x对其对应的区块头x进行10次哈希运算,其中,区块头x包括有共识节点x运算出的第一merkle树根哈希值x、第二merkle树根哈希值、自主挖矿随机数、版本号、时间戳和自主挖矿目标值等信息。共识节点x每对区块头x进行一次哈希运算,区块头x中的自主挖矿随机数加1,比如,共识节点x第一次对区块头x进行哈希运算时区块头x所包括的自主挖矿随机数为0,共识节点x第二次对区块头x进行哈希运算时区块头x所包括的自主挖矿随机数为1,共识节点x第三次对区块头x进行哈希运算时区块头x所包括的自主挖矿随机数为2。再比如,之前各个共识节点所进行的哈希运算中均没有运算出小于自主挖矿目标值的哈希值,当共识节点x对区块头x进行第五次哈希运算时,运算出的哈希值小于自主挖矿目标值,则所有共识节点停止对区块头进行哈希运算。

步骤604:将优先运算出小于自主挖矿目标值的哈希值的共识节点确定为记账节点。

各个共识节点依次循环对相应的区块头进行哈希运算获得哈希值,当一个目标共识节点优先运算出小于预设的自主挖矿目标值的哈希值后,所有共识节点停止对区块头进行哈希运算,并将该目标共识节点确定为记账节点。

需要说明的是,共识节点在对区块头进行哈希运算时,具体可以采用pow(proofofwork,工作量证明机制)算法对区块头进行哈希运算。

针对任意一个共识节点,该共识节点对应的区块头中包括有与该共识节点相对应的第一merkle树根哈希值、第二merkle树根哈希值和自主挖矿随机数。由于不同共识节点所生成的积分奖励交易信息不同,因此不同共识节点所对应的第一merkle树根哈希值不同,从而保证不同共识节点在首次对相应区块头进行哈希运算所获得的哈希值不同。另外,针对同一个区块头,由于相应共识节点每次对该区块头进行哈希运算后,该区块头中的自主挖矿随机数都会发生变化,使得任意两次哈希运算中该区块头所包括的自主挖矿随机数不同,从而保证同一个共识节点不同次哈希运算可以获得不同的哈希值。

由各个共识节点依次循环对相应的区块头进行哈希运算,将优先运算出小于自主挖矿目标值的哈希值的共识节点确定为记账节点,从而可以缩短选举记账节点所需的时间,即实现了快速共识,提升了共识的效率。另外,由于各个共识节点运算出小于自主挖矿目标值的哈希值的概率相同,从而保证共识过程中各个共识节点之间的公平,从而可以保证共识过程的可靠性。

实施例七

在实施例六所提供记账节点确定方法的基础上,步骤603中各个共识节点对区块头进行哈希运算之前,需要确定针对各个共识节点的节点排序结果,以使各个共识节点可以根据节点排序结果依次进行哈希运算。具体地,在从授权节点中选择出目标授权节点之后,根据按照对应参与度由大至小的顺序将各个目标授权节点排列在各个系统节点之后,进而根据排序后的各个共识节点获得对应于各个共识节点的节点排序结果。

由于系统节点具有较高的可信性,在每一个区块生成过程中均会参与共识,因此将系统节点排列在各个目标授权节点之前。目标授权节点的参与度可以表征目标授权节点的可信性,参与度越高说明相应目标授权节点的可信性越高,因此按照相应参与度由大至小的顺序将各个目标授权节点排列在各个系统节点之后,使得对应参与度较高的目标授权节点可以优先对应参与度较低的目标授权节点进行哈希运算,一方面保证了共识过程的公平性,另一方面保证共识结果的安全性。

实施例八

在实施例六所提供记账节点确定方法的基础上,步骤604确定出记账节点之后,可以根据与记账节点相对应的积分奖励交易信息进行积分发放,根据记账节点为系统节点或者授权节点的不同,积分发放方式不同,具体如下:

如果记账节点为系统节点,则根据与记账节点相对应的积分奖励交易信息包括的奖励积分值和奖励节点标识,向奖励节点标识的目标授权节点发放与奖励积分值相对应的积分;

如果记账节点为授权节点,则根据与记账节点相对应的积分奖励交易信息包括的奖励积分值,向记账节点发放与奖励积分值相对应的积分。

由于系统节点没有相对应的从业单元或从业个人,因此向系统节点放发积分没有意义,当系统节点被确定为记账节点后,根据此前记账节点生成的积分奖励交易信息,将积分发放给记账节点此前随机确定出的一个目标授权节点,当目标授权节点被确定为记账节点后,根据此前记账节点生成的积分奖励交易信息,将积分发放给记账节点本身,作为进行新区块生成及上链处理的奖励。

通过生成积分奖励交易信息,在确定出记账节点之后,根据积分奖励交易信息向参与共识过程的一个授权节点发放积分,积分可以提升节点的参与度,还可以作为虚拟货币在芯片研发和芯片交易过程中用于货币支付,从而可以对授权节点进行激励,保证授权节点积极参与共识过程,保证共识过程可以正常进行。

另外需要说明的是,在上述各个实施例所提供芯片研发交易数据存储方法的基础上,步骤107由记账节点将交易数据、智能合约消息数据和索引哈希值存储在新区块中,具体可以通过如下方式实现:

获取目标区块头,其中记账节点对目标区块头进行哈希运算所获得的哈希值小于自主挖矿目标值;

将获取的目标区块头与记账节点相对应的区块主体相组合,获得新区块。

由于同一共识节点每次对区块头进行哈希运算时区块头中的自主挖矿随机数均不相同,因此需要获取到记账节点运算出小于自主挖矿目标值的哈希值时所对应的区块头。另外,记账节点对应的区块主体中包括有相应的积分奖励交易信息、交易数据、智能合约消息数据和索引哈希值,因此将对应于记账节点的区块头和区块主体组合所生成的新区块中包括有交易数据、智能合约消息数据和索引哈希值,进而在将新区块链接到区块链上之后,便实现了将交易数据和智能合约消息数据存储到区块链上。

另外,由于区块主体中包括有对应于记账节点的积分奖励交易信息,因此积分奖励交易信息同样被存储到区块链中,后续可以从区块链中读取积分奖励交易信息以对积分发放过程进行追溯,保证积分放发过程的公平性。

需要说明的是,当记账节点将新区块链接到区块链上之后,新区块便成为了区块链上的末位区块,对新区块整体进行哈希运算而获得的第二merkle树根哈希值将被存储到下一次所生成的新区块中。

另外需要说明的是,可以采用高级语言编写一套平台自有的版图布局布线库文件,用户只需简单地替换器件,就可以在相似的工艺制程如16/14nm但不同的foundry厂之间简单地进行转换。在芯片的虚拟知识产权重用上,快速的需求匹配和验证使得平台可以拥有大量高质量、协议清晰的虚拟知识产权资源。企业可以像搭乐高积木一样,简单地对电路模块进行拼接,即可完成最终的产品。

实施例九

本发明一个实施例提供了一种芯片研发交易数据存储系统,如图7所示,该系统可以包括:至少两个系统节点701和至少两个交易节点702,其中,

系统节点701为始终在线稳定运行的节点,交易节点702为参与芯片研发交易目标的节点,系统节点701之间、交易节点702之间以及系统节点701与交易节点702之间均通过点对点通信;

至少两个系统节点701,用于在区块链上存储针对每一个芯片研发交易目标的智能合约,针对每一个芯片研发交易目标,获取预设时间段内至少两个交易节点根据相对应的智能合约参与该芯片研发交易目标过程中所产生的交易数据、智能合约消息数据及芯片研发数据,并针对获取到的每一个芯片研发数据,将该芯片研发数据以及用于对该芯片研发数据进行索引的索引哈希值存储到分布式链下存储系统,以及确定针对预设时间段的至少两个共识节点;

至少两个共识节点,用于依次循环对区块头进行至少一个哈希运算,并将目标共识节点确定为记账节点,其中,区块头根据获取到的交易数据、智能合约消息数据以及每一个芯片研发数据对应的索引哈希值生成,目标共识节点优先运算出小于预设的自主挖矿目标值的哈希值;

记账节点,用于将获取到的交易数据、智能合约消息数据和索引哈希值存储在生成的新区块中,并将新区块链接到区块链上。

需要说明的是,上述实施例九所提供的芯片研发交易数据存储系统与上述实施例一至八所提供的芯片研发交易数据存储方法基于同一构思,具体内容可以参见上述实施例一至八中的叙述,再次不再赘述。

实施例十

在实施例九所提供芯片研发交易数据存储系统的基础上,该系统可以进一步包括:至少一个授权节点、至少一个普通节点和至少一个访客节点;

授权节点为具有共识权限的从业用户节点,普通节点为联盟内具有区块读取权限的从业用户节点,访客节点为联盟外具有从区块链中读取与其自身相关的交易数据和智能合约消息数据的用户节点,系统节点、授权节点、普通节点和访客节点中任意两个节点之间通过点对点通信;

普通节点,用于递交成为授权节点的申请,并在申请审批通过后成为授权节点;

访客节点,用于递交成为普通节点的申请,并在申请审批通过后成为普通节点。

需要说明的是,参与芯片研发交易目标的交易节点可以是授权节点、普通节点或者访客节点。

在本发明实施例中,如图8所示,芯片研发交易数据存储系统可以包括四层,分别为核心层801、授权层802、普通层803和访客层804,而该系统所包括的节点分为四种,分别为系统节点805、授权节点806、普通节点807和访客节点808。系统节点805是平台公认的始终在线的稳定运行的节点;授权节点806是具有共识权力的从业单位节点或从业个人节点,且授权节点806之间对区块链进行同步;普通节点807是联盟内的普通从业单位节点或普通从业个人节点,不过问记账过程(即区块构造过程)也不需同步区块链但具有区块读取权;访客节点808是联盟外的节点,没有记账权和区块读取权,但具有交易权并能读取与自身有关的交易数据。

核心层801的功能是完成区块链共识。该层可以只由系统节点805组成,也可以由全部系统节点805和部分选中的授权节点809组成,这个选项可以提高共识的灵活性。可以只由系统节点805进行共识从而保证稳定性,也可以让部分授权节点809参与共识而提高公信力。这里被选中的授权节点809都是当前区块共识时在线的授权节点810。由于每次区块的共识过程中,核心层801里每次选到的授权节点809可能不一样,所以核心层801和授权层802是动态变化的。

授权层802由当前不参与共识的所有授权节点806组成,其功能相当于维护授权节点、受理普通节点811成为授权节点806的申请和选取授权节点810进入核心层801参与共识。由于每次区块的共识过程中,授权层802里每次选出的授权节点810可能不一样,所以核心层801和授权层802是动态变化的。

普通层803包括所有联盟内的普通从业单位节点和从业个人节点,具有读取区块数据的权力,其功能相当于维护普通节点、受理访客节点812成为普通节点807的申请和递交普通节点811进入授权层802的申请。普通层相对稳定,但也会有所变动,因为普通层的普通节点811可以申请成为授权节点806,而访客节点812在具备从业能力或资格后也可申请成为普通节点807。

访客层804包括所有联盟外的访客节点,具有交易权,不具备区块读取权限但具有读取与访客节点808自身有关的交易数据的权限。其功能相当于维护访客节点、递交访客节点812进入普通层802的申请。访客层804是动态变化的,任何具有上网能力的计算机都可以成为访客节点808。

综上所述,本发明实施例提供的芯片研发交易数据存储方法及系统,将每一个芯片研发交易目标对应的智能合约存储在区块链上,使得交易节点可以根据存储在区块链上的智能合约参与各个芯片研发交易目标,之后获取预设时间段内交易节点参与每一个芯片研发交易过程所产生的交易数据、智能合约消息数据和芯片研发数据,分别将每一个芯片研发数据以及用于对该芯片研发数据进行索引的索引哈希值存储到分布式链下存储系统,之后通过快速共识算法从针对预设时间段的共识节点中选举出记账节点,由记账节点将获取到的交易数据、智能合约消息数据和索引哈希值存储到区块链中。由此可见,在预设时间段内参与各个芯片研发交易目标所产生的交易数据、智能合约消息数据和索引哈希值均存储在区块链中,从而基于区块链存储的特性可以保证芯片研发和交易过程中所产生过程数据可追溯且防篡改。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1