Nothing Special   »   [go: up one dir, main page]

CN117592990B - Block chain transaction authentication method and device, computing equipment and storage medium - Google Patents

Block chain transaction authentication method and device, computing equipment and storage medium Download PDF

Info

Publication number
CN117592990B
CN117592990B CN202410011242.4A CN202410011242A CN117592990B CN 117592990 B CN117592990 B CN 117592990B CN 202410011242 A CN202410011242 A CN 202410011242A CN 117592990 B CN117592990 B CN 117592990B
Authority
CN
China
Prior art keywords
transaction
authentication
current
verification
random number
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202410011242.4A
Other languages
Chinese (zh)
Other versions
CN117592990A (en
Inventor
胡慧潘
孙中强
朱小露
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hundsun Technologies Inc
Original Assignee
Hundsun Technologies Inc
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 Hundsun Technologies Inc filed Critical Hundsun Technologies Inc
Priority to CN202410011242.4A priority Critical patent/CN117592990B/en
Publication of CN117592990A publication Critical patent/CN117592990A/en
Application granted granted Critical
Publication of CN117592990B publication Critical patent/CN117592990B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/3827Use of message hashing
    • 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
    • G06Q20/3825Use of electronic signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

The embodiment of the specification provides a blockchain transaction authentication method and device, a computing device and a storage medium, wherein the method is applied to a transaction verification node in a blockchain and comprises the following steps: receiving a current transaction submitted by a client; under the condition that the current transaction has the last transaction and the last transaction supports hash authentication, authenticating the current transaction according to the transaction identification of the client, the first random number of the current transaction, the first verification hash value of the current transaction, the second random number of the last transaction and the second verification hash value of the last transaction through a hash authentication strategy to obtain an authentication result; under the condition that the current transaction has the last transaction and the last transaction supports hash authentication, the validity authentication of the current transaction is realized based on the random number of the last transaction and the verification hash value by utilizing a hash authentication strategy, and the processing time of carrying out transaction authentication through digital signature in a blockchain system is reduced.

Description

Block chain transaction authentication method and device, computing equipment and storage medium
Technical Field
Embodiments of the present disclosure relate to the field of blockchain technologies, and in particular, to two blockchain transaction authentication methods, two blockchain transaction authentication apparatuses, a computing device, and a computer readable storage medium.
Background
In the existing blockchain system, the transaction is authenticated through the digital signature so as to confirm that the sender of the transaction has corresponding transaction authority and ensure the legitimacy of the sender. The digital signature process includes encryption operation and hash operation, and the digital signature verification process is corresponding decryption operation and hash operation, which are usually time-consuming, so that for the blockchain system requiring multiple digital signatures, the processing time of the transaction will be significantly increased, thereby greatly affecting the performance of the blockchain system.
Disclosure of Invention
In view of this, the present description embodiments provide two blockchain transaction authentication methods. One or more embodiments of the present specification relate to two kinds of blockchain transaction authentication apparatuses, a computing device, a computer-readable storage medium, and a computer program, which solve the technical drawbacks of the prior art.
According to a first aspect of embodiments of the present disclosure, there is provided a blockchain transaction authentication method applied to a transaction verification node in a blockchain, including:
receiving a current transaction submitted by a client;
And under the condition that the current transaction has the last transaction and the last transaction supports hash authentication, authenticating the current transaction according to the transaction identification of the client, the first random number of the current transaction, the first verification hash value of the current transaction, the second random number of the last transaction and the second verification hash value of the last transaction through a hash authentication strategy to obtain an authentication result so as to realize chain hash authentication of blockchain transaction through the hash authentication of the last transaction and the hash authentication of the current transaction.
According to a second aspect of embodiments of the present specification, there is provided a blockchain transaction authentication device for use in a transaction verification node in a blockchain, comprising:
the transaction receiving module is configured to receive a current transaction submitted by the client;
And the transaction authentication module is configured to authenticate the current transaction according to a transaction identifier of the client, a first random number of the current transaction, a first verification hash value of the current transaction, a second random number of the last transaction and a second verification hash value of the last transaction through a hash authentication policy under the condition that the current transaction has the last transaction and the last transaction supports hash authentication, so as to obtain an authentication result, and realize chain hash authentication of a blockchain transaction through hash authentication of the last transaction and hash authentication of the current transaction.
According to a third aspect of embodiments of the present disclosure, there is provided a blockchain transaction authentication method applied to a client corresponding to a transaction verification node in a blockchain, including:
Responding to a transaction instruction initiated by a user, creating a first random number aiming at the current transaction, and carrying out hash operation on the first random number to obtain a first verification hash value of the current transaction;
submitting the current transaction to a transaction verification node in the blockchain under the condition that the current transaction exists in the last transaction and the last transaction supports hash authentication, so that the transaction verification node authenticates the current transaction according to the blockchain transaction authentication method applied to the transaction verification node in the blockchain,
The current transaction carries the transaction identifier of the client, the first random number, the first verification hash value and the second random number of the last transaction.
According to a fourth aspect of embodiments of the present disclosure, there is provided a blockchain transaction authentication device applied to a client corresponding to a transaction verification node in a blockchain, including:
the instruction response module is configured to respond to a transaction instruction initiated by a user, create a first random number for a current transaction, and perform hash operation on the first random number to obtain a first verification hash value of the current transaction;
a transaction submitting module configured to submit the current transaction to a transaction verification node in the blockchain in case that it is determined that the current transaction has a last transaction and that the last transaction supports hash authentication, to cause the transaction verification node to authenticate the current transaction according to a blockchain transaction authentication method applied to the transaction verification node in the blockchain,
The current transaction carries the transaction identifier of the client, the first random number, the first verification hash value and the second random number of the last transaction.
According to a fifth aspect of embodiments of the present specification, there is provided a computing device comprising:
a memory and a processor;
The memory is configured to store computer-executable instructions that, when executed by the processor, perform the steps of the blockchain transaction authentication method described above.
According to a sixth aspect of embodiments of the present specification, there is provided a computer readable storage medium storing computer executable instructions which, when executed by a processor, implement the steps of the blockchain transaction authentication method described above.
According to a seventh aspect of embodiments of the present specification, there is provided a computer program, wherein the computer program, when executed in a computer, causes the computer to perform the steps of the blockchain transaction authentication method described above.
One embodiment of the present specification implements a blockchain transaction authentication method applied to a transaction verification node in a blockchain, including: receiving a current transaction submitted by a client; under the condition that the current transaction has the last transaction and the last transaction supports hash authentication, authenticating the current transaction according to a transaction identifier of the client, a first random number of the current transaction, a first verification hash value of the current transaction, a second random number of the last transaction and a second verification hash value of the last transaction through a hash authentication strategy to obtain an authentication result so as to realize chain hash authentication of a blockchain transaction through the hash authentication of the last transaction and the hash authentication of the current transaction; specifically, the method can realize legal authentication of the current transaction based on the random number of the last transaction and the verification hash value by utilizing the hash authentication strategy under the condition that the last transaction exists in the current transaction and the last transaction supports the hash authentication, and the processing time of the transaction authentication through the digital signature in the blockchain system is reduced by adopting the chained hash authentication mode, so that the performance loss of the blockchain system is greatly reduced.
Drawings
FIG. 1 is a schematic diagram of a specific implementation of authenticating a blockchain transaction with a digital signature according to one embodiment of the present disclosure;
FIG. 2 is a schematic diagram of a block chain system architecture according to one embodiment of the present disclosure;
FIG. 3 is a flow chart of a blockchain transaction authentication method provided by one embodiment of the present disclosure;
FIG. 4 is a flow chart of another blockchain transaction authentication method provided by one embodiment of the present disclosure;
FIG. 5 is a process flow diagram of a blockchain transaction authentication method provided by one embodiment of the present disclosure;
FIG. 6 is a schematic diagram of chain hash authentication in a blockchain transaction authentication method according to an embodiment of the present disclosure;
FIG. 7 is a schematic diagram of a blockchain transaction authentication device for use in a transaction verification node in a blockchain according to an embodiment of the present disclosure;
FIG. 8 is a schematic structural diagram of a blockchain transaction authentication device applied to a client corresponding to a transaction verification node in a blockchain according to an embodiment of the present disclosure;
FIG. 9 is a block diagram of a computing device provided in one embodiment of the present description.
Detailed Description
In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present description. This description may be embodied in many other forms than described herein and similarly generalized by those skilled in the art to whom this disclosure pertains without departing from the spirit of the disclosure and, therefore, this disclosure is not limited by the specific implementations disclosed below.
The terminology used in the one or more embodiments of the specification is for the purpose of describing particular embodiments only and is not intended to be limiting of the one or more embodiments of the specification. As used in this specification, one or more embodiments and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should also be understood that the term "and/or" as used in one or more embodiments of the present specification refers to and encompasses any or all possible combinations of one or more of the associated listed items.
It should be understood that, although the terms first, second, etc. may be used in one or more embodiments of this specification to describe various information, these information should not be limited by these terms. These terms are only used to distinguish one type of information from another. For example, a first may also be referred to as a second, and similarly, a second may also be referred to as a first, without departing from the scope of one or more embodiments of the present description. The word "if" as used herein may be interpreted as "at … …" or "at … …" or "in response to a determination" depending on the context.
Furthermore, it should be noted that, user information (including, but not limited to, user equipment information, user personal information, etc.) and data (including, but not limited to, data for analysis, stored data, presented data, etc.) according to one or more embodiments of the present disclosure are information and data authorized by a user or sufficiently authorized by each party, and the collection, use, and processing of relevant data is required to comply with relevant laws and regulations and standards of relevant countries and regions, and is provided with corresponding operation entries for the user to select authorization or denial.
First, terms related to one or more embodiments of the present specification will be explained.
A blockchain is a chain of blocks one by one. Each block holds certain information which is linked in a chain according to the time sequence of their respective generation. The chain is stored in all servers, and the entire blockchain is safe as long as one server in the entire blockchain system can work. These servers, referred to as nodes in the blockchain system, provide storage space and computational support for the entire blockchain system. Compared with the traditional network, the blockchain has two main core characteristics: firstly, the data is difficult to tamper, and secondly, the data is decentralised.
Blockchains are generally divided into three types: public (Public Blockchain), private (Private Blockchain) and federated (Consortium Blockchain) chains. In addition, there are many types of combinations, such as different combinations of private chain+federation chain, federation chain+public chain, and the like. Among them, the highest degree of decentralization is the public chain. The public chain is represented by a bitcoin and an ethernet, and participants joining the public chain can read data records on the chain, participate in transactions, compete for accounting rights of new blocks and the like; moreover, each participant (i.e., node) is free to join and leave the network and perform related operations. The private chain is opposite, the writing authority of the network is controlled by a certain organization or organization, and the data reading authority is regulated by the organization; in short, the private chain may be a weakly centralized system with few and strict restrictions on participating nodes, which type of blockchain is more suitable for use within a particular organization. The alliance chain is a block chain between the public chain and the private chain, so that partial decentralization can be realized; each node in the federation chain typically has an entity organization or organization corresponding thereto; participants join the network by authorization and form a benefit-related federation, collectively maintaining blockchain operation.
Digital signature: the method refers to a digital string which cannot be forged by others and is generated by a sender of information, and the digital string is also a valid proof for the authenticity of the information sent by the sender of the information.
And (3) hash: hash is the transformation of an arbitrary length input into a fixed length output, the output being the Hash value, by a hashing algorithm.
Ukey: also called as USB Key, is a reliable high-speed small storage device with password authentication function directly connected to a computer through USB (universal serial bus interface). The method is mainly used as a safe storage hardware carrier of the digital certificate and the private key and can carry out encryption operation in hardware.
TLS: transport Layer Security a secure transport layer protocol for providing confidentiality and data integrity between two communication applications.
In existing blockchain systems, transactions are authenticated by digital signatures, which are an encryption technique used to verify the integrity and origin of messages or data, to ensure that the sender of the transaction has the corresponding rights.
For example, a user (i.e., the sender of a transaction) may use his private key to encrypt a hash value of the transaction prior to sending the transaction, where the hash value is a unique identifier that digests the transaction content, and the private key is unique to the user for encrypting and decrypting data.
In some existing blockchain systems, a transaction may require multiple digital signatures, with the specific transaction process being as follows:
firstly, a user sends a transaction carrying a digital signature and submits the transaction to an endorsement node, and the endorsement node verifies the transaction and returns a preprocessing result;
Then, the user carries out a second digital signature on the collected preprocessing result, and submits the preprocessing result with the second digital signature to a sequencing node which is responsible for sequencing the transaction and generating a new block;
Finally, the sorting node distributes the new block to other nodes of the blockchain system.
In this process, if the user uses the hardware Ukey protection private key, the user needs to input the private key protection password twice to perform the digital signature twice.
Referring to fig. 1, fig. 1 illustrates a specific implementation of authenticating a blockchain transaction with a digital signature.
As shown in fig. 1, the process of generating a digital signature by a user is as follows:
1. a user (i.e., sender of the transaction, sender in fig. 1) hashes the transaction (i.e., original content in fig. 1) using a hash algorithm to generate a unique hash value (i.e., digital digest in fig. 1) of the transaction;
2. The user encrypts the hash value by using its private key (i.e., the signature private key in fig. 1) to generate a digital signature;
3. the user sends the transaction (i.e., the textual content), the digital signature, and the public signature key together to the blockchain system.
Upon receipt of the transaction, the blockchain system verifies the validity of the digital signature using a corresponding public key (i.e., the signature public key of fig. 1), which is an encryption key corresponding to the private key and which can be publicly distributed to other participants in the blockchain system.
The process of verifying a digital signature by other participants in the blockchain system (i.e., the receiver in fig. 1) is as follows:
1. decrypting the digital signature by using a public key related to the user who sends the transaction to obtain a decrypted hash value;
2. Carrying out hash operation on the transaction by using the same hash algorithm to generate a hash value;
3. Comparing whether the decrypted hash value is consistent with the generated hash value, if so, the digital signature is valid, the transaction comes from a sender with corresponding authority, namely, the sender with corresponding authority can be confirmed through verification of the digital signature, and the transaction content is not tampered.
However, the process of digital signature includes encryption operation and hash operation, and the process of verifying digital signature includes decryption operation and hash operation, which are generally time-consuming, so that for the blockchain system that needs to perform digital signature multiple times, the processing time of the transaction will be greatly increased, which definitely has a certain effect on the performance of the blockchain system.
In addition, the digital signature data is added in the transaction, so that the size of the transaction is increased, and more network bandwidth and storage space are occupied; as described above, if the private key is protected by the hardware Ukey, the user needs to input the private key protection password twice in one transaction to perform the digital signature twice, which is very unfriendly to the user.
Especially in the federated chain scenario, TLS may also be turned on in the production environment, which may further increase the performance loss of the blockchain system.
Based on this, in this specification, two blockchain transaction authentication methods are provided. One or more embodiments of the present specification relate to two kinds of blockchain transaction authentication apparatuses, a computing device, a computer-readable storage medium, and a computer program, which are described in detail in the following embodiments one by one.
Referring to fig. 2, fig. 2 illustrates an architecture diagram of a blockchain system provided in accordance with an embodiment of the present description.
The blockchain system comprises an endorsement node, a sequencing node and other nodes, wherein the endorsement node and the sequencing node can be the same node or different nodes; for ease of understanding, in the embodiments of the present disclosure, an endorsement node and an ordering node are respectively described as different nodes in the blockchain system.
In addition, fig. 2 also includes a client corresponding to the blockchain system.
Specifically, the blockchain transaction authentication method provided in the embodiments of the present disclosure is applied to a transaction verification node in the blockchain system for example to be described in detail.
In specific implementation, for a two-stage or three-stage submitted blockchain system such as a alliance chain, the transaction verification node can realize transaction authentication only under the condition of first transaction by a digital signature and hash authentication mode; in the subsequent transaction, the transaction authentication can be completed only by a hash authentication mode.
That is, in the blockchain transaction authentication method provided in the embodiment of the present disclosure, for a blockchain system submitted in two or three stages, a client submits a transaction carrying a digital signature to an endorsement node, the endorsement node performs endorsement signature and preprocessing on the transaction submitted by the client, and feeds back the endorsement signature and the preprocessing result to the client, the client verifies the collected endorsement signature of each endorsement node, and determines whether the transaction sent to each endorsement node has been tampered or not, and whether the preprocessing result of each endorsement node for the transaction is consistent; if the client determines that the transaction sent to each endorsement node is not tampered and the preprocessing results of each endorsement node for the transaction are consistent, submitting the collected preprocessing results of each endorsement node for the transaction to a sequencing node of the blockchain system again through a hash verification mechanism, so that the sequencing node verifies the transaction again according to a hash authentication strategy, and the transaction is ensured to be sent by a legal user.
According to the blockchain transaction authentication method provided by the embodiment of the specification, the transaction authentication nodes (namely the endorsement node and the ordering node) of the blockchain system do not need to finish transaction authentication in a mode of using a digital signature every time, and after the digital signature is finished in the first stage of the first transaction, the transaction authentication can be realized in a subsequent transaction authentication in a hash authentication mode, so that performance loss caused by the digital signature to the blockchain system is reduced.
Referring to fig. 3, fig. 3 shows a flowchart of a blockchain transaction authentication method provided according to an embodiment of the present disclosure, where the blockchain transaction authentication method is applied to a transaction verification node in a blockchain, and specifically includes the following steps.
Step 302: a current transaction submitted by a client is received.
In particular implementations, the blockchain may be understood as a blockchain network or the blockchain system of the above embodiments, and the transaction verification node may be understood as an endorsement node and an ordering node in the blockchain system; in practical application, the endorsement node and the ordering node may be the same node or different nodes in the blockchain system, and for convenience of understanding, in this embodiment of the present disclosure, the transaction verification node is taken as the endorsement node and the ordering node, and the endorsement node and the ordering node are taken as different nodes in the blockchain system for detailed description.
Where the current transaction includes, but is not limited to, a payment transaction, a transfer transaction, etc., for example, a payment transaction may be understood as: small a pays 10 money to merchant a, and the transfer transaction may be understood as: small a transfers 10 money to small b, etc.
Specifically, receiving the current transaction submitted by the client may be understood as: and the client side responds to a transaction instruction initiated by the user and submits the current transaction based on the transaction instruction to the transaction verification node, wherein the transaction instruction can be an instruction triggered by clicking or inputting operation and the like on a transaction interface of the client side by the user.
Step 304: and under the condition that the current transaction has the last transaction and the last transaction supports hash authentication, authenticating the current transaction according to the transaction identification of the client, the first random number of the current transaction, the first verification hash value of the current transaction, the second random number of the last transaction and the second verification hash value of the last transaction through a hash authentication strategy to obtain an authentication result so as to realize chain hash authentication of blockchain transaction through the hash authentication of the last transaction and the hash authentication of the current transaction.
The method comprises the steps of determining whether the current transaction has the last transaction according to the transaction identifier of a client carried in the current transaction, and determining whether the last transaction supports hash authentication according to transaction information contained in a block of the last transaction under the condition that the current transaction has the last transaction, wherein the specific implementation that the current transaction has the last transaction and the last transaction supports hash authentication is that the last transaction supports hash authentication is determined, for example, a second verification hash value of the last transaction is contained in the transaction information, and the last transaction can be determined.
The hash authentication policy can be understood as an authentication policy that does not need to use a digital signature verification mode, and completes transaction authentication only by a mode that verification hash values generated by hash operation are matched; in the embodiment of the present disclosure, according to hash authentication parameters such as the transaction identifier of the client, the first random number of the current transaction, the first verification hash value of the current transaction, the second random number of the last transaction, and the second verification hash value of the last transaction, authentication of the current transaction may be completed by matching the verification hash values (in the following embodiment, the second verification hash value is matched with the third verification hash value obtained by the second random number, and the first verification hash value is matched with the fourth verification hash value obtained by the first random number).
Then, under the condition that the current transaction exists in the last transaction and the last transaction supports hash authentication, the transaction verification node can authenticate the current transaction through a hash authentication strategy according to the transaction identification of the client, the first random number of the current transaction, the first verification hash value of the current transaction, the second random number of the last transaction and the second verification hash value of the last transaction, so as to obtain an authentication result.
The transaction identifier of the client, the first random number of the current transaction, the first verification hash value of the current transaction and the second random number of the last transaction are carried under the condition that the client submits the current transaction to the transaction verification node; and the second verification hash value of the last transaction is obtained from the block generated by the last transaction according to the transaction identifier of the client carried by the current transaction for the transaction verification node.
In practical application, in a blockchain system submitted by a multi-stage transaction, the current transaction is authenticated according to the transaction identifier of the client, the first random number of the current transaction, the first verification hash value of the current transaction, the second random number of the last transaction and the second verification hash value of the last transaction by a hash authentication policy, and specific implementation modes for obtaining an authentication result are as follows:
The authentication of the current transaction by the hash authentication policy according to the transaction identifier of the client, the first random number of the current transaction, the first verification hash value of the current transaction, the second random number of the last transaction, and the second verification hash value of the last transaction, to obtain an authentication result, including:
performing initial authentication on the current transaction according to the transaction identifier of the client, the second random number of the last transaction and the second verification hash value of the last transaction through a first hash authentication strategy to obtain an initial authentication result;
preprocessing the current transaction and returning a transaction preprocessing result to the client under the condition that the initial authentication result is determined to pass authentication;
Responding to the transaction data of the current transaction submitted by the client according to the transaction preprocessing result, and carrying out target authentication on the current transaction according to the transaction identification of the client, the first random number of the current transaction and the first verification hash value of the current transaction through a second hash authentication strategy to obtain a target authentication result.
The transaction identifier of the client can be understood as a transaction string identifier of the client, and is used for uniquely representing one client; the second random number of the last transaction can be understood as the second random number of the last transaction carried in the current transaction; the second hash value of the last transaction may be understood as the second hash value of the last transaction obtained from the chunk generated from the last transaction based on the transaction representation.
Under the condition that the transaction verification node comprises an endorsement node and a sequencing node, in a blockchain system submitted by a multi-stage transaction, the endorsement node receives a current transaction submitted by a client, and performs initial authentication on the current transaction according to a transaction identifier of the client, a second random number of a last transaction and a second verification hash value of the last transaction through a first hash authentication strategy, namely, performs first-stage authentication to obtain an initial authentication result; preprocessing the current transaction and returning a transaction preprocessing result to the client under the condition that the initial authentication result is determined to pass authentication; and the client submits the transaction data of the current transaction to the sequencing node under the condition that the current transaction of each endorsement node is not tampered and the transaction preprocessing result of each endorsement node for the current transaction is consistent according to the transaction preprocessing result returned by the endorsement node.
The ordering node responds to the transaction data of the current transaction submitted by the client according to the transaction preprocessing result, and carries out target authentication, namely second-stage authentication, on the current transaction according to the transaction identification of the client, the first random number of the current transaction and the first verification hash value of the current transaction carried in the transaction data through a second hash authentication strategy, so as to obtain a target authentication result.
According to the blockchain transaction authentication method provided by the embodiment of the specification, under the condition that the last transaction exists in the current transaction and the last transaction supports hash authentication, a hash authentication strategy can be adopted in two-stage submission of the current transaction, and legal authentication is carried out on the current transaction, so that performance loss brought by digital signature authentication to a blockchain system is reduced.
Specifically, through the first hash authentication policy, the current transaction can be rapidly and initially authenticated according to the matching relationship between the second verification hash value obtained from the block generated by the last transaction and the third verification hash value obtained by performing hash operation on the second random number of the last transaction, so as to reduce the processing time for the current transaction. The specific implementation mode is as follows:
The step of initially authenticating the current transaction through a first hash authentication policy according to the transaction identifier of the client, the second random number of the last transaction and the second verification hash value of the last transaction to obtain an initial authentication result, including:
Determining a transaction identifier of the client carried in the current transaction and a second random number of the last transaction;
Acquiring a second verification hash value of the last transaction from a block generated by the last transaction according to the transaction identifier;
performing hash operation on the second random number to obtain a third verification hash value;
And carrying out initial authentication on the current transaction according to the second verification hash value and the third verification hash value to obtain an initial authentication result.
After the block generated by the last transaction is generated, the block generated by the last transaction is distributed to each blockchain node of the blockchain system, namely, the endorsement node also exists.
Specifically, an endorsement node acquires a transaction identifier of a client carried in a current transaction and a second random number of a last transaction; obtaining a second verification hash value of the last transaction from a block generated by the last transaction according to the transaction identifier, wherein the second verification hash value of the last transaction is obtained by performing hash operation on a random number created by the client according to the last transaction; then carrying out hash operation on the second random number to obtain a third verification hash value; and carrying out initial authentication on the current transaction by matching the second verification hash value with the third verification hash value to obtain an initial authentication result, namely determining that the initial authentication result is authentication passing under the condition that the second verification hash value is consistent with the third verification hash value, otherwise, determining that the initial authentication result is authentication failure under the condition that the second verification hash value is inconsistent with the third verification hash value, and determining that the validity of the current transaction is problematic.
And under the condition that the initial authentication result is that the authentication passes, each endorsement node can simulate and execute the current transaction, and respectively return transaction preprocessing results to the client so as to realize the authentication at the client, thereby ensuring the accuracy of the transaction authentication process. The specific implementation mode is as follows:
And preprocessing the current transaction and returning a transaction preprocessing result to the client under the condition that the initial authentication result is determined to pass authentication, wherein the method comprises the following steps:
And under the condition that the initial authentication result is determined to pass authentication, simulating and executing the current transaction, and returning a transaction preprocessing result to the client, wherein the transaction preprocessing result comprises transaction execution process data and transaction execution result data.
The transaction execution process data may be understood as a specific execution process for simulating the current transaction, and the transaction execution result data may be understood as an execution result for simulating the current transaction.
Specifically, each endorsement node performs initial authentication on the current transaction according to a first hash authentication policy, determines that the initial authentication result is authentication passing, and if the initiating user of the current transaction has corresponding authority, simulates and executes the current transaction and returns transaction preprocessing results to the client respectively.
And the client submits the transaction data of the current transaction to the ordering node for formal transaction authentication under the condition that the current transaction sent by each endorsement node is not tampered and the transaction preprocessing results of the endorsement nodes for the current transaction are consistent according to the transaction preprocessing results returned by each endorsement node. The specific implementation mode is as follows:
the target authentication is performed on the current transaction according to the transaction identifier of the client, the first random number of the current transaction and the first verification hash value of the current transaction by the second hash authentication policy, so as to obtain a target authentication result, which comprises the following steps:
Determining a transaction identifier of the client carried in the transaction data and a first random number of the current transaction;
according to the transaction identifier, a first verification hash value which is generated and carried when the current transaction is initially authenticated is obtained;
performing hash operation on the first random number to obtain a fourth verification hash value;
And performing target authentication on the current transaction according to the first verification hash value and the fourth verification hash value to obtain a target authentication result.
The method comprises the steps that a first random number of a current transaction is created for a client through any random number generation algorithm; the first verification hash value is obtained by carrying out hash operation on the first random number by a hash algorithm before the client submits the current transaction to the endorsement node, and the hash value is carried in the current transaction when the client submits the current transaction to the endorsement node.
Specifically, the ordering node acquires a transaction identifier of a client and a first random number of a current transaction carried in the transaction data; according to the transaction identifier, when the current transaction is obtained for initial authentication, a first verification hash value sent to an endorsement node is generated and carried; then carrying out hash operation on the first random number to obtain a fourth verification hash value; and carrying out target authentication on the current transaction by matching the first verification hash value with the fourth verification hash value to obtain a target authentication result, namely determining that the target authentication result is authentication passing under the condition that the first verification hash value is consistent with the fourth verification hash value, otherwise, determining that the target authentication result is authentication failure under the condition that the first verification hash value is inconsistent with the fourth verification hash value, and determining that the validity of the current transaction is problematic.
According to the blockchain transaction authentication method, through the second hash authentication strategy, on the premise that the first random number cannot be deduced from the first verification hash value according to the irreversibility of the hash algorithm, the target authentication is rapidly and accurately carried out on the current transaction according to the matching relation between the first verification hash value of the current transaction and the fourth verification hash value obtained by carrying out hash operation on the first random number of the current transaction, so that the processing time for the current transaction is shortened.
In practical application, in order to further improve accurate authentication of validity of the current transaction, when generating the first verification hash value, the client may perform hash operation according to the first random number of the current transaction and the original text abstract hash value of the current transaction, so that in the authentication process for the current transaction, not only the corresponding authority validity of the current transaction submitter but also whether the transaction data is tampered or not is considered. The specific implementation mode is as follows:
The first verification hash value is obtained by carrying out hash operation on the first random number of the current transaction and the original text abstract hash value of the current transaction by the client;
Correspondingly, after determining the transaction identifier of the client carried in the transaction data and the first random number of the current transaction, the method further comprises:
determining an original text abstract hash value of the current transaction carried in the transaction data;
correspondingly, the hash operation on the first random number to obtain a fourth verification hash value includes:
And carrying out hash operation on the first random number and the original text abstract hash value to obtain a fourth verification hash value.
The original text abstract hash value is obtained by the client obtaining the original text abstract of the current transaction, and then carrying out hash operation on the original text abstract through a hash algorithm.
Specifically, when the first verification hash value is obtained by performing hash operation on the first random number of the current transaction and the original text digest hash value of the current transaction by the client, the fourth verification hash value is obtained by performing hash operation on the first random number and the original text digest hash value by a hash algorithm, so that reasonable matching of the first verification hash value and the fourth verification hash value is ensured, and accurate authentication on the current transaction is realized.
In addition, in order to prevent illegal users from inputting a large amount of resources to crack the hash algorithm, a hash algorithm with relatively high security, such as a SHA256 hash algorithm, may be selected, and the output length of the SHA-256 hash algorithm is 256 bits, so that the size of the input space is about 2 to the power of 256, i.e. 2. This is an extremely large number far beyond the capabilities of current computer technology. Brute force cracking SHA-256 means attempting to hash all possible inputs until an input matching the target hash value is found. Due to the very large size of the input space, brute force cracking SHA-256 is practically impossible. Even with current computing power, attempting to brute force crack SHA-256 requires a significant amount of time and computing resources, which may take a long time to succeed. Therefore, the hash algorithm can ensure the security of hash authentication.
In addition, the security of the hash authentication can be ensured by limiting the valid time of the first random number carried by the current transaction. The specific implementation mode is as follows:
The hash operation is performed on the first random number to obtain a fourth verification hash value, including:
Determining a valid time point carried by the first random number, wherein the valid time point is a time point when the client submits the current transaction or a time point when the transaction preprocessing result returns to the client;
And under the condition that the interval duration between the current time and the effective time point is smaller than a preset duration threshold value, carrying out hash operation on the first random number to obtain a fourth verification hash value.
The preset duration threshold may be set according to an actual application, for example, the preset duration threshold may be set to 10 minutes or 20 minutes, etc.
Specifically, when the ordering node performs validity authentication on a presenter of the current transaction based on transaction data of the current transaction presented by the client, firstly, calculating a time difference value, namely interval duration, according to the current time and an effective time point carried by the first random number; under the condition that the interval duration of the first random number and the current time is smaller than a preset duration threshold value, the first random number can be considered to be in the effective time, and the current transaction can be subjected to hash authentication through a second hash authentication strategy; and under the condition that the time length of the interval between the first random number and the current time is greater than or equal to a preset time length threshold, the first random number can be considered not to be in the effective time, and at the moment, in order to ensure the security of the current transaction authentication, the current transaction needs to be verified according to the original digital signature logic.
In another implementation scheme, if the current transaction does not exist, i.e. the current transaction is the first transaction, or the last transaction of the current transaction does not support hash authentication, i.e. the current transaction exists, but the last transaction adopts a digital signature to realize authentication, the current transaction can adopt a mode of combining a digital signature authentication strategy with a hash authentication strategy to realize authentication, and compared with a mode of authentication with multiple digital signatures, the authentication time of the transaction can also be greatly saved. The specific implementation mode is as follows:
after the receiving the current transaction submitted by the client, the method further comprises:
And under the condition that the current transaction does not exist or the last transaction does not support hash authentication, authenticating the current transaction according to the transaction identification of the client, the first random number of the current transaction and the first verification hash value of the current transaction through a digital signature authentication strategy and a hash authentication strategy to obtain an authentication result.
Wherein, the digital signature authentication policy can be referred to the description of the above embodiments; the hash authentication policy may refer to a specific implementation of the second stage transaction submission in the above embodiment, that is, the second hash authentication policy is not described herein.
Specifically, under the condition that the current transaction does not exist or the last transaction does not support hash authentication, the current transaction can be authenticated according to the transaction identifier of the client, the first random number of the current transaction and the first verification hash value of the current transaction by combining the digital signature authentication strategy with the hash authentication strategy, so as to obtain an authentication result.
Then, the specific implementation manner of authenticating the current transaction by combining the digital signature authentication policy with the hash authentication policy is as follows:
the current transaction is the current transaction submitted by the client and carrying a digital signature;
correspondingly, the authentication of the current transaction through the digital signature authentication policy and the hash authentication policy according to the transaction identifier of the client, the first random number of the current transaction and the first verification hash value of the current transaction, and obtaining an authentication result comprises the following steps:
Verifying a digital signature carried in the current transaction through a digital signature authentication strategy, and carrying out initial authentication on the current transaction to obtain an initial authentication result;
preprocessing the current transaction and returning a transaction preprocessing result to the client under the condition that the initial authentication result is determined to pass authentication;
Responding to the transaction data of the current transaction submitted by the client according to the transaction preprocessing result, and carrying out target authentication on the current transaction according to the transaction identification of the client, the first random number of the current transaction and the first verification hash value of the current transaction through a second hash authentication strategy to obtain a target authentication result.
In the case that the current transaction is a current transaction submitted by a client and carrying a digital signature, receiving the current transaction submitted by the client may be understood as that the endorsement node receives the current transaction submitted by the client and carrying the digital signature.
Specifically, under the condition that the endorsement node receives the current transaction submitted by the client and carrying the digital signature, the endorsement node verifies the digital signature carried in the current transaction through a digital signature authentication strategy, so as to realize initial authentication on the current transaction and obtain an initial authentication result; preprocessing the current transaction and returning a transaction preprocessing result to the client under the condition that the initial authentication result is determined to pass authentication; the client submits transaction data of the current transaction to the sequencing node under the condition that the current transaction of each endorsement node is not tampered and the transaction preprocessing result of each endorsement node for the current transaction is consistent according to the transaction preprocessing result returned by the endorsement node; the ordering node responds to the transaction data of the current transaction submitted by the client according to the transaction preprocessing result, and performs target authentication on the current transaction according to the transaction identifier of the client, the first random number of the current transaction and the first verification hash value of the current transaction through a second hash authentication strategy to obtain a target authentication result.
In the specific implementation, the pre-processing of the current transaction by the endorsement node and the target authentication of the current transaction by the ordering node according to the second hash authentication policy can be referred to in the detailed description of the above embodiments.
According to the blockchain transaction authentication method, the current transaction is authenticated in a mode of combining digital signature and hash authentication, so that the current transaction after digital signature authentication can be completely authenticated by using hash authentication with shorter time consumption, and the computing resources of current transaction processing are greatly saved.
Under the condition that the target authentication result of the target authentication of the current transaction is authentication pass, the current transaction can be considered to be not tampered and the submitter of the current transaction has corresponding authority; at this time, the corresponding block can be generated for the current transaction to be uplink, and the block is generated by combining the first random number of the current transaction and the fifth verification hash value of the current transaction, so that the next transaction can be authenticated by hash according to the random number and the hash value in the block under the condition that the client has the next transaction, and chain hash authentication is realized. The specific implementation mode is as follows:
the step of authenticating the current transaction, after obtaining the authentication result, further comprises:
Generating a chunk according to the transaction data of the current transaction, the transaction identification of the client, the first random number of the current transaction and the fifth verification hash value of the current transaction, and distributing the chunk to other nodes in the blockchain,
The fifth verification hash value is obtained by performing hash operation on the generated third random number for the client, and the other nodes are nodes except the transaction verification node in the blockchain.
Specifically, the third random number is created when the client submits transaction data of the current transaction to the ordering node in the second stage, and then hash operation is carried out on the created third random number to obtain a fifth verification hash value; and generating a block based on the transaction data of the current transaction, the transaction identification of the client, the first random number of the current transaction and the fifth verification hash value of the current transaction, and distributing the block to other blockchain nodes in the blockchain system for storage through a certain distribution rule.
After the block of the current transaction is uplink, if the next transaction of the current transaction exists, when the transaction verification result carries out legal authentication on the next transaction, the next transaction can be subjected to hash authentication through a hash authentication strategy according to the transaction identifier of the client, the first random number of the current transaction and the fifth verification hash value of the current transaction, which are included in the block of the current transaction, in this way, the last transaction, the current transaction and the next transaction are authenticated through the hash authentication, so that chain hash authentication is realized, and compared with the digital signature of each transaction in the prior art, the whole transaction authentication time is greatly reduced, and the performance loss of a blockchain system is greatly reduced. The specific implementation mode is as follows:
after the distributing the block to other nodes in the blockchain, the method further includes:
Receiving the next transaction of the current transaction submitted by the client;
And authenticating the next transaction according to the transaction identifier of the client, the third random number of the current transaction, the fifth verification hash value of the current transaction, the fourth random number of the next transaction and the sixth verification hash value of the next transaction through the hash authentication strategy to obtain an authentication result.
Specifically, the fourth random number of the next transaction is: after the current transaction authentication is finished, when the client submits the next transaction to the transaction verification node, the next transaction is created through any random number generation algorithm and carried in the next transaction; and the sixth verification hash value for the next transaction is: after the current transaction authentication is finished, when the client submits the next transaction to the transaction verification node, carrying out hash operation on the fourth random number of the next transaction and the original text abstract hash value of the next transaction to obtain the transaction authentication method.
In the specific implementation process, the fourth random number and the sixth verification hash value of the next transaction are applied to the second-stage validity authentication of the next transaction, and the specific implementation of the specific application process can be seen in the specific implementation steps of the first random number and the first verification hash value of the current transaction in the second-stage validity authentication of the current transaction in the embodiment.
The specific implementation manner of authenticating the next transaction according to the transaction identifier of the client, the third random number of the current transaction, the fifth verification hash value of the current transaction, the fourth random number of the next transaction, and the sixth verification hash value of the next transaction through the hash authentication policy can be referred to in the above embodiment, and the specific implementation steps of authenticating the current transaction through the hash authentication policy are not repeated here.
According to the blockchain transaction authentication method provided by the embodiment of the specification, when the current transaction has the last transaction and the last transaction supports hash authentication, the validity authentication of the current transaction can be realized by utilizing a hash authentication strategy based on the random number of the last transaction and the verification hash value, and the performance loss of the blockchain system is greatly reduced by adopting the chained hash authentication mode; specifically, since the hash value generated by the hash operation is much smaller than the signature information of the digital signature, the data volume transmitted by the network can be greatly reduced in the transmission process of the transaction data, so that the processing time for carrying out transaction authentication through the digital signature in the blockchain system is reduced, and the size of the account book (namely the block) stored by each block link point in the blockchain system is further reduced.
Referring to fig. 4, fig. 4 shows a flowchart of another blockchain transaction authentication method provided according to an embodiment of the present disclosure, where the blockchain transaction authentication method is applied to a client corresponding to a transaction verification node in a blockchain, and specifically includes the following steps.
Step 402: and responding to a transaction instruction initiated by a user, creating a first random number aiming at the current transaction, and carrying out hash operation on the first random number to obtain a first verification hash value of the current transaction.
Step 404: and under the condition that the current transaction exists in the last transaction and the last transaction supports hash authentication, submitting the current transaction to a transaction verification node in the blockchain so that the transaction verification node authenticates the current transaction according to the blockchain transaction authentication method applied to the transaction verification node in the blockchain.
The current transaction carries the transaction identifier of the client, the first random number, the first verification hash value and the second random number of the last transaction.
Optionally, the creating a first random number for the current transaction in response to a transaction instruction initiated by a user, and performing a hash operation on the first random number to obtain a first verification hash value of the current transaction, including:
Responding to a transaction instruction initiated by a user, creating a first random number aiming at the current transaction, and carrying out hash operation on transaction data of the current transaction to obtain an original text abstract hash value of the current transaction;
And carrying out hash operation on the first random number and the original text abstract hash value to obtain a first verification hash value of the current transaction.
Optionally, the method further comprises:
Submitting the current transaction carrying the digital signature to a transaction verification node in the blockchain under the condition that the current transaction does not exist or the last transaction does not support hash authentication, so that the transaction verification node authenticates the current transaction according to the blockchain transaction authentication method applied to the transaction verification node in the blockchain,
The current transaction carries the transaction identifier of the client, the first random number and the first verification hash value.
According to the blockchain transaction authentication method provided by the embodiment of the specification, when the last transaction exists in the current transaction and the last transaction supports hash authentication, the validity authentication of the current transaction is realized based on the random number of the last transaction and the verification hash value by utilizing a hash authentication strategy, and the processing time of carrying out transaction authentication through digital signature in the blockchain system is reduced by adopting the chained hash authentication mode, so that the performance loss of the blockchain system is greatly reduced; specifically, since the hash value generated by the hash operation is much smaller than the signature information of the digital signature, the data volume transmitted by the network can be greatly reduced in the transmission process of the transaction data, and the size of the account book (namely the block) stored by each block link point in the block chain system is further reduced.
The above is an exemplary scheme of the blockchain transaction authentication method of the present embodiment applied to a client corresponding to a transaction verification node in a blockchain. It should be noted that, the technical solution of the blockchain transaction authentication method applied to the client corresponding to the transaction verification node in the blockchain and the technical solution of the blockchain transaction authentication method applied to the transaction verification node in the blockchain described above belong to the same concept, and the details of the technical solution of the blockchain transaction authentication method applied to the client corresponding to the transaction verification node in the blockchain are not described in detail, and all reference may be made to the description of the technical solution of the blockchain transaction authentication method applied to the transaction verification node in the blockchain described above, which is not described herein.
The following describes a blockchain transaction authentication method provided in the present specification by taking a first transaction authentication submitted to a client as an example with reference to fig. 5. Fig. 5 is a flowchart of a processing procedure of a blockchain transaction authentication method according to an embodiment of the present disclosure, which specifically includes the following steps.
Step 502: the client side responds to a first transaction instruction initiated by a user, creates a random number rand1 through any random number generation algorithm, and carries out hash operation on the obtained transaction original text abstract to obtain an original text abstract hash value; and then carrying out Hash operation on the random number rand1 and the original text abstract Hash value through a Hash algorithm to obtain a Hash value Hash1.
Step 504: the client selects N endorsement nodes in the blockchain system, and submits a transaction request carrying a digital signature for the first transaction to each endorsement node, wherein the transaction request carries a transaction string identifier of the client and a Hash value Hash1.
The endorsement node is an endorsement node appointed in an intelligent contract of the blockchain system.
Step 506: each endorsement node responds to the transaction request sent by the client, verifies the digital signature of the client, and under the condition that verification is passed, each endorsement node simulates and executes the transaction request and returns endorsement results to the client respectively.
The endorsement result comprises a transaction processing process and transaction processing result data of each endorsement node executing the transaction request.
Step 508: the client receives an endorsement result returned by each endorsement node, and under the condition that the endorsement results are consistent, the client submits transaction data of the first transaction to a sequencing node in a blockchain system, wherein the transaction data at least carries a random number rand1, an original text abstract Hash value, a client transaction string identifier and a Hash value Hash2.
Specifically, the Hash value Hash2 is obtained by creating a random number rand2 by the client through any random number generation algorithm, and performing Hash operation on the random number rand2 through the Hash algorithm, so as to be used for verification of the second transaction.
Step 510: the ordering node receives the transaction data of the first transaction submitted by the client and performs validity authentication on the first transaction, and the specific implementation is as follows:
Acquiring a Hash value Hash1 carried in a transaction request of the first transaction according to a transaction string identifier of the client; meanwhile, carrying out Hash operation on the random number rand1 and the original text abstract Hash value through a Hash algorithm to obtain a Hash value Hash 1'; comparing the Hash value Hash1 with the Hash value Hash 1', and if the two Hash values are equal, passing the authentication, so as to prove that the first transaction is legal.
Step 512: the sorting node generates a block of the first transaction according to the transaction data of the first transaction, the random number rand1, the Hash value Hash2, the transaction string identifier of the client side and the like, and then distributes and submits the block of the first transaction to account books of other block chain nodes in the block chain system through a preset distribution rule, namely the first transaction is completed.
Step 514: the client side responds to a second transaction instruction initiated by a user, creates a random number rand3 through any random number generation algorithm, and carries out hash operation on the obtained transaction original text abstract to obtain an original text abstract hash value; and then carrying out Hash operation on the random number rand3 and the original text abstract Hash value through a Hash algorithm to obtain a Hash value Hash3.
Step 516: the client selects N endorsement nodes in the blockchain system, and submits a transaction request for the second transaction to each endorsement node, wherein the transaction request carries a transaction string identifier of the client, a random number rand2 of the first transaction and a Hash value Hash3.
Step 518: and each endorsement node responds to the transaction request sent by the client, verifies the legality of the client, and under the condition that verification is passed, each endorsement node simulates and executes the transaction request and returns endorsement results to the client respectively.
Specifically, the specific implementation of verifying the validity of the client is as follows:
Obtaining a Hash value Hash2 from a block of the first transaction according to a transaction string identifier of the client; meanwhile, carrying out Hash operation on the random number rand2 of the first transaction through a Hash algorithm to obtain a Hash value Hash2'; and comparing whether the Hash value Hash2 is equal to the Hash value Hash2', and authenticating the validity of the second transaction, namely, the validity is equal, so that the second transaction is legal.
Step 520: and the client receives an endorsement result returned by each endorsement node, and submits transaction data of the second transaction to a sequencing node in the blockchain system under the condition that the endorsement results are consistent, wherein the transaction data at least carries a random number rand3, an original text abstract Hash value, a client transaction string identifier and a Hash value Hash4.
Specifically, the Hash value Hash4 is obtained by creating a random number rand4 by the client through any random number generation algorithm and performing Hash operation on the random number rand4 through the Hash algorithm, so as to be used for verification of a third transaction.
Step 522: the ordering node receives the transaction data of the second transaction submitted by the client and performs validity authentication on the second transaction, and the specific implementation is as follows:
Acquiring a Hash value Hash3 carried in a transaction request of the second transaction according to a transaction string identifier of the client; meanwhile, carrying out Hash operation on the random number rand3 and the original text abstract Hash value through a Hash algorithm to obtain a Hash value Hash 3'; comparing the Hash value Hash3 with the Hash value Hash 3', and if the two Hash values are equal, passing the authentication to prove that the second transaction is legal.
Step 524: the sorting node generates a block of the second transaction according to the transaction data of the second transaction, the random number rand3, the Hash value Hash4, the transaction string identifier of the client and the like, and then distributes and submits the block of the second transaction to account books of other block chain nodes in the block chain system through a preset distribution rule, namely the second transaction is completed.
As described above, when the client initiates a new subsequent transaction (e.g., the third transaction, the fourth transaction, etc.), the validity of the subsequent transaction may be authenticated by the hash authentication according to the specific implementation of steps 514-524, so as to implement the chained hash authentication.
Referring to fig. 6, fig. 6 is a schematic diagram of chain hash authentication in a blockchain transaction authentication method according to an embodiment of the present disclosure.
As can be seen from fig. 6, the first transaction is authenticated by adopting a digital signature (i.e. the client transaction signature) +hash value (i.e. hash 1), and the second transaction, the third transaction and the subsequent nth transaction can all be authenticated by adopting a hash value authentication method. If the second transaction is performed with hash 1 and random number 1 stored in the block of the first transaction, the third transaction is performed with hash 2 and random number 2 stored in the block of the second transaction, the fourth transaction is performed with hash 3 and random number 3 stored in the block of the third transaction, and the n+1th transaction is performed with hash n and random number n stored in the block of the n-th transaction.
When a new node is added into the blockchain system, the block can be synchronized from other nodes, the new node analyzes the transaction in the block, and the transaction authentication process is operated in the same manner so as to verify the validity of the transaction; that is, the new node can verify the validity of the transaction in the block synchronized from other nodes by the authentication method, and can also verify the validity of the subsequent transaction by the authentication method.
According to the blockchain transaction authentication method provided by the embodiment of the specification, in the process of transaction authentication, authentication is not required to be completed by using a digital signature mode each time, and a hash authentication mode can be selected in subsequent verification after the digital signature authentication is completed for the first time, so that performance loss caused by the digital signature is reduced; because the hash value generated by the hash operation is much smaller than the signature information of the digital signature, the data volume transmitted by the network can be greatly reduced in the transmission process of transaction data in a hash authentication mode, so that the size of an account book (namely a block) stored by each block chain link point in the block chain system is reduced, and the processing performance of the block chain system is improved.
Corresponding to the above method embodiments, the present disclosure further provides an embodiment of a blockchain transaction authentication device applied to a transaction verification node in a blockchain, and fig. 7 is a schematic structural diagram of a blockchain transaction authentication device applied to a transaction verification node in a blockchain according to an embodiment of the present disclosure. As shown in fig. 7, the apparatus includes:
A transaction receiving module 702 configured to receive a current transaction submitted by a client;
And a transaction authentication module 704, configured to, under the condition that it is determined that the current transaction has a last transaction and the last transaction supports hash authentication, authenticate the current transaction according to a transaction identifier of the client, a first random number of the current transaction, a first verification hash value of the current transaction, a second random number of the last transaction and a second verification hash value of the last transaction through a hash authentication policy, and obtain an authentication result so as to realize chain hash authentication of a blockchain transaction through hash authentication of the last transaction and hash authentication of the current transaction.
Optionally, the transaction authentication module 704 is further configured to:
performing initial authentication on the current transaction according to the transaction identifier of the client, the second random number of the last transaction and the second verification hash value of the last transaction through a first hash authentication strategy to obtain an initial authentication result;
preprocessing the current transaction and returning a transaction preprocessing result to the client under the condition that the initial authentication result is determined to pass authentication;
Responding to the transaction data of the current transaction submitted by the client according to the transaction preprocessing result, and carrying out target authentication on the current transaction according to the transaction identification of the client, the first random number of the current transaction and the first verification hash value of the current transaction through a second hash authentication strategy to obtain a target authentication result.
Optionally, the transaction authentication module 704 is further configured to:
Determining a transaction identifier of the client carried in the current transaction and a second random number of the last transaction;
Acquiring a second verification hash value of the last transaction from a block generated by the last transaction according to the transaction identifier;
performing hash operation on the second random number to obtain a third verification hash value;
And carrying out initial authentication on the current transaction according to the second verification hash value and the third verification hash value to obtain an initial authentication result.
Optionally, the transaction authentication module 704 is further configured to:
And under the condition that the initial authentication result is determined to pass authentication, simulating and executing the current transaction, and returning a transaction preprocessing result to the client, wherein the transaction preprocessing result comprises transaction execution process data and transaction execution result data.
Optionally, the transaction authentication module 704 is further configured to:
Determining a transaction identifier of the client carried in the transaction data and a first random number of the current transaction;
according to the transaction identifier, a first verification hash value which is generated and carried when the current transaction is initially authenticated is obtained;
performing hash operation on the first random number to obtain a fourth verification hash value;
And performing target authentication on the current transaction according to the first verification hash value and the fourth verification hash value to obtain a target authentication result.
Optionally, the first verification hash value is obtained by performing hash operation on the first random number of the current transaction and the original text abstract hash value of the current transaction by the client;
accordingly, the device further comprises:
the digest hash determining module is configured to determine an original text digest hash value of the current transaction carried in the transaction data;
Accordingly, the transaction authentication module 704 is further configured to:
And carrying out hash operation on the first random number and the original text abstract hash value to obtain a fourth verification hash value.
Optionally, the apparatus further comprises:
And the transaction verification module is configured to verify the current transaction according to the transaction identifier of the client, the first random number of the current transaction and the first verification hash value of the current transaction through a digital signature authentication policy and a hash authentication policy under the condition that the current transaction does not exist or the last transaction does not support hash authentication, so as to obtain an authentication result.
Optionally, the current transaction is a current transaction submitted by the client and carrying a digital signature;
Accordingly, the transaction verification module is further configured to:
Verifying a digital signature carried in the current transaction through a digital signature authentication strategy, and carrying out initial authentication on the current transaction to obtain an initial authentication result;
preprocessing the current transaction and returning a transaction preprocessing result to the client under the condition that the initial authentication result is determined to pass authentication;
Responding to the transaction data of the current transaction submitted by the client according to the transaction preprocessing result, and carrying out target authentication on the current transaction according to the transaction identification of the client, the first random number of the current transaction and the first verification hash value of the current transaction through a second hash authentication strategy to obtain a target authentication result.
Optionally, the apparatus further comprises:
A chunk generation module configured to generate a chunk from transaction data of the current transaction, a transaction identification of the client, a first random number of the current transaction, and a fifth verification hash value of the current transaction, and distribute the chunk to other nodes in the blockchain,
The fifth verification hash value is obtained by performing hash operation on the generated third random number for the client, and the other nodes are nodes except the transaction verification node in the blockchain.
Optionally, the apparatus further comprises:
a next transaction authentication module configured to:
Receiving the next transaction of the current transaction submitted by the client;
And authenticating the next transaction according to the transaction identifier of the client, the third random number of the current transaction, the fifth verification hash value of the current transaction, the fourth random number of the next transaction and the sixth verification hash value of the next transaction through the hash authentication strategy to obtain an authentication result.
Optionally, the transaction authentication module 704 is further configured to:
Determining a valid time point carried by the first random number, wherein the valid time point is a time point when the client submits the current transaction or a time point when the transaction preprocessing result returns to the client;
And under the condition that the interval duration between the current time and the effective time point is smaller than a preset duration threshold value, carrying out hash operation on the first random number to obtain a fourth verification hash value.
Optionally, the blockchain includes a coalition chain, and the transaction verification node includes an endorsement node and a ranking node.
The above is an exemplary scheme of a blockchain transaction authentication device applied to a transaction verification node in a blockchain of the present embodiment. It should be noted that, the technical solution of the blockchain transaction authentication device applied to the transaction verification node in the blockchain and the technical solution of the blockchain transaction authentication method applied to the transaction verification node in the blockchain belong to the same concept, and details of the technical solution of the blockchain transaction authentication device applied to the transaction verification node in the blockchain, which are not described in detail, can be referred to the description of the technical solution of the blockchain transaction authentication method applied to the transaction verification node in the blockchain.
Corresponding to the above method embodiment, the present disclosure further provides an embodiment of a blockchain transaction authentication device applied to a client corresponding to a transaction verification node in a blockchain, and fig. 8 shows a schematic structural diagram of the blockchain transaction authentication device applied to a client corresponding to a transaction verification node in a blockchain according to one embodiment of the present disclosure. As shown in fig. 8, the apparatus includes:
The instruction response module 802 is configured to respond to a transaction instruction initiated by a user, create a first random number for a current transaction, and perform hash operation on the first random number to obtain a first verification hash value of the current transaction;
A transaction submitting module 804 configured to, in the event that it is determined that the current transaction has a last transaction and that the last transaction supports hash authentication, submit the current transaction to a transaction verification node in the blockchain to cause the transaction verification node to authenticate the current transaction according to a blockchain transaction authentication method applied to the transaction verification node in the blockchain,
The current transaction carries the transaction identifier of the client, the first random number, the first verification hash value and the second random number of the last transaction.
The above is a schematic scheme of the blockchain transaction authentication device applied to the client corresponding to the transaction verification node in the blockchain in this embodiment. It should be noted that, the technical solution of the blockchain transaction authentication device applied to the client corresponding to the transaction verification node in the blockchain and the technical solution of the blockchain transaction authentication method applied to the client corresponding to the transaction verification node in the blockchain belong to the same concept, and details of the technical solution of the blockchain transaction authentication device applied to the client corresponding to the transaction verification node in the blockchain, which are not described in detail, can be referred to the description of the technical solution of the blockchain transaction authentication method applied to the client corresponding to the transaction verification node in the blockchain.
Fig. 9 illustrates a block diagram of a computing device 900 provided in accordance with one embodiment of the present specification. The components of computing device 900 include, but are not limited to, memory 910 and processor 920. Processor 920 is coupled to memory 910 via bus 930 with database 950 configured to hold data.
Computing device 900 also includes an access device 940, access device 940 enabling computing device 900 to communicate via one or more networks 960. Examples of such networks include public switched telephone networks (PSTN, public Switched Telephone Network), local area networks (LAN, local Area Network), wide area networks (WAN, wide Area Network), personal area networks (PAN, personal Area Network), or combinations of communication networks such as the internet. The access device 940 may include one or more of any type of network interface, wired or wireless, such as a network interface card (NIC, network interface controller), such as an IEEE802.11 wireless local area network (WLAN, wireless Local Area Network) wireless interface, a worldwide interoperability for microwave access (Wi-MAX, worldwide Interoperability for Microwave Access) interface, an ethernet interface, a universal serial bus (USB, universal Serial Bus) interface, a cellular network interface, a bluetooth interface, a Near Field Communication (NFC) interface, and so forth.
In one embodiment of the present description, the above-described components of computing device 900 and other components not shown in FIG. 9 may also be connected to each other, for example, by a bus. It should be understood that the block diagram of the computing device illustrated in FIG. 9 is for exemplary purposes only and is not intended to limit the scope of the present description. Those skilled in the art may add or replace other components as desired.
Computing device 900 may be any type of stationary or mobile computing device including a mobile computer or mobile computing device (e.g., tablet, personal digital assistant, laptop, notebook, netbook, etc.), mobile phone (e.g., smart phone), wearable computing device (e.g., smart watch, smart glasses, etc.), or other type of mobile device, or a stationary computing device such as a desktop computer or personal computer (PC, personal Computer). Computing device 900 may also be a mobile or stationary server.
The processor 920 is configured to execute computer-executable instructions that, when executed by the processor, implement the above-described steps of a blockchain transaction authentication method applied to a transaction verification node in a blockchain or steps of a blockchain transaction authentication method applied to a client corresponding to the transaction verification node in the blockchain.
The foregoing is a schematic illustration of a computing device of this embodiment. It should be noted that, the technical solution of the computing device belongs to the same concept as the above-mentioned blockchain transaction authentication method applied to the transaction verification node in the blockchain or the technical solution of the blockchain transaction authentication method applied to the client corresponding to the transaction verification node in the blockchain, and details of the technical solution of the computing device, which are not described in detail, can be referred to the above-mentioned blockchain transaction authentication method applied to the transaction verification node in the blockchain or the description of the technical solution of the blockchain transaction authentication method applied to the client corresponding to the transaction verification node in the blockchain.
An embodiment of the present disclosure also provides a computer-readable storage medium storing computer-executable instructions that, when executed by a processor, implement the above-described steps of a blockchain transaction authentication method applied to a transaction verification node in a blockchain or a blockchain transaction authentication method applied to a client corresponding to a transaction verification node in a blockchain.
The above is an exemplary version of a computer-readable storage medium of the present embodiment. It should be noted that, the technical solution of the storage medium and the technical solution of the blockchain transaction authentication method applied to the transaction verification node in the blockchain or the technical solution of the blockchain transaction authentication method applied to the client corresponding to the transaction verification node in the blockchain belong to the same concept, and details of the technical solution of the storage medium which are not described in detail can be referred to the description of the blockchain transaction authentication method applied to the transaction verification node in the blockchain or the technical solution of the blockchain transaction authentication method applied to the client corresponding to the transaction verification node in the blockchain.
An embodiment of the present disclosure further provides a computer program, where the computer program when executed in a computer causes the computer to perform the above-mentioned steps of the blockchain transaction authentication method applied to the transaction verification node in the blockchain or the blockchain transaction authentication method applied to the client corresponding to the transaction verification node in the blockchain.
The above is an exemplary version of a computer program of the present embodiment. It should be noted that, the technical solution of the computer program and the technical solution of the blockchain transaction authentication method applied to the transaction verification node in the blockchain or the technical solution of the blockchain transaction authentication method applied to the client corresponding to the transaction verification node in the blockchain belong to the same concept, and details of the technical solution of the computer program, which are not described in detail, can be referred to the description of the blockchain transaction authentication method applied to the transaction verification node in the blockchain or the technical solution of the blockchain transaction authentication method applied to the client corresponding to the transaction verification node in the blockchain.
The foregoing describes specific embodiments of the present disclosure. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims can be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
The computer instructions include computer program code that may be in source code form, object code form, executable file or some intermediate form, etc. The computer readable medium may include: any entity or device capable of carrying the computer program code, a recording medium, a U disk, a removable hard disk, a magnetic disk, an optical disk, a computer Memory, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), an electrical carrier signal, a telecommunications signal, a software distribution medium, and so forth. It should be noted that the content of the computer readable medium can be increased or decreased appropriately according to the requirements of the patent practice, for example, in some areas, according to the patent practice, the computer readable medium does not include an electric carrier signal and a telecommunication signal.
It should be noted that, for simplicity of description, the foregoing method embodiments are all expressed as a series of combinations of actions, but it should be understood by those skilled in the art that the embodiments are not limited by the order of actions described, as some steps may be performed in other order or simultaneously according to the embodiments of the present disclosure. Further, those skilled in the art will appreciate that the embodiments described in the specification are all preferred embodiments, and that the acts and modules referred to are not necessarily all required for the embodiments described in the specification.
In the foregoing embodiments, the descriptions of the embodiments are emphasized, and for parts of one embodiment that are not described in detail, reference may be made to the related descriptions of other embodiments.
The preferred embodiments of the present specification disclosed above are merely used to help clarify the present specification. Alternative embodiments are not intended to be exhaustive or to limit the invention to the precise form disclosed. Obviously, many modifications and variations are possible in light of the teaching of the embodiments. The embodiments were chosen and described in order to best explain the principles of the embodiments and the practical application, to thereby enable others skilled in the art to best understand and utilize the invention. This specification is to be limited only by the claims and the full scope and equivalents thereof.

