一种基于PoA共识的实名制方法与流程

文档序号:23063746发布日期:2020-11-25 17:48阅读:219来源:国知局
一种基于PoA共识的实名制方法与流程

本申请涉及区块链技术领域,尤其涉及一种基于权威证明(proof-of-authority,poa)共识的实名制方法。



背景技术:

以太坊是一个开源的有智能合约功能的公共区块链平台,通过其专用加密货币以太币提供去中心化的以太虚拟机来处理点对点合约。

同比特币一样,以太坊中的用户是匿名的,不可知的。用户身份被以太坊上的地址所替代,链上用户不能完成“实名认证”,交易过程存在风险,不利于以太坊用户的治理。



技术实现要素:

本申请实施例提供一种基于poa共识的实名制方法,用以解决现有技术中由于以太坊用户匿名,不利于以太坊用户治理的问题。

本申请实施例提供一种基于poa共识的实名制方法,其特征在于,包括:

设立poa共识的授权节点;

初始化包含在智能合约内的白名单,所述白名单包含用户的身份信息,所述用户为被赋予了额外的指定操作权限的用户;

对未包含在所述白名单内的其他用户的身份信息进行认证,根据认证结果,判断是否由所述授权节点通过调用所述智能合约修改所述白名单。

对用户进行身份信息认证后,由授权节点调用智能合约修改白名单,能够完成链上用户“实名认证”且可以动态控制白名单。

可选的,所述设立poa共识的授权节点,具体包括:

在使用poa共识机制的联盟链中为指定的可信机构设立授权节点,所述联盟链是通过以太坊客户端搭建的。

由于为指定的可信机构设立授权节点,保证了授权节点的权威性与安全性。

可选的,所述初始化智能合约内的白名单,具体包括:

将所述授权节点对应的授权节点用户的身份信息写入所述白名单。

可选的,在所述初始化智能合约内的白名单之后,还包括:

将所述初始化智能合约内的白名单发送给所述授权节点。

可选的,所述指定操作权限,具体包括:

转账或者部署、调用智能合约。

可选的,在所述对未包含在所述白名单内的其他用户的身份信息进行认证,根据认证结果,判断是否由所述授权节点通过调用所述智能合约修改所述白名单之前,还包括:

若用户发起交易,校验发起所述交易的用户是否在白名单内;

若发起所述交易的用户不在所述白名单内,所述授权节点拒绝处理所述交易。

检查发起交易的用户是否可信,确保每一个发起交易的用户和每一笔交易都是安全可靠的。

可选的,在所述授权节点拒绝处理所述交易之后,还包括:

向发起所述交易的用户发送身份信息认证邀请。

由于不确认用户的身份信息,在发送身份信息认证邀请后,可验证用户身份信息,避免交易可靠却无法处理。

可选的,获取预设值,所述预设值为向同一用户在第一指定时间范围内发送所述身份信息认证邀请的次数。

可选的,在所述向发起所述交易的用户发送身份信息认证邀请之后,还包括:

若发送所述身份信息认证邀请的次数不超过所述预设值且所述身份信息认证通过,则由所述授权节点通过调用所述智能合约,将所述未包含在所述白名单内的所述其他用户的身份信息写入所述白名单。

可选的,在所述向发起所述交易的用户发送身份信息认证邀请之后,还包括:

若在所述预设值之内身份认证信息未通过,则在第一时间范围之内不再向发起所述交易的用户发送所述身份信息认证邀请;

若在第二时间范围之内身份信息认证未通过,将所述发起所述交易的用户的身份信息写入黑名单,所述黑名单包含用户的身份信息,所述用户无法接收所述身份信息认证邀请。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请实施例提供的一种基于poa共识的实名制方法过程示意图。

具体实施方式

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

针对背景技术中的问题,本申请提出了一种基于poa共识的实名制方法,设立授权节点,初始化白名单,能够对以太坊上的用户进行身份认证,实现以太坊用户的“实名制”以及白名单的动态控制。

