一种带区块发布机制的多中心认证系统的制作方法

文档序号:16062329发布日期:2018-11-24 12:19阅读:242来源:国知局

本发明涉及数据认证领域,具体是一种带区块发布机制的多中心认证系统。

背景技术

随着移动通信技术的发展,特别移动互联网和物联网正向人们的生活领域渗透,出现了各种基于互联网的认证服务的需求。如商品真伪认证、交易信息、收藏品信息、虚拟账号信息、虚拟财产、个人/企业身份信息、征信信息、司法公正信息等。

现有技术中,需要搭建一个接入互联网的服务器,然后通过外部节点访问服务器,以查询上述信息。

然而,通过黑客手段攻破系统服务器是难以避免的事情。黑客往往通过改写存储于服务器内的信息,达到非法目的。因此,现有的基于互联网的认证系统需要得到改进。



技术实现要素:

本发明的目的是解决现有技术中存在的问题。

为实现本发明目的而采用的技术方案是这样的,一种带区块发布机制的多中心认证系统,主要包括m个认证中心。

所述认证中心为主服务器。m个所述认证中心权限相同。

每个认证中心主要包括著录事件认证信息系统和区块链认证记账系统。

任意所述认证中心从基础数据库中读取数据。所述基础数据库为与带区块发布机制的多中心认证系统进行数据交互的具有数据存储功能的服务器。

所述基础数据库主要存储基础认证数据和著录事件认证信息。

所述基础认证数据由所述认证中心的认证需求提供。

所述著录事件认证信息为所述著录事件认证信息系统根据所述认证需求对基础数据库的操作记录信息。

所述著录事件认证信息系统根据认证需求对基础数据库的操作,按照区块链认证记账系统的格式要求,生成著录交易信息。

所述著录事件认证信息系统在区块记录发布周期t内广播著录交易信息。

所述区块链认证记账系统记录被广播的著录交易信息。

所述区块链认证记账系统以接收到的著录交易信息为基础,按照规则生成并保存区块数据。

对所述基础数据库的操作主要包括读取、写入、更新、修改和/或删除数据。

任意认证中心还具有一个著录项目认证信息记录池。若某个著录事件认证信息没有存入区块数据中,则该著录项目认证信息滞留于著录项目认证信息记录池中,待下次生成区块数据时,被优先记录。

所述验证著录事件认证信息并生成记账区块链的主要步骤如下:

1)设定带区块发布机制的多中心认证系统的区块发布周期t。

2)区块发布周期t内,所述认证中心著录事件认证信息系统根据外部需求以所述基础认证数据为基础,按照认证规则对认证请求进行认证运算操作。将相应产生的著录事件认证信息保存在基础数据库。所述认证中心生成著录交易信息并将著录交易信息广播上传至各认证中心的区块链认证记账系统。

3)在一个区块发布周期t内,多中心认证系统以随机的方式选择任意n个认证中心为区块发布节点。其余m-n个认证中心为非区块发布节点。m、n为有限正整数。n≦m。

4)所述区块发布节点根据一段时间内多中心认证系统中接收到的著录交易信息,生成带时间戳的区块数据向整个多中心认证系统广播发布。

所述区块数据包括区块头区和区块体区。区块体区收集t时间内被广播的著录交易信息。所述t时间内被广播的著录交易信息作为计算参数,被加工成根数据。所述根数据作为计算参数,被加工成认证数据。所述认证数据被记录在区块头区。

5)所述区块发布节点的区块链认证记账系统将所述区块数据进行广播。

6)所述多中心认证系统的各中心节点的区块链认证记账系统接收被广播的所述区块数据。

7)m个认证中心根据设定的校验规则确定最终被认定的新的区块数据。

8)当一个区块数据被多中心认证系统验证确认后,作为最新一个区块接到前一个区块的后面,存储于区块链中。多中心认证系统进入下一个区块记录发布周期。

