一种区块链账号的生成方法及系统与流程

文档序号:16434006发布日期:2018-12-28 20:21阅读:796来源:国知局
一种区块链账号的生成方法及系统与流程

本发明涉及区块链技术领域,尤其涉及一种区块链账号的生成方法及系统。

背景技术

在区块链网络中,要想进行交易,需要先注册一个区块链账号对应的生成一个区块链地址,并且每个账号地址都是匿名地址及区块链账户没有实名信息。由于现有技术中,在区块链网络交易时只记录交易行为,不会记录账号地址关系,后续的所有交易行为都通过区块链地址来交易。因此,现有的区块链地址无法在交易过程中进行精准定位、控制及审计等,因此给金融监管带来了很大的难度。

在整个区块链交易中,如何克服现有技术中无法准确定位区块链账号及没有实名信息的问题,是当前亟待解决的技术问题。



技术实现要素:

为了解决现有技术中的缺陷,本发明提供了一种区块链账号的生成方法及系统,通过注册账号信息在区块链的一个第一账户处注册一个区块链账号,根据区块链账号生成对应的注册账户地址,使各区块链账号地址具有实名信息,从而具有对各区块链账号安全审计、管控及精准定位的有益效果。

为了实现上述目的,本发明提供了一种区块链账号的生成方法,该方法包括:

获取区块链的第一账号上的注册账号信息;所述注册账号信息包括:唯一身份信息;

根据所述注册账号信息利用哈希算法,生成所述注册账号信息对应的注册账号地址,并将所述注册账号信息及所述注册账号地址对应存储到所述区块链的分布式账本中。

本发明还提供了一种区块链账号的生成系统,该系统包括:

获取单元,用于获取区块链的第一账号上的注册账号信息;所述注册账号信息包括:唯一身份信息;

地址生成单元,用于根据所述注册账号信息利用哈希算法,生成所述注册账号信息对应的注册账号地址,并将所述注册账号信息及所述注册账号地址对应存储到所述区块链的分布式账本中。

本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

获取区块链的第一账号上的注册账号信息;所述注册账号信息包括:唯一身份信息及用于追溯所述注册账号来源的信息;

根据所述注册账号信息利用哈希算法,生成所述注册账号信息对应的注册账号地址,并将所述注册账号信息及所述注册账号地址对应存储到所述区块链的分布式账本中。

本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

获取区块链的第一账号上的注册账号信息;所述注册账号信息包括:唯一身份信息及用于追溯所述注册账号来源的信息;

根据所述注册账号信息利用哈希算法,生成所述注册账号信息对应的注册账号地址,并将所述注册账号信息及所述注册账号地址对应存储到所述区块链的分布式账本中。

本发明提供的一种区块链账号的生成方法及系统,包括:获取区块链的第一账号上的注册账号信息;所述注册账号信息包括:唯一身份信息及用于追溯所述注册账号来源的信息;根据所述注册账号信息利用哈希算法,生成所述注册账号信息对应的注册账号地址,并将所述注册账号信息及所述注册账号地址对应存储到所述区块链的分布式账本中。本发明通过唯一身份信息使各区块链账号具有实名信息,同时具有对各区块链账号安全审计、管控及精准定位的有益效果。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请的一种区块链账号的生成方法流程图;

图2是本申请一实施例中的区块链账号的生成方法流程图;

图3是本申请另一实施例中的区块链账号的生成方法流程图;

图4是本申请一实施例中的区块链的结构示意图;

图5是本申请一实施例中的步骤s205的方法流程图;

图6是本申请另一实施例中的区块链账号的生成方法流程图;

图7是本申请的一种区块链账号的生成系统的结构示意图;

图8是本申请一实施例中的区块链账号的生成系统的结构示意图;

图9是本申请一实施例中的同步单元的结构示意图。

具体实施方式

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

关于本文中所使用的“注册”、“第二”、……等,并非特别指称次序或顺位的意思,亦非用以限定本发明,其仅为了区别以相同技术用语描述的元件或操作。

