Financial information management method and system based on blockchain technology
By adopting blockchain technology in the financial information management system, the shortcomings in existing systems in terms of security, transparency and efficiency are solved, and high security, transparency and high efficiency financial transaction management is achieved.
Patent Information
- Application Number
- CN202510047456.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-13
- Publication Date
- 2025-04-01
- Estimated Expiration
- 2045-01-13
AI Technical Summary
The existing financial information management system has shortcomings in terms of security, transparency and efficiency, especially in complex scenarios such as cross-border payments and supply chain financing. Centralized systems are vulnerable to attacks, with high risks of data leakage and tampering, and it is difficult to achieve efficient collaboration and information sharing across institutions.
The financial information management method based on blockchain technology is adopted, and the preliminary transaction proposal is generated and encrypted by receiving users' financial transaction requests. The improved elliptic curve digital signature algorithm and timestamp service are used to ensure the traceability of transactions. The distributed network and multi-node verification mechanism are used to determine effective financial transactions, and the Merkle tree structure is linked to the blockchain to form a transaction record chain.
It improves the security, transparency and efficiency of financial transactions, prevents financial fraud, ensures the consistency and integrity of data, and enhances the reliability of the system and user trust.
Smart Images

Figure CN119444422B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of financial management technology, and in particular, to a financial information management method and system based on blockchain technology. Background Art
[0002] With the rapid development of Internet finance, financial information management faces higher security and transparency requirements. Especially in complex scenarios such as cross-border payments and supply chain financing, traditional financial systems are difficult to meet the transaction needs of high efficiency, low cost and high security.
[0003] Currently, many financial institutions use centralized databases to manage and store transaction information. Although this model ensures centralized management and control of data to a certain extent, it also has the risk of single point failure. Once the central server is attacked or fails, the stability and security of the entire system will be seriously threatened. In addition, centralized management methods also make it difficult to achieve efficient collaboration and information sharing across institutions.
[0004] The centralized system of the existing solution is easily targeted by hackers, and the risk of data leakage and tampering is high. And because all data is controlled by a single institution, other participants cannot directly verify the authenticity of the transaction, which reduces the credibility of the system. In scenarios involving multi-party cooperation, the centralized decision-making process may lead to slow processing speed, affecting user experience and business efficiency. And as the scale of business expands, the performance bottleneck of the centralized system gradually emerges, making it difficult to support the needs of large-scale concurrent operations. Summary of the invention
[0005] The embodiments of the present application provide a financial information management method and system based on blockchain technology to solve the problem of poor security of financial information management in the prior art.
[0006] In a first aspect, the present application embodiment provides a financial information management method based on blockchain technology, including:
[0007] Receive a financial transaction request initiated by a user, generate a preliminary transaction proposal, encrypt the transaction details in the preliminary transaction proposal, generate a data block containing the encrypted transaction details, and perform a hash operation on the data block to generate a hash value of the data block;
[0008] Based on the hash value and the user's identity authentication information, an improved elliptic curve digital signature algorithm is used to generate an encrypted signature, and a timestamp service is used to bind the transaction time of the preliminary transaction proposal to the encrypted signature to ensure the traceability of the preliminary transaction proposal;
[0009] The data block corresponding to the preliminary transaction proposal and the encrypted signature are broadcasted to multiple nodes using a distributed network to determine a valid financial transaction, wherein the method for determining the valid financial transaction includes: each of the nodes uses a lightweight consensus algorithm to perform preliminary verification on the received data block to screen out a target transaction proposal that meets the preset requirements, and then uses a Byzantine fault tolerance algorithm to perform in-depth verification to ensure the authenticity and validity of the target transaction proposal. When more than a predetermined proportion of nodes confirm that the target transaction proposal is valid, the target transaction proposal is confirmed to be a valid financial transaction;
[0010] Based on the Merkle tree structure, the data blocks corresponding to the valid financial transactions are linked to the preset blockchain in chronological order and logical relationship to form a transaction record chain, and the consistency and integrity of the data on the chain are regularly checked.
[0011] In a second aspect, an embodiment of the present application provides an XX system, including:
[0012] A generation module, configured to receive a financial transaction request initiated by a user, generate a preliminary transaction proposal, encrypt the transaction details in the preliminary transaction proposal, generate a data block containing the encrypted transaction details, perform a hash operation on the data block, and generate a hash value of the data block; based on the hash value and the user's identity authentication information, generate an encrypted signature using an improved elliptic curve digital signature algorithm;
[0013] A binding module, configured to bind the transaction time of the preliminary transaction proposal and the encrypted signature using a timestamp service to ensure the traceability of the preliminary transaction proposal;
[0014] A broadcast module, used to broadcast the data block corresponding to the preliminary transaction proposal and the encrypted signature to multiple nodes using a distributed network to determine a valid financial transaction, wherein the method for determining the valid financial transaction includes: each of the nodes uses a lightweight consensus algorithm to perform preliminary verification on the received data block to screen out a target transaction proposal that meets the preset requirements, and then uses a Byzantine fault tolerance algorithm to perform in-depth verification to ensure the authenticity and validity of the target transaction proposal. When more than a predetermined proportion of nodes confirm that the target transaction proposal is valid, the target transaction proposal is confirmed to be a valid financial transaction;
[0015] The processing module is used to link the data blocks corresponding to the valid financial transactions to a preset blockchain in chronological order and logical relationship based on the Merkle tree structure to form a transaction record chain, and regularly check the consistency and integrity of the data on the chain.
[0016] In a third aspect, an embodiment of the present application provides a computing device, comprising a processing component and a storage component; the storage component stores one or more computer instructions; the one or more computer instructions are used to be called and executed by the processing component to implement a financial information management method based on blockchain technology as described in the first aspect above.
[0017] In a fourth aspect, an embodiment of the present application provides a computer storage medium storing a computer program. When the computer program is executed by a computer, it implements a financial information management method based on blockchain technology as described in the first aspect.
[0018] In the embodiment of the present application, by encrypting the transaction details and generating a hash value, an improved elliptic curve digital signature algorithm is used to generate an encrypted signature, which effectively prevents the tampering and leakage of transaction information during transmission, and at the same time uses a timestamp service to enhance the non-repudiation and anti-counterfeiting capabilities of the transaction. All transactions are broadcast through a distributed network and added to the blockchain after multiple verifications, which improves the transparency and traceability of transactions and helps prevent financial fraud. The hierarchical verification mechanism using a lightweight consensus algorithm and a Byzantine fault-tolerant algorithm can not only quickly screen out unqualified transaction proposals, but also ensure the accuracy and reliability of the final confirmed valid transactions, thereby improving the operating efficiency of the system. Through the Merkle tree structure and regular inspections, the consistency and integrity of the data are guaranteed, and the overall health of the blockchain is maintained.
[0019] Furthermore, this method enhances the security and non-repudiation of transactions through encryption processing and improved elliptic curve digital signature algorithm, and ensures the traceability and time accuracy of transactions by using timestamp service. Distributed network and multi-node verification mechanism improve the transparency and efficiency of transactions, Merkle tree structure and regular inspection ensure the consistency and integrity of data, and overall improve the security, transparency and efficiency of financial transactions, and promote financial innovation.
[0020] These and other aspects of the present application will become more clearly understood in the description of the following embodiments. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, a brief introduction will be given below to the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0022] Figure 1 A flowchart of a financial information management method based on blockchain technology provided in an embodiment of the present application;
[0023] Figure 2 A schematic diagram of the structure of a financial information management system based on blockchain technology provided in an embodiment of the present application;
[0024] Figure 3 A schematic diagram of the structure of a computing device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0025] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application.
[0026] In some of the processes described in the specification and claims of this application and the above-mentioned figures, multiple operations that appear in a specific order are included, but it should be clearly understood that these operations may not be executed in the order in which they appear in this article or executed in parallel. The serial numbers of the operations, such as 101, 102, etc., are only used to distinguish between different operations, and the serial numbers themselves do not represent any execution order. In addition, these processes may include more or fewer operations, and these operations may be executed in sequence or in parallel. It should be noted that the descriptions of "first", "second", etc. in this article are used to distinguish different messages, devices, modules, etc., do not represent the order of precedence, and do not limit the "first" and "second" to be different types.
[0027] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of this application.
[0028] Figure 1 A flowchart of a financial information management method based on blockchain technology is provided for an embodiment of the present application, such as Figure 1 As shown, the method includes:
[0029] 101. Receive a financial transaction request initiated by a user, generate a preliminary transaction proposal, encrypt the transaction details in the preliminary transaction proposal, generate a data block containing the encrypted transaction details, and perform a hash operation on the data block to generate a hash value of the data block;
[0030] In this step, a financial transaction request refers to a request submitted by a user to the system regarding purchase, sale or other financial activities. The preliminary transaction proposal is based on the user's transaction request. The system will generate a proposal containing basic information such as the transaction parties, transaction amount, and transaction type. Encryption processing means that in order to protect the security of transaction details and prevent them from being stolen or tampered with during transmission, this information needs to be encrypted. Hash operation is a mathematical algorithm that can convert information of any length into a string of fixed length, which is called a hash value. Hash values are unidirectional and unique, that is, the original information cannot be deduced from the hash value, and different inputs will produce different hash values.
[0031] In the embodiment of the present application, the system first receives the transaction request from the user, and then generates a preliminary transaction proposal containing all necessary transaction information. Then, the transaction details in this proposal are encrypted to protect sensitive information. After that, the system performs a hash operation on the encrypted data block to generate a hash value, which will be used to verify the integrity and consistency of the data in subsequent steps.
[0032] It should be noted that in blockchain technology, a "transaction proposal" can be regarded as a preliminary form or proposal stage of a financial transaction initiated by a user. When a user wants to execute a transaction, a transaction request is generated, and this request forms a "transaction proposal" before or after being broadcast to the network. This proposal contains all the necessary information of the transaction, such as the sender, receiver, transaction amount, etc., and undergoes some preliminary processing, such as encryption and signing.
[0033] The relationship between the “transaction proposal” and “financial transaction” mentioned in this application can be understood as follows:
[0034] A transaction proposal is an early stage in the financial transaction process. It is an unverified transaction request that needs to go through a series of verification steps to confirm its legitimacy and validity. In a blockchain network, transaction proposals are broadcast to each node in the network. These nodes will preliminarily screen the proposals according to certain rules (such as lightweight consensus algorithms) to exclude proposals that are obviously invalid or malformed. After the preliminary screening, the transaction proposals will be further submitted to a more rigorous verification process (such as the Byzantine Fault Tolerance algorithm). In this process, more nodes will participate in the verification of the transaction to ensure the authenticity and consistency of the transaction. If the transaction proposal successfully passes all the verification processes, it will be confirmed as a valid financial transaction and recorded on the blockchain, becoming an unalterable part.
[0035] Therefore, a "transaction proposal" is an unconfirmed state of a financial transaction, and once the proposal passes all necessary verification steps, it becomes a formal and widely accepted financial transaction. This process ensures the security and reliability of the transaction, while also maintaining the stability and transparency of the blockchain system.
[0036] 102. Generate an encrypted signature using an improved elliptic curve digital signature algorithm based on the hash value and the identity authentication information of the user, and use a timestamp service to bind the transaction time of the preliminary transaction proposal to the encrypted signature to ensure the traceability of the preliminary transaction proposal;
[0037] In this step, the authentication information is the data that proves the user's identity, usually including username, password, biometric information, etc. The improved elliptic curve digital signature algorithm refers to a digital signature algorithm based on elliptic curve cryptography, which provides higher security and efficiency than traditional algorithms. The timestamp service refers to the provision of accurate time stamping services to ensure that the generation time of the transaction proposal cannot be tampered with, thereby enhancing the traceability and security of the transaction.
[0038] In the embodiment of the present application, the system uses the user's verification information and the improved elliptic curve digital signature algorithm to generate an encrypted signature. This signature can prove that the proposal is indeed issued by the user and has not been tampered with by a third party. At the same time, the generation time of the transaction proposal is bound to the encrypted signature through the timestamp service, which increases the reliability and transparency of the transaction proposal.
[0039] Optionally, in step 102, "based on the hash value and the user's identity authentication information, using an improved elliptic curve digital signature algorithm to generate an encrypted signature, and using a timestamp service to bind the transaction time of the preliminary transaction proposal to the encrypted signature" includes: based on the hash value and the user's identity authentication information, using an improved elliptic curve digital signature algorithm to sign the hash value to generate an encrypted signature, thereby ensuring the non-repudiation and authenticity of the preliminary transaction proposal; using a timestamp service to bind the transaction time of the preliminary transaction proposal to the encrypted signature to generate a timestamp containing the transaction time and the encrypted signature, thereby ensuring the traceability of the preliminary transaction proposal and the accuracy of the time point; binding the timestamp to the data block to generate comprehensive information containing the transaction time, the encrypted signature and the hash value, thereby ensuring that the preliminary transaction proposal has a unique and tamper-proof record.
[0040] Hash value: As mentioned earlier, a hash value is a fixed-length string calculated from specific data. It is unique and irreversible and is used to ensure the integrity and consistency of data.
[0041] Timestamp: A digital record that combines transaction time, cryptographic signature and other information to prove that a piece of data or file existed at a specific point in time.
[0042] First, the system uses the improved elliptic curve digital signature algorithm to sign the hash value based on the hash value of the preliminary transaction proposal and the user's authentication information (usually the user's private key) to generate an encrypted signature. This signature ensures the authenticity of the transaction proposal, because only those who have the corresponding private key can generate a valid signature, and also ensures the non-repudiation of the transaction proposal, that is, users cannot deny that they have initiated this transaction. Next, the system uses the timestamp service to bind the transaction time of the preliminary transaction proposal with the previously generated encrypted signature to generate a timestamp containing the transaction time and encrypted signature. This process ensures the traceability of the transaction proposal and the accuracy of the time point, because once the timestamp is generated, any attempt to modify the transaction time or signature will be detected. Finally, the system binds the timestamp with the previously generated data block (including the hash value) to generate a comprehensive information containing the transaction time, encrypted signature and hash value. This comprehensive information not only ensures the uniqueness and immutability of the transaction proposal, but also constitutes a complete transaction record, which can play a key role in subsequent transaction verification and dispute resolution.
[0043] In the embodiment of the present application, it is assumed that in a digital currency trading platform, user A wants to send a certain amount of digital currency to user B. The following is a simplified example of the process:
[0044] User A submitted a transaction request through the platform, which included information such as the sender (A), the receiver (B), and the transaction amount. After receiving the request, the platform generated a preliminary transaction proposal and encrypted the transaction details in the proposal to generate a hash value. The above hash value was signed using user A's private key and the improved elliptic curve digital signature algorithm to generate an encrypted signature. Through the timestamp service, the exact time of the transaction is combined with the encrypted signature to generate a timestamp, ensuring the accuracy and immutability of the transaction time. The timestamp is bound to the previously generated data block (including the hash value) to form a comprehensive information containing the transaction time, encrypted signature, and hash value. Finally, this comprehensive information is then broadcast to other nodes in the network, awaiting further verification and confirmation.
[0045] 103. Broadcasting the data block corresponding to the preliminary transaction proposal and the encrypted signature to multiple nodes using a distributed network to determine a valid financial transaction, wherein the method for determining the valid financial transaction includes: each of the nodes uses a lightweight consensus algorithm to perform preliminary verification on the received data block to screen out a target transaction proposal that meets the preset requirements, and then uses a Byzantine fault tolerance algorithm to perform in-depth verification to ensure the authenticity and validity of the target transaction proposal. When more than a predetermined proportion of nodes confirm that the target transaction proposal is valid, the target transaction proposal is confirmed to be a valid financial transaction;
[0046] In this step, the distributed network is composed of multiple nodes that can work independently or collaboratively to complete tasks. The lightweight consensus algorithm is a consensus mechanism with low resource consumption, which is used to quickly screen out potentially valid transaction proposals. The Byzantine fault-tolerant algorithm refers to an algorithm that can still reach consensus in the presence of malicious nodes, and is often used to ensure the security and reliability of distributed systems.
[0047] In the embodiment of the present application, the system broadcasts the encrypted data block and its encrypted signature to all nodes in the network. Each node first uses a lightweight consensus algorithm to perform a preliminary verification of the received data block to exclude proposals that are obviously not compliant. Subsequently, the remaining proposals are further verified using the Byzantine fault tolerance algorithm to ensure their authenticity and validity. Only when the majority of nodes (usually more than two-thirds) confirm that a proposal is valid will the proposal be recognized as a valid financial transaction.
[0048] 104. Based on the Merkle tree structure, the data blocks corresponding to the valid financial transactions are linked to the preset blockchain in chronological order and logical relationship to form a transaction record chain, and the consistency and integrity of the data on the chain are regularly checked.
[0049] In this step, the Merkle tree structure is an efficient tree data structure that is widely used in blockchain technology to verify part or all of a data set without downloading the entire data set. The transaction record chain, or blockchain, is a growing list of records called blocks, each of which contains the hash value of the previous block, forming an irreversible chain.
[0050] In the embodiment of the present application, the data blocks of valid financial transactions will be linked to the blockchain using the Merkle tree structure according to the chronological order and logical relationship of occurrence. This not only ensures the transparency and traceability of all transaction records, but also maintains the security and stability of the entire system by regularly checking the consistency and integrity of the on-chain data.
[0051] Optionally, the step 104 of "linking the data blocks corresponding to the valid financial transactions to a preset blockchain in chronological order and logical relationship based on the Merkle tree structure to form a transaction record chain" includes: collecting all data blocks corresponding to valid financial transactions within a set time period; using the hash value of the data block as a leaf node of the Merkle tree, constructing a Merkle tree by calculating the hash value layer by layer, and generating a Merkle root hash value; using the hash value of the previous block, the timestamp of the current time and the Merkle root hash value to generate a block header; using all data blocks corresponding to valid financial transactions as a block body, and constructing a new block based on the block header and the block body; linking the new block to a preset block to ensure that the hash value of each block is connected to the hash value of the previous block to form a transaction record chain.
[0052] Block header: Contains metadata of the block, such as the hash value of the previous block, the timestamp of the current time, the Merkle root hash value, etc.
[0053] Block body: contains actual transaction data, that is, data blocks corresponding to valid financial transactions.
[0054] Block: It consists of a block header and a block body and is the basic unit of the blockchain.
[0055] First, within a set time period (for example, every 10 minutes), all data blocks corresponding to verified valid financial transactions are collected. Then, the hash value of each data block is used as the leaf node of the Merkle tree. By calculating the hash value layer by layer, the Merkle tree is constructed, and finally the Merkle root hash value is generated. The Merkle root hash value is a summary of the hash values of all transaction data blocks, which is used to efficiently verify the integrity and consistency of transaction data. Secondly, a new block header is generated using the hash value of the previous block, the timestamp of the current time, and the Merkle root hash value. The block header contains the metadata of the block to ensure the uniqueness and traceability of the block. Further, the data blocks corresponding to all valid financial transactions are used as the block body. A new block is constructed based on the block header and block body. Finally, the newly generated block is linked to the preset blockchain to ensure that the hash value of each new block is connected to the hash value of the previous block to form a continuous chain of transaction records. This linking method ensures the immutability and security of the blockchain.
[0056] In the embodiment of the present application, it is assumed that in an S currency trading network, a new block is generated every 10 minutes. The following is a specific example of the process:
[0057] In the past 10 minutes, the network has collected 100 data blocks of valid financial transactions. Each transaction data block contains information such as the sender address, the receiver address, and the transaction amount. Hash values are calculated for each of the 100 transaction data blocks to obtain 100 leaf nodes. The Merkle tree is constructed by calculating the hash values layer by layer. For example, the hash values of two adjacent leaf nodes are combined and the hash value is calculated again to obtain a new hash value, and so on until the Merkle root hash value is generated. Then get the hash value of the previous block (assuming it is 0x12345678...). Get the timestamp of the current time (assuming it is 1634567890). Use the Merkle root hash value (assuming it is 0xabcdef12...). Combine this information to generate a new block header. Then use the 100 transaction data blocks as the block body. Construct a new block based on the block header and block body. Finally, calculate the hash value of the newly generated block (assuming it is 0x98765432...). Linking the new block to the previous block ensures that the hash value of the new block is connected to the hash value of the previous block, forming a continuous chain of transaction records.
[0058] This application considers that in blockchain technology, Merkle tree (also known as hash tree) is a binary tree structure that allows efficient and secure verification of the existence and integrity of large amounts of data. The core idea of Merkle tree is to build a tree by grouping data and calculating hash values layer by layer, where the root node of the tree contains a hash value that can represent all the data in the entire tree. This structure is widely used in various scenarios, especially in blockchain to verify the validity of transactions while reducing storage and transmission costs. The optional solution is as follows:
[0059] Optionally, in step 104, "the process of linking the data blocks corresponding to the valid financial transactions to the preset blockchain in chronological order and logical relationship based on the Merkle tree structure to form a transaction record chain" includes the following calculation formula:
[0060] The hash value of the data block is used as the leaf node of the Merkle tree, and the Merkle tree is constructed by calculating the hash value layer by layer to generate the Merkle root hash value. , the calculation formula is as follows:
[0061] ;
[0062] in, It is Layer The hash value of each node, and It is Layer and The hash value of each node, It is a hash function used to enhance the security of the Merkle tree. The resulting Merkle root hash value is is the top-level hash value;
[0063] Using the hash value of the previous block , the timestamp of the current time and the Merkle root hash , generate block header , the calculation formula is as follows:
[0064] ;
[0065] in, is the hash value of the previous block, is the timestamp of the current time, is the Merkle root hash, It is a hash function used to enhance the security of the block header;
[0066] All data blocks corresponding to valid financial transactions are used as block bodies , and according to the block header and the block Building a new block ;
[0067] The new block Link to the preset blockchain to ensure that the hash value of each block is connected to the hash value of the previous block to form a transaction record chain.
[0068] The main purpose of designing the above formula is to achieve effective recording and verification of financial transactions in the blockchain. By using the Merkle tree structure, it is possible to ensure that the authenticity of a single transaction can be quickly verified even in large-scale transaction data without recalculating the hash value of the entire data set. In addition, by creating a new block by combining the block header with the block body and linking it to the existing blockchain, the immutability and continuity of the data can be guaranteed.
[0069] Merkle tree construction The goal is to build hash values from the bottom layer of data blocks upwards, eventually forming a unique Merkle root hash value. The advantage of this is that a smaller hash value can be used to prove the existence of a larger data set. The purpose is to add an extra layer of security to prevent potential attackers from forging data through simple hash collisions.
[0070] Block header generation The block header contains the hash value of the previous block. , which ensures the consistency and immutability of the blockchain. Timestamp The addition of helps prevent replay attacks, i.e. ensures that the same transaction is not processed repeatedly. Merkle root hash value It represents a summary of all transactions in the block, ensuring the integrity of transaction data. It is also to improve security and ensure the uniqueness and unpredictability of the block header.
[0071] Block The block body contains the actual transaction data, which is efficiently organized through the Merkle tree structure.
[0072] The new block construction and linking combines the block header and block body to form a complete block information. Linking the new block to the blockchain enables persistent storage of data and tracking of transaction history.
[0073] The parameters are obtained as follows:
[0074] and They are the Merkle tree Layer and The hash value of each node is obtained by calculating the hash value of each data block. The Merkle root hash value is finally generated by calculating the hash value layer by layer. Refers to the hash value of the previous block, which can be obtained from the blockchain. It is the timestamp of the current time, which can be obtained through the system time. is the hash function used, which can be SHA-256. Assume that you are building a financial transaction blockchain and need to process a transaction. The detailed steps are as follows:
[0075] Assume there are two transactions, T1 and T2, and standard hashing algorithms. The specific implementation depends on the design of the blockchain.
[0076] In the embodiment of the present application, each transaction has its own data field, such as transaction amount, sender address, receiver address, etc. Hash values are calculated for T1 and T2 respectively to obtain H1 and H2.
[0077] First, use H1 and H2 as leaf nodes of the Merkle tree, according to the formula Calculate the Merkle root hash value .
[0078] For example, if H1="abc123", H2="def456", then .
[0079] Next, assume that the hash value of the previous block is is "xyz789", and the current time is 16:04 on November 21, 2024 (timestamp =1700553844), then the block header = Block Directly contains the data of transactions T1 and T2. Then combine and Create a new block Finally, Add to the end of the blockchain to complete the update of the transaction record.
[0080] Assuming that SHA-256 is used as the hash function, for the simplified examples of H1 and H2 above, real transaction data will be used for hash calculation in actual operations.
[0081] Assume that the SHA-256 hash value of H1 is a1b2c3d4... and the SHA-256 hash value of H2 is e5f6g7h8...
[0082] Calculate the Merkle root hash value according to the formula
[0083] Assume again For xyz789, timestamp is 1700553844, then the block header
[0084] .
[0085] Through the above process, we can see that each step is to ensure the security, integrity and transparency of the blockchain. The Merkle tree structure enables efficient verification of transactions even in large-scale data sets, while the design of the block header ensures the consistency and tamper-proofness of the blockchain. These mechanisms work together to form the foundation of modern blockchain technology.
[0086] This application considers that in blockchain and other distributed systems, it is very important to ensure the authenticity and immutability of transactions. Digital signature technology, especially the elliptic curve digital signature algorithm (ECDSA), is widely used for identity authentication and data integrity checking. However, traditional ECDSA has some security vulnerabilities, so it needs to be improved to improve security.
[0087] The options are as follows:
[0088] Optionally, the user's identity authentication information includes a private key;
[0089] The step of using an improved elliptic curve digital signature algorithm to sign the hash value based on the hash value and the identity authentication information of the user to generate an encrypted signature includes:
[0090] Using the user's private key , performing signature processing on the hash value to generate a signature value;
[0091] Generate random numbers using a random number generator , the random number is smaller than the order of the elliptic curve A positive integer of ;
[0092] Using the random number and elliptic curve base point Calculation Point , the point The coordinates of ;
[0093] Take the point of Coordinate and modulus ,get ,like , then reselect the random number And repeatedly execute using the random number and elliptic curve base points Calculation Point Steps;
[0094] Introducing an extra safety factor , using the private key , the random number , the hash value and the safety factor Calculate the signature value :
[0095] ;
[0096] in, yes In the model The safety factor Represents a timestamp or a random number. is a hash function used to enhance the security of the signature. , then reselect the random number And repeatedly execute using the random number and elliptic curve base points Calculation Point Steps;
[0097] The signature value With the coordinate Combine to get the encrypted signature .
[0098] This scheme improves the traditional ECDSA by introducing additional security factors and hash functions. The main purpose is to enhance the security of digital signatures and prevent potential attacks such as replay attacks and signature forgery. The improved algorithm not only retains the efficiency advantage of ECDSA, but also adds an additional security layer to ensure the uniqueness and unpredictability of signatures.
[0099] Private key signature (using the user's private key Sign the hash value): Private key It is the user's authentication information, which is used to generate the signature value to ensure that only legitimate users can generate valid signatures.
[0100] Random number generation (using a random number generator to generate random numbers ): random number Is the key to generate the signature, which must be smaller than the order of the elliptic curve The selection of random numbers ensures the uniqueness of each signature and prevents replay attacks.
[0101] point Calculation (using random numbers and elliptic curve base points Calculation Point ):point Coordinates It is obtained through point multiplication on the elliptic curve, which is one of the important steps in generating a signature.
[0102] calculate (Take a point of coordinate Parallel ,get ): is part of the signature and is used for subsequent signature calculation. , you need to reselect random numbers and recalculate the points.
[0103] calculate (Use private key , random numbers , hash value and safety factor Calculate the signature value ): is another part of the signature, through the formula The safety factor is introduced here. and hash functions , which enhances the security of the signature. , you need to reselect random numbers and recalculate the points .
[0104] Combined signature (signature value and coordinate Combine to get the encrypted signature : Final signature Can be used to verify the authenticity and integrity of transactions.
[0105] The parameters are obtained as follows:
[0106] Private Key It is the user's private key, usually generated by a key generation algorithm.
[0107] Hash value It is the hash value of the transaction data, calculated by a hash function (such as SHA-256).
[0108] Random Numbers is generated by a random number generator with a value smaller than the elliptic curve order A positive integer.
[0109] Elliptic curve base points It is the standard basis point of an elliptic curve, usually defined by the elliptic curve parameters.
[0110] Safety Factor It can be a timestamp or a random number to enhance the security of the signature.
[0111] Hash Functions Used to enhance the security of the signature, it can be any standard hash function (such as SHA-256).
[0112] In the embodiment of this application, it is assumed that a transaction is processed in a blockchain system and a digital signature needs to be generated. The following are detailed steps and calculation examples:
[0113] Assume that the transaction data is .
[0114] The hash value of the transaction data is calculated as:
[0115] .
[0116] Assumptions:
[0117] .
[0118] User Alice's private key:
[0119] .
[0120] Generate random numbers , assuming:
[0121] .
[0122] point Calculation using elliptic curve base points and random numbers Calculation Point .
[0123] Assumptions The coordinates are:
[0124]
[0125] calculate .
[0126] Assume the order of the elliptic curve is:
[0127] .
[0128] but .
[0129] Assumed safety factor (Timestamp of current time). Hash function .
[0130] Assumptions .
[0131] calculate First calculate ,Right now In the model Assume that .
[0132] but:
[0133] Calculation results:
[0134] ;
[0135] Assume that the final calculation result is:
[0136] .
[0137] Will and Combine to get the encrypted signature:
[0138] .
[0139] Through the above process, we can see that the improved elliptic curve digital signature algorithm significantly improves the security of digital signatures by introducing additional security factors and hash functions. This improvement not only ensures the uniqueness and unpredictability of the signature, but also enhances the defense against replay attacks and signature forgery. In the field of blockchain, this security mechanism is crucial to protecting the authenticity and integrity of transactions.
[0140] Optionally, each of the nodes uses a lightweight consensus algorithm to perform preliminary verification on the received data block to screen out target transaction proposals that meet preset requirements, and then uses a Byzantine fault-tolerant algorithm for in-depth verification to ensure the authenticity and validity of the target transaction proposal. When more than a predetermined proportion of nodes confirm that the target transaction proposal is valid, the process of confirming that the target transaction proposal is a valid financial transaction includes: each of the nodes receives the data block and the encrypted signature corresponding to the preliminary transaction proposal, checks whether the format of the data block meets the preset standard, and recalculates the hash value of the data block to ensure that the calculated hash value is consistent with the hash value generated during broadcasting; verifies the encrypted signature using the user's public key, and determines the verified preliminary transaction proposal as the target transaction proposal; broadcasts the target transaction proposal to all nodes so that each node performs multiple rounds of message transmission with other nodes to ensure that all nodes reach a consensus on the target transaction proposal, and confirms that the target transaction proposal is a valid financial transaction after more than a predetermined proportion of nodes confirm that the target transaction proposal is valid.
[0141] Lightweight consensus algorithm: A consensus mechanism with low resource consumption, used to quickly screen out potentially valid transaction proposals. Common lightweight consensus algorithms include Proof of Stake (PoS), Delegated Proof of Stake (DPoS), etc.
[0142] Byzantine Fault Tolerance (BFT): An algorithm that can achieve consensus in the presence of malicious nodes, often used to ensure the security and reliability of distributed systems. Common BFT algorithms include Practical Byzantine Fault Tolerance (PBFT) and Tendermint.
[0143] Data block: A data unit containing transaction details, usually including information about both parties to the transaction, transaction amount, timestamp, etc.
[0144] Public key: A public key paired with a user's private key and used to verify digital signatures.
[0145] Cryptographic signature: A digital signature generated by signing data with the user's private key, which is used to verify the integrity of the data and the identity of the sender.
[0146] First, each node receives the data block and encrypted signature corresponding to the preliminary transaction proposal. Check whether the format of the data block meets the preset standard. Recalculate the hash value of the data block to ensure that the calculated hash value is consistent with the hash value generated during broadcasting. Then use the user's public key to verify the encrypted signature to ensure the validity of the signature and the integrity of the data. The verified preliminary transaction proposal is determined as the target transaction proposal. Secondly, the target transaction proposal is broadcast to all nodes. Each node conducts multiple rounds of message transmission with other nodes to ensure that all nodes reach a consensus on the target transaction proposal. When more than a predetermined proportion of nodes confirm that the target transaction proposal is valid, the target transaction proposal is confirmed to be a valid financial transaction.
[0147] In the embodiment of the present application, it is assumed that in a distributed financial network, user A initiates a transfer transaction to user B. The following is a specific example of the process:
[0148] First, node N1 receives the data block and encrypted signature corresponding to the preliminary transaction proposal. Node N1 checks whether the format of the data block meets the preset standards, such as checking whether there are necessary fields such as the sender address, the receiver address, and the transaction amount. Node N1 recalculates the hash value of the data block and compares it with the hash value generated during the broadcast to ensure that the two are consistent.
[0149] Next, node N1 verifies the encrypted signature using the public key of user A to ensure the validity of the signature and the integrity of the data. If the verification passes, node N1 determines the preliminary transaction proposal as the target transaction proposal.
[0150] Furthermore, node N1 broadcasts the target transaction proposal to all other nodes in the network (N2, N3, ...). Each node (N2, N3, ...) repeats the above preliminary verification and signature verification steps to ensure the validity of the target transaction proposal. Multiple rounds of message transmission are performed between all nodes to ensure that all nodes reach a consensus on the target transaction proposal. For example, using the PBFT algorithm, the nodes reach a consensus through multiple rounds of voting and message exchange. When more than a predetermined proportion of nodes (for example, more than two-thirds of the nodes) confirm that the target transaction proposal is valid, the transaction proposal is confirmed as a valid financial transaction.
[0151] The specific steps are as follows:
[0152] First, node N1 receives the data block and encrypted signature. Check the data block format: {"sender":"A","receiver":"B","amount":100,"timestamp":"2023-10-01T10:00:00Z"}.
[0153] Recalculate the hash value: hash(data_block)=0x12345678.... Compare the hash values: 0x12345678...==0x12345678..., verification passed.
[0154] Next, use user A’s public key to verify the encrypted signature: verify(public_key_A,signature,data_block)=true. If the verification is successful, it is confirmed as the target transaction proposal.
[0155] Further, node N1 broadcasts the target transaction proposal to N2, N3, ... N2, N3, ... repeat the preliminary verification and signature verification steps. Multiple rounds of message transmission are carried out between nodes, for example: N1->N2: "Please verify the transaction proposal". N2->N1: "Verification passed". N1->N3: "Please verify the transaction proposal". N3->N1: "Verification passed". ...Finally, more than two-thirds of the nodes confirm that the transaction proposal is valid and it is confirmed as a valid financial transaction.
[0156] This application takes into account that in a blockchain network, communication and data exchange between nodes need to ensure the authenticity and integrity of the data. The lightweight consensus algorithm is used by nodes to perform preliminary verification of the received data blocks to screen out target transaction proposals that meet the preset requirements. Digital signature verification is a key step in this process to ensure that the transaction data has not been tampered with and is indeed from a legitimate user.
[0157] The options are as follows:
[0158] Optionally, each of the nodes uses a lightweight consensus algorithm to perform preliminary verification on the received data blocks to screen out target transaction proposals that meet preset requirements. The process includes the following calculation formula:
[0159] Recalculate the hash value of the data block , ensure that the calculated hash value The hash value is consistent with the one generated during broadcasting;
[0160] Use the public key of the user The encrypted signature To verify, the verification formula is as follows:
[0161] ;
[0162] in, yes In the model The inverse element below, is the unique identifier, is the elliptic curve base point, is the user's public key, Yes of coordinate, It is a hash function used to enhance the security of the signature;
[0163] like , then the encrypted signature verification is passed, and the preliminary transaction proposal is determined as the target transaction proposal.
[0164] This solution verifies the hash value and encrypted signature of the data block using the improved elliptic curve digital signature algorithm (ECDSA) to ensure the authenticity and integrity of the transaction data. By introducing additional security factors and hash functions, the security of signature verification is enhanced to prevent potential attacks such as replay attacks and signature forgery.
[0165] Hash value verification (recalculate the hash value of the data block , ensuring that the calculated hash value is consistent with the hash value generated during broadcast): The purpose of recalculating the hash value is to ensure that the data block has not been tampered with during transmission. If the calculated hash value is consistent with the hash value generated during broadcast, the data block is complete.
[0166] Public key authentication (using the user's public key Sign the encryption Verify): Public key To verify the signature , ensuring that the signature is generated by the legitimate user who holds the corresponding private key.
[0167] Verification formula: Calculation and , , here yes In the model The inverse element is used to recover the random number when signing .
[0168] Calculation Point ,here is the base point of the elliptic curve, is the user's public key.
[0169] calculate , Yes of coordinate.
[0170] Verification condition: If , the signature verification is successful, indicating that the transaction data is valid.
[0171] The parameters are obtained as follows:
[0172] Hash value It is calculated by a hash function (such as SHA-256) on the data block.
[0173] Cryptographic Signature It is generated by the sender using the private key.
[0174] User's public key It is the public key corresponding to the private key and is used to verify the signature.
[0175] Hash value It is a unique identifier of the transaction data, usually a hash value of the transaction data.
[0176] Elliptic curve base points It is the standard basis point of an elliptic curve, usually defined by the elliptic curve parameters.
[0177] Safety Factor It can be a timestamp or a random number to enhance the security of the signature.
[0178] Hash Functions Used to enhance the security of the signature, it can be any standard hash function (such as SHA-256).
[0179] In the embodiment of this application, it is assumed that a transaction is processed in a blockchain system and its signature needs to be verified. The following are detailed steps and calculation examples:
[0180] Assume that the content of the data block is "Transfer10BTCfromAlicetoBob".
[0181] Calculate the hash value of the data block .
[0182] Assumptions:
[0183] .
[0184] Assume the received encrypted signature is:
[0185] .
[0186] User's public key:
[0187] .
[0188] Hash value of transaction data:
[0189] .
[0190] Safety Factor (timestamp of current time); order of elliptic curve:
[0191] .
[0192] Elliptic curve base point:
[0193] .
[0194] calculate and :
[0195] calculate ,Right now In the model Assume that .
[0196] calculate :
[0197] .
[0198] Assumptions:
[0199] ;
[0200] but:
[0201] ;
[0202] Assume that the final calculation result is:
[0203] .
[0204] calculate :
[0205] ;
[0206] but:
[0207] .
[0208] Assume that the final calculation result is .
[0209] Calculation Point .
[0210] Assumptions:
[0211] .
[0212] Assumptions:
[0213] ;
[0214] but:
[0215] .
[0216] Assume that the final calculation result is:
[0217] .
[0218] calculate .
[0219] Assumptions .
[0220] but:
[0221] .
[0222] Assume that the final calculation result is:
[0223] .
[0224] examine Is it equal to .
[0225] Assumptions .because , so the signature verification passes and the transaction data is valid.
[0226] Through the above process, we can see that the improved elliptic curve digital signature algorithm significantly improves the security of digital signature verification by introducing additional security factors and hash functions. This improvement not only ensures the uniqueness and unpredictability of the signature, but also enhances the defense against replay attacks and signature forgery. In the field of blockchain, this security mechanism is essential to protect the authenticity and integrity of transactions. Through the preliminary verification of the received data blocks by the nodes, the target transaction proposals that meet the preset requirements can be effectively screened out to ensure the normal operation of the blockchain system and the security of the data.
[0227] Optionally, the method further comprises: proving the validity of the qualification information of both parties of the valid financial transaction involving sensitive information and the transaction content to ensure the privacy and security of the valid financial transaction;
[0228] Among them, the qualification information of both parties to the valid financial transaction involving sensitive information and the validity of the transaction content are proved, including: generating plaintext data required for zero-knowledge proof based on the qualification information and transaction content of both parties to the valid financial transaction involving sensitive information; using a zero-knowledge proof generation algorithm to process the plaintext data to generate a zero-knowledge proof; sending the zero-knowledge proof to a verification node to verify the validity of the zero-knowledge proof through the verification node using a zero-knowledge proof verification algorithm; if the zero-knowledge proof verification passes, the qualification information of both parties to the valid financial transaction and the validity of the transaction content are confirmed to ensure the privacy and security of the valid financial transaction.
[0229] In the above scheme, Zero-Knowledge Proof (zk-SNARKs) is a cryptographic technique that allows one party (the prover) to prove to another party (the verifier) that a statement is correct without revealing any other information.
[0230] Among them, qualification information includes the identity information, account balance, credit score, etc. of both parties to the transaction. Transaction content includes transaction amount, transaction time, transaction type (such as transfer, payment, purchase, etc.). Plaintext data refers to the original data without encryption, including the qualification information of both parties to the transaction and the transaction content.
[0231] In the embodiment of the present application, first, based on the qualification information and transaction content of the transaction parties of the valid financial transaction involving sensitive information, the data is extracted and organized into a format suitable for processing by the zero-knowledge proof generation algorithm. The plain text data includes sensitive information such as the identity information of the transaction parties (such as account ID, name, etc.), transaction amount, transaction time, transaction type, etc.
[0232] Secondly, the plaintext data is processed using a zero-knowledge proof generation algorithm to generate a zero-knowledge proof. The specific steps include converting the plaintext data into a Boolean circuit or an arithmetic circuit, generating a set of random parameters, and then using these random parameters and circuit representation to generate zero-knowledge proofs (zk-SNARKs).
[0233] Furthermore, the generated zero-knowledge proof is sent to the verification node. The verification node can be any node in the blockchain network and is responsible for verifying the validity of the transaction. The verification node uses the zero-knowledge proof verification algorithm to verify the validity of the zero-knowledge proof and ensure the correctness and integrity of the proof.
[0234] Finally, if the zero-knowledge proof is verified, the qualification information of the two parties of the valid financial transaction and the validity of the transaction content are confirmed, ensuring the privacy and security of the valid financial transaction. After verification, the transaction can be submitted to the blockchain network for further processing and recording.
[0235] Here is a specific example:
[0236] Assume that on a financial transaction platform, user A initiates a financial transaction involving sensitive information to user B. The specific steps are as follows:
[0237] First, extract the account ID, name, transaction amount, transaction time, transaction type and other information of user A and user B from the transaction request and organize it into a format suitable for processing by the zero-knowledge proof generation algorithm, for example:
[0238] {
[0239] "accountID_A": "123456",
[0240] "name_A": "Alice",
[0241] "accountID_B": "789012",
[0242] "name_B": "Bob",
[0243] "amount": 1000,
[0244] "timestamp": "2024-11-21T18:45:00Z",
[0245] "transaction_type": "transfer"}
[0246] Secondly, the above plaintext data is converted into a Boolean circuit or an arithmetic circuit to generate a set of random parameters (such as r1, r2, r3), and then these random parameters and circuit representation are used to generate zero-knowledge proofs (zk-SNARKs), such as proof = zk-SNARKs(circuit, r1, r2, r3).
[0247] Furthermore, the generated zero-knowledge proof is sent to the verification node. The verification node uses the zero-knowledge proof verification algorithm to verify the validity of the proof. The verification algorithm includes verifying the correctness and completeness of the proof, for example:
[0248] if verify_proof(proof, circuit):
[0249] print("Proof is valid.")
[0250] else:
[0251] print("Proof is invalid.")
[0252] Finally, if the zero-knowledge proof is verified, the eligibility information of user A and user B and the validity of the transaction content are confirmed, ensuring the privacy and security of the transaction. After verification, the transaction is submitted to the blockchain network for further processing and recording, for example:
[0253] if verify_proof(proof, circuit):
[0254] submit_transaction(transaction)
[0255] Through the above steps, the sensitive information of user A and user B is effectively protected, while ensuring the privacy and security of the transaction. The application of zero-knowledge proof technology enables the qualification information and transaction content of both parties to the transaction to be effectively verified without revealing the specific content.
[0256] Figure 2 A schematic diagram of a financial information management system based on blockchain technology is provided for the present application embodiment. Figure 2 As shown, the device comprises:
[0257] A generation module 21 is used to receive a financial transaction request initiated by a user, generate a preliminary transaction proposal, encrypt the transaction details in the preliminary transaction proposal, generate a data block containing the encrypted transaction details, and perform a hash operation on the data block to generate a hash value of the data block; based on the hash value and the user's identity authentication information, use an improved elliptic curve digital signature algorithm to generate an encrypted signature;
[0258] A binding module 22, configured to bind the transaction time of the preliminary transaction proposal and the encrypted signature using a timestamp service to ensure the traceability of the preliminary transaction proposal;
[0259] The broadcast module 23 is used to broadcast the data block corresponding to the preliminary transaction proposal and the encrypted signature to multiple nodes using a distributed network to determine a valid financial transaction, wherein the method for determining the valid financial transaction includes: each of the nodes uses a lightweight consensus algorithm to perform preliminary verification on the received data block to screen out a target transaction proposal that meets the preset requirements, and then uses a Byzantine fault tolerance algorithm to perform in-depth verification to ensure the authenticity and validity of the target transaction proposal. When more than a predetermined proportion of nodes confirm that the target transaction proposal is valid, the target transaction proposal is confirmed to be a valid financial transaction;
[0260] The processing module 24 is used to link the data blocks corresponding to the valid financial transactions to a preset blockchain in chronological order and logical relationship based on the Merkle tree structure to form a transaction record chain, and regularly check the consistency and integrity of the data on the chain.
[0261] Figure 2 The financial information management system based on blockchain technology can execute Figure 1 The implementation principle and technical effect of the financial information management method based on blockchain technology described in the illustrated embodiment will not be repeated. The specific manner in which each module and unit performs operations in the financial information management system based on blockchain technology in the above embodiment has been described in detail in the embodiment of the method, and will not be elaborated here.
[0262] In one possible design, Figure 2 A financial information management system based on blockchain technology in the illustrated embodiment can be implemented as a computing device, such as Figure 3 As shown, the computing device may include a storage component 31 and a processing component 32;
[0263] The storage component 31 stores one or more computer instructions, wherein the one or more computer instructions are called and executed by the processing component 32 .
[0264] The processing component 32 is used to: receive a financial transaction request initiated by a user, and perform a hash operation on the data block to generate a hash value of the data block; based on the hash value and the user's identity authentication information, use an improved elliptic curve digital signature algorithm to generate an encrypted signature, and use a timestamp service to bind the transaction time and encrypted signature of the preliminary transaction proposal to ensure the traceability of the preliminary transaction proposal; use a distributed network to broadcast the data block and encrypted signature corresponding to the preliminary transaction proposal to multiple nodes to determine a valid financial transaction; based on a Merkle tree structure, link the data blocks corresponding to the valid financial transaction to a preset blockchain in chronological order and logical relationship, and regularly check the consistency and integrity of the on-chain data.
[0265] The processing component 32 may include one or more processors to execute computer instructions to complete all or part of the steps in the above method. Of course, the processing component may also be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors or other electronic components to perform the above method.
[0266] The storage component 31 is configured to store various types of data to support operations at the terminal. The storage component can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.
[0267] Of course, the computing device may also include other components, such as input / output interfaces, display components, communication components, etc.
[0268] The input / output interface provides an interface between the processing component and the peripheral interface module, which may be an output device, an input device, etc.
[0269] The communication component is configured to facilitate, among other things, wired or wireless communications between the computing device and other devices.
[0270] Among them, the computing device can be a physical device or an elastic computing host provided by a cloud computing platform, etc. In this case, the computing device can refer to a cloud server, and the above-mentioned processing components, storage components, etc. can be basic server resources rented or purchased from the cloud computing platform.
[0271] The present application also provides a computer storage medium storing a computer program, wherein the computer program can achieve the above-mentioned Figure 1 A financial information management method based on blockchain technology in the illustrated embodiment.
[0272] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0273] The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Ordinary technicians in this field can understand and implement it without paying creative labor.
[0274] Through the description of the above implementation methods, those skilled in the art can clearly understand that each implementation method can be implemented by means of software plus a necessary general hardware platform, and of course, can also be implemented by hardware. Based on this understanding, the above technical solution is essentially or the part that contributes to the prior art can be embodied in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.
[0275] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application.
Claims
1. A financial information management method based on blockchain technology, characterized in that: include: Receive a financial transaction request initiated by a user, generate a preliminary transaction proposal, encrypt the transaction details in the preliminary transaction proposal, generate a data block containing the encrypted transaction details, and perform a hash operation on the data block to generate a hash value of the data block; Based on the hash value and the user's identity authentication information, an improved elliptic curve digital signature algorithm is used to generate an encrypted signature, and a timestamp service is used to bind the transaction time of the preliminary transaction proposal to the encrypted signature to ensure the traceability of the preliminary transaction proposal; The data block corresponding to the preliminary transaction proposal and the encrypted signature are broadcasted to multiple nodes using a distributed network to determine a valid financial transaction, wherein the method for determining the valid financial transaction includes: each of the nodes uses a lightweight consensus algorithm to perform preliminary verification on the received data block to screen out a target transaction proposal that meets the preset requirements, and then uses a Byzantine fault tolerance algorithm to perform in-depth verification to ensure the authenticity and validity of the target transaction proposal. When more than a predetermined proportion of nodes confirm that the target transaction proposal is valid, the target transaction proposal is confirmed to be a valid financial transaction; Based on the Merkle tree structure, the data blocks corresponding to the valid financial transactions are linked to the preset blockchain in chronological order and logical relationship to form a transaction record chain, and the consistency and integrity of the data on the chain are regularly checked; The method of using an improved elliptic curve digital signature algorithm to generate an encrypted signature includes: Using the user's private key For the hash value Perform signature processing and generate signature value; Generate random numbers using a random number generator , the random number is less than the order of the elliptic curve A positive integer of ; Using the random number and elliptic curve base points Calculation Point ,point The coordinates of ; Take the point The x-coordinate of Parallel ,get ,like , then reselect the random number And repeatedly execute using the random number and elliptic curve base points Calculation Point Steps; Introducing an extra safety factor , using the private key , the random number , the hash value and the safety factor Calculate the signature value : ; in, yes In the model The safety factor Indicates a timestamp or a random number, is a hash function used to enhance the security of the signature. , then reselect the random number And repeatedly execute using the random number and elliptic curve base points Calculation Point Steps; The signature value With the coordinate Combine to get the encrypted signature .
2. The method according to claim 1, characterized in that Also includes: Prove the validity of the qualification information of both parties of the valid financial transaction involving sensitive information and the transaction content to ensure the privacy and security of the valid financial transaction; The certification of the qualification information of both parties to the valid financial transaction involving sensitive information and the validity of the transaction content includes: Generate plaintext data required for zero-knowledge proof based on the qualification information of both parties of the valid financial transaction involving sensitive information and the transaction content; Using a zero-knowledge proof generation algorithm, the plaintext data is processed to generate a zero-knowledge proof; Sending the zero-knowledge proof to a verification node so that the verification node can verify the validity of the zero-knowledge proof using a zero-knowledge proof verification algorithm; If the zero-knowledge proof is verified, the qualification information of the two parties to the valid financial transaction and the validity of the transaction content are confirmed, ensuring the privacy and security of the valid financial transaction.
3. The method according to claim 1, characterized in that The step of generating an encrypted signature based on the hash value and the user's identity authentication information using an improved elliptic curve digital signature algorithm, and binding the transaction time of the preliminary transaction proposal to the encrypted signature using a timestamp service, includes: Based on the hash value and the identity authentication information of the user, the hash value is signed using an improved elliptic curve digital signature algorithm to generate an encrypted signature to ensure the non-repudiation and authenticity of the preliminary transaction proposal; Using the timestamp service, the transaction time of the preliminary transaction proposal and the encrypted signature are bound to generate a timestamp containing the transaction time and the encrypted signature, thereby ensuring the traceability of the preliminary transaction proposal and the accuracy of the time point; The timestamp is bound to the data block to generate comprehensive information including transaction time, encrypted signature and hash value, ensuring that the preliminary transaction proposal has a unique and tamper-proof record.
4. The method according to claim 3, characterized in that The user's identity verification information includes a private key; The step of using an improved elliptic curve digital signature algorithm to sign the hash value based on the hash value and the identity authentication information of the user to generate an encrypted signature includes: Using the user's private key , for the hash value Perform signature processing and generate signature value; Generate random numbers using a random number generator , the random number is less than the order of the elliptic curve A positive integer of ; Using the random number and elliptic curve base points Calculation Point ,point The coordinates of ; Take the point x coordinate Parallel ,get ,like , then reselect the random number And repeatedly execute using the random number and elliptic curve base points Calculation Point Steps; Introducing an extra safety factor , using the private key , the random number , the hash value and the safety factor Calculate the signature value : ; in, yes In the model The safety factor Indicates a timestamp or a random number, is a hash function used to enhance the security of the signature. , then reselect the random number And repeatedly execute using the random number and elliptic curve base points Calculation Point Steps; The signature value With the coordinate Combine to get the encrypted signature .
5. The method according to claim 4, characterized in that Each of the nodes uses a lightweight consensus algorithm to perform preliminary verification on the received data blocks to screen out target transaction proposals that meet the preset requirements, and then uses a Byzantine fault tolerance algorithm for in-depth verification to ensure the authenticity and validity of the target transaction proposals. When more than a predetermined proportion of nodes confirm that the target transaction proposal is valid, the process of confirming that the target transaction proposal is a valid financial transaction includes: Each of the nodes receives the data block and the encrypted signature corresponding to the preliminary transaction proposal, checks whether the format of the data block meets the preset standard, and recalculates the hash value of the data block to ensure that the calculated hash value is consistent with the hash value generated during broadcasting; Verify the encrypted signature using the public key of the user, and determine the verified preliminary transaction proposal as the target transaction proposal; The target transaction proposal is broadcast to all nodes so that each node conducts multiple rounds of message transmission with other nodes to ensure that all nodes reach a consensus on the target transaction proposal, and after more than a predetermined proportion of nodes confirm that the target transaction proposal is valid, the target transaction proposal is confirmed to be a valid financial transaction.
6. The method according to claim 5, characterized in that The method of linking the data blocks corresponding to the valid financial transactions to the preset blockchain in chronological order and logical relationship based on the Merkle tree structure to form a transaction record chain includes: Collect data blocks corresponding to all valid financial transactions within a set time period; The hash value of the data block is used as a leaf node of the Merkle tree, and the Merkle tree is constructed by calculating the hash value layer by layer to generate a Merkle root hash value; Generate a block header using the hash value of the previous block, the timestamp of the current time, and the Merkle root hash value; Taking the data blocks corresponding to all valid financial transactions as the block body, and constructing a new block according to the block header and the block body; The new block is linked to the preset blockchain, ensuring that the hash value of each block is connected to the hash value of the previous block to form a transaction record chain.
7. The method according to claim 5, characterized in that Each of the nodes uses a lightweight consensus algorithm to perform preliminary verification on the received data blocks to screen out target transaction proposals that meet the preset requirements. The process includes the following calculation formula: Recalculate the hash value of the data block , ensure that the calculated hash value The hash value is consistent with the one generated during broadcasting; Use the public key of the user The encrypted signature To verify, the verification formula is as follows: ; ; ; ; in, yes In the model The inverse element below, is a unique identifier, is the elliptic curve base point, is the user's public key, Yes of coordinate, It is a hash function used to enhance the security of the signature; like , then the encrypted signature verification is passed, and the preliminary transaction proposal is determined as the target transaction proposal.
8. The method according to claim 6, characterized in that The process of linking the data blocks corresponding to the valid financial transactions to the preset blockchain in chronological order and logical relationship based on the Merkle tree structure to form a transaction record chain includes the following calculation formula: The hash value of the data block is used as the leaf node of the Merkle tree, and the Merkle tree is constructed by calculating the hash value layer by layer to generate the Merkle root hash value. , the calculation formula is as follows: ; in, It is Layer The hash value of each node, and It is Layer and The hash value of each node, It is a hash function used to enhance the security of the Merkle tree. The resulting Merkle root hash value is is the top-level hash value; Using the hash value of the previous block , timestamp of current time and the Merkle root hash , generate block header , the calculation formula is as follows: ; in, is the hash value of the previous block, is the timestamp of the current time, is the Merkle root hash, It is a hash function used to enhance the security of the block header; All data blocks corresponding to valid financial transactions are used as block bodies , and according to the block header and the block Building a new block ; The new block Link to the preset blockchain to ensure that the hash value of each block is connected to the hash value of the previous block to form a transaction record chain.
9. A financial information management system based on blockchain technology, characterized in that: include: A generation module, configured to receive a financial transaction request initiated by a user, generate a preliminary transaction proposal, encrypt the transaction details in the preliminary transaction proposal, generate a data block containing the encrypted transaction details, and perform a hash operation on the data block to generate a hash value of the data block; Based on the hash value and the identity authentication information of the user, an encrypted signature is generated using an improved elliptic curve digital signature algorithm; A binding module, configured to bind the transaction time of the preliminary transaction proposal and the encrypted signature using a timestamp service to ensure the traceability of the preliminary transaction proposal; A broadcast module, used to broadcast the data block corresponding to the preliminary transaction proposal and the encrypted signature to multiple nodes using a distributed network to determine a valid financial transaction, wherein the method for determining the valid financial transaction includes: each of the nodes uses a lightweight consensus algorithm to perform preliminary verification on the received data block to screen out a target transaction proposal that meets the preset requirements, and then uses a Byzantine fault tolerance algorithm to perform in-depth verification to ensure the authenticity and validity of the target transaction proposal. When more than a predetermined proportion of nodes confirm that the target transaction proposal is valid, the target transaction proposal is confirmed to be a valid financial transaction; A processing module, used to link the data blocks corresponding to the valid financial transactions to a preset blockchain in chronological order and logical relationship based on a Merkle tree structure to form a transaction record chain, and regularly check the consistency and integrity of the data on the chain; Using the user's private key , for the hash value Perform signature processing and generate signature value; Generate random numbers using a random number generator , the random number is less than the order of the elliptic curve A positive integer of ; Using the random number and elliptic curve base points Calculation Point ,point The coordinates of ; Take the point of coordinate Parallel ,get ,like , then reselect the random number And repeatedly execute using the random number and elliptic curve base points Calculation Point Steps; Introducing an extra safety factor , using the private key , the random number , the hash value and the safety factor Calculate the signature value : ; in, yes In the model The safety factor Indicates a timestamp or a random number, is a hash function used to enhance the security of the signature. , then reselect the random number And repeatedly execute using the random number and elliptic curve base points Calculation Point Steps; The signature value With the coordinate Combine to get the encrypted signature .
10. A computing device, characterized in that It comprises a processing component and a storage component; the storage component stores one or more computer instructions; the one or more computer instructions are used to be called and executed by the processing component to implement a financial information management method based on blockchain technology as described in any one of claims 1 to 8.
Citation Information
Patent Citations
Foreign trade supply chain financial system based on block chain
CN117611155A
A method of managing group keys for sharing data between multiple devices in M2M environment
KR101704540B1