WO2020238238A1 - 创建区块链账户及验证区块链交易的方法及装置 - Google Patents

创建区块链账户及验证区块链交易的方法及装置 Download PDF

Info

Publication number
WO2020238238A1
WO2020238238A1 PCT/CN2020/071142 CN2020071142W WO2020238238A1 WO 2020238238 A1 WO2020238238 A1 WO 2020238238A1 CN 2020071142 W CN2020071142 W CN 2020071142W WO 2020238238 A1 WO2020238238 A1 WO 2020238238A1
Authority
WO
WIPO (PCT)
Prior art keywords
transaction
account
field
secret key
blockchain
Prior art date
Application number
PCT/CN2020/071142
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 创新先进技术有限公司
Priority to US16/779,328 priority Critical patent/US11108545B2/en
Publication of WO2020238238A1 publication Critical patent/WO2020238238A1/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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Definitions

  • One or more embodiments of this specification relate to the field of blockchain technology, and in particular to methods and devices for creating blockchain accounts and verifying blockchain transactions based on secret key access control.
  • the concept of accounts is added, in which users can create accounts through the blockchain platform.
  • the blockchain platform functions as a blockchain network
  • the account created by the user is an external account in Ethereum.
  • the data table of all accounts in the blockchain is maintained in the form of a state tree in the local database of the node.
  • the state tree is the mapping between the account address and the account content.
  • the content includes account balance, account key information (hash value), etc.
  • each account can have multiple pairs of secret keys, where each pair of secret keys contains a public key and a private key.
  • the private key can be used for digital signatures, and the public key can be used for verification. signature.
  • how to manage and access these secret keys to further ensure the security of transactions in the blockchain has become a problem to be solved.
  • One or more embodiments of this specification describe a method and device for creating a blockchain account and verifying a blockchain transaction, wherein the key control rule is allowed to be set when the account is created, and verification is performed based on the key control rule when verifying the transaction , So as to realize the access control of the secret key and improve the transaction security.
  • a method for creating a blockchain account is provided, which is executed by a blockchain platform as a full node in a blockchain network, and the method includes:
  • Receiving a first transaction initiated by a user for creating an account the first transaction including at least an initiator field, a receiver field, and a data field; wherein the initiator field includes the first account to be created, and the receiving
  • the square field includes a preset field value
  • the data field includes a secret key control rule set by the user
  • the secret key control rule includes at least one triplet
  • each triplet includes a secret key identifier and a behavior identifier And permission settings
  • the first transaction is packaged into a block and sent to at least one other full node in the blockchain network.
  • obtaining the first transaction initiated by the user for creating an account includes:
  • the method of the above first aspect further includes: adding account content corresponding to the account identifier of the first account in a local account database, the account content including the secret key control rule.
  • the secret key identifier in the triplet is used to identify a secret key pair, the secret key pair includes a corresponding public key and a private key, and the secret key identifier is generated based on the public key.
  • the key control rule has a format encoded by a preset encoding method.
  • a method for creating a blockchain account which is executed by a client terminal connected to a blockchain platform as a full node in a blockchain network, and the method includes:
  • the secret key control rule includes at least one triplet, and each triplet includes a secret key identifier, a behavior identifier, and permission settings;
  • the receiver field includes a preset field value, and the data field includes the secret key control rule.
  • the method before sending the first transaction for creating an account to the blockchain platform, the method further includes: encoding the secret key control rule by using a predetermined encoding method; The data with a predetermined format is filled into the data field of the first transaction.
  • a method for verifying blockchain transactions is provided, which is executed by a blockchain platform as a full node in a blockchain network, and the method includes:
  • a second transaction is received, the second transaction includes at least an initiator field and an extension field, the initiator field includes the first account, and the extension field includes the first behavior corresponding to the first behavior involved in the second transaction logo
  • the secret key control rule includes at least one triple, and each triple includes a secret key identifier, behavior identifier, and permission setting;
  • receiving the second transaction includes: receiving the second transaction from a user client; or, receiving the second transaction from other nodes in the blockchain network.
  • the key control rule can be obtained as follows:
  • the account content corresponding to the account identifier of the first account is read from a local account database, and the account content includes the secret key control rule.
  • verifying the second transaction includes:
  • the extension field verification is passed, the first behavior is verified according to the first triplet.
  • verifying the extension field may include: obtaining the first public key corresponding to the first secret key identifier in the first triplet; and verifying the field signature in the extension field by using the first public key.
  • using the first public key to verify the field signature may include:
  • the first digest and the second digest are compared, and if the comparison is consistent, it is determined that the field signature passes verification.
  • verifying the first behavior according to the first triplet may include:
  • the method of the third aspect further includes: in the case that the verification of the second transaction fails, returning prompt information to the user client that initiated the second transaction.
  • a device for creating a blockchain account deployed on a blockchain platform, the blockchain platform serving as a full node in a blockchain network, and the device includes:
  • the first transaction receiving unit is configured to receive a first transaction initiated by a user for creating an account.
  • the first transaction includes at least an initiator field, a receiver field, and a data field; wherein, the initiator field includes the to-be-created In the first account, the recipient field includes a preset field value, the data field includes a secret key control rule set by the user, and the secret key control rule includes at least one triplet, each triplet Including, key identification, behavior identification and permission setting;
  • the block forming unit is configured to package the first transaction into a block and send it to at least one other full node in the blockchain network.
  • a device for creating a blockchain account which is deployed in a client terminal connected to a blockchain platform as a full node in a blockchain network, and the device includes:
  • the request receiving unit is configured to receive a user's request for creating an account, which includes a secret key control rule set by the user, the secret key control rule includes at least one triplet, and each triplet includes a secret key identifier and a behavior identifier And permission settings;
  • the first transaction sending unit is configured to send a first transaction for creating an account to the blockchain platform, the first transaction including at least an initiator field, a receiver field and a data field; wherein, the initiator field Includes the first account to be created, the recipient field includes a preset field value, and the data field includes the secret key control rule.
  • a device for verifying blockchain transactions deployed in a blockchain platform, the blockchain platform serving as a full node in a blockchain network, and the device includes:
  • the second transaction receiving unit is configured to receive a second transaction, the second transaction including at least an initiator field and an extension field, the initiator field includes the first account, and the extension field includes information related to the second transaction The first behavior identification corresponding to the first behavior;
  • the secret key rule obtaining unit is configured to obtain the secret key control rule set when the first account is created, the secret key control rule includes at least one triplet, and each triplet includes a secret key identifier and a behavior identifier And permission settings;
  • a triplet determining unit configured to determine a first triplet corresponding to the first behavior identifier from the secret key control rule
  • the verification unit is configured to verify the second transaction at least according to the first triplet.
  • a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed in a computer, the computer is caused to execute the methods of the first aspect to the third aspect.
  • a computing device including a memory and a processor, wherein the memory stores executable code, and when the processor executes the executable code, the first aspect to the first aspect are implemented. Three-dimensional approach.
  • a user can set a key control rule for the key he owns, and include the key control rule in the transaction for creating an account.
  • the blockchain platform which is a full node in the blockchain network, can store the secret key control rules when creating an account.
  • the blockchain platform can verify the subsequent transaction based on the stored secret key control rules. In this way, the user can finely manage the secret key, and the transaction that the user uses the secret key to be more secure.
  • Figure 1 shows a blockchain network system according to an embodiment of this specification
  • Figure 2 shows a flowchart of creating a blockchain account according to an embodiment
  • Figure 3 shows the flow of the method for key access control checking in the process of verifying the transaction
  • Fig. 4 shows a schematic block diagram of an apparatus for creating a blockchain account deployed in a blockchain platform according to an embodiment
  • Fig. 5 shows a schematic block diagram of an apparatus for creating a blockchain account deployed in a client according to an embodiment
  • Fig. 6 shows a schematic block diagram of a device for verifying blockchain transactions deployed in a blockchain platform according to an embodiment.
  • Fig. 1 shows a blockchain network system according to an embodiment of this specification.
  • the system includes multiple full nodes that form a blockchain network (six full nodes are schematically shown in the figure). These nodes are connected in pairs, including, for example, node 11, node 12, and node 13.
  • the blockchain is, for example, a consortium chain, and each full node in the consortium chain is a node that can participate in consensus.
  • a full node may be embodied as a blockchain platform, which functions as a server to provide end users with services to access the blockchain network.
  • End users can use the client terminal, such as the blockchain wallet App, to connect to the blockchain platform, connect to the blockchain network through the blockchain platform, and perform various blockchain transactions, such as transfer transactions, and create smart contracts Transactions, transactions that call smart contracts, etc.
  • the aforementioned client can also be regarded as a lightweight node in the blockchain, which relies on the aforementioned full nodes for transactions.
  • the user U1 and the user U2 are connected to the full node 11 corresponding to the blockchain platform through the corresponding clients C1 and C2, and transactions are performed through the blockchain platform.
  • the user is allowed to set the access control of the private key when creating an account.
  • the setting can be embodied as a triple of (key id, behavior id, permission), such a triple Constitute the key control rules.
  • the client can initiate a transaction for creating an account in response to a user request, and fill in the set secret key control rules in the transaction data field. Therefore, the blockchain platform as a full node can record the secret key control rules set by the user while creating the corresponding account.
  • the blockchain platform can verify the transaction based on the statement in the extended field and the key control rule corresponding to the account, thereby implementing key access control and improving transaction security.
  • Figure 2 shows a flow chart of creating a blockchain account according to one embodiment.
  • the user 100 obtains one or more pairs of secret keys, and each pair of secret keys includes a corresponding public key and private key.
  • the user 100 can obtain the secret key in the following manner: the user can input a string of characters as the private key, which is similar to a regular user password. Then the client uses an encryption algorithm to generate a public key based on the private key to form a secret key pair. Users can obtain multiple pairs of secret keys in this way.
  • the secret key can also be obtained in other ways, for example, input a public key to generate a private key, thereby obtaining a secret key pair.
  • the user 100 can set secret key access control, that is, set secret key control rules.
  • the secret key control rules are embodied in the form of triples, each triple includes a secret key identifier, a behavior identifier, and permission settings, where the secret key identifier is used to indicate a certain key pair, behavior The identifier is used to indicate the operation behavior to be performed, and the permission setting can limit whether the above operation behavior is allowed.
  • the permission setting includes two options: yes or no.
  • the permission setting may also include restrictive permission, such as permission and permission conditions.
  • the key control rule may include the content in Table 1.
  • Table 1 is just an example.
  • the key control rule can include any number of triples, and the permission setting is not limited to the form of yes/no.
  • the secret key identifier is generated based on the public key in a pair of secret keys.
  • the identifier may be the public key itself or a segment of the public key.
  • the specific content corresponding to the triplet in the first row of the above table is as follows:
  • ActionID1 verify_transaction_signature (verify transaction signature)
  • the triple defines that using the secret key defined in KeyID1 to perform the operation behavior in ActionID1 (verification of transaction signature) is allowed.
  • the specific content corresponding to the triplet in the second row of the above table can be:
  • ActionID2 encrypt_transaction_with_pubkey (encrypt transaction with public key)
  • the triple defines that using the secret key defined in KeyID2, using the public key to encrypt transactions is not allowed.
  • step 23 the user 100 sends a request for creating an account to the client 200, which may include the set secret key control rules.
  • step 24 the client 200 sends an account creation transaction to the blockchain platform 300, which is referred to as the first transaction for simplicity.
  • Table 2 shows an example of the fields of a transaction.
  • Tx-hash Transaction hash Tx-type Transaction Type Timestamp Timestamp From Transaction initiator To receiver Value/amount Amount Data data ... ... Signature signature
  • the required fields in the transaction include the originator field (from field), the receiver field (to field) and digital signature.
  • the initiator field defines the address of the transaction initiator
  • the receiver field defines the address of the receiving account or the address of the smart contract (in the transaction that calls the smart contract).
  • the digital signature is used for transaction verification, usually obtained by encrypting the transaction content with the private key of the initiator.
  • the transaction generally includes the value or amount field, which is used to define the transfer amount. Therefore, for transfer operations, you can fill in the number of transfers in this field.
  • the transaction also includes data fields.
  • the data field can generally include the message data sent to the recipient.
  • the data fields specifically include the code of the created smart contract, or the parameters passed to the smart contract when the smart contract is called, and so on.
  • Ethereum transactions can also include Gas-related fields, nonce fields, and so on.
  • the client 200 when a user requests to create an account, the client 200 sends a first transaction for creating an account.
  • the recipient field of the first transaction can be set to a preset default value, such as a null value (Null) or other agreed value indicating creation, and set it in the originator field Fill in the account to be created, called the first account.
  • the account address of the first account is generated based on the public key of the account.
  • the data field of the first transaction includes a secret key control rule set by the user, and the secret key control rule includes a number of the foregoing triples.
  • the client 200 uses a predetermined encoding method to encode the secret key control rule, and fills the encoded data with the corresponding format into the data field of the first transaction.
  • the foregoing predetermined encoding method may be, for example, recursive length prefix RLP encoding, protobuf encoding, and so on.
  • the client 200 generates and sends a first transaction to the blockchain platform 300.
  • the initiator field of the first transaction is the first account to be created, the receiver field is a preset value, and the data field contains the secret set by the user. Key control rules.
  • the blockchain platform 300 receives the above-mentioned first transaction for creating an account.
  • the blockchain platform 300 is a full node in the blockchain network, such as the full node 11 in FIG. 1.
  • the blockchain platform 300 can be embodied as any device, device, or device cluster with computing and processing capabilities.
  • the blockchain platform 300 can be any full node in the blockchain network, that is, it can be a full node directly accessed by the client 200 (for example, full node 11 in FIG. 1), or other Full node (for example, full node 12 in Figure 1).
  • the client 200 can directly access the blockchain platform 300.
  • the blockchain platform 300 receives the above-mentioned first transaction from the client.
  • the blockchain platform 300 is not the full node to which the client 200 is directly connected; at this time, the client 200 sends the first message to the full node directly connected, and the full node will forward the first message to other nodes Therefore, the blockchain platform 300 receives the first transaction from other nodes in the blockchain network by forwarding.
  • the blockchain platform 300 After receiving the first transaction, in step 25, the blockchain platform 300 packages the first transaction into a block and sends it to other full nodes in the blockchain network. In other words, the blockchain platform 300 can block the first transaction and upload it to the chain. This process can be implemented based on various conventional consensus algorithms. Once the information of the first transaction is added to the blockchain, each full node in the network can obtain the information of the first transaction, and all of them can know that the first account created by the first exchange and the first The key control rules corresponding to the account.
  • step 26 the blockchain platform 300 also adds the account content corresponding to the account identifier of the first account in its local account database, and includes the aforementioned secret key control in the account content. rule.
  • each full node can maintain an account database locally for recording the account content of each blockchain account.
  • the account content recorded in the account database may include account ID, account balance, account secret key information (key library root hash), etc.
  • the account content of the first account can be added to its local account database, where the account content includes the above In addition to the conventional information, it also includes the key control rules set by the user.
  • the account database may be organized in the form of a state tree, for example, an MPT tree, the leaf nodes of the MPT tree are the account content of each account, and each parent node above the leaf node includes at least one address of the account. Characters and hash values corresponding to all of its child nodes.
  • the account database is not limited to the form of an MPT tree, and can also be in other database forms, such as Merkle trees, Trie trees, etc.
  • the blockchain platform 300 updates the state tree of its account database accordingly.
  • step 26 the order of execution may not be limited to the order illustrated in FIG. 2, but may be performed before step 25, or in parallel with it.
  • a blockchain account can be created, and the account correspondingly has set secret key control rules, thereby having the function of secret key access control checking.
  • the user can create an account through the first transaction, that is, the aforementioned first account, and set secret key control rules for the first account.
  • the account can be used to conduct various blockchain-supported transactions.
  • the second transaction may be an ordinary transfer transaction, or a specific type of transaction, such as a transaction related to privacy protection, or an envelope encryption transaction.
  • the originator field of the second transaction will contain the created first account.
  • an extension field extension is added on the basis of the transaction content shown in Table 2.
  • the extended field contains the behavior identifier corresponding to the operation behavior involved in the second transaction.
  • the user may fill in the behavior identification corresponding to the operation behavior involved in the transaction in the extended field.
  • the user can specify the transaction type of the second transaction to be initiated, and the client terminal determines the behavior identification of the operation behavior involved in the second transaction according to the preset transaction type and the mapping relationship involved in the operation. Fill the behavior ID into the extension field.
  • the specific form of the extension field includes:
  • the ActionID is the behavior identification of the operation behavior involved in the transaction
  • the extension-data is the extended data
  • the Action signature is the digital signature of this field.
  • the Action signature is obtained in the following manner: hash operation is performed on the string formed by the fields (including the ActionID field and the extension-data field) before the Action signature to obtain the digest; and then use the secret key to access control 3.
  • the private key in the key pair corresponding to the ActionID in the tuple encrypts the digest to obtain the Action signature.
  • the client sends the above second transaction including the extension field to the connected blockchain platform.
  • the blockchain platform receives the second transaction
  • the initiator field of the second transaction includes the first account
  • the extension field includes the behavior identifier corresponding to the behavior involved in the second transaction .
  • the behavior involved in the second transaction is called the first behavior
  • the corresponding behavior identifier is called the first behavior identifier.
  • the blockchain platform can receive the second transaction from the client; otherwise, the blockchain platform can Other nodes in the block chain network receive the second transaction.
  • the blockchain platform obtains the secret key control rule set when the first account is created. Specifically, the blockchain platform may first extract the first account from the initiator field of the second transaction, and then obtain the secret key control rule corresponding to the first account.
  • the blockchain platform may obtain the first transaction used to create the first account in history from the block on the chain, and read the secret key control rule from the data field of the first transaction. It is understandable that each transaction in the blockchain network will be recorded in the block. Through step 25 in Fig. 2, the first transaction used to create the first account is packaged on the chain, so each node in the blockchain network can read the transaction content of the first transaction from the corresponding block, thus Obtain the key control rule corresponding to the first account.
  • the blockchain platform may also read the account content corresponding to the account identifier of the first account from the local account database, including the secret key control rules. As shown in step 26 of Figure 2, the blockchain platform can record the account content of the first account in its local account database. Therefore, for subsequent transactions initiated by the first account, the account content of the first account can be quickly obtained from the local account database, including the set secret key control rules.
  • the secret key control rule includes several triples, and each triple includes the secret key identification, behavior identification and authority setting.
  • the blockchain platform can determine the triple corresponding to the first behavior identifier in the extension field of the second transaction from the triples of the key control rules corresponding to the first account, Called the first triplet. In other words, among the several triples obtained in step 32, it is determined that the triple with the behavior identifier as the first behavior identifier is the first triple.
  • the verification process can end. The following only considers the search for the first behavior identifier and determines the first triplet.
  • step 34 the second transaction is verified at least according to the first triplet.
  • the extension field includes a field signature, for example, in the form of ⁇ ActionID, extension-data, Action signature ⁇ .
  • a field signature for example, in the form of ⁇ ActionID, extension-data, Action signature ⁇ .
  • the authenticity of the extension field can be verified based on the field signature first; if the extension field verification is passed, the authorization of the first behavior involved in the second transaction is verified according to the first triplet.
  • the field value before the field signature including the first action identifier ActionID and the extension data extension-data
  • the first digest is hashed again to obtain a digest called the first digest.
  • the public key corresponding to the secret key identifier in the first triplet is obtained. It can be understood that the public key in each key pair of the account is disclosed to each blockchain node. Therefore, through the key identification in the first triplet, the corresponding public key can be obtained, which is called the first public key. key. Then, the first public key is used to decrypt the field signature to obtain the second digest.
  • the extension field passes the verification
  • the above-mentioned first behavior is verified according to the first triplet.
  • the permission setting content in the first triplet can be obtained. If the permission setting content indicates that the first behavior is allowed, for example, the permission is set to Yes, it is determined that the first behavior is verified, and then the second transaction is verified. Of course, the second transaction may also be verified in other aspects.
  • the permission setting content indicates that the first behavior is not allowed, for example, the permission is set to No, then it is determined that the verification of the first behavior fails, and the verification of the second transaction fails. If the permission setting content is conditionally limited, it is further judged whether the condition is satisfied, and then it is judged whether the first behavior passes the verification.
  • the extension field does not contain the field signature.
  • the authority of the first behavior can be checked directly based on the first triple, so as to verify the first behavior.
  • the extension field may include multiple behavior identifiers corresponding to multiple operation behaviors involved in the second transaction. In this case, for each of the multiple behavior identifiers, the corresponding first triple is determined respectively, and the above verification process is performed.
  • a prompt message is returned to the user client that initiated the second transaction, and the prompt message is used to notify the user that the second transaction verification failed , Failed to take effect on the chain. The user can then choose to modify the transaction content of the second transaction and initiate the transaction again.
  • the user can set the secret key control rule for the secret key he owns, and include the secret key control rule in the transaction of creating the account.
  • the blockchain platform which is a full node in the blockchain network, can store the secret key control rules when creating an account.
  • the blockchain platform can verify the subsequent transaction based on the stored secret key control rules. In this way, the user can finely manage the secret key, and the transaction that the user uses the secret key to be more secure.
  • a device for creating a blockchain account The device is deployed in a blockchain platform.
  • the blockchain platform serves as a full node in the blockchain network, and the blockchain The platform can be implemented as any device or device cluster with computing and processing capabilities.
  • Fig. 4 shows a schematic block diagram of an apparatus for creating a blockchain account deployed in a blockchain platform according to an embodiment. As shown in FIG. 4, the device 400 includes:
  • the first transaction receiving unit 41 is configured to receive a first transaction initiated by a user for creating an account.
  • the first transaction includes at least an initiator field, a receiver field, and a data field; wherein, the initiator field includes a pending transaction.
  • the recipient field includes a preset field value
  • the data field includes a secret key control rule set by the user
  • the secret key control rule includes at least one triplet, each triplet
  • the group includes key identification, behavior identification and permission setting;
  • the block forming unit 42 is configured to package the first transaction into a block and send it to at least one other full node in the blockchain network.
  • the first transaction receiving unit 41 is configured to receive the first transaction from the client; or, to receive the first transaction from other nodes in the blockchain network.
  • the device 400 further includes a local adding unit 43 configured to add account content corresponding to the account identifier of the first account in a local account database, the account content including the secret key control rule.
  • the secret key identifier in the triple is used to identify a secret key pair, the secret key pair includes a corresponding public key and a private key, and the secret key identifier is generated based on the public key.
  • the secret key control rule in the data field of the first transaction has a format encoded by a preset encoding method.
  • a device for creating a blockchain account is provided, which is deployed in a client terminal connected to a blockchain platform that is a full node in a blockchain network.
  • Fig. 5 shows a schematic block diagram of an apparatus for creating a blockchain account deployed in a client according to an embodiment. As shown in FIG. 5, the device 500 includes:
  • the request receiving unit 51 is configured to receive a user's request for creating an account, which includes a secret key control rule set by the user, the secret key control rule includes at least one triplet, and each triplet includes, a secret key identifier, and a behavior Identification and permission setting;
  • the first transaction sending unit 52 is configured to send a first transaction for creating an account to the blockchain platform, the first transaction including at least an initiator field, a receiver field and a data field; wherein, the initiator The field includes the first account to be created, the recipient field includes a preset field value, and the data field includes the secret key control rule.
  • the first transaction sending unit 52 is further configured to, before sending the first transaction, use a predetermined encoding method to encode the secret key control rule; fill in the encoded data with a predetermined format The data field of the first transaction.
  • a device for verifying blockchain transactions is provided.
  • the device is deployed on a blockchain platform.
  • the blockchain platform serves as a full node in the blockchain network, and
  • the blockchain platform can be implemented as any device or device cluster with computing and processing capabilities.
  • Fig. 6 shows a schematic block diagram of a device for verifying blockchain transactions deployed in a blockchain platform according to an embodiment. As shown in FIG. 6, the device 600 includes:
  • the second transaction receiving unit 61 is configured to receive a second transaction, the second transaction including at least an initiator field and an extension field, the initiator field includes the first account, and the extension field includes the second transaction involved The first behavior identifier corresponding to the first behavior of;
  • the secret key rule obtaining unit 62 is configured to obtain the secret key control rule set when the first account is created.
  • the secret key control rule includes at least one triplet, and each triplet includes, a secret key identifier, and a behavior Identification and permission setting;
  • the triplet determining unit 63 is configured to determine the first triplet corresponding to the first behavior identifier from the secret key control rule;
  • the verification unit 64 is configured to verify the second transaction at least according to the first triplet.
  • the second transaction receiving unit 61 is configured to receive the second transaction from the user client; or, to receive the second transaction from other nodes in the blockchain network.
  • the secret key rule obtaining unit 62 is configured to obtain the first transaction used to create the first account in history from the blockchain, and read the secret from the data field of the first transaction. Key control rule; or, read the account content corresponding to the account identifier of the first account from a local account database, the account content including the secret key control rule.
  • the verification unit 64 includes (not shown) a first verification module and a second verification module, the first verification module is configured to verify the extension field according to the first triple; the second verification module is configured to, In the case where the extension field verification is passed, the first behavior is verified according to the first triplet.
  • the extended field further includes extended data and field signature; correspondingly, the first verification module is configured to obtain the first public key corresponding to the first secret key identifier in the first triplet ; Use the first public key to verify the field signature.
  • the first verification module is configured to calculate the first behavior identifier and the first digest of the extended data; decrypt the field signature by using the first public key to obtain the second digest; For the first digest and the second digest, if the comparison is consistent, it is determined that the field signature is verified.
  • the verification unit 64 is specifically configured to obtain the permission setting content in the first triplet; when the permission setting content indicates that the first behavior is not allowed, determine the first behavior The verification fails, and the second transaction verification fails.
  • the device 600 further includes a prompt unit (not shown) configured to return prompt information to the user client that initiated the second transaction in the case that the verification of the second transaction fails.
  • a prompt unit (not shown) configured to return prompt information to the user client that initiated the second transaction in the case that the verification of the second transaction fails.
  • a blockchain account with key control rules is created, and blockchain transactions are verified based on the key control rules.
  • a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed in a computer, the computer is caused to execute the method described in conjunction with FIG. 2 and FIG. 3.
  • a computing device including a memory and a processor, the memory stores executable code, and when the processor executes the executable code, a combination of FIGS. 2 and 3 The method described.