进一步,所述区块链著录记账系统至少包括:自校验参数、健康值和参与度。

所述健康参数值形成的规则如下:

a)如若一个区块发布节点发布的区块数据没有作为多数通过验证,则该认证中心健康参数值降低。

和/或b)所述认证中心对基础数据库中的数据进行自检。自检的结果影响健康参数值。

和/或c)如若一个认证中心没有在区块记录发布周期内发布基础著录项目信息,健康值会降低。

所述参与度数值形成的规则如下:

a)如若一个认证中心参与发布区块数据,则参与度数值增加。和/或b)如若一个认证中心拒绝参与发布区块数据,则参与度数值降低。

自校验参数、健康值和参与度连续约定个区块发布周期没有降低,则自动恢复为正常初始值。如果自校验参数、健康值和参与度低于约定下限值时,所述中心将被警告或踢出所述多中心区块链系统。

本发明的技术效果是毋庸置疑的。本发明构建的认证系统具有多个权限相同认证中心,即中心服务器,每个认证中心存储相同数据,所有数据可靠有效,还可以保证已有的消息不被篡改。同时,在写入数据时,本发明通过区块发布机制确保写入的数据具有时效性,防止了交易的双重支付。

附图说明

图1为认证中心结构图;

图2为存储数据流程图。

具体实施方式

下面结合实施例对本发明作进一步说明,但不应该理解为本发明上述主题范围仅限于下述实施例。在不脱离本发明上述技术思想的情况下,根据本领域普通技术知识和惯用手段,做出各种替换和变更,均应包括在本发明的保护范围内。

实施例1:

参见图1和图2,一种带区块发布机制的多中心认证系统,主要包括m个认证中心。

如图1所示,公共用户区为连接入区块链的外部网络,外部网络可以为电脑或移动终端。区块链中具有m个认证中心,每个认证中心都可以作为发布节点,向整个区块链系统发布信息。

所述认证中心为主服务器。m个所述认证中心权限相同。

m为有限正整数。

每个认证中心主要包括著录事件认证信息系统和区块链认证记账系统。

任意所述认证中心从基础数据库中读取数据。所述基础数据库为与带区块发布机制的多中心认证系统进行数据交互的具有数据存储功能的服务器。

所述基础数据库主要存储基础认证数据和著录事件认证信息。

所述基础认证数据由所述认证中心节点的认证需求提供。

所述著录事件认证信息为所述著录事件认证信息系统根据所述认证需求对基础数据库的操作记录信息。

所述著录事件认证信息系统根据认证需求对基础数据库的操作,按照区块链认证记账系统的格式要求,生成著录交易信息。

所述著录事件认证信息系统在区块记录发布周期t内广播著录交易信息。

所述区块链认证记账系统记录被广播的著录交易信息。

所述区块链认证记账系统以接收到的著录交易信息为基础,按照规则生成并保存区块数据。

所述著录事件认证信息记录基础数据库的操作信息。对所述基础数据库的操作主要包括读取、写入、更新、修改和/或删除数据。

所述验证著录事件认证信息并生成记账区块链的主要步骤如下:

1)设定带区块发布机制的多中心认证系统的区块发布周期t。

2)区块发布周期t内,所述认证中心节点著录事件认证信息系统根据外部需求以所述基础认证数据为基础,按照认证规则对认证请求进行认证运算操作。将相应产生的著录事件认证信息保存在基础数据库。同时生成著录交易信息并将著录交易信息广播上传至各认证中心节点的区块链认证记账系统。

3)在一个区块发布周期t内,多中心认证系统以随机的方式选择任意n个认证中心为区块发布节点。其余m-n个认证中心为非区块发布节点。

进一步,选择区块发布节点的步骤主要如下:

1.1)以随机的方式选择认证中心作为区块发布节点。

1.2)记录在t2周期内每一个认证中心被选为区块发布节点的次数d。

1.3)设定次数阈值ε。