以下结合附图,详细说明本申请各实施例提供的技术方案。

图1为本申请实施例提供的一种基于poa共识的实名制方法的过程示意图,可以包括以下步骤:

s101:设立poa共识的授权节点。

本申请实施例是在多个机构通过以太坊客户端,使用poa共识机制搭建成一条联盟链的基础上实施的。

首先设立poa共识的授权节点,使用poa共识机制,也就是权威证明机制,设立具有校验交易特性的节点,校验交易特性的节点为授权节点,校验交易指的是校验转账信息或者上链请求数据等,此处不做具体限定。

在使用poa共识机制的联盟链中为指定的可信机构设立授权节点,所述联盟链是通过以太坊客户端搭建的。

在本申请实施例中,可信机构是具有权威性的机构,比如政府单位、公司、研究机构等。以太坊客户端可以为parity,也可以为其他以太坊客户端。

s102:初始化包含在智能合约内的白名单,所述白名单包含用户的身份信息,所述用户为被赋予了额外的指定操作权限的用户。

在本申请实施例中,多个机构通过以太坊客户端,使用poa共识机制搭建联盟链时会初始化智能合约的白名单,在初始化时,系统会格式化智能合约内的白名单,。例如,在一条金融业联盟链中,多家银行通过以太坊客户端,使用poa共识机制,搭建的一条联盟链。在搭建的过程中,系统会初始化智能合约的白名单,将智能合约的白名单格式化,使智能合约的白名单成为一个空白页。

其中,初始化智能合约内的白名单,具体包括:将所述授权节点对应的授权节点用户的身份信息写入所述白名单。

在本申请实施例中,在多个机构,通过以太坊客户端,使用poa共识机制,搭建联盟链的同时,将智能合约内的白名单格式化,使智能合约内的白名单成为空白页,之后将授权节点对应的授权节点信息写到智能合约的白名单。例如,在银行a、银行b、银行c以及其他金融机构,通过以太坊客户端,使用poa共识机制,搭建一条金融业联盟链,因为银行a、银行b、银行c为政府机构,权威性大,可信度高,所以设为授权节点,搭建联盟链的同时将智能合约内的白名单格式化为空白页,并在智能合约内的白名单变为空白页后,将银行a、银行b、银行c的信息写入到智能合约内的白名单。因为初始化智能合约内的白名单的同时,写入授权节点信息,所以保证了系统的可靠性与安全性。

在所述初始化智能合约内的白名单之后,将所述初始化智能合约内的白名单发送给所述授权节点。

在本申请实施例中,例如在银行a、银行b、银行c以及其他金融机构,通过以太坊客户端,使用poa共识机制,搭建一条金融业联盟链,在初始化智能合约内的白名单后,将初始化智能合约内的白名单发送给授权节点,确保每个授权节点都能知道智能合约内的白名单包含了哪些用户信息,并且具有即时性,但是无法保证发送的智能合约内的白名单是否遭到串改,可靠性不高。例如,十个机构组成了一条联盟链,其中三个机构甲、乙、丙为授权节点,初始化智能合约内的白名单后,智能合约内的白名单包含甲、乙、丙的信息,并且会即时将包含甲、乙、丙的信息的智能合约内的白名单分别发送给甲、乙、丙三个授权节点,确保授权节点及时知道智能合约内的白名单包含了哪些用户。

另外,在本申请实施例中,也可不将初始化后的智能合约内的白名单发送给所述授权节点,智能合约是在链上的,数据在所有节点都可同步,也就是说在初始化智能合约内的白名单后,白名单的内容会进行同步,链上的所有节点都会知道智能合约白名单中的内容。由于这种方法是所有节点同步信息,若出现串改信息的情况,节点会有所察觉,但是同步白名单会有延时,因此此种方法可信性高,但不够及时。

在s102中,指定操作权限,具体包括:转账或者部署、调用智能合约。

s103:对未包含在所述白名单内的其他用户的身份信息进行认证,根据认证结果,判断是否由所述授权节点通过调用所述智能合约修改所述白名单。

