CN110474775B - 一种块链式账本中的用户创建方法、装置及设备 - Google Patents

一种块链式账本中的用户创建方法、装置及设备 Download PDF

Info

Publication number
CN110474775B
CN110474775B CN201910599878.4A CN201910599878A CN110474775B CN 110474775 B CN110474775 B CN 110474775B CN 201910599878 A CN201910599878 A CN 201910599878A CN 110474775 B CN110474775 B CN 110474775B
Authority
CN
China
Prior art keywords
public key
data
block
user
data record
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910599878.4A
Other languages
English (en)
Other versions
CN110474775A (zh
Inventor
杨新颖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910599878.4A priority Critical patent/CN110474775B/zh
Publication of CN110474775A publication Critical patent/CN110474775A/zh
Priority to PCT/CN2020/071840 priority patent/WO2021000578A1/zh
Priority to US16/803,388 priority patent/US10791122B2/en
Application granted granted Critical
Publication of CN110474775B publication Critical patent/CN110474775B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Abstract

公开了一种块链式账本中的用户创建方法、装置及设备。通过本说明书实施例所提供的方案,当需要在账本中创建具有一定权限的用户时,获取该用户的公钥,并且将创建用户的操作指令和公钥以数据记录的形式写入块链式账本中,实现了公钥在账本中不可篡改的存证。

Description

一种块链式账本中的用户创建方法、装置及设备
技术领域
本说明书实施例涉及信息技术领域,尤其涉及一种块链式账本中的用户创建方法、装置及设备。
背景技术
在数据库服务端以块链式的账本通过中心化的方式对外提供服务时,账本中的数据记录经常需要各方经过私钥加密的数字签名,因此,用户往往对于该类私钥加密过的数据需要使用对应的公钥进行解密。
而在块链式账本的使用过程中,作为个人用户而言,经常需要在账本中创建其它相关有一定权限用户(例如,与个人用户有业务往来的业务方),然而由于其它用户写入账本的数据记录往往是经过数字签名,需要公钥解密的,日后需要使用正确的公钥对账本中的相应的数据记录进行公钥解密。
基于此,需要一种可以保障公钥准确性的用户创建方案。
发明内容
本申请实施例的目的是提供一种块链式账本中实现减少用户操作,保障公钥准确性的用户创建方案。
为解决上述技术问题,本申请实施例是这样实现的:
一种块链式账本中的用户创建方法,应用于以块链式账本存储数据记录的数据库服务端中,包括:
接收客户端所发送的创建用户的操作指令,所述操作指令中包含有用户标识和公钥参数;
获取所述用户标识所对应的公钥;
执行所述操作指令,在所述块链式账本中创建由用户标识所对应的用户;
生成包含所述操作指令和公钥的数据记录,将所述数据记录写入所述块链式账本中。
对应的,本说明书实施例还提供一种块链式账本中的用户创建装置,应用于以块链式账本存储数据记录的数据库服务端中,包括:
接收模块,接收客户端所发送的创建用户的操作指令,所述操作指令中包含有用户标识和公钥参数;
获取模块,获取所述用户标识所对应的公钥;
执行模块,执行所述操作指令,在所述块链式账本中创建由用户标识所对应的用户;
第一写入模块,生成包含所述操作指令和公钥的数据记录,将所述数据记录写入所述块链式账本中。
通过本说明书实施例所提供的方案,当需要在账本中创建具有一定权限的用户时,获取该用户的公钥,并且将创建用户的操作指令和公钥以数据记录的形式写入块链式账本中,实现了公钥在账本中不可篡改的存证,保障了用户公钥准确性,以便日后可以使用对应的公钥进行相应的数字签名解密验证。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。
此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本说明书实施例所提供的一种生成块链式账本的流程示意图;
图2为本说明书实施例所涉及的一种系统架构的示意图;
图3为本说明书实施例所提供的块链式账本中的用户创建方法的流程示意图;
图4是本说明书实施例提供的一种用户创建装置的结构示意图;
图5是用于配置本说明书实施例方法的一种设备的结构示意图。
具体实施方式
为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。
首先对本说明书实施例中所涉及的中心化下的块链式的账本予以说明。在中心化的数据库服务提供方,块链式的账本通过如下方式生成,如图1所示,图1为本说明书实施例所提供的一种生成块链式账本的流程示意图,包括:
S101,接收待存储的数据记录,确定各数据记录的哈希值。
此处的待存储的数据记录,可以是客户端个人用户的各种消费记录,也可以是应用服务器基于用户的指令,在执行业务逻辑时产生的业务结果、中间状态以及操作记录等等。具体的业务场景可以包括消费记录、审计日志、供应链条、政府监管记录、医疗记录等等。
S103,当达到预设的成块条件时,确定待写入数据块中的各数据记录,生成包含数据块的哈希值和数据记录的第N个数据块。
所述预设的成块条件包括:待存储的数据记录数量达到数量阈值,例如,每接收到一千条数据记录时,生成一个新数据块,将一千条数据记录写入块中;或者,距离上一次成块时刻的时间间隔达到时间阈值,例如,每隔5分钟,生成一个新数据块,将在这5分钟内接收到的数据记录写入块中。
此处的N指的是数据块的序号,换言之,在本说明书实施例中,数据块是以块链的形式,基于成块时间的顺序先后排列,具有很强的时序特征。其中,数据块的块高基于成块时间的先后顺序单调递增。块高可以是序号,此时第N个数据块的块高即为N;块高也可以其它方式生成,例如,将数据块的成块时间对称加密转换为单调递增的大整型数据作为块高。
当N=1时,即此时的数据块为为初始数据块。初始数据块的哈希值和块高基于预设方式给定。例如,初始数据块中不包含数据记录,哈希值则为任一给定的哈希值,块高blknum=0;又例如,初始数据块的生成触发条件与其它数据块的触发条件一致,但是初始数据块的哈希值由对初始数据块中的所有内容取哈希确定。
当N>1时,由于前一数据块的内容和哈希值已经确定,则此时,可以基于前一数据块(即第N-1个数据块)的哈希值生成当前数据块(第N个数据块)的哈希值,例如,一种可行的方式为,确定每一条将要写入第N个块中的数据记录的哈希值,按照在块中的排列顺序,生成一个默克尔树,将默克尔树的根哈希值和前一数据块的哈希值拼接在一起,再次采用哈希算法,生成当前块的哈希值。又例如,还可以按照块中数据记录的顺序进行拼接并取哈希得到整体数据记录的哈希值,拼接前一数据块的哈希值和整体数据记录的哈希值,并对拼接得到的字串进行哈希运算,生成数据块的哈希值。
用户在上传数据成功后,即可以得到对应的数据记录的哈希值以及所处的数据块的哈希值,并保存,并且可以基于该哈希值发起完整性验证。具体的验证方式即为在数据库中重新计算数据记录自身的哈希值以及所处的数据块的哈希值,与本地所保存的进行对比。
通过前述的数据块的生成方式,每一个数据块通过哈希值确定,数据块的哈希值由数据块中的数据记录的内容、顺序以及前一数据块的哈希值决定。用户可以随时基于数据块的哈希值发起验证,对于数据块中任何内容(包括对于数据块中数据记录内容或者顺序的修改)的修改都会造成在验证时计算得到的数据块的哈希值和数据块生成时的哈希值不一致,而导致验证失败,从而实现了中心化下的不可篡改。
在对于块链式的账本进行验证时,一般而言,即指定一段数据块进行连续的完整性验证,或者从初始数据块开始进行连续的完整性验证。验证的方式即为获取前一数据块的哈希值,并采用与生成数据块的哈希值时的同样算法,根据自身的数据记录和前一数据块的哈希值,重新计算一遍自身数据块的哈希值,并与之前的数据块的哈希值进行对比即可。
前述部分对于本说明书实施例所涉及的块链式的账本进行了说明。在实际应用中,用户可以在数据库服务端中创建相应的账本,并写入自身相关的数据记录。例如,在一种应用场景下,用户可以通过客户端与业务方发生诸如购买/卖出基金、保险等与资产相关的行为,由此也会产生相应的资产变更记录。此时,用户可以主动将相应的资产变更记录写入账本中进行存储。
与此同时,业务方还经常会产生于用户相关的诸如交割清单以及对账清单等等,以及还有一些不需要要用户的主动操作的业务,诸如,利息、分红计算等等。此时,用户也有需要业务方将这类数据记录写入到自己的账本中进行存证。
在这种情形下,用户就需要通过客户端在账本中创建相应的其它用户,以使得业务方可以实现在该账本中进行相应的数据写入。如图2所示,图2为本说明书实施例所涉及的一种系统架构的示意图。客户端可以与多个业务端存在业务往来,在这种情形下,有可能需要为每一个业务端在账本中创建一个用户,以便业务端分别写入相关数据。
基于此,本说明书实施例提供一种块链式账本中的用户创建方法,应用于以块链式账本存储数据记录的数据库服务端中,如图3所示,图3为本说明书实施例所提供的块链式账本中的用户创建方法的流程示意图,包括:
S301,接收客户端所发送的创建用户的操作指令,所述操作指令中包含有用户标识和公钥参数。
具体而言,用户创建用户的操作指令可以是如下形式:CreatRole(userid,pub_key)。表明用户需要在自己的账本中创建一个相应用户名为“userid”的用户,并且通过参数“pub_key”指明了需要该用户的公钥。
在一种实施方式中,还可以在CreatRole直接加入权限参数,例如,CreatRole(userid,pub_key,20),表明创建出来的用户的操作权限为20,当然,也可以在创建用户之后,再通过其它指令对该用户进行权限赋值。
S303,获取所述用户标识所对应的公钥。
在实际应用场景中,用户标识一般对应的都是一些业务机构。这些机构通常执有公开的公钥,例如,经过证书颁发机构(Certificate Authority,CA)认证的公钥。CA中心可以为每个使用公钥的用户发放一个数字证书,数字证书的作用是证明证书中列出的用户合法拥有证书中列出的公钥。
换言之,服务端可以基于用户标识查询得到该用户标识所对应的公钥。例如,从CA中心去查询获取;或者,预先将各业务机构的公钥和用户标识存储起来,在本地建立公钥信息表,从该公钥信息表中获取所述用户标识所对应的公钥。
在另一种实施方式下,如果该用户标识所对应的机构还没有公开认证的公钥。则此时,数据库服务端可以调用相应的密钥生成算法,生成公私钥对。并且,将该公私钥对中的私钥发送给用户标识所对应的业务端,以及,获取公私钥对中的公钥。具体的密钥生成算法可以采用诸如RSA加密算法。
S305,执行所述操作指令,在所述块链式账本中创建由用户标识所对应的用户。
在操作指令执行成功之后,在账本中即以该用户标识作为用户名,创建得到一个具有一定操作权限的用户。进一步地,即可以发送创建用户成功的信息至客户端,或者,将用户名发送至用户标识所对应的机构端。以使得机构端可以该用户名的方式操作该账本。
S307,生成包含所述操作指令和公钥的数据记录,将所述数据记录写入所述块链式账本中。
在执行操作指令,创建用户成功之后,数据库服务端还需要将该操作指令和公钥写入账本中。具体而言,即生成包含所述操作指令和公钥的数据记录,例如,直接拼接操作指令所对应的字符串和公钥(公钥本身也是一个字符串),得到一条数据记录,并且,将该数据记录写入到块链式账本中的数据块中,具体的数据记录写入数据块的方式在前文已经进行了说明,此处不再赘述。
通过本说明书实施例所提供的方案,当需要在账本中创建具有一定权限的用户时,获取该用户的公钥,并且将创建用户的操作指令和公钥以数据记录的形式写入块链式账本中,实现了在账本中不可篡改的存证,保障了用户公钥准确性,以便日后可以使用对应的公钥进行相应的数字签名解密验证。
在一种实施方式中,数据库服务端中还可以保存有对于该账本的用户配置文件。用户配置文件中可以保存有在该账本中的可用的用户名、各用户的操作权限以及对应的公钥信息。如表1所示,表1为本说明书实施例所提供的一种示例性的用户配置文件的形式。表中的key1和key2分别表征了用户ROLE01和ROLE02的公钥信息。
表1:用户配置文件
用户名 权重值 Public_Key
SYSADM 100
ROLE01 50 Key1
ROLE02 25 Key2
通过将公钥信息保存于账本的用户配置文件中,可以方便数据库服务端对于每个账本中的用户进行相应的管理,以及,可以方便的获取用户的公钥,从而实现对有数字签名的数据进行公钥解密。
在一种实施例中,在执行完操作指令,并将操作指令和公钥信息以数据记录的形式写入账本之后,数据库服务端还可以创建针对这种包含了用户创建信息的数据记录的索引,以便日后随时查证。
具体而言,由于在账本中创建其它用户的时间是随机的,包含用户创建信息的数据记录也是分散的存储于账本中,如果日后想要查询这种信息这不是很方便,在没有索引的情形下,可能需要遍历账本查询。基于此,可以基于数据记录的位置信息,创建关于数据记录中的用户标识、公钥和位置信息的公钥索引表。
在本说明书实施例中,一个块链式的账本由多个数据块组成,同时,一个数据块中通常包含多个数据记录。因此,在本说明书实施例中,所述的位置信息具体指的是一条数据记录被保存时,处于账本中的哪个数据块上,以及,在该数据块中的偏移量。
在本说明书实施例所提供的数据块中,可以有多种方式用来标识不同的数据块,包括数据块的哈希值或者块高。
数据块的哈希值为根据前一区块哈希值和自身数据记录进行哈希计算而得到的哈希值,可以用于唯一、明确地标识一个数据块。在块链式的账本中,通常第一个数据块其块高为0,以后每增加一个数据块,块高加1;或者,还可以将数据块的成块时间转换为一个大的单调递增整型数据(一般为12至15位)序列,作为数据块的块高。因此,一个数据块通常有一个明确的块高。
又例如,在一个已经确定的要写入数据库的数据块,其中数据记录的排序也已经固定,因此一个数据记录在该数据块中的序号也是明确的,在数据记录的长度为固定单位时,序号同样可以用于明确该数据记录在其所处的数据块中的位置信息。即,序号同样也可以用于指示偏移量。
同时,在一个数据块中,由于通常包含了多个数据记录,因此,还可以用各数据记录在该数据块中的地址偏移量来分别标识数据块中的数据记录。显而易见,在同一个数据块中,各数据记录的地址偏移量并不相同。
当然,由于在本说明书实施例所提供的方式中,数据块的具体格式是可以自定义的(例如,数据块的块头中所包含的元数据信息和备注信息,数据块的块高所采取的形式等等),在不同的格式下,位置信息的内容也会有所不同,这并不构成对本方案的限定。
如表2所示,表2为本说明书实施例所提供的一种示例性的公钥索引表,其中,公钥(Pub_Key)为主键,对应于position(位置信息)和Userid(用户名),Position部分的每个数组即为一条位置信息,每个数组中的前部分块高,后部分为数据记录在该数据块中的序号,通过块高和序号即可以唯一的确定一条数据记录。
表2
Pub_Key Position Userid
Key1 (2,08) ID1
Key2 (5,01) ID2
…… …… ……
进一步地,在创建索引之后,客户端可以随时基于用户标识查询该用户的公钥信息,具体而言,即根据用户标识从该公钥索引表中查询获取该用户的公钥,或者从该公钥索引表中查询获取所述用户标识所对应的位置信息,从块链式账本中查询获取所述位置信息所对应的数据记录,获取所述数据记录中所包含的的公钥。由于块链式账本保证了数据记录没有被篡改,因此从数据记录中获取得到的公钥可以保障公钥的准确性。
对应的,本说明书实施例还提供一种块链式账本中的用户创建装置,应用于以块链式账本存储数据记录的数据库服务端中,如图4所示,图4是本说明书实施例提供的一种用户创建装置的结构示意图,包括:
接收模块401,接收客户端所发送的创建用户的操作指令,所述操作指令中包含有用户标识和公钥参数;
获取模块403,获取所述用户标识所对应的公钥;
执行模块405,执行所述操作指令,在所述块链式账本中创建由用户标识所对应的用户;
第一写入模块407,生成包含所述操作指令和公钥的数据记录,将所述数据记录写入所述块链式账本中。
进一步地,所述获取模块403,从预先存储的公钥信息表中获取所述用户标识所对应的公钥;或者,调用密钥生成算法,生成用户标识所对应的公私钥对,获取所述公私钥对中的公钥。
进一步地,所述装置还包括第二写入模块409,建立所述用户标识与公钥的对应关系;将所述对应关系写入所述块链式账本所对应的用户配置文件中。
进一步地,所述装置还包括索引创建模块411,确定包含所述操作指令和公钥的数据记录在块链式账本中位置信息,所述位置信息包括数据记录所处的数据块的块高,以及,数据记录在所处的数据块中的偏移量;建立所述用户标识、公钥和位置信息的对应关系,并将所述对应关系写入公钥索引表。
进一步地,所述装置还包括公钥查询模块413,接收客户端所发送的获取公钥的请求,所述请求中包含用户标识;从所述公钥索引表中,查询获取所述用户标识所对应的公钥;或者,从所述公钥索引表中查询获取所述用户标识所对应的位置信息,从块链式账本中查询获取所述位置信息所对应的数据记录,获取所述数据记录中所包含的的公钥。
进一步地,所述装置还包括数据块生成模块415,接收待存储的数据记录,确定各数据记录的哈希值;当达到预设的成块条件时,确定待写入数据块中的各数据记录,生成包含数据块的哈希值和数据记录的第N个数据块,具体包括:
当N=1时,初始数据块的哈希值和块高基于预设方式给定;
当N>1时,根据待写入数据块中的各数据记录和第N-1个数据块的哈希值确定第N个数据块的哈希值,生成包含第N个数据块的哈希值和各数据记录的第N个数据块。
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现图3所示的用户创建方法。
图5示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现图3所示的用户创建方法。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、方法、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的方法实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。

Claims (13)

1.一种块链式账本中的用户创建方法,应用于以块链式账本存储数据记录的中心化的数据库服务端中,包括:
接收客户端所发送的创建用户的操作指令,所述操作指令中包含有用户标识和公钥参数;
获取所述用户标识所对应的公钥;
执行所述操作指令,在所述块链式账本中创建由用户标识所对应的用户;
生成包含所述操作指令和公钥的数据记录,将所述数据记录写入所述块链式账本中。
2.如权利要求1所述的方法,获取所述用户标识所对应的公钥,包括:
从预先存储的公钥信息表中获取所述用户标识所对应的公钥;或者,
调用密钥生成算法,生成用户标识所对应的公私钥对,获取所述公私钥对中的公钥。
3.如权利要求1所述的方法,还包括:
建立所述用户标识与公钥的对应关系;
将所述对应关系写入所述块链式账本所对应的用户配置文件中。
4.如权利要求1所述的方法,所述方法还包括:
确定包含所述操作指令和公钥的数据记录在块链式账本中位置信息,所述位置信息包括数据记录所处的数据块的块高,以及,数据记录在所处的数据块中的偏移量;
建立所述用户标识、公钥和位置信息的对应关系,并将所述对应关系写入公钥索引表。
5.如权利要求4所述的方法,所述方法还包括:
接收客户端所发送的获取公钥的请求,所述请求中包含用户标识;
从所述公钥索引表中,查询获取所述用户标识所对应的公钥;
或者,从所述公钥索引表中查询获取所述用户标识所对应的位置信息,从块链式账本中查询获取所述位置信息所对应的数据记录,获取所述数据记录中所包含的的公钥。
6.如权利要求1所述的方法,在所述数据库服务端,块链式账本中的数据块基于如下方式预先生成:
接收待存储的数据记录,确定各数据记录的哈希值;
当达到预设的成块条件时,确定待写入数据块中的各数据记录,生成包含数据块的哈希值和数据记录的第N个数据块,具体包括:
当N=1时,初始数据块的哈希值和块高基于预设方式给定;
当N>1时,根据待写入数据块中的各数据记录和第N-1个数据块的哈希值确定第N个数据块的哈希值,生成包含第N个数据块的哈希值和各数据记录的第N个数据块。
7.一种块链式账本中的用户创建装置,应用于以块链式账本存储数据记录的中心化的数据库服务端中,包括:
接收模块,接收客户端所发送的创建用户的操作指令,所述操作指令中包含有用户标识和公钥参数;
获取模块,获取所述用户标识所对应的公钥;
执行模块,执行所述操作指令,在所述块链式账本中创建由用户标识所对应的用户;
第一写入模块,生成包含所述操作指令和公钥的数据记录,将所述数据记录写入所述块链式账本中。
8.如权利要求7所述的装置,所述获取模块,从预先存储的公钥信息表中获取所述用户标识所对应的公钥;或者,调用密钥生成算法,生成用户标识所对应的公私钥对,获取所述公私钥对中的公钥。
9.如权利要求7所述的装置,还包括第二写入模块,建立所述用户标识与公钥的对应关系;将所述对应关系写入所述块链式账本所对应的用户配置文件中。
10.如权利要求7所述的装置,还包括索引创建模块,确定包含所述操作指令和公钥的数据记录在块链式账本中位置信息,所述位置信息包括数据记录所处的数据块的块高,以及,数据记录在所处的数据块中的偏移量;建立所述用户标识、公钥和位置信息的对应关系,并将所述对应关系写入公钥索引表。
11.如权利要求10所述的装置,所述装置还包括公钥查询模块,接收客户端所发送的获取公钥的请求,所述请求中包含用户标识;从所述公钥索引表中,查询获取所述用户标识所对应的公钥;或者,从所述公钥索引表中查询获取所述用户标识所对应的位置信息,从块链式账本中查询获取所述位置信息所对应的数据记录,获取所述数据记录中所包含的的公钥。
12.如权利要求7所述的装置,还包括数据块生成模块,接收待存储的数据记录,确定各数据记录的哈希值;当达到预设的成块条件时,确定待写入数据块中的各数据记录,生成包含数据块的哈希值和数据记录的第N个数据块,具体包括:
当N=1时,初始数据块的哈希值和块高基于预设方式给定;
当N>1时,根据待写入数据块中的各数据记录和第N-1个数据块的哈希值确定第N个数据块的哈希值,生成包含第N个数据块的哈希值和各数据记录的第N个数据块。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1至6任一项所述的方法。
CN201910599878.4A 2019-07-04 2019-07-04 一种块链式账本中的用户创建方法、装置及设备 Active CN110474775B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201910599878.4A CN110474775B (zh) 2019-07-04 2019-07-04 一种块链式账本中的用户创建方法、装置及设备
PCT/CN2020/071840 WO2021000578A1 (zh) 2019-07-04 2020-01-13 一种块链式账本中的用户创建方法、装置及设备
US16/803,388 US10791122B2 (en) 2019-07-04 2020-02-27 Blockchain user account data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910599878.4A CN110474775B (zh) 2019-07-04 2019-07-04 一种块链式账本中的用户创建方法、装置及设备

Publications (2)

Publication Number Publication Date
CN110474775A CN110474775A (zh) 2019-11-19
CN110474775B true CN110474775B (zh) 2020-09-01

Family

ID=68506804

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910599878.4A Active CN110474775B (zh) 2019-07-04 2019-07-04 一种块链式账本中的用户创建方法、装置及设备

Country Status (2)

Country Link
CN (1) CN110474775B (zh)
WO (1) WO2021000578A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10791122B2 (en) 2019-07-04 2020-09-29 Alibaba Group Holding Limited Blockchain user account data
CN110474775B (zh) * 2019-07-04 2020-09-01 阿里巴巴集团控股有限公司 一种块链式账本中的用户创建方法、装置及设备
CN112364383B (zh) * 2021-01-12 2021-04-27 支付宝(杭州)信息技术有限公司 一种业务记录真实性验证方法
CN113204747A (zh) * 2021-05-20 2021-08-03 远景智能国际私人投资有限公司 账号管理方法、装置、服务器及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107977163A (zh) * 2017-01-24 2018-05-01 腾讯科技(深圳)有限公司 共享数据回收方法及装置
CN108876593A (zh) * 2018-05-30 2018-11-23 阿里巴巴集团控股有限公司 一种在线交易方法和装置
CN109067801A (zh) * 2018-09-29 2018-12-21 平安科技(深圳)有限公司 一种身份认证方法、身份认证装置及计算机可读介质
CN109902086A (zh) * 2019-01-31 2019-06-18 阿里巴巴集团控股有限公司 一种索引创建方法、装置及设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10079682B2 (en) * 2015-12-22 2018-09-18 Gemalto Sa Method for managing a trusted identity
WO2018057510A1 (en) * 2016-09-20 2018-03-29 United States Postal Service Methods and systems for a digital trust architecture
CN106411901B (zh) * 2016-10-08 2018-01-23 北京三未信安科技发展有限公司 一种数字身份标识管理方法及系统
US10432400B2 (en) * 2016-10-25 2019-10-01 Southern Methodist University Method and system for privacy preserving disclosure of a shared, identity linked secret
CN107070644B (zh) * 2016-12-26 2020-02-28 北京科技大学 一种基于信任网络的去中心化公钥管理方法和管理系统
CN106934605B (zh) * 2017-02-15 2021-03-30 捷德(中国)科技有限公司 数字货币中用户身份管理方法和系统
CN108599954B (zh) * 2018-03-16 2020-04-07 西安电子科技大学 基于分布式账本的身份验证方法
CN109255619A (zh) * 2018-09-26 2019-01-22 北京亚联之星信息技术有限公司 一种基于区块链的身份认证方法及设备
CN109347632B (zh) * 2018-10-23 2022-02-25 北京金山安全软件有限公司 一种区块链id生成及使用方法、装置、电子设备以及存储介质
CN110474775B (zh) * 2019-07-04 2020-09-01 阿里巴巴集团控股有限公司 一种块链式账本中的用户创建方法、装置及设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107977163A (zh) * 2017-01-24 2018-05-01 腾讯科技(深圳)有限公司 共享数据回收方法及装置
CN108876593A (zh) * 2018-05-30 2018-11-23 阿里巴巴集团控股有限公司 一种在线交易方法和装置
CN109067801A (zh) * 2018-09-29 2018-12-21 平安科技(深圳)有限公司 一种身份认证方法、身份认证装置及计算机可读介质
CN109902086A (zh) * 2019-01-31 2019-06-18 阿里巴巴集团控股有限公司 一种索引创建方法、装置及设备

Also Published As

Publication number Publication date
WO2021000578A1 (zh) 2021-01-07
CN110474775A (zh) 2019-11-19

Similar Documents

Publication Publication Date Title
CN110188096B (zh) 一种数据记录的索引创建方法、装置及设备
CN109902086B (zh) 一种索引创建方法、装置及设备
CN110163006B (zh) 一种块链式账本中的签名验证方法、系统、装置及设备
CN110474775B (zh) 一种块链式账本中的用户创建方法、装置及设备
CN110162662B (zh) 一种块链式账本中数据记录的验证方法、装置及设备
CN110334153B (zh) 块链式账本中的授权方法、系统、装置及设备
CN110457898B (zh) 基于可信执行环境的操作记录存储方法、装置及设备
US11283622B2 (en) Signature verification for a blockchain ledger
US10791122B2 (en) Blockchain user account data
CN113726751B (zh) 一种块链式账本中的权重管理方法、装置及设备
CN110059084B (zh) 一种数据存储方法、装置及设备
CN110162523B (zh) 数据存储方法、系统、装置及设备
CN110837502B (zh) 一种块链式账本中的数据存储方法、装置及设备
US10783277B2 (en) Blockchain-type data storage
CN110266494B (zh) 一种块链式账本中的授时认证方法、装置及设备
CN110019278B (zh) 一种数据验证方法、装置及设备
CN110190963B (zh) 一种针对授时证书生成请求的监控方法、装置及设备
CN110008249B (zh) 一种基于时间的数据查询方法、装置及设备
US10936734B2 (en) Blockchain authorization
CN110008203A (zh) 一种数据清除方法、装置及设备
CN110347745B (zh) 一种块链式账本的授时认证方法、装置及设备
CN110362568B (zh) 一种针对块链式账本的压缩方法、装置及设备
CN110851851B (zh) 一种块链式账本中的权限管理方法、装置及设备
US10771241B2 (en) Time authentication method, apparatus and device in blockchain-type ledger
CN110347678B (zh) 一种金融数据的存储方法、系统、装置及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40018148

Country of ref document: HK

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201010

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201010

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: Alibaba Group Holding Ltd.