Claims (18)

1. A blockchain transaction authentication method, applied to a transaction verification node in a blockchain, comprising:
receiving a current transaction submitted by a client;
Under the condition that the current transaction has the last transaction and the last transaction supports hash authentication, authenticating the current transaction according to a transaction identifier of the client, a first random number of the current transaction, a first verification hash value of the current transaction, a second random number of the last transaction and a second verification hash value of the last transaction through a hash authentication policy, so as to obtain an authentication result, and realizing chain hash authentication of a blockchain transaction through the hash authentication of the last transaction and the hash authentication of the current transaction, wherein the hash authentication policy is an authentication policy for completing transaction authentication in a way of matching only the verification hash value generated through hash operation without using a digital signature, and the authentication policy comprises the steps of obtaining the current transaction according to the transaction identifier of the client, the first random number of the current transaction, the first verification hash value of the last transaction and the first verification hash value of the last transaction:
performing initial authentication on the current transaction according to the transaction identifier of the client, the second random number of the last transaction and the second verification hash value of the last transaction through a first hash authentication strategy to obtain an initial authentication result;
preprocessing the current transaction and returning a transaction preprocessing result to the client under the condition that the initial authentication result is determined to pass authentication;
Responding to the transaction data of the current transaction submitted by the client according to the transaction preprocessing result, and carrying out target authentication on the current transaction according to the transaction identification of the client, the first random number of the current transaction and the first verification hash value of the current transaction through a second hash authentication strategy to obtain a target authentication result.
2. The blockchain transaction authentication method according to claim 1, wherein the obtaining the initial authentication result by the first hash authentication policy according to the transaction identifier of the client, the second random number of the last transaction, and the second verification hash value of the last transaction includes:
Determining a transaction identifier of the client carried in the current transaction and a second random number of the last transaction;
Acquiring a second verification hash value of the last transaction from a block generated by the last transaction according to the transaction identifier;
performing hash operation on the second random number to obtain a third verification hash value;
And carrying out initial authentication on the current transaction according to the second verification hash value and the third verification hash value to obtain an initial authentication result.
3. The blockchain transaction authentication method of claim 1, wherein the preprocessing the current transaction and returning a transaction preprocessing result to the client in the case that the initial authentication result is determined to be authenticated, comprises:
And under the condition that the initial authentication result is determined to pass authentication, simulating and executing the current transaction, and returning a transaction preprocessing result to the client, wherein the transaction preprocessing result comprises transaction execution process data and transaction execution result data.
4. The blockchain transaction authentication method of claim 1, wherein the performing target authentication on the current transaction according to the transaction identifier of the client, the first random number of the current transaction, and the first verification hash value of the current transaction through the second hash authentication policy to obtain a target authentication result includes:
Determining a transaction identifier of the client carried in the transaction data and a first random number of the current transaction;
according to the transaction identifier, a first verification hash value which is generated and carried when the current transaction is initially authenticated is obtained;
performing hash operation on the first random number to obtain a fourth verification hash value;
And performing target authentication on the current transaction according to the first verification hash value and the fourth verification hash value to obtain a target authentication result.
5. The blockchain transaction authentication method of claim 4, wherein the first verification hash value is obtained by performing a hash operation on a first random number of the current transaction and an original digest hash value of the current transaction by the client;
Correspondingly, after determining the transaction identifier of the client carried in the transaction data and the first random number of the current transaction, the method further comprises:
determining an original text abstract hash value of the current transaction carried in the transaction data;
correspondingly, the hash operation on the first random number to obtain a fourth verification hash value includes:
And carrying out hash operation on the first random number and the original text abstract hash value to obtain a fourth verification hash value.
6. The blockchain transaction authentication method of claim 1, further comprising, after the receiving the current transaction submitted by the client:
And under the condition that the current transaction does not exist or the last transaction does not support hash authentication, authenticating the current transaction according to the transaction identification of the client, the first random number of the current transaction and the first verification hash value of the current transaction through a digital signature authentication strategy and a hash authentication strategy to obtain an authentication result.
7. The blockchain transaction authentication method of claim 6, wherein the current transaction is a current transaction submitted by the client and carrying a digital signature;
correspondingly, the authentication of the current transaction through the digital signature authentication policy and the hash authentication policy according to the transaction identifier of the client, the first random number of the current transaction and the first verification hash value of the current transaction, and obtaining an authentication result comprises the following steps:
Verifying a digital signature carried in the current transaction through a digital signature authentication strategy, and carrying out initial authentication on the current transaction to obtain an initial authentication result;
preprocessing the current transaction and returning a transaction preprocessing result to the client under the condition that the initial authentication result is determined to pass authentication;
Responding to the transaction data of the current transaction submitted by the client according to the transaction preprocessing result, and carrying out target authentication on the current transaction according to the transaction identification of the client, the first random number of the current transaction and the first verification hash value of the current transaction through a second hash authentication strategy to obtain a target authentication result.
8. The blockchain transaction authentication method according to any of claims 1 to 7, wherein the authenticating the current transaction, after obtaining an authentication result, further comprises:
Generating a chunk according to the transaction data of the current transaction, the transaction identification of the client, the first random number of the current transaction and the fifth verification hash value of the current transaction, and distributing the chunk to other nodes in the blockchain,
The fifth verification hash value is obtained by performing hash operation on the generated third random number for the client, and the other nodes are nodes except the transaction verification node in the blockchain.
9. The blockchain transaction authentication method of claim 8, further comprising, after the distributing the blockblocks to other nodes in the blockchain:
Receiving the next transaction of the current transaction submitted by the client;
And authenticating the next transaction according to the transaction identifier of the client, the third random number of the current transaction, the fifth verification hash value of the current transaction, the fourth random number of the next transaction and the sixth verification hash value of the next transaction through the hash authentication strategy to obtain an authentication result.
10. The blockchain transaction authentication method of claim 4 or 5, wherein the hashing the first random number to obtain a fourth verification hash value includes:
Determining a valid time point carried by the first random number, wherein the valid time point is a time point when the client submits the current transaction or a time point when the transaction preprocessing result returns to the client;
And under the condition that the interval duration between the current time and the effective time point is smaller than a preset duration threshold value, carrying out hash operation on the first random number to obtain a fourth verification hash value.
11. The blockchain transaction authentication method of claim 1, wherein the blockchain includes a coalition chain, and the transaction verification node includes an endorsement node and a sequencing node.
12. The blockchain transaction authentication method is characterized by being applied to a client corresponding to a transaction verification node in a blockchain and comprising the following steps:
Responding to a transaction instruction initiated by a user, creating a first random number aiming at the current transaction, and carrying out hash operation on the first random number to obtain a first verification hash value of the current transaction;
Submitting the current transaction to a transaction verification node in the blockchain in the case that the current transaction is determined to exist in the last transaction and the last transaction supports hash authentication, so that the transaction verification node authenticates the current transaction according to the blockchain transaction authentication method of claim 1,
The current transaction carries the transaction identifier of the client, the first random number, the first verification hash value and the second random number of the last transaction.
13. The blockchain transaction authentication method of claim 12, wherein the creating a first random number for a current transaction in response to a user initiated transaction instruction and hashing the first random number to obtain a first verification hash value for the current transaction includes:
Responding to a transaction instruction initiated by a user, creating a first random number aiming at the current transaction, and carrying out hash operation on transaction data of the current transaction to obtain an original text abstract hash value of the current transaction;
And carrying out hash operation on the first random number and the original text abstract hash value to obtain a first verification hash value of the current transaction.
14. The blockchain transaction authentication method of claim 12 or 13, further comprising:
Submitting the current transaction carrying a digital signature to a transaction verification node in the blockchain in the event that it is determined that the current transaction does not exist for the last transaction or that the last transaction does not support hash authentication, so that the transaction verification node authenticates the current transaction according to the blockchain transaction authentication method of claim 7 above,
The current transaction carries the transaction identifier of the client, the first random number and the first verification hash value.
15. A blockchain transaction authentication device, for use in a transaction verification node in a blockchain, comprising:
the transaction receiving module is configured to receive a current transaction submitted by the client;
A transaction authentication module configured to, when it is determined that the current transaction has a last transaction and the last transaction supports hash authentication, authenticate the current transaction according to a hash authentication policy according to a transaction identifier of the client, a first random number of the current transaction, a first verification hash value of the current transaction, a second random number of the last transaction, and a second verification hash value of the last transaction, obtain an authentication result, and implement chain-type hash authentication of a blockchain transaction by hash authentication of the last transaction and hash authentication of the current transaction, where the hash authentication policy is a authentication policy that does not require a verification manner using a digital signature and only matches the verification hash values generated by hash operation, and obtain the current transaction by the hash authentication policy according to the transaction identifier of the client, the first random number of the current transaction, the first verification hash value of the current transaction, the second verification hash value of the last transaction, and the second verification hash value of the current transaction, and obtain the authentication result, where the hash authentication policy is a verification result includes:
performing initial authentication on the current transaction according to the transaction identifier of the client, the second random number of the last transaction and the second verification hash value of the last transaction through a first hash authentication strategy to obtain an initial authentication result;
preprocessing the current transaction and returning a transaction preprocessing result to the client under the condition that the initial authentication result is determined to pass authentication;
Responding to the transaction data of the current transaction submitted by the client according to the transaction preprocessing result, and carrying out target authentication on the current transaction according to the transaction identification of the client, the first random number of the current transaction and the first verification hash value of the current transaction through a second hash authentication strategy to obtain a target authentication result.
16. A blockchain transaction authentication device, applied to a client corresponding to a transaction verification node in a blockchain, comprising:
the instruction response module is configured to respond to a transaction instruction initiated by a user, create a first random number for a current transaction, and perform hash operation on the first random number to obtain a first verification hash value of the current transaction;
A transaction submitting module configured to submit the current transaction to a transaction verification node in the blockchain to cause the transaction verification node to authenticate the current transaction according to the blockchain transaction authentication method of claim 1 above, if it is determined that the current transaction exists for a last transaction and the last transaction supports hash authentication,
The current transaction carries the transaction identifier of the client, the first random number, the first verification hash value and the second random number of the last transaction.
17. A computing device, comprising:
a memory and a processor;
The memory is configured to store computer-executable instructions that, when executed by a processor, perform the steps of the blockchain transaction authentication method of any of claims 1 to 14.
18. A computer readable storage medium storing computer executable instructions which when executed by a processor perform the steps of the blockchain transaction authentication method of any of claims 1 to 14.
CN202410011242.4A 2024-01-04 2024-01-04 Block chain transaction authentication method and device, computing equipment and storage medium Active CN117592990B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410011242.4A CN117592990B (en) 2024-01-04 2024-01-04 Block chain transaction authentication method and device, computing equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410011242.4A CN117592990B (en) 2024-01-04 2024-01-04 Block chain transaction authentication method and device, computing equipment and storage medium