1.4)判断d和阈值ε的大小关系。若d>ε,则在下一个周期内将对应的认证中心移出随机列表,并重置次数d。若d≤ε,则直接重置次数d。

4)所述区块发布节点根据t时间内认证系统中接收到的著录交易信息,生成带时间戳的区块数据向整个认证系统广播发布。

所述区块数据包括区块头区和区块体区。区块体区收集t时间内被广播的著录交易信息。所述t时间内被广播的著录交易信息作为计算参数,被加工成根数据。所述根数据作为计算参数,被加工成认证数据;所述认证数据被记录在区块头区。t时间为设定时间。

5)所述区块发布节点的区块链认证记账系统将所述区块数据进行广播。

6)所述多中心认证系统的各中心节点的区块链认证记账系统接收被广播的所述区块数据。

7)m个认证中心根据设定的校验规则确定最终被认定的新的区块数据。

8)当一个区块数据被系统验证确认后,作为最新一个区块接到前一个区块的后面,存储于区块链中。系统进入下一个区块记录发布周期。

进一步,所述区块链著录记账系统至少包括:自校验参数、健康值和参与度。

所述健康参数值形成的规则如下:

a)如若一个区块发布节点发布的区块数据没有作为多数通过验证,则该认证中心健康参数值降低。

和/或b)所述认证中心对基础数据库中的数据进行自检。自检的结果影响健康参数值。

和/或c)如若一个认证中心没有在区块记录发布周期内发布基础著录项目信息,健康值会降低。

所述参与度数值形成的规则如下:

a)如若一个认证中心参与发布区块数据,则参与度数值增加。

和/或b)如若一个认证中心拒绝参与发布区块数据,则参与度数值降低。

自校验参数、健康值和参与度连续约定个区块发布周期没有降低,则自动恢复为正常初始值。如果自校验参数、健康值和参与度低于约定下限值时,所述中心将被警告或踢出所述多中心区块链系统。

实施例2:

一种应用于工商银行在市的65家分行的带区块发布机制的多中心认证系统,主要包括以下步骤:

1)建立多中心认证系统。所述多中心认证系统主要包括65个认证中心,分别记为第1认证中心、第2认证中心、…、第65认证中心。其中,认证中心为每一家上海工商银行分行的主服务器。

2)所述多中心认证系统以随机的方式发布3个区块发布指令。其中第27、30、31认证中心接收到所述区块发布指令,因此第27、30、31认证中心被选为区块发布节点,其余62个认证中心为非区块发布节点。设定区块发布周期t1=2s。

3)在选定区块发布节点后的2秒内,工商手机银行用户1向工商银行用户2发起转账交易,交易金额5000元。外部网络即用户1的手机将交易数据上传至所述区块发布节点。所述区块发布节点对基础数据库进行添加,从而产生著录事件认证信息。

所述著录事件认证信息主要包括:a)对所述基础数据库的操作是添加。b)添加的所述交易数据主要包括交易发起人、交易接收人、业务类型、金额、外部网络序列号等。所述发起人主要包括转账发起人的姓名、银行卡号等。所述发起人主要包括转账接收人的姓名、银行卡号等。所述业务类型主要包括转账、结息等银行受理业务。当一个智能终端一次接入多中心区块链系统时,生成一个唯一的外部网络序列号。在t2周期内,所述外部网络序列号重置。本实施例设定t2=1年。

进一步,所述区块数据i带有时间戳。所述时间戳为转账交易发起时的北京时间,包括年、月、日、时、分、秒和毫秒。

更进一步的,所述时间戳还可以选择其他时区的时间,可以选择更精确的时间单位,如纳秒,皮秒等。

4)所述区块发布节点的著录事件认证信息系统将所述区块数据进行广播。

5)64个非区块发布节点的区块链认证记账系统接收被广播的所述区块数据。

