WO2021057220A1 - 一种块链式账本中的权限管理方法、装置及设备 - Google Patents

一种块链式账本中的权限管理方法、装置及设备 Download PDF

Info

Publication number
WO2021057220A1
WO2021057220A1 PCT/CN2020/103584 CN2020103584W WO2021057220A1 WO 2021057220 A1 WO2021057220 A1 WO 2021057220A1 CN 2020103584 W CN2020103584 W CN 2020103584W WO 2021057220 A1 WO2021057220 A1 WO 2021057220A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
ledger
data block
data
hash value
Prior art date
Application number
PCT/CN2020/103584
Other languages
English (en)
French (fr)
Inventor
杨新颖
俞本权
张渊
李亿泽
闫文远
Original Assignee
蚂蚁区块链科技(上海)有限公司
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 蚂蚁区块链科技(上海)有限公司 filed Critical 蚂蚁区块链科技(上海)有限公司
Publication of WO2021057220A1 publication Critical patent/WO2021057220A1/zh

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/604Tools and structures for managing or administering access control systems
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Definitions

  • the embodiments of this specification relate to the field of information technology, and in particular, to a method, device, and equipment for rights management in a blockchain ledger.
  • the centralized database server provides services externally with a block chain ledger
  • users with administrator rights can hide and clear certain data blocks in the block chain ledger. In this way, if the permission change record is written into the block chain ledger, it may be cleared or hidden by the administrator user, resulting in abnormal permissions management in the future.
  • the purpose of the embodiments of the present application is to provide a more transparent permission management solution in the blockchain ledger.
  • a permission management method in a block chain ledger applied to a centralized database service provider that stores data through a block chain ledger, includes: receiving an instruction to create a ledger sent by a user, wherein the instruction includes Have a user ID; create an initial data block of the block chain ledger, and determine the administrator authority of the user ID in the block chain ledger, wherein the initial data block contains the user identity; and, create An authority management ledger for recording authority change records, and determining the non-administrator authority of the user identifier in the authority management ledger.
  • the embodiment of the present specification also provides a permission management device in a block chain ledger, which is applied to a centralized database service provider that stores data through a block chain ledger.
  • the device includes: a receiving module that receives users A sent instruction to create a ledger, wherein the instruction contains a user identification; a first creation module, which creates an initial data block of the block chain ledger, and determines the administrator of the user identification in the block chain ledger Rights, wherein the initial data block contains the user identification; and, the second creation module creates a rights management ledger for recording rights change records, and determines whether the user identification is in the rights management ledger. Administrator rights.
  • a rights management ledger corresponding to the block chain ledger is created.
  • the user stores information related to the authority change instruction.
  • the administrator of the blockchain ledger has no administrator authority in the authority management ledger, and the authority change record cannot be deleted, thereby achieving more transparent authority management for the blockchain ledger.
  • any one of the embodiments of the present specification does not need to achieve all the above-mentioned effects.
  • FIG. 1 is a schematic flowchart of a method for rights management in a blockchain ledger provided by an embodiment of this specification
  • FIG. 2 is a schematic diagram of a block header of a data block provided by an embodiment of this specification
  • FIG. 3 is a schematic diagram of a process of constructing a concealed data record provided by an embodiment of this specification
  • FIG. 4 is a schematic structural diagram of an authority management device in a block chain ledger provided by an embodiment of this specification
  • Fig. 5 is a schematic structural diagram of a device for configuring the method of the embodiment of this specification.
  • Figure 1 is a schematic flow diagram of a method for rights management in a blockchain ledger provided by an embodiment of this specification, which is applied to a centralized database service provider that stores data through a blockchain ledger.
  • the process specifically includes steps S101-S105.
  • S101 Receive an instruction for creating a ledger sent by a user, where the instruction includes a user identifier.
  • users can send instructions to create a ledger.
  • NEW LGNAME, Admin, UserID
  • LGNAME is the name of the ledger
  • "Admin” represents the user's designated administrator authority
  • "UserID” is the user ID designated by the user as the user with administrator authority in the ledger, including ID number, Mobile phone number or unique identification of the client, etc.
  • "UserID” can be a set containing multiple user IDs, that is, multiple users with administrator rights can be designated in one ledger at the same time.
  • S103 Create an initial data block of the block chain ledger, and determine the administrator authority of the user identifier in the block chain ledger.
  • a ledger named "LGNAME" is created.
  • the ledger is a block chain (that is, multiple data blocks are connected in sequence in a chain), in fact, for a newly created ledger, only one initial data block needs to be created at this time That's it. Subsequent data blocks will be generated in sequence after reaching certain block conditions.
  • the data block in the blockchain ledger can include two parts: the block header and the block body.
  • the block body can be used to store the plaintext of the spliced data, or the hash value of the spliced data, etc.;
  • the block header can be used to store metadata about the data block, for example, the version number of the ledger, the hash of the previous data block Value, the root hash value of the Merkel tree composed of the spliced data in the own data block, the hash value of the own data block, the state array used to record the operated state of the spliced data, and so on.
  • FIG. 2 is a schematic diagram of a block header of a data block provided by an embodiment of this specification.
  • the block height of the data block can be counted by the natural sequence N.
  • N 1
  • the data block at this time is the initial data block.
  • the initial configuration information specified by the user can also be written into the initial data block, for example, the user identifier in the instruction is written into the block header or the block body of the initial data block.
  • the hash value of the data block may be a hash value obtained by hashing the block header/block body containing the user identification.
  • the current data block (the first data block) can be generated based on the hash value of the previous data block (that is, the N-1th data block). For example, a feasible way is to determine the hash value of each data record to be written in the Nth block, and generate a Merck according to the order in the block.
  • the root hash value of the Merkel tree and the hash value of the previous data block are spliced together, and the hash algorithm is used again to generate the hash value of the current block.
  • the hash value of the corresponding data record and the hash value of the data block can be obtained and saved, and integrity verification can be initiated based on the hash value.
  • Integrity verification includes the integrity verification of a data block, that is, the Merkel tree is reconstructed according to the hash value of the data record in the data block, the root hash value of the Merkel tree is calculated, and the Merkel tree is The root hash value and the hash value of the previous data block are recalculated for the hash value of the data block, and the consistency is compared with the hash value of the data block saved in advance.
  • Integrity verification can also include integrity verification for several consecutive data blocks, that is, recalculating the data block based on the root hash value of the Merkel tree stored in the block header of the data block and the hash value of the previous data block. The hash value is compared with the hash value of the data block saved in advance.
  • each data block is determined by a hash value, and the hash value of the data block is determined by the content and order of the data records in the data block and the hash value of the previous data block.
  • the user can initiate integrity verification based on the hash value of the data block at any time. Any modification of the data block (including the modification of the data record content or sequence in the data block) will result in the hash of the data block calculated during verification. The value is inconsistent with the hash value when the data block is generated, which leads to verification failure, thus realizing non-tampering under centralization.
  • the user ID contained in the instruction will be used as the founder of the ledger and will be assigned the corresponding administrator authority.
  • the administrator has at least query, verify, clear, and hide permissions.
  • general users only have query and verification permissions, and no clear and hidden permissions.
  • the clearing operation can be performed in the following manner: for example, the user specifies the name of the ledger and the block height, the database server determines based on the block height that the data blocks before the block height are all data blocks that need to be cleared, and then clears these determinations
  • the data block that needs to be cleared specifically, can be implemented by the clear instruction PURGE (lgid, da, blkbound).
  • the database server determines the last data block generated before the time point based on the time point, determines the data block generated before the data block as the data block that needs to be cleared, and then clears it
  • PURGE clear instruction
  • the hash value of the block is equal to the hash value of the last data block that is determined to be cleared, so that errors can be avoided when verifying in the future.
  • the hash value of the last data block to be cleared can be queried and obtained from a pre-established index, or the hash value of the data block can be obtained by sequential calculation from the initial data block, or obtained by querying the data block.
  • the content in the newly generated pseudo initial data block may be empty, or some corresponding remarks may be recorded, for example, the generation time and so on. However, the content of the pseudo initial data block has nothing to do with the hash value of the pseudo initial data block. And, the server can also sign the pseudo initial data block.
  • the concealing operation can be performed in the following manner: replacing the data record in the data block where the information that needs to be concealed is located with the hash value of the data record. In this way, it is possible to stop disclosing the sensitive information without disturbing the smooth operation of the data block system.
  • the user can directly specify the location of the information to be hidden, or, in practical applications, the user can also issue a hidden information instruction carrying location information.
  • the position information here includes the block height of the data block, the offset of the data recorded in the block height, the offset of the information to be concealed in the data record, the length of the information to be concealed, and so on.
  • an exemplary hidden information instruction may be Occult (blkheight, txoff).
  • the hidden information is a data record corresponding to the specified block height blkheight and the specified offset txoff;
  • another exemplary hidden information instruction may be Occult (blkheight, txoff, offset, length). Under this instruction, a data record is determined by the block height blkheight and the offset txoff, and the data record is hidden The starting length at the specified offset is the information determined by length.
  • FIG. 3 is a schematic diagram of a process of constructing a concealed data record provided by an embodiment of the present specification.
  • the above-mentioned pre-mark characters and post-mark characters can be designated according to actual needs.
  • the front mark character may be "0E”
  • the back mark character may be "0F”.
  • the function of the above-mentioned pre-marking character is that when the data record needs to be read for verification in the future, then the pre-marking character reveals the information to the node at this time: "The storage location is not the plaintext content of the data record, but Is the hash value of the data record”. At this time, you can directly read the hash value for verification.
  • you need to read the corresponding remark information you can start reading from the post-marking character "0F”.
  • the content in the remark information can be basically the same as the data record content before the concealment, or it can be completely It is empty (that is, the content of the entire data record is completely hidden).
  • the concealment of historical data records is a relatively strict operation. It often symbolizes the disclosure of certain information that triggers laws and regulations or violates morals, and it is often concluded that the information needs to be compulsively processed after multi-party adjustment or trial. Therefore, when performing the above clearing operation, a feasible way is: the clearing operation requires a certain signature weight. For example, only an administrator or a combination of multiple administrators can initiate a cleanup operation.
  • S105 Create an authority management ledger for recording authority change records of the block chain ledger, and determine the non-administrator authority of the user identifier in the authority management ledger.
  • the database server While creating the block chain ledger, the database server creates an authority management ledger to record authority change records.
  • the form of the authority management ledger can be the block chain ledger as described above, or a conventional relational or non-relational database (for example, in the form of key-value pairs, the primary key is the identifier of the block chain ledger, and the value is the authority Change order).
  • the user ID contained in the creation instruction no longer has the administrator authority, but only has the authority to query or verify. If the form of the authority management ledger is also a block chain ledger, the user corresponding to the user ID no longer has the authority to clear or hide. In other words, there is no administrator user in the authority management ledger when it is created, and the records in the ledger will exist independently and cannot be deleted.
  • the authority management ledger and the block chain ledger generally have a one-to-one correspondence, that is, the authority change records in a block chain ledger will be stored in a separate corresponding authority management ledger.
  • users who have query and verification authority in the blockchain ledger will also have the authority to query and verify in the authority management ledger.
  • users in the blockchain ledger can be translated to the authority management ledger, and at the same time as the translation, the authority of the user who has the administrator authority in the blockchain ledger can be reduced. Processing.
  • a rights management ledger corresponding to the block chain ledger is created.
  • the user stores information related to the authority change instruction.
  • the administrator of the blockchain ledger has no administrator authority in the authority management ledger, and the authority change record cannot be deleted, thereby achieving more transparent authority management for the blockchain ledger.
  • this authority management ledger is mainly used to store authority change records. Specifically, it can be implemented in the following manner: the database server receives the permission change instruction sent by the user.
  • the administrator user in the block chain ledger enters a permission change instruction: the first type, GRANT (userid, &v): give the user a weight value v corresponding to the userid; that is, a certain permission value assigned to a user.
  • the OPRD here is the operation instruction identifier input by the user, which may include, for example, APPEND, PURGE, OCCULT, VERIFY, RETRIEVE, and so on. That is, the operation authority value required for each operation of the block chain ledger is changed, and the user authority exceeds the operation authority value before the corresponding operation instruction can be executed.
  • the database server executes the permission value change in the permission configuration file of the blockchain ledger, it generates a permission change record containing the permission change instruction and the user ID that sent the permission change instruction. Further, the permission change record is also included in the permission change record. It can include a timestamp, the user's private key signature, and so on.
  • the database server writes the permission change record into the permission management ledger so that any user can inquire in the future. For example, other users can query the rights management account book to obtain the rights change record containing the private key signature, and use the public key to decrypt to obtain the corresponding rights change instruction and user ID, and then they can know which administrator changed the user or operation instruction. Weights.
  • the database server can also determine the hash value of the authority change record, and return the hash value to the sender of the authority change instruction and the authority whose authority has been changed.
  • the user side serves as evidence, so that the sender of the instruction and/or the user whose authority has been changed can also verify or query the integrity of the records in the authority management ledger to ensure that the integrity of the authority change instruction has not been tampered with.
  • the two sides of the database server jointly maintain the transparency of permission changes.
  • the embodiment of this specification also provides a permission management device in the block chain ledger, as shown in FIG. 4, which is a schematic structural diagram of the permission management device in the block chain ledger provided by the embodiment of this specification , Including: a receiving module 401, which receives an instruction to create a ledger sent by a user, where the instruction contains a user identification; a first creation module 403, which creates an initial data block of a block chain ledger, and determines that the user identification is in The administrator authority in the block chain ledger, wherein the initial data block contains the user identification; and a second creation module 405, which creates authority management for recording the authority change record of the block chain ledger
  • the account book determines the non-administrator authority of the user identifier in the authority management account book.
  • the preset blocking condition includes: the number of data records to be stored reaches the number threshold; or, the time interval from the last blocking time reaches the time threshold.
  • the device further includes a writing module 409, which receives the authority change instruction sent by the user; generates an authority change record containing the authority change instruction, and writes the authority change record into the authority management ledger .
  • the device further includes a sending module 411, which determines the hash value of the permission change record; and sends the hash value to the sender of the permission change instruction.
  • the embodiments of this specification also provide a computer device, which at least includes a memory, a processor, and a computer program stored in the memory and capable of running on the processor, wherein the processor implements the blocks shown in FIG. 1 when the program is executed.
  • the authority management method in the chain ledger is not limited to a computer device, which at least includes a memory, a processor, and a computer program stored in the memory and capable of running on the processor, wherein the processor implements the blocks shown in FIG. 1 when the program is executed.
  • FIG. 5 shows a more specific hardware structure diagram of a computing device provided by an embodiment of this specification.
  • the device may include a processor 1010, a memory 1020, an input/output interface 1030, a communication interface 1040, and a bus 1050.
  • the processor 1010, the memory 1020, the input/output interface 1030, and the communication interface 1040 realize the communication connection between each other in the device through the bus 1050.
  • the processor 1010 may be implemented by a general CPU (Central Processing Unit, central processing unit), microprocessor, application specific integrated circuit (Application Specific Integrated Circuit, ASIC), or one or more integrated circuits, etc., for execution related Program to realize the technical solutions provided in the embodiments of this specification.
  • CPU Central Processing Unit
  • ASIC Application Specific Integrated Circuit
  • the memory 1020 may be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage device, dynamic storage device, etc.
  • the memory 1020 may store an operating system and other application programs. When the technical solutions provided in the embodiments of this specification are implemented by software or firmware, related program codes are stored in the memory 1020 and called and executed by the processor 1010.
  • the input/output interface 1030 is used to connect an input/output module to realize information input and output.
  • the input/output module can be configured in the device as a component (not shown in the figure), or it can be connected to the device to provide corresponding functions.
  • the input device may include a keyboard, a mouse, a touch screen, a microphone, various sensors, etc., and an output device may include a display, a speaker, a vibrator, an indicator light, and the like.
  • the communication interface 1040 is used to connect a communication module (not shown in the figure) to realize the communication interaction between the device and other devices.
  • the communication module can realize communication through wired means (such as USB, network cable, etc.), or through wireless means (such as mobile network, WIFI, Bluetooth, etc.).
  • the bus 1050 includes a path to transmit information between various components of the device (for example, the processor 1010, the memory 1020, the input/output interface 1030, and the communication interface 1040).
  • the above device only shows the processor 1010, the memory 1020, the input/output interface 1030, the communication interface 1040, and the bus 1050, in the specific implementation process, the device may also include the equipment necessary for normal operation. Other components.
  • the above-mentioned devices may also include only the components necessary to implement the solutions of the embodiments of the present specification, and not necessarily include all the components shown in the figures.
  • the embodiment of the present specification also provides a computer-readable storage medium on which a computer program is stored, and when the program is executed by a processor, the authority management method in the block chain ledger shown in FIG. 1 is implemented.
  • Computer-readable media include permanent and non-permanent, removable and non-removable media, and information storage can be realized by any method or technology.
  • the information can be computer-readable instructions, data structures, program modules, or other data.
  • Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disc (DVD) or other optical storage, Magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media can be used to store information that can be accessed by computing devices. According to the definition in this article, computer-readable media does not include transitory media, such as modulated data signals and carrier waves.
  • a typical implementation device is a computer.
  • the specific form of the computer can be a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email receiving and sending device, and a game control A console, a tablet computer, a wearable device, or a combination of any of these devices.