Abstract

一种创建区块链账户和验证区块链交易的方法和装置,所述方法允许用户100针对拥有的秘钥设置秘钥控制规则,该秘钥控制规则可以是秘钥标识、行为标识、权限设定的三元组的形式。用户100可以在创建账户的交易中包含该秘钥控制规则。如此,作为区块链网络中全节点的区块链平台300可以在创建账户时,存储该秘钥控制规则,使得该账户100具有秘钥访问控制功能。在用户100利用已创建的账户发起后续交易时,区块链平台300就可以基于所存储的秘钥控制规则,对后续交易进行验证。

Description

创建区块链账户及验证区块链交易的方法及装置 技术领域
本说明书一个或多个实施例涉及区块链技术领域,尤其涉及基于秘钥访问控制创建区块链账户及验证区块链交易的方法和装置。
背景技术
在新一代区块链中,例如在以太坊中,新增了账户的概念,其中,用户可以通过区块链平台创建账户,在这样的场景中,区块链平台作用为区块链网络中的全节点,用户创建的账户为以太坊中的外部账户。在区块链网络的各个全节点中,在节点本地的数据库中以状态树的形式维持区块链中全部账户的数据表,该状态树为账户地址与账户内容之间的映射,所述账号内容包括,账户余额、账户密钥信息(哈希值)等。
目前,在一些区块链平台中,每个账户可以拥有多对秘钥,其中,每对秘钥包含一个公钥和一个私钥,私钥可以用于进行数字签名,公钥可以用于验证签名。在拥有多对秘钥的情况下,如何对这些秘钥进行管理和访问控制,进一步保障区块链中的交易安全,成为有待解决的问题。
发明内容
本说明书一个或多个实施例描述了创建区块链账户以及验证区块链交易的方法和装置,其中在创建账户时允许设置秘钥控制规则,在验证交易时基于该秘钥控制规则进行验证,从而实现秘钥的访问控制,提升交易安全性。
根据第一方面,提供了一种创建区块链账户的方法,通过作为区块链网络中全节点的区块链平台执行,所述方法包括:
接收用户发起的用于创建账户的第一交易,所述第一交易至少包括发起方字段,接收方字段和数据字段;其中,所述发起方字段中包括待创建的第一账户,所述接收方字段中包括预设的字段值,所述数据字段中包括用户设置的秘钥控制规则,所述秘钥控制规则包括至少一个三元组,每个三元组包括,秘钥标识,行为标识和权限设定;
将所述第一交易打包到区块中并发送给所述区块链网络中的至少一个其他全节点。
在一个实施例中,获取用户发起的用于创建账户的第一交易包括:
从客户端接收所述第一交易;或者:
从所述区块链网络中的其他节点接收所述第一交易。
根据一个实施例,上述第一方面的方法还包括:在本地的账户数据库中添加与所述第一账户的账户标识对应的账户内容,所述账户内容包括所述秘钥控制规则。
在一个实施例中,所述三元组中的秘钥标识用于标识一个秘钥对,该秘钥对包括对应的公钥和私钥,所述秘钥标识基于所述公钥而产生。
根据一个实施例,秘钥控制规则具有通过预设编码方式编码的格式。
根据第二方面,提供一种创建区块链账户的方法,通过客户端执行,所述客户端连接到作为区块链网络中全节点的区块链平台,所述方法包括:
接收用户的创建账户的请求,其中包括用户设置的秘钥控制规则,所述秘钥控制规则包括至少一个三元组,每个三元组包括,秘钥标识,行为标识和权限设定;
向所述区块链平台发出用于创建账户的第一交易,所述第一交易至少包括发起方字段,接收方字段和数据字段;其中,所述发起方字段中包括待创建的第一账户,所述接收方字段中包括预设的字段值,所述数据字段中包括所述秘钥控制规则。
在第二方面的一个实施例中,在向区块链平台发出用于创建账户的第一交易之前,方法还包括:采用预定的编码方式对所述秘钥控制规则进行编码;将编码后得到的具有预定格式的数据填入所述第一交易的数据字段。
根据第三方面,提供一种验证区块链交易的方法,通过作为区块链网络中全节点的区块链平台执行,所述方法包括:
接收第二交易,所述第二交易至少包括发起方字段和扩展字段,所述发起方字段中包括第一账户,所述扩展字段中包括该第二交易涉及的第一行为对应的第一行为标识;
获取所述第一账户在创建时设置的秘钥控制规则,所述秘钥控制规则包括至少一个三元组,每个三元组包括,秘钥标识,行为标识和权限设定;
从所述秘钥控制规则中确定出与所述第一行为标识对应的第一三元组;
至少根据所述第一三元组,验证所述第二交易。
在一个实施例中,接收第二交易包括:从用户客户端接收所述第二交易;或者,从所述区块链网络中的其他节点接收所述第二交易。
根据一个实施例,可以如下获取秘钥控制规则:
从区块链中获取历史上用于创建该第一账户的第一交易,从所述第一交易的数据字段中读取所述秘钥控制规则;或者,
从本地的账户数据库中读取与所述第一账户的账户标识对应的账户内容,所述账户内容包括所述秘钥控制规则。
在第三方面的一个实施例中,验证第二交易包括:
根据所述第一三元组,验证所述扩展字段;
在扩展字段验证通过的情况下,根据所述第一三元组验证所述第一行为。
在进一步的实施例中,验证扩展字段可以包括:获取第一三元组中的第一秘钥标识对应的第一公钥;利用所述第一公钥验证扩展字段中的字段签名。
更进一步的,利用所述第一公钥验证字段签名可以包括:
计算所述第一行为标识和所述扩展数据的第一摘要;
利用所述第一公钥解密所述字段签名,得到第二摘要;
比对所述第一摘要和第二摘要,在比对一致的情况下,确定所述字段签名通过验证。
根据第三方面的一个实施例,根据第一三元组验证第一行为可以包括:
获取所述第一三元组中的权限设定内容;
在所述权限设定内容指示出不允许所述第一行为时,确定所述第一行为验证失败,以及所述第二交易验证失败。
在一种实施方式中,第三方面的方法还包括:在所述第二交易验证失败的情况下,向发起所述第二交易的用户客户端返回提示信息。
根据第四方面,提供一种创建区块链账户的装置,部署在区块链平台中,所述区块链平台作为区块链网络中的全节点,所述装置包括:
第一交易接收单元,配置为接收用户发起的用于创建账户的第一交易,所述第一交易至少包括发起方字段,接收方字段和数据字段;其中,所述发起方字段中包括待创建的第一账户,所述接收方字段中包括预设的字段值,所述数据字段中包括用户设置的秘钥控制规则,所述秘钥控制规则包括至少一个三元组,每个三元组包括,秘钥标识,行为标识和权限设定;
区块形成单元,配置为将所述第一交易打包到区块中并发送给所述区块链网络中的至少一个其他全节点。
根据第五方面,提供一种创建区块链账户的装置,部署在客户端中,所述客户端连接到作为区块链网络中全节点的区块链平台,所述装置包括:
请求接收单元,配置为接收用户的创建账户的请求,其中包括用户设置的秘钥控制规则,所述秘钥控制规则包括至少一个三元组,每个三元组包括,秘钥标识,行为标识和权限设定;
第一交易发送单元,配置为向所述区块链平台发出用于创建账户的第一交易,所述第一交易至少包括发起方字段,接收方字段和数据字段;其中,所述发起方字段中包括待创建的第一账户,所述接收方字段中包括预设的字段值,所述数据字段中包括所述秘钥控制规则。
根据第六方面,提供一种验证区块链交易的装置,部署在区块链平台中,所述区块链平台作为区块链网络中的全节点,所述装置包括:
第二交易接收单元,配置为接收第二交易,所述第二交易至少包括发起方字段和扩展字段,所述发起方字段中包括第一账户,所述扩展字段中包括该第二交易涉及的第一行为对应的第一行为标识;
秘钥规则获取单元,配置为获取所述第一账户在创建时设置的秘钥控制规则,所述秘钥控制规则包括至少一个三元组,每个三元组包括,秘钥标识,行为标识和权限设定;
三元组确定单元,配置为从所述秘钥控制规则中确定出与所述第一行为标识对应的第一三元组;
验证单元,配置为至少根据所述第一三元组,验证所述第二交易。
根据第七方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面到第三方面的方法。
根据第八方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面到第三方面的方法。
根据本说明书实施例提供的方法和装置,用户可以针对拥有的秘钥设置秘钥控制规则,并在创建账户的交易中包含该秘钥控制规则。如此,作为区块链网络中全节点的区 块链平台可以在创建账户时,存储该秘钥控制规则。在用户利用已创建的账户发起后续交易时,区块链平台就可以基于所存储的秘钥控制规则,对后续交易进行验证。如此,使得用户可以精细化地管理秘钥,也使得用户利用秘钥进行的交易更加安全。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出根据本说明书实施例的区块链网络系统;
图2示出根据一个实施例的创建区块链账户的流程图;
图3示出在验证交易的过程中进行秘钥访问控制检查的方法流程;
图4示出根据一个实施例的部署在区块链平台中的创建区块链账户的装置的示意性框图;
图5示出根据一个实施例的部署在客户端中的创建区块链账户的装置的示意性框图;
图6示出根据一个实施例的部署在区块链平台中的验证区块链交易的装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1示出根据本说明书实施例的区块链网络系统。如图1所示,所述系统中包括构成区块链网络的多个全节点(图中示意示出6个全节点),这些节点两两相连,其中例如包括节点11、节点12和节点13,所述区块链例如为联盟链,其中的各个全节点为联盟链中可参与共识的节点。
根据一个实施例,全节点可以体现为区块链平台,该平台作用为服务器,为终端用户提供接入区块链网络的服务。终端用户可以借助客户端,例如区块链的钱包App,连接到区块链平台,经由该区块链平台接入区块链网络,进行各种区块链交易,例如转账交易,创建智能合约的交易,调用智能合约的交易,等等。此时,上述客户端也可以认 为是区块链中的轻量节点,其依赖于上述各个全节点进行交易。例如,在图1中,用户U1和用户U2分别通过对应的客户端C1和C2,连接到区块链平台对应的全节点11,通过该区块链平台进行交易。
根据本说明书的实施例,允许用户在创建账户时,对拥有的秘钥进行访问控制的设置,该设置可以体现为(秘钥id,行为id,权限)的三元组,这样的三元组构成秘钥控制规则。在创建账户时,客户端可以响应于用户请求发起一个用于创建账户的交易,将设置的秘钥控制规则填写在交易的数据字段中。于是,作为全节点的区块链平台可以在创建对应账户的同时,记录下用户设置的秘钥控制规则。
此外,根据本说明书的实施例,支持在交易中添加扩展字段。在创建账户之后,利用该账户进行后续交易时,用户可以在交易的扩展字段中声明该交易涉及的行为。于是,区块链平台可以基于扩展字段中的声明,以及该账户对应的秘钥控制规则,对交易进行验证,从而实现秘钥访问控制,提升交易安全性。
下面分别描述基于秘钥访问控制进行的创建账户的过程和交易验证的过程。
图2示出根据一个实施例的创建区块链账户的流程图。如图2所示,为了创建区块链账户,在步骤21,用户100获取一对或多对秘钥,每对秘钥包括相对应的公钥和私钥。
在一个实施例中,用户100可以通过以下方式获取秘钥:用户可以输入一段字符串作为私钥,这段字符串类似于常规的用户密码。然后客户端使用加密算法,基于该私钥生成公钥,从而构成一个秘钥对。用户可以基于这样的方式获取多对秘钥。在其他实施例中,也可以通过其他方式获取秘钥,例如,输入公钥,生成私钥,从而得到秘钥对。
针对获取的一对或多对秘钥,在步骤22,用户100可以进行秘钥访问控制的设置,也就是设置秘钥控制规则。在一个实施例中,秘钥控制规则体现为三元组的形式,每个三元组包括,秘钥标识,行为标识和权限设定,其中秘钥标识用于指示某个秘钥对,行为标识用于指示要执行的操作行为,权限设定可以限定上述操作行为是否被允许。在一个具体例子中,权限设定包括允许(yes)或不允许(no)两个选项。在另一例子中,权限设定还可以包括条件限定性允许,例如允许以及允许的条件等。
在一个具体例子中,秘钥控制规则可以包括表1中的内容。
表1:秘钥控制规则示例
秘钥标识 行为标识 权限设定
KeyID1 ActionID1 Yes
KeyID2 ActionID2 No
KeyID3 ActionID3 Yes
需要理解,表1仅仅是一个示例。秘钥控制规则可以包括任意数目的三元组,其中权限设定也不局限于yes/no的形式。
在一个例子中,秘钥标识基于一对秘钥中的公钥而生成,例如该标识可以是公钥本身,或者公钥中的一段。
更具体的,在一个例子中,上述表格中第一行的三元组对应的具体内容如下:
KeyID1:0xa24fghjfact67uadu
ActionID1:verify_transaction_signature(验证交易签名)
Yes
也就是说,该三元组定义了,使用KeyID1中定义的秘钥执行ActionID1中的操作行为(验证交易签名),是允许的。
又例如,上述表格第二行的三元组对应的具体内容可以是:
KeyID2:0fa78fa20oghdas
ActionID2:encrypt_transaction_with_pubkey(用公钥加密交易)
No
该三元组定义了,使用KeyID2中定义的秘钥,用其中的公钥加密交易是不允许的。
如此,用户可以通过三元组的方式定义秘钥控制规则。
然后,在步骤23,用户100向客户端200发出创建账户的请求,其中可以包括设置的秘钥控制规则。
响应于用户请求,在步骤24,客户端200向区块链平台300发出创建账户的交易,为了简单起见,称为第一交易。
可以理解,在已有的区块链架构中,各种区块链操作都可以通过交易的形式来实现。表2示出一个交易的字段示例。
表2:交易字段示例
Tx-hash 交易哈希
Tx-type 交易类型
Timestamp 时间戳
From 交易发起方
To 接收方
Value/amount 金额
Data 数据
Signature 签名
结合以上表2所示,交易中必填的字段包含发起方字段(from字段),接收方字段(to字段)和数字签名。发起方字段定义交易发起者的地址,接收方字段定义接收账户的地址或智能合约的地址(在调用智能合约的交易中)。数字签名用于交易的验证,通常是用发起方的私钥对交易内容进行加密得到的。
交易中一般包括value或amount字段,用于定义转账金额。因此,对转账操作而言,可以在该字段中填入转账数目。
交易还包括数据字段。在已有的交易形式中,数据字段一般可以包括,发送给接收者的消息数据。在涉及智能合约的场景中,数据字段具体包括,创建的智能合约的代码,或者调用智能合约时,传递到智能合约的参数,等等。
可选的,以太坊的交易还可以包括与Gas相关的字段,nonce字段,等等。
根据本说明书一个实施例,在用户请求创建账户时,客户端200发出用于创建账户的第一交易。为了表明该第一交易是创建账户的交易,可以将该第一交易的接收方字段设定为预设的默认值,例如空值(Null)或其他表明创建的约定值,并在发起方字段中填入有待创建的账户,称为第一账户。一般地,第一账户的账户地址基于该账户的公钥而生成。
进一步地,在上述第一交易的数据字段中包括用户设置的秘钥控制规则,该秘钥控制规则包括若干前述的三元组。
在一个实施例中,客户端200利用预定的编码方式对秘钥控制规则进行编码,并将编码后得到的具有相应格式的数据填入第一交易的数据字段。上述预定的编码方式例如 可以是递归长度前缀RLP编码,protobuf编码,等等。
如此,客户端200生成并向区块链平台300发出第一交易,该第一交易的发起方字段为有待创建的第一账户,接收方字段为预设值,数据字段中包含用户设置的秘钥控制规则。
相应的,区块链平台300接收到上述用于创建账户的第一交易。
可以理解,该区块链平台300是区块链网络中的全节点,例如图1中的全节点11。在实现上,该区块链平台300可以体现为任何具有计算、处理能力的装置、设备、或设备集群。并且,该区块链平台300可以是区块链网络中任意的一个全节点,也就是说,可以是客户端200直接访问的全节点(例如图1中的全节点11),也可以是其他全节点(例如图1中的全节点12)。具体的,在一个实施例中,客户端200可以直接访问该区块链平台300。在这样的情况下,区块链平台300从客户端接收到上述第一交易。或者,区块链平台300不是客户端200直接连接到的全节点;此时,客户端200将第一消息发送到其直接连接的全节点,该全节点会将该第一消息转发给其他节点,于是,区块链平台300通过转发的方式从区块链网络中的其他节点接收该第一交易。
在接收到该第一交易后,在步骤25,区块链平台300将该第一交易打包到区块中,并发送给区块链网络中的其他全节点。换而言之,区块链平台300可以将该第一交易入块并上链。该过程可以基于各种常规的共识算法而实现。一旦该第一交易的信息被添加到区块链中,网络中的各个全节点均可以获取到第一交易的信息,由此均可以获知,第一交易所创建的第一账户,以及第一账户对应的秘钥控制规则。
此外,在一个实施例中,在步骤26,区块链平台300还在其本地的账户数据库中添加与所述第一账户的账户标识对应的账户内容,并在账户内容中包括上述秘钥控制规则。
需要理解,在区块链网络中,每个全节点可以在其本地维护账户数据库,用于记录各个区块链账户的账户内容。一般地,账户数据库中记录的账户内容可以包括,账户ID,账户余额,账户秘钥信息(秘钥库根哈希)等。
在本说明书的一个实施例中,当区块链平台300通过第一交易确定需要新创建第一账户时,可以在其本地的账户数据库中添加第一账户的账户内容,其中账户内容除了包含上述的常规信息之外,还包括用户设置的秘钥控制规则。
根据一种实施方式,账户数据库例如可以组织为状态树的形式,该状态树例如为MPT树,MPT树的叶子节点为各个账户的账户内容,叶子节点上方的各个父节点包括 账户的至少一个地址字符和对应于其全部子节点的哈希值。当然,账户数据库不限于为MPT树的形式,也可以为其它数据库形式,如Merkle树、Trie树等。在这样的情况下,在添加第一账户的账户内容后,区块链平台300相应地更新其账户数据库的状态树。
需要理解的是,在执行步骤26的情况下,其执行顺序可以不限于图2所示例的顺序,而是可以在步骤25之前执行,或者与其并行执行。
如此,通过图2所示的方式,可以创建一个区块链账户,该账户对应具有设置的秘钥控制规则,从而具有秘钥访问控制检查的功能。
下面结合图3描述在验证交易的过程中,进行秘钥访问控制检查的方法流程。图3的方法流程通过区块链平台执行。
如前所述,用户可以通过第一交易创建一个账户,即前述的第一账户,并针对该第一账户设置秘钥控制规则。在创建该第一账户之后,就可以使用该账户,进行各种区块链支持的交易。
假定用户在创建第一账户之后,通过客户端发起另一交易,称为第二交易。第二交易可以是普通的转账交易,也可以是特定类型的交易,例如隐私保护相关的交易,或信封加密交易。
可以理解,第二交易的发起方字段中会包含所创建的第一账户。根据一个实施例,为了支持秘钥访问控制的核查,在表2所示的交易内容的基础上,增加一个扩展字段extention。扩展字段中包含第二交易涉及的操作行为对应的行为标识。
在一个实施例中,用户可以在扩展字段中填入该交易涉及的操作行为对应的行为标识。或者,在另一实施例中,用户可以指定要发起的第二交易的交易类型,客户端根据预设的交易类型和涉及操作的映射关系,确定出第二交易涉及的操作行为的行为标识,将该行为标识填入扩展字段。
在一个具体的实施例中,扩展字段的具体形式包括:
{ActionID,extention-data,Action签名}
其中ActionID即为交易涉及的操作行为的行为标识,extention-data为扩展数据,Action签名为该字段的数字签名。
在一个实施例中,Action签名通过以下方式得到:对Action签名之前的字段(包括ActionID字段和extention-data字段)构成的字符串进行哈希散列操作,得到摘要; 然后用秘钥访问控制三元组中该ActionID对应的秘钥对中的私钥对摘要进行加密,从而得到Action签名。
客户端将以上包括扩展字段的第二交易发送到所连接的区块链平台。
于是,如图3中步骤31所示,区块链平台接收到第二交易,该第二交易的发起方字段中包括第一账户,扩展字段中包括该第二交易涉及的行为对应的行为标识。清楚简单起见,将第二交易涉及的行为称为第一行为,将对应的行为标识称为第一行为标识。
与图2中接收第一交易类似的,当区块链平台是客户端直接访问的全节点时,区块链平台可以从客户端接收到上述第二交易;否则,区块链平台可以从区块链网络中的其他节点接收上述第二交易。
接着,在步骤32,区块链平台获取第一账户在创建时设置的秘钥控制规则。具体的,区块链平台可以首先从第二交易的发起方字段中提取出第一账户,然后获取第一账户所对应的秘钥控制规则。
在一个实施例中,区块链平台可以从上链的区块中获取历史上用于创建该第一账户的第一交易,从所述第一交易的数据字段中读取秘钥控制规则。可以理解,区块链网络中的各个交易均会记录在区块中。通过图2的步骤25,用于创建第一账户的第一交易被打包上链,于是区块链网络中的各个节点均可以从对应区块中读取到第一交易的交易内容,由此得到第一账户对应的秘钥控制规则。
或者,在另一实施例中,区块链平台也可以从本地的账户数据库中读取与第一账户的账户标识对应的账户内容,其中包括秘钥控制规则。如图2的步骤26所示,区块链平台可以在其本地的账户数据库中记录第一账户的账户内容。由此,对于后续第一账户发起的交易,可以从本地的账户数据库中快速地获取到第一账户的账户内容,包括设置的秘钥控制规则。
如前所述,秘钥控制规则包括若干三元组,每个三元组包括,秘钥标识,行为标识和权限设定。于是,接下来,在步骤33,区块链平台可以从第一账户对应的秘钥控制规则三元组中,确定出与第二交易的扩展字段中的第一行为标识对应的三元组,称为第一三元组。换而言之,在步骤32获取的若干三元组中,确定出行为标识为第一行为标识的三元组作为第一三元组。
当然,如果在秘钥控制规则中无法搜索到第一行为标识,那么就意味着,用户并未对相应的第一行为进行权限设置,那么验证流程可以结束。下面仅考虑搜索到第一 行为标识,确定出第一三元组的情况。
在确定出第一三元组的情况下,在步骤34,至少根据该第一三元组,对第二交易进行验证。
在一个实施例中,扩展字段中包括字段签名,例如为{ActionID,extention-data,Action签名}的形式。在这样的情况下,可以首先基于字段签名,验证该扩展字段的真实性;在扩展字段验证通过的情况下,再根据第一三元组验证第二交易中涉及的第一行为的权限。
具体的,为了验证扩展字段,一方面,对字段签名之前的字段值,包括第一行为标识ActionID和扩展数据extention-data,再次进行哈希散列计算,得到一个摘要,称为第一摘要。另一方面,获取第一三元组中的秘钥标识对应的公钥。可以理解,账户的各个秘钥对中的公钥都是向各个区块链节点公开的,因此,通过第一三元组中的秘钥标识,可以得到对应的公钥,称为第一公钥。然后,用该第一公钥解密字段签名,得到第二摘要。比对上述第一摘要和第二摘要;如果两者一致,则说明该扩展字段真实准确,未被篡改,扩展字段通过验证。否则,则说明该扩展字段真实性存疑,有待进一步验证。
在扩展字段通过验证的情况下,根据第一三元组验证上述第一行为。具体的,可以获取第一三元组中的权限设定内容。如果权限设定内容指示出允许第一行为,例如权限设定为Yes,则确定第一行为验证通过,进而第二交易验证通过。当然,接下来也可能对第二交易进行其他方面的验证。
如果权限设定内容指示出不允许第一行为,例如权限设定为No,则确定第一行为验证失败,进而第二交易验证失败。如果权限设定内容为条件性限定,则进一步判断该条件是否满足,进而判断第一行为是否通过验证。
在一个实施例中,扩展字段不包含字段签名。在这样的情况下,可以直接基于第一三元组对第一行为的权限进行核查,从而验证第一行为。
在一个实施例中,扩展字段中可以包括第二交易涉及的多项操作行为对应的多个行为标识。在这样的情况下,对于该多个行为标识中每一个,分别确定出对应的第一三元组,并执行以上的验证过程。
在一个实施例中,在第一行为验证失败,进而导致第二交易验证失败的情况下,向发起该第二交易的用户客户端返回提示信息,该提示信息用于通知用户第二交易验证失败,未能上链生效。于是用户可以选择修改第二交易的交易内容,再次发起交易。
回顾以上过程,用户可以针对拥有的秘钥设置秘钥控制规则,并在创建账户的交易中包含该秘钥控制规则。如此,作为区块链网络中全节点的区块链平台可以在创建账户时,存储该秘钥控制规则。在用户利用已创建的账户发起后续交易时,区块链平台就可以基于所存储的秘钥控制规则,对后续交易进行验证。如此,使得用户可以精细化地管理秘钥,也使得用户利用秘钥进行的交易更加安全。
根据另一方面的实施例,提供了一种创建区块链账户的装置,该装置部署在区块链平台中,所述区块链平台作为区块链网络中的全节点,并且区块链平台可以实现为任何具有计算、处理能力的设备或设备集群。图4示出根据一个实施例的部署在区块链平台中的创建区块链账户的装置的示意性框图。如图4所示,该装置400包括:
第一交易接收单元41,配置为接收用户发起的用于创建账户的第一交易,所述第一交易至少包括发起方字段,接收方字段和数据字段;其中,所述发起方字段中包括待创建的第一账户,所述接收方字段中包括预设的字段值,所述数据字段中包括用户设置的秘钥控制规则,所述秘钥控制规则包括至少一个三元组,每个三元组包括,秘钥标识,行为标识和权限设定;
区块形成单元42,配置为将所述第一交易打包到区块中并发送给所述区块链网络中的至少一个其他全节点。
在一个实施例中,第一交易接收单元41配置为,从客户端接收所述第一交易;或者,从区块链网络中的其他节点接收所述第一交易。
根据一个实施例,装置400还包括本地添加单元43,配置为在本地的账户数据库中添加与所述第一账户的账户标识对应的账户内容,所述账户内容包括所述秘钥控制规则。
在一个实施例中,三元组中的秘钥标识用于标识一个秘钥对,该秘钥对包括对应的公钥和私钥,所述秘钥标识基于所述公钥而产生。
根据一个实施例,第一交易的数据字段中的秘钥控制规则具有通过预设编码方式编码的格式。
根据本说明书又一方面的实施例,提供了一种创建区块链账户的装置,该装置部署在客户端中,所述客户端连接到作为区块链网络中全节点的区块链平台。图5示出根据一个实施例的部署在客户端中的创建区块链账户的装置的示意性框图。如图5所示,该装置500包括:
请求接收单元51,配置为接收用户的创建账户的请求,其中包括用户设置的秘钥控制规则,所述秘钥控制规则包括至少一个三元组,每个三元组包括,秘钥标识,行为标识和权限设定;
第一交易发送单元52,配置为向所述区块链平台发送用于创建账户的第一交易,所述第一交易至少包括发起方字段,接收方字段和数据字段;其中,所述发起方字段中包括待创建的第一账户,所述接收方字段中包括预设的字段值,所述数据字段中包括所述秘钥控制规则。
在一个实施例中,第一交易发送单元52还配置为,在发送第一交易之前,采用预定的编码方式对所述秘钥控制规则进行编码;将编码后得到的具有预定格式的数据填入所述第一交易的数据字段。
根据本说明书又一方面的实施例,提供了一种验证区块链交易的装置,该装置部署在区块链平台中,所述区块链平台作为区块链网络中的全节点,并且区块链平台可以实现为任何具有计算、处理能力的设备或设备集群。图6示出根据一个实施例的部署在区块链平台中的验证区块链交易的装置的示意性框图。如图6所示,该装置600包括:
第二交易接收单元61,配置为接收第二交易,所述第二交易至少包括发起方字段和扩展字段,所述发起方字段中包括第一账户,所述扩展字段中包括该第二交易涉及的第一行为对应的第一行为标识;
秘钥规则获取单元62,配置为获取所述第一账户在创建时设置的秘钥控制规则,所述秘钥控制规则包括至少一个三元组,每个三元组包括,秘钥标识,行为标识和权限设定;
三元组确定单元63,配置为从所述秘钥控制规则中确定出与所述第一行为标识对应的第一三元组;
验证单元64,配置为至少根据所述第一三元组,验证所述第二交易。
在一个实施例中,第二交易接收单元61配置为,从用户客户端接收所述第二交易;或者,从所述区块链网络中的其他节点接收所述第二交易。
在一个实施例中,秘钥规则获取单元62配置为,从区块链中获取历史上用于创建该第一账户的第一交易,从所述第一交易的数据字段中读取所述秘钥控制规则;或者,从本地的账户数据库中读取与所述第一账户的账户标识对应的账户内容,所述账户内容包括所述秘钥控制规则。
根据一个实施例,验证单元64包括(未示出)第一验证模块和第二验证模块,第一验证模块配置为根据第一三元组,验证所述扩展字段;第二验证模块配置为,在扩展字段验证通过的情况下,根据所述第一三元组验证所述第一行为。
在一个实施例中,所述扩展字段还包括,扩展数据和字段签名;相应的,所述第一验证模块配置为,获取第一三元组中的第一秘钥标识对应的第一公钥;利用所述第一公钥验证所述字段签名。
在进一步的实施例中,第一验证模块配置为,计算所述第一行为标识和所述扩展数据的第一摘要;利用所述第一公钥解密所述字段签名,得到第二摘要;比对所述第一摘要和第二摘要,在比对一致的情况下,确定所述字段签名通过验证。
在一个实施例中,验证单元64具体配置为,获取第一三元组中的权限设定内容;在所述权限设定内容指示出不允许所述第一行为时,确定所述第一行为验证失败,以及所述第二交易验证失败。
根据一个实施例,装置600还包括提示单元(未示出),配置为在第二交易验证失败的情况下,向发起所述第二交易的用户客户端返回提示信息。
通过以上的装置,创建具有秘钥控制规则设定的区块链账户,并基于秘钥控制规则进行区块链交易的验证。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2和图3所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2和图3所述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (20)

  1. 一种创建区块链账户的方法,通过作为区块链网络中全节点的区块链平台执行,所述方法包括:
    接收用户发起的用于创建账户的第一交易,所述第一交易至少包括发起方字段,接收方字段和数据字段;其中,所述发起方字段中包括待创建的第一账户,所述接收方字段中包括预设的字段值,所述数据字段中包括用户设置的秘钥控制规则,所述秘钥控制规则包括至少一个三元组,每个三元组包括,秘钥标识,行为标识和权限设定;
    将所述第一交易打包到区块中并发送给所述区块链网络中的至少一个其他全节点。
  2. 根据权利要求1所述的方法,其中,获取用户发起的用于创建账户的第一交易包括:
    从客户端接收所述第一交易;或者:
    从所述区块链网络中的其他节点接收所述第一交易。
  3. 根据权利要求1所述的方法,还包括:
    在本地的账户数据库中添加与所述第一账户的账户标识对应的账户内容,所述账户内容包括所述秘钥控制规则。
  4. 根据权利要求1所述的方法,其中,所述秘钥标识用于标识一个秘钥对,该秘钥对包括对应的公钥和私钥,所述秘钥标识基于所述公钥而产生。
  5. 根据权利要求1所述的方法,其中,所述秘钥控制规则具有通过预设编码方式编码的格式。
  6. 一种创建区块链账户的方法,通过客户端执行,所述客户端连接到作为区块链网络中全节点的区块链平台,所述方法包括:
    接收用户的创建账户的请求,其中包括用户设置的秘钥控制规则,所述秘钥控制规则包括至少一个三元组,每个三元组包括,秘钥标识,行为标识和权限设定;
    向所述区块链平台发送用于创建账户的第一交易,所述第一交易至少包括发起方字段,接收方字段和数据字段;其中,所述发起方字段中包括待创建的第一账户,所述接收方字段中包括预设的字段值,所述数据字段中包括所述秘钥控制规则。
  7. 根据权利要求6所述的方法,其中,在向所述区块链平台发出用于创建账户的第一交易之前,还包括:
    采用预定的编码方式对所述秘钥控制规则进行编码;
    将编码后得到的具有预定格式的数据填入所述第一交易的数据字段。
  8. 一种验证区块链交易的方法,通过作为区块链网络中全节点的区块链平台执行, 所述方法包括:
    接收第二交易,所述第二交易至少包括发起方字段和扩展字段,所述发起方字段中包括第一账户,所述扩展字段中包括该第二交易涉及的第一行为对应的第一行为标识;
    获取所述第一账户在创建时设置的秘钥控制规则,所述秘钥控制规则包括至少一个三元组,每个三元组包括,秘钥标识,行为标识和权限设定;
    从所述秘钥控制规则中确定出与所述第一行为标识对应的第一三元组;
    至少根据所述第一三元组,验证所述第二交易。
  9. 根据权利要求8所述的方法,其中,接收第二交易包括:
    从用户客户端接收所述第二交易;或者:
    从所述区块链网络中的其他节点接收所述第二交易。
  10. 根据权利要求8所述的方法,其中,获取所述第一账户在创建时设置的秘钥控制规则包括:
    从区块链中获取历史上用于创建该第一账户的第一交易,从所述第一交易的数据字段中读取所述秘钥控制规则;或者,
    从本地的账户数据库中读取与所述第一账户的账户标识对应的账户内容,所述账户内容包括所述秘钥控制规则。
  11. 根据权利要求8所述的方法,其中,至少根据所述第一三元组,验证所述第二交易包括:
    根据所述第一三元组,验证所述扩展字段;
    在扩展字段验证通过的情况下,根据所述第一三元组验证所述第一行为。
  12. 根据权利要求11所述的方法,其中,所述扩展字段还包括,扩展数据和字段签名;根据所述第一三元组,验证所述扩展字段,包括:
    获取所述第一三元组中的第一秘钥标识对应的第一公钥;
    利用所述第一公钥验证所述字段签名。
  13. 根据权利要求12所述的方法,其中,利用所述第一公钥验证所述字段签名包括:
    计算所述第一行为标识和所述扩展数据的第一摘要;
    利用所述第一公钥解密所述字段签名,得到第二摘要;
    比对所述第一摘要和第二摘要,在比对一致的情况下,确定所述字段签名通过验证。
  14. 根据权利要求11所述的方法,所述根据第一三元组验证所述第一行为,包括:
    获取所述第一三元组中的权限设定内容;
    在所述权限设定内容指示出不允许所述第一行为时,确定所述第一行为验证失败, 以及所述第二交易验证失败。
  15. 根据权利要求8所述的方法,其中在至少根据所述第一三元组,验证所述第二交易之后,还包括:
    在所述第二交易验证失败的情况下,向发起所述第二交易的用户客户端返回提示信息。
  16. 一种创建区块链账户的装置,部署在区块链平台中,所述区块链平台作为区块链网络中的全节点,所述装置包括:
    第一交易接收单元,配置为接收用户发起的用于创建账户的第一交易,所述第一交易至少包括发起方字段,接收方字段和数据字段;其中,所述发起方字段中包括待创建的第一账户,所述接收方字段中包括预设的字段值,所述数据字段中包括用户设置的秘钥控制规则,所述秘钥控制规则包括至少一个三元组,每个三元组包括,秘钥标识,行为标识和权限设定;
    区块形成单元,配置为将所述第一交易打包到区块中并发送给所述区块链网络中的至少一个其他全节点。
  17. 一种创建区块链账户的装置,部署在客户端中,所述客户端连接到作为区块链网络中全节点的区块链平台,所述装置包括:
    请求接收单元,配置为接收用户的创建账户的请求,其中包括用户设置的秘钥控制规则,所述秘钥控制规则包括至少一个三元组,每个三元组包括,秘钥标识,行为标识和权限设定;
    第一交易发送单元,配置为向所述区块链平台发送用于创建账户的第一交易,所述第一交易至少包括发起方字段,接收方字段和数据字段;其中,所述发起方字段中包括待创建的第一账户,所述接收方字段中包括预设的字段值,所述数据字段中包括所述秘钥控制规则。
  18. 一种验证区块链交易的装置,部署在区块链平台中,所述区块链平台作为区块链网络中的全节点,所述装置包括:
    第二交易接收单元,配置为接收第二交易,所述第二交易至少包括发起方字段和扩展字段,所述发起方字段中包括第一账户,所述扩展字段中包括该第二交易涉及的第一行为对应的第一行为标识;
    秘钥规则获取单元,配置为获取所述第一账户在创建时设置的秘钥控制规则,所述秘钥控制规则包括至少一个三元组,每个三元组包括,秘钥标识,行为标识和权限设定;
    三元组确定单元,配置为从所述秘钥控制规则中确定出与所述第一行为标识对应的 第一三元组;
    验证单元,配置为至少根据所述第一三元组,验证所述第二交易。
  19. 一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-15中任一项的所述的方法。
  20. 一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-15中任一项所述的方法。
