本发明涉及区块链,尤其涉及一种区块链的共识方法、装置、电子设备及存储介质。
背景技术:
1、目前,产品溯源的方式主要有两种:第一种是以提供证明的方式,通过书面文件来说明商品的来源,用企业自有信誉或有关行业协会、管理部门为此背书,证明货物的来源厂商以及产地,并提供货运单来进行物流溯源;第二种是企业或第三方公司会以建立商品溯源平台的方式,记录商品来源、加工、运输、分销、零售等商品流通过程,这个过程中通常由每个环节确认商品接收和发往下一个环节的信息,形成完整的商品流转信息记录链条,以此进行商品来源与去向追溯。
2、现有技术中,为了实现物联网数据溯源,通常采用物联网设备将物联网数据上传至区块链进行存证,来解决数据源头的可信问题(链下数据的可信);利用区块链联盟链的不可篡改性,解决溯源系统的数据可信问题(链上数据的可信)。
3、然而,由于物联网设备的数量庞大,大量物联网设备接入区块链网络后,会造成区块链网络的可用性降低,共识期间的网络复杂度增大。
技术实现思路
1、本发明提供一种区块链的共识方法、装置、电子设备及存储介质,用以解决现有技术中共识期间的网络交互复杂度增大的缺陷,实现降低共识期间的网络复杂度。
2、本发明提供一种区块链的共识方法,包括:
3、利用伪随机数算法从区块链上当前的有效节点中选取第一预设数量的共识代表节点;
4、所述共识代表节点运行实用拜占庭容错算法进行共识;
5、当动态更新条件满足时,获取新的有效节点,以从所述新的有效节点中选取新的共识代表节点进行共识。
6、根据本发明提供的一种区块链的共识方法,所述动态更新条件包括:所述共识代表节点进行共识所生成的区块的数量达到第二预设数量;和/或,所述共识代表节点进行共识的次数达到预设次数。
7、根据本发明提供的一种区块链的共识方法,所述有效节点的选取策略包括:从所述区块链上的节点中剔除作恶节点、离线节点和/或动态新增未知节点。
8、根据本发明提供的一种区块链的共识方法,所述区块链包括主链和多个子链,所述主链包括多个接入节点,所述子链包括多个子链节点,每个所述子链节点对应一台数据设备,所述子链上的一个子链节点为所述接入节点,所述接入节点用于将对应的所述子链中的数据上传至所述主链存证;
9、所述有效节点为从所述主链上的所述接入节点中选取;或者,
10、所述有效节点为从所述子链上的所述子链节点中选取。
11、根据本发明提供的一种区块链的共识方法,所述数据设备为物联网设备。
12、根据本发明提供的一种区块链的共识方法,所述选取策略还包括:基于所述物联网设备的经纬度变化情况,剔除将经纬度有变化的所述物联网设备对应的所述子链节点或者所述接入节点。
13、本发明还提供一种区块链的共识装置,包括:
14、选取模块,用于利用伪随机数算法从区块链上当前的有效节点中选取第一预设数量的共识代表节点;
15、共识模块,用于所述共识代表节点运行实用拜占庭容错算法进行共识;
16、更新模块,用于当动态更新条件满足时,获取新的有效节点,以从所述新的有效节点中选取新的共识代表节点进行共识。
17、本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述区块链的共识方法。
18、本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述区块链的共识方法。
19、本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述区块链的共识方法。
20、本发明提供的一种区块链的共识方法、装置、电子设备及存储介质,通过对区块链上的节点进行筛选获取有效节点,并利用伪随机数算法从有效节点中选取一定数量的共识代表节点,由这些共识代表节点运行实用拜占庭容错算法(pbft,practical byzantinefault tolerance)进行共识,可以降低大节点规模的网络复杂度,解决了因节点数量增加而导致区块链系统性能快速线性下降的问题,且共识代表节点的选取具有随机性,设置动态更新条件重新选取有效节点,从而选取新的共识代表节点,可以有效防止作恶节点联合作恶,保障区块链的安全性。
1.一种区块链的共识方法,其特征在于,包括:
2.根据权利要求1所述的区块链的共识方法,其特征在于,所述动态更新条件包括:所述共识代表节点进行共识所生成的区块的数量达到第二预设数量;和/或,所述共识代表节点进行共识的次数达到预设次数。
3.根据权利要求1所述的区块链的共识方法,其特征在于,所述有效节点的选取策略包括:从所述区块链上的节点中剔除作恶节点、离线节点和/或动态新增未知节点。
4.根据权利要求3所述的区块链的共识方法,其特征在于,所述区块链包括主链和多个子链,所述主链包括多个接入节点,所述子链包括多个子链节点,每个所述子链节点对应一台数据设备,所述子链上的一个子链节点为所述接入节点,所述接入节点用于将对应的所述子链中的数据上传至所述主链存证;
5.根据权利要求4所述的区块链的共识方法,其特征在于,所述数据设备为物联网设备。
6.根据权利要求5所述的区块链的共识方法,其特征在于,所述选取策略还包括:基于所述物联网设备的经纬度变化情况,剔除将经纬度有变化的所述物联网设备对应的所述子链节点或者所述接入节点。
7.一种区块链的共识装置,其特征在于,包括:
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述区块链的共识方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述区块链的共识方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述区块链的共识方法。