Abstract

一种块链式账本中的权限管理方法、装置及设备。在用户创建块链式账本的同时,创建出与块链式账本所对应的一份权限管理账本,在权限管理账本中用户存储与权限变更指令相关的所有记录,同时,块链式账本的管理员在权限管理账本中没有管理员权限,其中的权限变更记录不可删除,从而对于块链式账本实现更为透明的权限管理。

Description

一种块链式账本中的权限管理方法、装置及设备 技术领域
本说明书实施例涉及信息技术领域,尤其涉及一种块链式账本中的权限管理方法、装置及设备。
背景技术
在中心化的数据库服务端以块链式账本对外提供服务时,拥有管理员权限的用户可以对块链式账本中的某些数据块进行隐藏以及清除操作。在这种方式下,如果将权限变更记录写入块链式账本中,则有可能会被管理员用户清除或者隐藏,导致以后对于权限管理的异常。
基于此,需要一种在块链式账本中更为透明的权限管理方案。
发明内容
本申请实施例的目的是提供一种在块链式账本中更为透明的权限管理方案。
为解决上述技术问题,本申请实施例是这样实现的。
一种块链式账本中的权限管理方法,应用于通过块链式账本存储数据的中心化的数据库服务提供端中,包括:接收用户所发送的创建账本的指令,其中,所述指令中包含有用户标识;创建块链式账本的初始数据块,确定所述用户标识在所述块链式账本中的管理员权限,其中,所述初始数据块中包含有所述用户标识;以及,创建用于记录权限变更记录的权限管理账本,确定所述用户标识在所述权限管理账本中的非管理员权限。
对应的,本说明书实施例还提供一种块链式账本中的权限管理装置,应用于通过块链式账本存储数据的中心化的数据库服务提供端中,所述装置包括:接收模块,接收用户所发送的创建账本的指令,其中,所述指令中包含有用户标识;第一创建模块,创建块链式账本的初始数据块,确定所述用户标识在所述块链式账本中的管理员权限,其中,所述初始数据块中包含有所述用户标识;以及,第二创建模块,创建用于记录权限变更记录的权限管理账本,确定所述用户标识在所述权限管理账本中的非管理员权限。
通过本说明书实施例中所提供的方案,在用户创建块链式账本的同时,创建出与块链式账本所对应的一份权限管理账本,在权限管理账本中用户存储与权限变更指令相 关的所有记录,同时,块链式账本的管理员在权限管理账本中没有管理员权限,其中的权限变更记录不可删除,从而对于块链式账本实现更为透明的权限管理。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。
此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。
附图说明
为了更清楚地说明本说明书实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本说明书实施例提供的一种块链式账本中的权限管理方法的流程示意图;
图2为本说明书实施例所提供的一种数据块的块头的示意图;
图3是本说明书实施例提供的一种构造隐匿化数据记录的过程示意图;
图4是本说明书实施例提供的一种块链式账本中的权限管理装置的结构示意图;
图5是用于配置本说明书实施例方法的一种设备的结构示意图。
具体实施方式
为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。如图1所示,图1是本说明书实施例提供的一种块链式账本中的权限管理方法的流程示意图,应用于通过块链式账本存储数据的中心化的数据库服务提供端中,该流程具体包括步骤S101-S105。
S101,接收用户所发送的创建账本的指令,其中,所述指令中包含有用户标识。
在数据库服务端中,用户可以发送创建账本的指令。例如,NEW(LGNAME,Admin,UserID),其中LGNAME为账本名称,“Admin”表征用户指定管理员权限,“UserID”即为用户指定为账本中具有管理员权限的用户标识,包括身份证号、手机号码或者客户 端唯一标识等等。需要说明的是,在指令中,“UserID”可以是包含多份用户标识的集合,即可以在一个账本中同时指定多个具有管理员权限的用户。
S103,创建块链式账本的初始数据块,确定所述用户标识在所述块链式账本中的管理员权限。
数据库服务端在接收到创建账本的指令后。即创建一份名为“LGNAME”的账本。在本说明书实施例中,由于账本是块链式(即多个数据块依序链式连接)的,因此,实际上对于一份新创建的账本而言,此时仅需创建一个初始数据块即可。后续的数据块将会在达到一定成块条件后再依序生成。
块链式账本中的数据块,可以包括块头和块体两个部分。块体中可以用于存储拼接数据的明文,或者拼接数据的哈希值等等;块头中可以用于存储有关本数据块的元数据,例如,账本的版本号,前一数据块的哈希值,自身数据块中的拼接数据所组成的默克尔树的根哈希值,自身数据块的哈希值,用于记录拼接数据的被操作状态的状态数组等等。如图2所示,图2为本说明书实施例所提供的一种数据块的块头的示意图。
数据块的块高可以用自然序列N来计数,当当N=1时,即此时的数据块为初始数据块。在初始数据块中,由于没有前一数据块,所以初始数据块的哈希值和块高可以基于预设方式给定。例如,初始数据块中不包含数据记录,哈希值则为任一给定的哈希值,块高blknum=0。
同时,还可以将用户所指定的初始配置信息写入初始数据块中,例如,将指令中的用户标识写入初始数据块的块头中或者块体中。在这种方式下,数据块的哈希值可以是对于包含有用户标识的块头/块体取哈希所得到的哈希值。
当N>1时,由于前一数据块的内容和哈希值已经确定,则此时,可以基于前一数据块(即第N-1个数据块)的哈希值生成当前数据块(第N个数据块)的哈希值,例如,一种可行的方式为,确定每一条将要写入第N个块中的数据记录的哈希值,按照在块中的排列顺序,生成一个默克尔树,将默克尔树的根哈希值和前一数据块的哈希值拼接在一起,再次采用哈希算法,生成当前块的哈希值。又例如,还可以按照块中数据记录的顺序进行拼接并取哈希得到整体数据记录的哈希值,拼接前一数据块的哈希值和整体数据记录的哈希值,并对拼接得到的字串进行哈希运算,生成数据块的哈希值。
用户在上传数据成功后,即可以得到对应的数据记录的哈希值以及所处的数据块的哈希值,并保存,并且可以基于该哈希值发起完整性验证。
完整性验证包括对于一个数据块的完整性验证,即,根据数据块中数据记录的哈希值重新组成默克尔树,计算默克尔树的根哈希值,并且根据默克尔树的根哈希值与前一数据块的哈希值重新计算该数据块的哈希值,与事先保存的数据块的哈希值进行一致性对比。
完整性验证还可以包括对于若干连续数据块的完整性验证,即根据数据块的块头中所保存的默克尔树的根哈希值与前一数据块的哈希值重新计算该数据块的哈希值,并与事先保存的数据块的哈希值进行对比。
通过前述的数据块的生成方式,每一个数据块通过哈希值确定,数据块的哈希值由数据块中的数据记录的内容、顺序以及前一数据块的哈希值决定。用户可以随时基于数据块的哈希值发起完整性验证,对于数据块中任何内容(包括对于数据块中数据记录内容或者顺序的修改)的修改都会造成在验证时计算得到的数据块的哈希值和数据块生成时的哈希值不一致,而导致验证失败,从而实现了中心化下的不可篡改。
在该账本中,指令中所包含的用户标识将会被作为账本的创始人,被分配相应的管理员权限。具体而言,管理员权限至少拥有查询、验证、清除以及隐藏等权限。而一般用户则只有查询以及验证权限,没有清除以及隐藏权限。
在本说明书实施例中,清除操作可以通过如下方式进行:例如,用户指定账本名称以及块高,数据库服务端基于块高确定块高之前的数据块均为需要清除的数据块,然后清除这些确定需要清除的数据块,具体的,可以由清除指令PURGE(lgid,d-a,blkbound)实现。
又例如,用户指定账本ID以及时间点,数据库服务端基于时间点确定在该时间点之前最后一个生成的数据块,将该数据块之前生成的数据块均确定为需要清除的数据块,然后清除这些确定需要清除的数据块,具体的,可以由清除指令PURGE(lgid,d-a,‘timestmp’)实现。
在执行部分清除之前,由于清除后的账本中的第一个数据块的哈希值是基于前一数据块的哈希值生成的,此时,还需要生成一个伪初始数据块,伪初始数据块的哈希值等于被确定的需要清除的最后一个数据块的哈希值,这样,可以避免在以后进行验证时出现错误。被清除的最后一个数据块的哈希值可以从预先建立的索引中查询获取,也可以从初始数据块开始进行顺序计算得到该数据块的哈希值,或者从该数据块中查询获取。
新生成的伪初始数据块中的内容可以为空,也可以记载一些相应的备注,例如, 生成的时间等等。但是,伪初始数据块的内容与伪初始数据块的哈希值无关。以及,服务方还可以对该伪初始数据块进行签名。
同时,在本说明书实施例中,隐匿操作可以通过如下方式进行:将数据块中需要被隐匿的信息所处的数据记录替换成该数据记录的哈希值。如此,既可以停止公开该敏感信息,又不会干扰到数据块系统的平稳运行。
具体而言,用户可以直接指定待隐匿信息的位置,或者,在实际应用中,用户也可以发出携带位置信息的隐匿信息指令。这里的位置信息包括数据块块高、数据记录在块高中的偏移量、待隐匿信息在数据记录中的偏移量、待隐匿信息的长度等等。
例如,一种示例性的隐匿信息指令可以是Occult(blkheight,txoff),在这条指令下,隐匿的是由指定块高blkheight和指定偏移量txoff所对应的一条数据记录;
又例如,另一种示例性的隐匿信息指令可以是Occult(blkheight,txoff,offset,length),在这条指令下,由块高blkheight和偏移量txoff确定一条数据记录,隐匿该数据记录中指定的offset处开始长度为length所确定的信息。
对隐匿信息进行替换或者清除后得到的信息,已经不再作为数据记录使用,可以称为备注信息。在隐匿信息的过程中,一种可行的方式为,确定待隐匿信息所处的数据记录的哈希值,将预设的前标记字符拼接到所述哈希值的首部,将预设的后标记字符拼接到所述哈希值的尾部,并且,将备注信息拼接到所述后标记字符的尾部,然后,将所述前标记字符、所述交易哈希、所述后标记字符以及所述备注信息拼接成的数据确定为所述隐匿化数据记录。如图3所示,图3是本说明书实施例提供的一种构造隐匿化数据记录的过程示意图。
需要说明的是,上述的前标记字符与后标记字符可以根据实际需要进行指定。例如,所述前标记字符可以为“0E”,所述后标记字符可以为“0F”。上述的前标记字符的作用是,当以后进行验证时需要读取该数据记录时,那么,此时前标记字符向节点透露出信息:“该存储位置所存储的不是数据记录的明文内容,而是数据记录的哈希值”。此时,则可以直接读取该哈希值进行验证。而需要读取相应的备注信息时,则可以从后标记字符“0F”开始进行读取,在隐匿了敏感信息后,备注信息中内容可以与隐匿前的数据记录内容基本相同,也可以是完全为空(即整条数据记录的内容完全隐匿)。
此外,需要说明的是,对于历史数据记录的隐匿是一项比较严格的操作。其往往象征某些触发法律法规或者违背道德的信息公开,也往往是在多方调节或者审判之后得 出需要对信息进行强制处理的结论。因此,在执行上述清除操作时,一种可行的方式为:清除操作需要一定的签名权重。例如,只有管理员或者多名管理员联合才能发起清除操作。
S105,创建用于记录块链式账本的权限变更记录的权限管理账本,确定所述用户标识在所述权限管理账本中的非管理员权限。
在创建块链式账本的同时,数据库服务端创建一份的权限管理账本,用于记录权限变更记录。权限管理账本的形式可以是如前所述的块链式账本,也可以是常规的关系型或者非关系型数据库(例如,键值对的形式,主键为块链式账本的标识,值为权限变更指令)。
该权限管理账本中,创建指令中所包含的用户标识不再拥有管理员权限,而仅有查询或者验证的权限。若权限管理账本的形式也是块链式账本,则用户标识所对应的用户也不再拥有清除或者隐匿的权限。换言之,该权限管理账本在创始时就不存在管理员用户,账本中的记录将独立存在且不可删除。
需要说明的是,权限管理账本和块链式账本一般而言是一一对应的关系,即一个块链式账本中的权限变更记录将会保存于单独的一份对应的权限管理账本中。同时,在块链式账本中拥有查询和验证权限的用户将在权限管理账本中也均拥有查询和验证的权限。
具体而言,在一种实施方式中,可以将块链式账本中的用户进行平移至权限管理账本中,在平移的同时,对于在块链式账本中拥有管理员权限的用户则进行降低权限的处理。
例如,假设在两份账本中各群组和操作的权限要求相同,均为删除或者隐匿操作的权限需要100,查询或者验证需要50。若块链式账本中A用户权限为100,B用户权限为50,则可以将A和B的用户平移至权限管理账本中,同时降低A的权限至50,B的权限维持在50,从而实现块链式账本中的用户可以查询权限管理账本,但是不能对权限管理账本进行删除或者隐匿。
通过本说明书实施例中所提供的方案,在用户创建块链式账本的同时,创建出与块链式账本所对应的一份权限管理账本,在权限管理账本中用户存储与权限变更指令相关的所有记录,同时,块链式账本的管理员在权限管理账本中没有管理员权限,其中的权限变更记录不可删除,从而对于块链式账本实现更为透明的权限管理。
如前所述,该权限管理账本主要用于存储权限变更记录。具体而言,可以通过如下方式实现:数据库服务端接收用户所发送的权限变更指令。例如,块链式账本中的管理员用户输入权限变更指令:第一种,GRANT(userid,&v):给与userid所对应的用户权重值v;即分配给某个用户一定的权限值。第二种,GRANT(‘OPRD’,&v):给与OPRD所对应的操作命令相应的权重值v。此处的OPRD即为用户所输入的操作指令标识,其可以包括诸如添加(APPEND)、清除(PURGE)、隐匿(OCCULT)、验证(VERIFY)、查询(RETRIEVE)等等。即,改变块链式账本那种各操作所需要的操作权限值,用户权限超过该操作权限值才可以执行相应的操作指令。
数据库服务端在块链式账本的权限配置文件中执行权限值变更的同时,生成包含有权限变更指令和发送所述权限变更指令的用户标识的权限变更记录,进一步地,在权限变更记录中还可以包含有时间戳以及用户的私钥签名等等。
数据库服务端将权限变更记录写入权限管理账本,以便以后任一用户进行查询。例如,其它用户从权限管理账本账本中查询得到包含私钥签名的权限变更记录,并且使用公钥解密得到对应的权限变更指令和用户标识,就可以知道是哪个管理员改变了用户或者操作指令的权重。
进一步地,如果权限管理账本也是前述的块链式账本的形式,那么数据库服务端还可以确定权限变更记录的哈希值,并且将哈希值返回给权限变更指令的发送方以及被改变权限的用户方作为存证,从而指令的发送方和/或被改变权限的用户方也可以对于权限管理账本中的记录进行完整性验证或者查询,确保权限变更指令的完整性未经篡改,从用户和数据库服务端两个方面共同维护权限变更的透明性。
对应的,本说明书实施例还提供一种块链式账本中的权限管理装置,如图4所示,图4是本说明书实施例提供的一种块链式账本中的权限管理装置的结构示意图,包括:接收模块401,接收用户所发送的创建账本的指令,其中,所述指令中包含有用户标识;第一创建模块403,创建块链式账本的初始数据块,确定所述用户标识在所述块链式账本中的管理员权限,其中,所述初始数据块中包含有所述用户标识;以及,第二创建模块405,创建用于记录块链式账本的权限变更记录的权限管理账本,确定所述用户标识在所述权限管理账本中的非管理员权限。
进一步地,在所述装置中,还包括数据块生成模块407:接收用户所发送的待存储的数据记录,确定所述数据记录的哈希值;当达到预设的成块条件时,确定待写入数据块中的各数据记录,生成包含数据块的哈希值和数据记录的第N个数据块:当N=1时, 初始数据块的哈希值和块高基于预设方式给定;当N>1时,根据待写入数据块中的各数据记录和第N-1个数据块的哈希值确定第N个数据块的哈希值,生成包含第N个数据块的哈希值和各数据记录的第N个数据块,其中,数据块的块高基于成块时间的先后顺序单调递增。
进一步地,在所述装置中,所述预设的成块条件包括:待存储的数据记录数量达到数量阈值;或者,距离上一次成块时刻的时间间隔达到时间阈值。
进一步地,在所述装置中,还包括写入模块409,接收用户所发送的权限变更指令;生成包含所述权限变更指令的权限变更记录,将所述权限变更记录写入所述权限管理账本。
进一步地,在所述装置中,所述装置还包括发送模块411,确定所述权限变更记录的哈希值;发送所述哈希值至权限变更指令的发送方。
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现图1所示的块链式账本中的权限管理方法。
图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 Access Memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入/输出模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。 其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现图1所示的块链式账本中的权限管理方法。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、方法、模块或单元,具体可以由计算机芯片或实体实现, 或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的方法实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。