6)65个认证中心根据设定的校验规则,判断所述区块数据的时效性。所述校验规则为多数原则。

在本实施例中,设定有55个认证中心判断区块数据i为最新且有效的数据,有10个认证中心判断区块数据i不是最新数据或不是有效数据。根据多数原则,多中心认证系统判断区块数据i为最新且有效的数据。

因此,多中心认证系统将所述区块数据i作为最新一个区块接到前一个区块的后面,存储于区块链中。工商手机银行用户1向工商银行用户2发起的转账交易成功。

实施例3:

一种应用于工商银行在广州省的27家分行的带区块发布机制的多中心认证系统,主要包括以下步骤:

1)建立多中心认证系统。所述多中心认证系统主要包括27个认证中心,分别记为第1认证中心、第2认证中心、…、第27认证中心。其中,认证中心为每一家广州工商银行分行的主服务器。

2)所述多中心认证系统以随机的方式发布3个区块发布指令。其中第8认证中心、第14认证中心和第16认证中心接收到所述区块发布指令,因此第8认证中心、第14认证中心和第16认证中心被选为区块发布节点,其余24个认证中心为非区块发布节点。设定区块发布周期t=1s。

3)在选定所述区块发布节点后的1秒内,工商银行atm机用户1向工商银行用户2发起转账交易,交易金额8000元。外部网络即用户1的手机将交易数据上传至所述区块发布节点。所述区块发布节点对基础数据库进行添加,从而产生著录事件认证信息。

所述著录事件认证信息主要包括:a)对所述基础数据库的操作是添加。b)添加的所述交易数据主要包括交易发起人、交易接收人、业务类型、金额、外部网络序列号等。所述发起人主要包括转账发起人的姓名、银行卡号等。所述发起人主要包括转账接收人的姓名、银行卡号等。所述业务类型主要包括转账、结息等银行受理业务。当一个智能终端一次接入多中心区块链系统时,生成一个唯一的外部网络序列号。在t2周期内,所述外部网络序列号重置。本实施例设定t2=1年。

进一步,所述区块数据ii带有时间戳。所述时间戳为转账交易发起时的北京时间,包括年、月、日、时、分、秒和毫秒。本实施例设定时间戳为2018年3月21日15:35:06:297。

更进一步的,所述时间戳还可以选择其他时区的时间,可以选择更精确的时间单位,如纳秒,皮秒等。

4)所述区块发布节点的著录事件认证信息系统将所述区块数据进行广播。

5)64个非区块发布节点的区块链认证记账系统接收被广播的所述区块数据。

6)65个认证中心根据设定的校验规则,判断所述区块数据的时效性。所述校验规则为多数原则。

在本实施例中,设定有42个认证中心在基础数据库中匹配到和所述区块数据ii数据相同、时间戳相同的区块,则33个认证中心判断区块数据ii不是最新数据。

有5个认证中心判断区块数据ii是最新且有效的数据。

根据多数原则,多中心认证系统判断区块数据i不是最新数据或不是有效数据。工商银行atm机用户1向工商银行用户2在2018年3月21日15:35:06:297发起的转账交易失败。

实施例4:

一种应用于工商银行在重庆市的31家分行的带区块发布机制的认证系统,主要包括以下步骤:

1)建立认证系统。所述认证系统主要包括31个认证中心,分别记为第1认证中心、第2认证中心、…、第31认证中心。其中,认证中心为每一家重庆工商银行分行的主服务器。

2)所述认证系统以随机的方式发布3个区块发布指令。其中第6认证中心、第10认证中心和第25认证中心接收到所述区块发布指令,因此第6认证中心、第10认证中心和第25认证中心被选为区块发布节点,其余28个认证中心为非区块发布节点。设定区块发布周期t=3s。

3)在选定3个区块发布节点后的3秒内,工商手机银行用户1向工商银行用户2发起转账交易,交易金额1000元。外部网络即用户1的手机将交易数据上传至所述区块发布节点。所述区块发布节点对基础数据库进行添加,从而产生著录事件认证信息。