Publications (2)

Publication Number Publication Date
CN117592990A CN117592990A (en) 2024-02-23
CN117592990B true CN117592990B (en) 2024-04-26

Family

ID=89922227

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410011242.4A Active CN117592990B (en) 2024-01-04 2024-01-04 Block chain transaction authentication method and device, computing equipment and storage medium

Country Status (1)

Country Link
CN (1) CN117592990B (en)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000222360A (en) * 1999-02-01 2000-08-11 Matsushita Electric Ind Co Ltd Method and system for authentication and authentication processing program recording medium
KR20180014534A (en) * 2016-08-01 2018-02-09 서강대학교산학협력단 Verification system and method for transaction based block chain
CN107909369A (en) * 2017-10-13 2018-04-13 布比(北京)网络技术有限公司 Based on the common recognition method, apparatus merchandised across chain and storage medium
WO2018119930A1 (en) * 2016-12-29 2018-07-05 深圳前海达闼云端智能科技有限公司 Transaction verification processing method, apparatus and node device
CN109859024A (en) * 2019-01-23 2019-06-07 陕西优米数据技术有限公司 A kind of tax system common recognition method based on alliance's chain
CN111429122A (en) * 2020-06-11 2020-07-17 卓尔智联(武汉)研究院有限公司 DAG block chain-based data verification method and device and computer equipment
CN111667268A (en) * 2020-05-29 2020-09-15 中国工商银行股份有限公司 Transaction method, node and system based on block chain
CN113609222A (en) * 2019-09-12 2021-11-05 腾讯科技(深圳)有限公司 Certificate processing method and device for block chain network, electronic equipment and storage medium
CN113610526A (en) * 2021-08-24 2021-11-05 上海点融信息科技有限责任公司 Data trust method and device, electronic equipment and storage medium
CN114528346A (en) * 2022-01-27 2022-05-24 中科大数据研究院 Method for sharing transaction of multi-source heterogeneous data assets by depending on block chain

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000222360A (en) * 1999-02-01 2000-08-11 Matsushita Electric Ind Co Ltd Method and system for authentication and authentication processing program recording medium
KR20180014534A (en) * 2016-08-01 2018-02-09 서강대학교산학협력단 Verification system and method for transaction based block chain
WO2018119930A1 (en) * 2016-12-29 2018-07-05 深圳前海达闼云端智能科技有限公司 Transaction verification processing method, apparatus and node device
CN107909369A (en) * 2017-10-13 2018-04-13 布比(北京)网络技术有限公司 Based on the common recognition method, apparatus merchandised across chain and storage medium
CN109859024A (en) * 2019-01-23 2019-06-07 陕西优米数据技术有限公司 A kind of tax system common recognition method based on alliance's chain
CN113609222A (en) * 2019-09-12 2021-11-05 腾讯科技(深圳)有限公司 Certificate processing method and device for block chain network, electronic equipment and storage medium
CN111667268A (en) * 2020-05-29 2020-09-15 中国工商银行股份有限公司 Transaction method, node and system based on block chain
CN111429122A (en) * 2020-06-11 2020-07-17 卓尔智联(武汉)研究院有限公司 DAG block chain-based data verification method and device and computer equipment
CN113610526A (en) * 2021-08-24 2021-11-05 上海点融信息科技有限责任公司 Data trust method and device, electronic equipment and storage medium
CN114528346A (en) * 2022-01-27 2022-05-24 中科大数据研究院 Method for sharing transaction of multi-source heterogeneous data assets by depending on block chain

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
FabricSQL:区块链数据的关系查询;余涛;牛保宁;樊星;;计算机工程与设计;20201016(第10期);第295-302页 *
Miles Carlsten 等.On the Instability of Bitcoin Without the Block Reward.CCS '16: Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security.2016,第154–167页. *
基于SM9算法可证明安全的区块链隐私保护方案;杨亚涛;蔡居良;张筱薇;袁征;;软件学报;20190327(第06期);第122-134页 *