关于本文中所使用的“包含”、“包括”、“具有”、“含有”等等,均为开放性的用语,即意指包含但不限于。

关于本文中所使用的“及/或”,包括所述事物的任一或全部组合。

针对现有技术中存在的缺陷,本发明提供了一种区块链账号的生成方法,其流程图如图1所示,该方法包括:

s101:获取区块链的第一账号上的注册账号信息。其中,注册账号信息包括:唯一身份信息,用于唯一确定注册账号的身份信息。

s102:根据注册账号信息利用哈希算法,生成注册账号信息对应的注册账号地址,并将注册账号信息及注册账号地址对应存储到区块链的分布式账本中。

由图1所示的流程可知,本申请获取区块链的第一账号上的注册账号信息,其中注册账号信息包括:唯一身份信息,根据注册账号信息利用哈希算法,生成注册账号信息对应的注册账号地址,并将注册账号信息及注册账号地址对应存储到区块链的分布式账本中。本发明通过唯一身份信息使各区块链账号具有实名信息,同时具有对各区块链账号安全审计、管控及精准定位的有益效果。

在一个实施例中,注册账号信息还包括:用于追溯注册账号来源的信息。

本实施例中通过采用用于追溯注册账号来源的信息,使在同一个区块链中的各区块链账号地址之间具有了绑定关系,从而本发明具有支持交易中的关系溯源、多级管理及多级分润的有益效果。

在一个实施例中,用于追溯注册账号来源的信息为来源地址。

其中,来源地址包括注册账号所在区块链中任一已注册的区块链账号地址,来源地址是注册账号地址的父地址,注册账号地址是来源地址的子地址,父地址用于审核及审计子地址发送的申请。

本实施例中通过采用来源地址,使在同一个区块链中的各区块链账号地址之间具有了绑定关系,从而本发明具有支持交易中的关系溯源、多级管理及多级分润的有益效果。

在一个实施例中,如图2所示,该区块链账号的生成方法还包括:

s103:利用注册账号地址在区块链中进行交易,并将交易后的数据同步更新到分布式账本中。

具体实施时,步骤s103按照以下步骤实施:

向区块链中的第二账号发送应用请求,登记应用请求对应的注册账号地址。

对注册账号地址进行审核。

具体的,判断分布式账本中是否存在注册账号地址对应的注册账号信息;如果存在,则注册账号地址审核通过。

审核通过后将第二账号对应的第二账号地址增加到注册账号信息的来源地址。

在第二账号中利用注册账号地址进行交易并将交易后的数据同步更新到分布式账本中。

本实施例中具有允许一个注册账号在同一个区块链的不同应用下进行交易,通过唯一身份信息确定各注册账号的唯一性,避免重复注册的有益效果。

为了使本领域的技术人员更好的了解本发明,下面列举一个更为详细的实施例一,如图3所示,本实施例提供了一种区块链账号的生成方法,该方法包括如下步骤:

s201:获取区块链的第一账号上的注册账号信息。其中,注册账号信息包括:唯一身份信息。

本实施例中的区块链包括:若干节点及一分布式账本。其中,分布式账本可以复制为多份,每份分布式账本的内容均相同,各节点均可存储一份该分布式账本。

各区块链账号均存储在该区块链的节点中,该区块链的分布式账本存储在各节点的中。

第一账号代表区块链中已经完成注册的任意一个区块链账号。注册账号及第一账号均属于区块链账号。本实施例中如图4所示,第一账号为应用平台1,属于区块链a,图4中所示各区块链账号均属于区块链a,各区块链账号可以存储在区块链a的各节点中。

在本实施例中,注册账号信息还包括用于追溯注册账号来源的信息,用于追溯注册账号来源的信息具体为来源地址,本发明不以此为限。

具体实施时,注册账号信息包括:唯一身份信息、来源地址、应用网站信息、节点信息、账号类型、账号角色等信息。

其中获取注册账号信息如下:

唯一身份信息:如个人用户的身份证号、护照号、军官证等;

应用网站信息包括:网站备案号及网站域名等,例如:百度的网站备案号---京icp证030173号应用的icp备案号、百度的域名:www.baidu.com等应用网站信息;

区块链包括多个节点,各节点一般部署在服务器上,因此节点信息包括:服务器的的硬件cpu号、硬盘号等信息,其中cpu号、硬盘号、内存号都是计算机硬件的唯一id,只有在更换硬件才会更新;

来源地址具体为区块链中已经注册的任一区块链账号地址,如图4所示,来源地址可以为区块链a的分布式账本、开放平台、交易平台、应用平台、账号1~账号6中任意一个已经注册的区块链账号对应的区块链账号地址。

账号类型包括:个人账号、机构账号、节点账号等类型。

账号角色包括:普通用户、管理员、审核员及审计员等角色。

对于注册账号由于注册的账号类型及账号角色不同,因此各注册账号权限不同。

注册账号注册时的接口函数定义如下:

接口定义为:

根据上述的注册信息,在区块链的第一账号中注册生成与注册账号信息对应的注册账号。其中来源地址可以为空、一个或者多个。来源地址包括区块链网络中任一注册的区块链账号地址;来源地址是注册账号地址的父地址;注册账号地址是来源地址的子地址;父地址用于审核及审计子地址发送的申请。

如图4所示,以账号3为例,账号3基于应用平台1注册,应用平台1为第一账号是区块链a中的一个区块链账号,应用平台1的账号地址为:address4,应用平台1的来源地址为address3,而来源地址address3对应的父地址为基于开放平台address1注册的账号2的账号地址,因此基于应用平台1注册的账号3的来源地址为应用平台1的账号地址address4。账号3的注册账号地址address5是来源地址address4的子地址,而来源地址(即应用平台1的账号地址address4)是账号3地址address5的父地址,父地址address4用于审核子地址address5发送的申请,例如创建交易的申请。

如图4所示,账号1至账号6、应用平台1、应用平台2、开放平台、交易平台及其他平台等均是区块链账号,均可以通过上述步骤s201注册生成,各区块链账号均存储在区块链a的分布式账本中,而分布式账本存储于在区块链的至少一个节点中。

通过图4可知,当注册账号在区块链a的分布式账本中注册时,即第一账号为区块链a的分布式账本,则来源地址为空。具体的开放平台、交易平台及其他平台等基于分布式账本注册区块链账号时,则注册的区块链账号的来源地址为空,即开放平台、交易平台及其他平台等只有注册账号地址,没有来源地址。如图4所示,开放平台作为一个已经注册的区块链账号对应的区块链账号地址为address1,交易平台的地址address8,其他平台作的地址为addressn,n为大于等于8的正整数。

s202:根据注册账号信息利用哈希算法,生成注册账号信息对应的注册账号地址,并将注册账号信息及注册账号地址对应存储到区块链的分布式账本中。

具体实施时,根据获取的注册账号信息完成注册账号的注册,根据生成的注册账号,通过sha256方式生成注册账号信息对应的注册账号地址,并将生成的注册账号地址广播到区块链的分布式账本中并存储,同时将注册账号地址对应的注册账号信息对应的存储到分布式账本中。其中存储方式为注册账号地址(key)=注册账号信息(value)。

具体注册账号地址生成方式为:注册账号地址=sha256(注册账号信息),同时对生成注册账号地址进行检查,判断生成的注册账号地址是否符合区块链中对地址的要求。

由于通过上述算法生成的注册账号地址不能逆向获得对应的注册账号信息,因此需要将注册账号地址及其对应的注册账号信息对应的存储在分布式账本中。

s203:根据注册账号信息生成注册账号信息对应的公钥及私钥。

具体实施时,根据获取的注册账号信息使用非对称加密算法生成注册账号对应的公钥和私钥。

具体的根据获取的注册账号信息由椭圆曲线加密算法生成公钥及私钥,其中由sha256及base58生成私钥,由sha256及ripemed生成公钥。

s204:将公钥广播到区块链的分布式账本中并将私钥存储于注册账号的钱包节点中。

具体实施时,将生成的公钥广播到区块链的分布式账本中并存储,将私钥存储在注册账号的钱包节点中用于在交易中进行签名。

s205:利用注册账号地址在区块链中进行交易,并将交易后的数据同步更新到分布式账本中。

具体实施时,在区块链中利用注册账号地址进行交易,并将交易后的数据同步更新到区块链的分布式账本中。在区块链中各节点至多存储一份分布式账本,在区块链发生交易时,各节点中存储的分布式账本均进行同步数据更新。

其中具体交易流程为:创建交易->签名->广播->验证交易->打包->区块同步。如图4所示,当账号3在应用平台1(即第一账号)创建交易时,地址address5在第一账号-应用平台1上创建交易,利用注册账号的私钥对交易进行私钥签名,将签名数据广播到区块链的节点中,在交易所在节点对注册账号的公钥与签名数据进行校验,校验通过后进行交易打包,最后将交易后的数据同步更新到区块链的分布式账本中。此时注册账号地址address5在区块链中显示来源地址为应用平台1的账号地址address4。

如图5所示,步骤s205具体实施时包括以下步骤:

s301:向区块链中的一第二账号发送应用请求,登记应用请求对应的注册账号地址。其中第二账号为区块链中与注册账号位于同一区块链上的任一区块链账号。

具体实施时,图4所示,账号3注册时所在的区块链a为分布式账本-开放平台address1-账号2address3/address1-应用平台1address4/address3-账号3address5/address4。当账号3在应用平台2(即第二账号)创建交易时,利用注册账号地址address5在区块链中的应用平台2创建交易并进行交易,应用平台2需要根据注册账号地址address5的交易申请,登记注册账号地址address5对应的账号3的信息。

s302:对注册账号地址进行审核。

具体实施时,根据注册账号地址address5,由第二账号-应用平台2对注册账号地址address5进行审核。

具体审核过程如下:

判断分布式账本中是否存在注册账号地址对应的注册账号信息;如果存在,则注册账号地址审核通过。

由于注册账号地址与其对应的注册账号信息对应存储在分布式账本中,因此可以通过在分布式账本中查找该注册账号地址对应的注册账号信息,例如唯一身份信息,从而确定该注册账号地址对应的注册账号已经在该区块链中注册。

具体的,第二账号-应用平台2在分布式账本中查找注册账号-账号3的注册账号地址address5对应的注册账号信息,例如查找注册账号地址address5对应存储的账号3的唯一身份信息。

如果注册账号地址address5对应的唯一身份信息在分布式账本中存在,证明账号3已经注册成功,则审核通过,注册账号地址address5可以在第二账号-应用平台2上进行交易。

如果注册账号地址address5对应的唯一身份信息在分布式账本中不存在,则审核失败,注册账号地址address5对应的注册账户-账户3不可以在第二账号-应用平台2上进行交易。

s303:审核通过后将第二账号对应的第二账号地址增加到注册账号的来源地址。

具体实施时,第二账号-应用平台2对注册账号地址address5的请求审核通过后,将应用平台2的账号地址address6增加到注册账号-账号3的来源地址中,则账号3的来源地址变为(address4,address6),其余信息保持不变,账号3对应的注册账号地址仍然为address5。

s304:在第二账号中利用注册账号地址进行交易并将交易后的数据同步更新到分布式账本中。

具体实施时,基于具体交易流程:创建交易->签名->广播->验证交易->打包->区块同步。如图4所示,当账号3在应用平台2创建交易时,利用注册账号地址address5在第二账号应用平台2创建交易,利用注册账号的私钥对交易进行私钥签名,将签名数据广播到区块链的各节点中,在交易所在节点将从分布式账本中获取的注册账号的公钥与签名数据进行校验,校验通过后进行交易打包,最后将交易后的数据同步更新到分布式账本中。此时注册账号地址address5在区块链中显示来源地址为应用平台2的账号地址address6。