所述著录事件认证信息主要包括:

a)对所述基础数据库的操作是添加。

b)添加的所述交易数据主要包括交易发起人、交易接收人、业务类型、金额、外部网络序列号等。所述发起人主要包括转账发起人的姓名、银行卡号等。所述发起人主要包括转账接收人的姓名、银行卡号等。所述业务类型主要包括转账、结息等银行受理业务。当一个智能终端一次接入多中心区块链系统时,生成一个唯一的外部网络序列号。在t2周期内,所述外部网络序列号重置。本实施例设定t2=1年。

进一步,所述区块数据i带有时间戳。所述时间戳为转账交易发起时的北京时间,包括年、月、日、时、分、秒和毫秒。

更进一步的,所述时间戳还可以选择其他时区的时间,可以选择更精确的时间单位,如纳秒,皮秒等。

4)所述区块发布节点在认证系统中广播所述区块数据i。31个认证中心接收广播的区块数据i。

5)31个认证中心根据设定的校验规则,判断区块数据i是否为最新且有效的数据。

进一步,所述校验规则为多数原则。

在31个认证中心判断时,对所述自校验参数f的计算方法为:

所述认证中心对基础数据库中的数据进行自检。若基础数据库中有和所述区块数据相同的区块,则自校验参数f'=f-1。若基础数据库中没有和所述区块数据相同的区块,则自校验参数f'=f+1。

所述健康值g的计算步骤为:

a)设定认证系统中的每个认证中心安全,即每个认证中心的健康值g为相同的正整数。本实施例设定健康值g的初始值为20。当健康值g小于0时,认证系统发出报警信息,并将健康值g小于0所对应的认证中心锁定,在用户排出其隐患或彻底将其移出区块链系统前,所述认证中心不再参与数据验证。

b)验证所述区块发布中心发布的区块数据。若所述区块发布中心发布的区块数据没有通过验证,则所述区块发布中心的健康值g'=g-1。若所述区块发布中心发布的区块数据通过了验证,则所述区块发布中心的健康值不变。

和/或

若认证中心没有在区块记录发布周期内发布基础著录事件认证信息,则健康值g'=g-1。若认证中心在区块记录发布周期内发布了基础著录事件认证信息,则健康值不变。

所述参与度h的计算方法为:

若一个认证中心拒绝参与发布区块数据,则参与度h'=h-1。

若一个认证中心参与发布区块数据,则参与度不变。

本实施例设定参与度h的初始值为20。当参与度h小于0时,认证系统发出报警信息,并将参与度h小于0所对应的认证中心锁定,在用户排出其隐患或彻底将其移出区块链系统前,所述认证中心不再参与数据验证。

例如,第19认证中心自校验参数初始值为0,健康值g的初始值为20,参与度的初始值为20。第19认证中心接收到广播的所述认证数据后,和基础数据库进行对比验证,发现基础数据库没有所述认证数据,则第19认证中心的自校验参数f=1。第19认证中心没有在认证系统中广播基础著录事件信息,则健康值g=19。

在本实施例中,设定有28个认证中心判断区块数据i为最新且有效的数据,有3个认证中心判断区块数据i不是最新数据或不是有效数据。根据多数原则,认证系统判断区块数据i为最新且有效的数据。

因此,认证系统将所述区块数据i作为最新一个区块接到前一个区块的后面,存储于区块链中。工商手机银行用户1向工商银行用户2发起的转账交易成功。

由于3个区块发布节点,即第6认证中心、第10认证中心和第25认证中心的区块数据验证通过,则健康值g不变。

实施例5:

一种应用于工商银行在四川省的47家分行的带区块发布机制的认证系统,主要包括以下步骤:

1)建立认证系统。所述认证系统主要包括47个认证中心,分别记为第1认证中心、第2认证中心、…、第47认证中心。其中,认证中心为每一家四川工商银行分行的主服务器。