PCT/CN2020/071142 2019-05-31 2020-01-09 创建区块链账户及验证区块链交易的方法及装置 WO2020238238A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/779,328 US11108545B2 (en) 2019-05-31 2020-01-31 Creating a blockchain account and verifying blockchain transactions

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910470043.9 2019-05-31
CN201910470043.9A CN110264354B (zh) 2019-05-31 2019-05-31 创建区块链账户及验证区块链交易的方法及装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/779,328 Continuation US11108545B2 (en) 2019-05-31 2020-01-31 Creating a blockchain account and verifying blockchain transactions

Publications (1)

Publication Number Publication Date
WO2020238238A1 true WO2020238238A1 (zh) 2020-12-03

Family

ID=67916348

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/071142 WO2020238238A1 (zh) 2019-05-31 2020-01-09 创建区块链账户及验证区块链交易的方法及装置

Country Status (3)

Country Link
CN (1) CN110264354B (zh)
TW (1) TWI726581B (zh)
WO (1) WO2020238238A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113194143A (zh) * 2021-04-30 2021-07-30 支付宝(杭州)信息技术有限公司 一种区块链账户的创建方法、装置及电子设备

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11108545B2 (en) 2019-05-31 2021-08-31 Advanced New Technologies Co., Ltd. Creating a blockchain account and verifying blockchain transactions
CN110264354B (zh) * 2019-05-31 2020-09-01 阿里巴巴集团控股有限公司 创建区块链账户及验证区块链交易的方法及装置
CN111314295A (zh) * 2020-01-15 2020-06-19 厦门顺势共识信息科技有限公司 一种具有强社交属性的区块链账户体系实现方法
CN113077259A (zh) * 2021-04-13 2021-07-06 支付宝(杭州)信息技术有限公司 基于区块链的存证方法、装置及电子设备
CN113077258A (zh) * 2021-04-13 2021-07-06 支付宝(杭州)信息技术有限公司 基于区块链的存证方法、装置及电子设备
CN114546271B (zh) * 2022-02-18 2024-02-06 蚂蚁区块链科技(上海)有限公司 基于区块链的数据读写方法及装置、系统
CN114338046B (zh) * 2022-03-02 2022-05-24 广州市悦智计算机有限公司 一种基于区块链去中心化群组建立方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106055597A (zh) * 2016-05-24 2016-10-26 布比(北京)网络技术有限公司 数字交易系统、及用于其的账户信息查询方法
CN107911216A (zh) * 2017-10-26 2018-04-13 矩阵元技术(深圳)有限公司 一种区块链交易隐私保护方法及系统
CN109598598A (zh) * 2018-10-25 2019-04-09 阿里巴巴集团控股有限公司 基于区块链的交易处理方法及装置、电子设备
CN109598504A (zh) * 2018-10-25 2019-04-09 阿里巴巴集团控股有限公司 基于区块链的交易处理方法及装置、电子设备
CN110264354A (zh) * 2019-05-31 2019-09-20 阿里巴巴集团控股有限公司 创建区块链账户及验证区块链交易的方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7260720B2 (en) * 2001-10-19 2007-08-21 Matsushita Electric Industrial Co., Ltd. Device authentication system and method for determining whether a plurality of devices belong to a group
CN105429752B (zh) * 2015-11-10 2019-10-22 中国电子科技集团公司第三十研究所 一种云环境下用户密钥的处理方法及系统
CN107944255B (zh) * 2016-10-13 2020-08-04 深圳市图灵奇点智能科技有限公司 一种面向区块链的密钥管理方法
CN106982203B (zh) * 2017-01-06 2020-05-22 中国银联股份有限公司 基于区块链技术的鲁棒的atm网络系统及其信息处理方法
TWI765019B (zh) * 2017-04-11 2022-05-21 安地卡及巴布達商區塊鏈控股有限公司 區塊鏈上之快速分散式共識
US10944807B2 (en) * 2017-05-09 2021-03-09 EMC IP Holding Company LLC Organizing present and future reads from a tiered streaming data storage layer
CN108769038B (zh) * 2018-06-04 2020-07-28 立旃(上海)科技有限公司 基于区块链的数据处理方法及装置
CN109583887B (zh) * 2018-10-26 2024-04-05 创新先进技术有限公司 一种区块链的交易方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106055597A (zh) * 2016-05-24 2016-10-26 布比(北京)网络技术有限公司 数字交易系统、及用于其的账户信息查询方法
CN107911216A (zh) * 2017-10-26 2018-04-13 矩阵元技术(深圳)有限公司 一种区块链交易隐私保护方法及系统
CN109598598A (zh) * 2018-10-25 2019-04-09 阿里巴巴集团控股有限公司 基于区块链的交易处理方法及装置、电子设备
CN109598504A (zh) * 2018-10-25 2019-04-09 阿里巴巴集团控股有限公司 基于区块链的交易处理方法及装置、电子设备
CN110264354A (zh) * 2019-05-31 2019-09-20 阿里巴巴集团控股有限公司 创建区块链账户及验证区块链交易的方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113194143A (zh) * 2021-04-30 2021-07-30 支付宝(杭州)信息技术有限公司 一种区块链账户的创建方法、装置及电子设备