本申请通过使用用于追溯注册账号来源的信息使区块链账号之间具有关联关系,具有支持交易中的关系溯源、多级管理、多级分润及区块链账号精准定位的有益效果。

为了使本领域的技术人员更好的了解本发明,本申请还提供了另外一个实施例二,如图6所示,本发明实施例提供了一种区块链账号的生成方法,该方法包括如下步骤:

s401:获取区块链的第一账号上的注册账号信息。其中注册账号信息包括:唯一身份信息。

具体实施时,在本实施例中来源地址最多为一个并且注册成功后不可增加。

同时,注册账号注册时的接口函数定义如下:

接口定义为:

在本实施例中公钥采用直接录入的方法,其余内容参见步骤s201的实施过程,此处不再赘述。

s402:根据注册账号信息利用哈希算法,生成注册账号信息对应的注册账号地址,并将注册账号信息及注册账号地址对应存储到区块链的分布式账本中。

具体实施过程与步骤s202的实施过程相同,此处不再赘述。

s403:根据注册账号信息生成注册账号信息对应的公钥及私钥。

具体实施时,区块链根据注册账号信息和随机数生成注册账号的公钥及私钥。因此在注册账号的注册过程中,接口定义预留项为“publickey”,如果获取到了“publickey”,那么执行本实例中步骤s403,否则与步骤s203的实施过程相同。

s404:将公钥广播到区块链的分布式账本中并将私钥存储于注册账号的钱包节点中。具体实施过程与步骤s204的实施过程相同,此处不再赘述。

s405:利用注册账号地址在区块链中进行交易,并将交易后的数据同步更新到分布式账本中。具体实施过程与步骤s205的实施过程相同,此处不再赘述。

在本实施例中,步骤s405实施时包括以下步骤:

s501:向区块链中的一第二账号发送应用请求,登记应用请求对应的注册账号地址。其中第二账号为区块链中与注册账号位于同一区块链上的任一区块链账号。具体实施过程与步骤s301的实施过程相同,此处不再赘述。

s502:对注册账号地址进行审核。

具体实施过程与步骤s302的实施过程相同,此处不再赘述。

s503:审核通过后在第二账户中利用注册账号地址进行交易。

具体实施时,第二账号-应用平台2对注册账号地址address5的信息审核通过后,基于具体交易流程:创建交易->签名->广播->验证交易->打包->区块同步。如图3所示,当注册账号-账号3在应用平台2创建交易时,利用注册账号地址address5在第二账号-应用平台2上创建交易,利用注册账号的私钥对交易进行私钥签名,将签名数据广播到区块链的各节点中,在交易所在节点将从分布式账本中获取的注册账号的公钥与签名数据进行校验,校验通过后进行交易打包,最后将交易后的数据同步更新到分布式账本中。此时注册账号地址address5在区块链中显示来源地址仍然为应用平台1的地址address4。

基于上述各实施例可知,本申请具有如下有益效果:

本申请的注册账号经过审核共享该注册账号地址,无需重复注册,避免了资源的浪费,并且便于安全审计及管控,注册账号在交易中出现不合规问题时可以通过用于追溯注册账号来源的信息,精准定位注册账号;

由于各注册账号地址与注册账号一一对应,各注册账号之间具有关联关系,如该注册账号地址对应的注册账号在什么时间,在哪个账号上注册的,注册账号的来源地址是什么等多重关联信息,通过本申请的注册账号可以实现多个区块链账号的扁平管理;

本申请的注册账号具有关联关系,可以方便的针对行业规则设置不同的管理策略对子地址对应的区块链账号行为进行管理及审计,还可以基于一个区块链接入多种应用(每个应用做为一个区块链账号),实现数据共享和资产流转。