2)所述认证系统以随机的方式发布5个区块发布指令。其中第8、12、13、14、20认证中心接收到所述区块发布指令,因此第8认证中心被选为区块发布节点,其余41个认证中心为非区块发布节点。设定区块发布周期t=1s。

3)在选定所述区块发布节点后的1秒内,工商银行atm机用户1向工商银行用户2发起转账交易,交易金额8000元。外部网络即用户1的手机将交易数据上传至所述区块发布节点。所述区块发布节点对基础数据库进行添加,从而产生著录事件认证信息。

所述著录事件认证信息主要包括:

a)对所述基础数据库的操作是添加。

b)添加的所述交易数据主要包括交易发起人、交易接收人、业务类型、金额、外部网络序列号等。所述发起人主要包括转账发起人的姓名、银行卡号等。所述发起人主要包括转账接收人的姓名、银行卡号等。所述业务类型主要包括转账、结息等银行受理业务。当一个智能终端一次接入多中心区块链系统时,生成一个唯一的外部网络序列号。在t2周期内,所述外部网络序列号重置。本实施例设定t2=1年。

进一步,所述区块数据ii带有时间戳。所述时间戳为转账交易发起时的北京时间,包括年、月、日、时、分、秒和毫秒。本实施例设定时间戳为2018年3月21日15:35:06:297。

更进一步的,所述时间戳还可以选择其他时区的时间,可以选择更精确的时间单位,如纳秒,皮秒等。

4)所述区块发布节点在认证系统中广播所述区块数据ii。47个认证中心接收广播的区块数据ii。

5)47个认证中心根据设定的校验规则,判断区块数据ii是否为最新且有效的数据。

进一步,所述校验规则为多数原则。

所述认证中心对基础数据库中的数据进行自检。若基础数据库中有和所述区块数据相同的区块,则自校验参数f'=f-1。若基础数据库中没有和所述区块数据相同的区块,则自校验参数f'=f+1。

所述健康值g的计算步骤为:

a)设定认证系统中的每个认证中心安全,即每个认证中心的健康值g为相同的正整数。本实施例设定健康值g的初始值为20。当健康值g小于0时,认证系统发出报警信息,并将健康值g小于0所对应的认证中心锁定,在用户排出其隐患或彻底将其移出区块链系统前,所述认证中心不再参与数据验证。

b)验证所述区块发布中心发布的区块数据。若所述区块发布中心发布的区块数据没有通过验证,则所述区块发布中心的健康值g'=g-1。若所述区块发布中心发布的区块数据通过了验证,则所述区块发布中心的健康值不变。

和/或

若认证中心没有在区块记录发布周期内发布基础著录事件认证信息,则健康值g'=g-1。若认证中心在区块记录发布周期内发布了基础著录事件认证信息,则健康值不变。

所述参与度h的计算方法为:

若一个认证中心拒绝参与发布区块数据,则参与度h'=h-1。

若一个认证中心参与发布区块数据,则参与度不变。

本实施例设定参与度h的初始值为20。当参与度h小于0时,认证系统发出报警信息,并将参与度h小于0所对应的认证中心锁定,在用户排出其隐患或彻底将其移出区块链系统前,所述认证中心不再参与数据验证。

在本实施例中,设定有42个认证中心在基础数据库中匹配到和所述区块数据ii数据相同、时间戳相同的区块,则42个认证中心判断区块数据ii不是最新数据。

有5个认证中心判断区块数据ii是最新且有效的数据。

根据多数原则,认证系统判断区块数据i不是最新数据或不是有效数据。工商银行atm机用户1向工商银行用户2在2018年3月21日15:35:06:297发起的转账交易失败。

由于区块发布节点即第8、12、13、14、20认证中心发布的区块节点没有通过验证,则第8、12、13、14、20认证中心的健康值g=19。

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