在本申请实施例中,系统并不是只能够在初始化时写入具有指定操作权限的用户的用户信息,也可以对不包含在智能合约的白名单内的用户的身份信息进行认证,并且根据不同的认证结果,做出相对应的动作。

若用户发起交易,校验发起所述交易的用户是否在白名单内;若发起所述交易的用户不在所述白名单内,所述授权节点拒绝处理所述交易。

在本申请实施例中,例如,多个机构,通过以太坊客户端,使用poa共识机制,搭建了一条联盟链,其中有授权节点a、b、c,此时有一个原本不在联盟链中的用户d,通过以太坊客户端连接到了联盟链中,并且尝试发起交易,以数据上链请求为例,授权节点a、b、c对发起数据上链请求的用户d是否在智能合约内的白名单内进行校验,授权节点a发现智能合约内的白名单内除了自己还有授权节点b、c,没有授权节点d,同样的授权节点b、c在智能合约内的白名单内也没有发现授权节点d,此时授权节点a、b、c认为智能合约内的白名单内没有用户d,不管用户d发起的数据上链请求是否可信,授权节点a、b、c拒绝处理此数据上链请求,对用户d的数据上链请求不理睬或者直接驳回。

在授权节点拒绝处理所述交易之后,向发起所述交易的用户发送身份信息认证邀请。

在本申请实施例中,授权节点判定发起交易的用户不在智能合约内的白名单内,拒绝处理该交易后,以弹窗、打开新界面等形式向发起交易的用户发送身份信息认证邀请,邀请用户填写自己的身份信息进行认证。

身份认证邀请次数有预设值,获取预设值,所述预设值为向同一用户在第一指定时间范围内发送所述身份信息认证邀请的次数。

在本申请实施例中,系统中预设了授权节点拒绝处理交易之后,系统向同一用户在第一指定时间范围内发送身份信息认证邀请的次数限制,取一个预设值,可以为3次,或者5次,在此不做限定,第一指定时间可以为24小时,或者48小时,在此不做限定。

若发送所述身份信息认证邀请的次数不超过所述预设值且所述身份信息认证通过,则由所述授权节点通过调用所述智能合约,将所述未包含在所述白名单内的所述其他用户的身份信息写入所述白名单。

在本申请实施例中,例如由多个用户,通过以太坊客户端,使用poa共识机制,搭建的一条联盟链。其中用户1、用户2、用户3为授权节点,用户4为通过以太坊客户端后连到联盟链中的用户。用户4发起一笔交易,用户1、用户2、用户3拒绝处理该交易,并向用户4发送了身份信息认证邀请,系统设定预设值为3次,在第一次身份信息认证邀请后,用户4进行身份信息认证,且身份信息认证通过,此时授权节点调用智能合约,将用户4的身份信息写入到智能合约内的白名单中,实现白名单的动态控制。

若在所述预设值之内身份认证信息未通过,则在第一时间范围之内不再向发起所述交易的用户发送所述身份信息认证邀请;

若在第二时间范围之内身份信息认证未通过,将所述发起所述交易的用户的身份信息写入黑名单,所述黑名单包含用户的身份信息,所述用户无法接收所述身份信息认证邀请。

在本申请实施例中,例如由多个用户,通过以太坊客户端,使用poa共识机制,搭建的一条联盟链。其中用户1、用户2、用户3为授权节点,用户4为通过以太坊客户端后连到联盟链中的用户。用户4发起一笔交易,用户1、用户2、用户3拒绝处理该交易,并向用户4发送了身份信息认证邀请,系统设定预设值为3次,在3次身份信息认证后,用户4的身份信息认证没有通过,在24小时内不再向用户4发送身份信息认证邀请。

若在第二时间范围内,例如72小时内,用户4的身份信息认证没有通过,系统将发起交易的用户4的身份信息写入到黑名单内,系统不会向黑名单内的用户发送身份信息认证。避免恶意用户对系统造成负担。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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