基于与上述区块链账号的生成方法相同的申请构思,本发明还提供了一种区块链账号的生成系统,如下面实施例所述。由于该区块链账号的生成系统解决问题的原理与区块链账号的生成方法相似,因此该区块链账号的生成系统的实施可以参见区块链账号的生成方法的实施,重复之处不再赘述。

图7为本申请实施例的区块链账号的生成系统的结构示意图,如图7所示,该区块链账号的生成系统包括:获取单元101及地址生成单元102。

获取单元101,用于获取区块链的第一账号上的注册账号信息。其中注册账号信息包括:唯一身份信息。

地址生成单元102,用于根据注册账号信息利用哈希算法,生成注册账号信息对应的注册账号地址,并将注册账号信息及注册账号地址对应存储到区块链的分布式账本中。

在一个实施例中,注册账号信息还包括:用于追溯注册账号来源的信息。

在一个实施例中,用于追溯注册账号来源的信息为来源地址;

来源地址包括区块链网络中任一注册的区块链账号地址;

来源地址是注册账号地址的父地址;注册账号地址是来源地址的子地址;父地址用于审核及审计子地址发送的申请。

在一个实施例中,如图8所示,该系统还包括:同步单元103。

同步单元103,用于利用注册账号地址在区块链中进行交易,并将交易后的数据同步更新到分布式账本中。

在一个实施例中,如图9所示,该同步单元103包括:请求模块201、审核模块202、地址增加模块203及更新模块204。

请求模块201,用于向区块链中的一第二账号发送应用请求,登记应用请求对应的注册账号地址;

审核模块202,用于对注册账号地址进行审核;

地址增加模块203,用于审核通过后将第二账号对应的第二账号地址增加到注册账号信息的来源地址;

更新模块204,用于在第二账号中利用注册账号地址进行交易并将交易后的数据同步更新到分布式账本中。

在一个实施例中,审核模块202具体用于:判断分布式账本中是否存在注册账号地址对应的注册账号信息;如果存在,则注册账号地址审核通过。

基于与上述区块链账号的生成方法相同的申请构思,本申请提供一种计算机设备,如下面实施例所述。由于该计算机设备解决问题的原理与区块链账号的生成方法相似,因此该计算机设备的实施可以参见区块链账号的生成方法的实施,重复之处不再赘述。

在一个实施例中,计算机设备包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,如图1所示,所述处理器执行所述计算机程序时实现以下步骤:

s101:获取区块链的第一账号上的注册账号信息;注册账号信息包括:唯一身份信息。

s102:根据注册账号信息利用哈希算法,生成注册账号信息对应的注册账号地址,并将注册账号信息及注册账号地址对应存储到区块链的分布式账本中。

基于与上述区块链账号的生成方法相同的申请构思,本申请提供一种计算机可读存储介质,如下面实施例所述。由于该计算机可读存储介质解决问题的原理与区块链账号的生成方法相似,因此该计算机可读存储介质的实施可以参见区块链账号的生成方法的实施,重复之处不再赘述。

在一个实施例中,计算机可读存储介质上存储有计算机程序,如图1所示,该计算机程序被处理器执行时实现以下步骤:

s101:获取区块链的第一账号上的注册账号信息;注册账号信息包括:唯一身份信息。

s102:根据注册账号信息利用哈希算法,生成注册账号信息对应的注册账号地址,并将注册账号信息及注册账号地址对应存储到区块链的分布式账本中。

本发明提供了一种区块链账号的生成方法及系统,包括:获取区块链的第一账号上的注册账号信息;注册账号信息包括:唯一身份信息;根据注册账号信息利用哈希算法,生成注册账号信息对应的注册账号地址,并将注册账号信息及注册账号地址对应存储到区块链的分布式账本中。本申请通过用于追溯注册账号来源的信息等在区块链的一个第一账号(即已注册的区块链账号)处注册区块链账号(即注册账号),根据注册账号信息生成对应的注册账号地址,通过本申请使该区块链中各区块链账号地址之间具有了绑定关系,具有支持交易中的关系溯源、多级管理、多级分润及区块链账号精准定位的有益效果。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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