Also Published As

Publication number Publication date
CN110264354A (zh) 2019-09-20
TW202046221A (zh) 2020-12-16
TWI726581B (zh) 2021-05-01
CN110264354B (zh) 2020-09-01

Similar Documents

Publication Publication Date Title
WO2020238238A1 (zh) 创建区块链账户及验证区块链交易的方法及装置
US11159526B2 (en) System and method for decentralized-identifier authentication
US11277268B2 (en) System and method for verifying verifiable claims
US11165576B2 (en) System and method for creating decentralized identifiers
US11082233B2 (en) System and method for issuing verifiable claims
KR102392420B1 (ko) 다중키 쌍 시그너처를 사용한 프로그램 실행 및 데이터 증명 체계
US10805085B1 (en) PKI-based user authentication for web services using blockchain
US11295565B2 (en) Secure smart unlocking
US11108545B2 (en) Creating a blockchain account and verifying blockchain transactions
WO2021018088A1 (zh) 可信认证方法,网络设备、系统及存储介质
CN111047450A (zh) 链上数据的链下隐私计算方法及装置
WO2018032377A1 (zh) 一种用于区块链的只读安全文件存储系统及其方法
TWI782255B (zh) 解鎖方法、實現解鎖的設備及電腦可讀媒體
US10911538B2 (en) Management of and persistent storage for nodes in a secure cluster
WO2020233631A1 (zh) 基于交易类型的收据存储方法和节点
KR20200034728A (ko) 복수의 스토리지 노드를 통해 대규모 블록체인의 안전한 저장을 가능하게 하는 컴퓨터 구현 시스템 및 방법
KR20160044022A (ko) 데이터에 대한 액세스 인에이블링
US20200218815A1 (en) Systems and methods for distributed ledger management
WO2022193984A1 (zh) 跨链进行数据传输的方法、装置、计算机设备、存储介质和计算机程序产品
CN108881261B (zh) 一种容器环境下基于区块链技术的服务认证方法及系统
WO2022227799A1 (zh) 设备注册方法及装置、计算机设备、存储介质
US11750380B2 (en) Storing and retrieving user data using joint, non-correlative, irreversible and private indexical expressions
Kumar et al. Hash based approach for providing privacy and integrity in cloud data storage using digital signatures
US20240163118A1 (en) Blockchain-based data processing method, device, and readable storage medium
CN117155953A (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: 20813068

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: 20813068

Country of ref document: EP

Kind code of ref document: A1