Claims (11)

  1. 一种块链式账本中的权限管理方法,应用于通过块链式账本存储数据的中心化的数据库服务提供端中,包括:
    接收用户所发送的创建账本的指令,其中,所述指令中包含有用户标识;
    创建块链式账本的初始数据块,确定所述用户标识在所述块链式账本中的管理员权限,其中,所述初始数据块中包含有所述用户标识;以及,
    创建用于记录块链式账本的权限变更记录的权限管理账本,确定所述用户标识在所述权限管理账本中的非管理员权限。
  2. 如权利要求1所述的方法,在所述块链式账本中,数据块通过如下方式生成:
    接收用户所发送的待存储的数据记录,确定所述数据记录的哈希值;
    当达到预设的成块条件时,确定待写入数据块中的各数据记录,生成包含数据块的哈希值和数据记录的第N个数据块:
    当N=1时,初始数据块的哈希值和块高基于预设方式给定;
    当N>1时,根据待写入数据块中的各数据记录和第N-1个数据块的哈希值确定第N个数据块的哈希值,生成包含第N个数据块的哈希值和各数据记录的第N个数据块,其中,数据块的块高基于成块时间的先后顺序单调递增。
  3. 如权利要求2所述的方法,所述预设的成块条件包括:
    待存储的数据记录数量达到数量阈值;或者,
    距离上一次成块时刻的时间间隔达到时间阈值。
  4. 如权利要求1所述的方法,所述方法还包括:
    接收用户所发送的权限变更指令;
    生成包含所述权限变更指令的权限变更记录,将所述权限变更记录写入所述权限管理账本。
  5. 如权利要求4所述的方法,所述方法还包括:
    确定所述权限变更记录的哈希值;
    发送所述哈希值至权限变更指令的发送方和/或被改变权限的用户方。
  6. 一种块链式账本中的权限管理装置,应用于通过块链式账本存储数据的中心化的数据库服务提供端中,所述装置包括:
    接收模块,接收用户所发送的创建账本的指令,其中,所述指令中包含有用户标识;
    第一创建模块,创建块链式账本的初始数据块,确定所述用户标识在所述块链式账本中的管理员权限,其中,所述初始数据块中包含有所述用户标识;以及,
    第二创建模块,创建用于记录块链式账本的权限变更记录的权限管理账本,确定所述用户标识在所述权限管理账本中的非管理员权限。
  7. 如权利要求6所述的装置,还包括数据块生成模块:
    接收用户所发送的待存储的数据记录,确定所述数据记录的哈希值;
    当达到预设的成块条件时,确定待写入数据块中的各数据记录,生成包含数据块的哈希值和数据记录的第N个数据块:
    当N=1时,初始数据块的哈希值和块高基于预设方式给定;
    当N>1时,根据待写入数据块中的各数据记录和第N-1个数据块的哈希值确定第N个数据块的哈希值,生成包含第N个数据块的哈希值和各数据记录的第N个数据块,其中,数据块的块高基于成块时间的先后顺序单调递增。
  8. 如权利要求7所述的装置,所述预设的成块条件包括:
    待存储的数据记录数量达到数量阈值;或者,
    距离上一次成块时刻的时间间隔达到时间阈值。
  9. 如权利要求6所述的装置,所述装置还包括写入模块,接收用户所发送的权限变更指令;生成包含所述权限变更指令的权限变更记录,将所述权限变更记录写入所述权限管理账本。
  10. 如权利要求9所述的装置,所述装置还包括发送模块,确定所述权限变更记录的哈希值;发送所述哈希值至权限变更指令的发送方和/或被改变权限的用户方。
  11. 一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1至5中任一项所述的方法。
PCT/CN2020/103584 2019-09-25 2020-07-22 一种块链式账本中的权限管理方法、装置及设备 WO2021057220A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910912954.2A CN110688664B (zh) 2019-09-25 2019-09-25 一种块链式账本中的权限管理方法、装置及设备
CN201910912954.2 2019-09-25

Publications (1)

Publication Number Publication Date
WO2021057220A1 true WO2021057220A1 (zh) 2021-04-01

Family

ID=69110297

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/103584 WO2021057220A1 (zh) 2019-09-25 2020-07-22 一种块链式账本中的权限管理方法、装置及设备

Country Status (2)

Country Link
CN (1) CN110688664B (zh)
WO (1) WO2021057220A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110688664B (zh) * 2019-09-25 2021-03-23 蚂蚁区块链科技(上海)有限公司 一种块链式账本中的权限管理方法、装置及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103400067A (zh) * 2013-03-29 2013-11-20 青岛海信电器股份有限公司 权限管理方法、系统及服务器
CN108734029A (zh) * 2018-05-23 2018-11-02 陈萍 一种基于区块链和星际文件系统的信息管理方法和平台
CN110022315A (zh) * 2019-03-26 2019-07-16 阿里巴巴集团控股有限公司 一种块链式账本中的权重管理方法、装置及设备
CN110147686A (zh) * 2019-04-18 2019-08-20 阿里巴巴集团控股有限公司 一种个人资产变更记录的存储方法、系统、装置及设备
CN110688664A (zh) * 2019-09-25 2020-01-14 支付宝(杭州)信息技术有限公司 一种块链式账本中的权限管理方法、装置及设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7984131B1 (en) * 2007-06-28 2011-07-19 Emc Corporation Network configuration history tracking
CN107104816A (zh) * 2017-03-07 2017-08-29 阿里巴巴集团控股有限公司 一种信息变更监控方法和装置
CN109063169A (zh) * 2018-08-17 2018-12-21 福建省农村信用社联合社 一种基于区块链的客户数据管理系统
CN110059087B (zh) * 2019-03-26 2023-02-28 创新先进技术有限公司 一种块链式账本中的数据属性标识方法、装置及设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103400067A (zh) * 2013-03-29 2013-11-20 青岛海信电器股份有限公司 权限管理方法、系统及服务器
CN108734029A (zh) * 2018-05-23 2018-11-02 陈萍 一种基于区块链和星际文件系统的信息管理方法和平台
CN110022315A (zh) * 2019-03-26 2019-07-16 阿里巴巴集团控股有限公司 一种块链式账本中的权重管理方法、装置及设备
CN110147686A (zh) * 2019-04-18 2019-08-20 阿里巴巴集团控股有限公司 一种个人资产变更记录的存储方法、系统、装置及设备
CN110688664A (zh) * 2019-09-25 2020-01-14 支付宝(杭州)信息技术有限公司 一种块链式账本中的权限管理方法、装置及设备

Also Published As

Publication number Publication date
CN110688664B (zh) 2021-03-23
CN110688664A (zh) 2020-01-14

Similar Documents

Publication Publication Date Title
TWI706353B (zh) 建構梅克爾樹、簡單支付驗證方法及裝置
WO2020211496A1 (zh) 一种块链式账本中的签名验证方法、系统、装置及设备
WO2020211569A1 (zh) 一种数据记录的索引创建方法
TWI706282B (zh) 對寫入區塊鏈的交易進行隱匿的方法及裝置、區塊鏈系統、和電腦設備
WO2020258858A1 (zh) 块链式账本中的授权方法、系统、装置及设备
WO2020093809A1 (zh) 一种区块链数据读取方法及装置
WO2021000578A1 (zh) 一种块链式账本中的用户创建方法、装置及设备
US20210336798A1 (en) Signature verification for a blockchain ledger
CN111602166B (zh) 在区块链上提供可遍历键值数据存储的方法和设备
TWI724730B (zh) 個人資產變更記錄的儲存方法、系統、裝置及設備
WO2021073240A1 (zh) 一种块链式账本中的数据存储方法、装置及设备
WO2020199708A1 (zh) 一种针对授时证书生成请求的监控方法、装置及设备
CN111033489B (zh) 用于数据遍历的方法和设备
CN110008203B (zh) 一种数据清除方法、装置及设备
WO2020211493A1 (zh) 一种块链式账本中的数据验证方法、系统、装置及设备
WO2020199710A1 (zh) 一种账本的验证方法、装置及设备
WO2021093461A1 (zh) 一种块链式账本中的聚合计算方法、装置及设备
WO2021057127A1 (zh) 一种基于多条业务属性的数据存储方法、装置及设备
CN110046281B (zh) 一种数据添加方法、装置及设备
WO2021057220A1 (zh) 一种块链式账本中的权限管理方法、装置及设备
CN110727679A (zh) 法院案卷的协同追踪方法、系统、装置及设备
CN110851851B (zh) 一种块链式账本中的权限管理方法、装置及设备
WO2021057183A1 (zh) 一种块链式账本中的权限移交方法、装置及设备
CN111292082B (zh) 一种块链式账本中的公钥管理方法、装置及设备
CN110636042B (zh) 一种服务端已验证块高的更新方法、装置及设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20867235

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20867235

Country of ref document: EP

Kind code of ref document: A1