Also Published As

Publication number Publication date
CN117592990A (en) 2024-02-23

Similar Documents

Publication Publication Date Title
US11936774B2 (en) Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
US20200344071A1 (en) Personal device security using cryptocurrency wallets
JP6894007B2 (en) Transfer of digital tickets based on blockchain network
CN112154626B (en) Computer-implemented system and method for performing atomic exchange using blockchain
EP3247070B1 (en) Cryptocurrency-based event participation verification
CN110458542A (en) Offline electronic payment system and method based on block chain
EP4068183A1 (en) Computer-implemented system and method enabling secure storage of a large blockchain over a plurality of storage nodes
CN109547218B (en) Alliance link node key distribution and backup system for improving BIP (building information processing) protocol
WO2022048589A1 (en) Data acquisition method, apparatus and device, and medium
CN111080292A (en) Method and device for acquiring block chain transaction signature data
CN109241726A (en) A kind of user authority control method and device
CN111327426B (en) Data sharing method and related device, equipment and system
CN111737715A (en) Decentralized electronic contract online signing method and system
CN114266069B (en) House transaction electronic data sharing system and method based on blockchain technology
CN111476573A (en) Account data processing method, device, equipment and storage medium
CN116992458B (en) Programmable data processing method and system based on trusted execution environment
CN114997867A (en) Data element multi-mode delivery system and method based on block chain and privacy calculation
CN114143312A (en) Block chain-based edge computing terminal authentication method, system and equipment
US20230316241A1 (en) Partitioning a request into transactions for a blockchain
CN116071071B (en) Block chain-based data element transaction method, system, storage medium and equipment
CN112926983A (en) Block chain-based deposit certificate transaction encryption system and method
CN117592990B (en) Block chain transaction authentication method and device, computing equipment and storage medium
CN110851804A (en) Alliance chain identity authentication method based on electronic contract
CN114238915A (en) Digital certificate adding method and device, computer equipment and storage medium
CN114881650B (en) TEE-based privacy protection distributed account book auditing method and system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant