Related transaction tracing method based on blockchain
Through the inter-bank-based blockchain-based related transaction traceability method, the hash value of transaction ID and limited-time encryption algorithm are used to realize the correlation and traceability of transaction information between banks, solving the problem of low efficiency in the use of funds and improving funds The efficiency of supervision and the security of information sharing.
Patent Information
- Application Number
- CN202210356366.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-04-06
- Publication Date
- 2024-12-06
- Estimated Expiration
- 2042-04-06
AI Technical Summary
The existing technology lacks technical solutions that can achieve online, privacy and security transaction information correlation and traceability between banks, resulting in low efficiency in supervision of the use of funds and difficulty in time to detect illegal use of special funds.
Using a blockchain-based related transaction traceability method, transaction information association is realized through the hash value of the transaction ID, supervised accounts and traceability lines are set, transaction information is encrypted using a limited-time encryption algorithm, and shared and decrypted on the blockchain through smart contracts. Transaction information to ensure information security and efficiency.
The efficiency of fund supervision is improved, suspicious capital violations are automatically discovered through the online system, the security of transaction information sharing is enhanced, and the consumption of computing power of blockchain nodes is reduced.
Smart Images

Figure CN114757773B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of information technology, and in particular to a method for tracing the source of associated transactions based on blockchain. Background Art
[0002] Enterprises use special funds in their operations, such as operating loans, special loans, and funds in regulatory accounts. The use of special funds needs to be limited to specific purposes and must not be used in violation of regulations. For example, if operating loans are illegally channeled into the stock market or real estate, it will not only damage the reputation of the enterprise, but also affect fair competition and healthy development in the market. For this reason, banks need to monitor the final use of loans and other special funds. The transaction links generated by the illegal use of funds usually involve multiple banks or other financial institutions, which brings inconvenience to banks in monitoring the use of funds. At present, the way to track fund transactions involving multiple financial institutions is in the form of offline letters. Banks and other financial institutions complete the tracking and supervision of funds through offline cooperation. However, the efficiency of offline letters is extremely low, and it is difficult to timely and effectively discover the illegal use of special funds, and the deterrent effect on illegal enterprises is not strong. Therefore, it is necessary to study the technology of online transaction association and tracing.
[0003] For example, Chinese patent CN113711265A, published on November 26, 2021, is a method and device for tracing blockchain transactions, which is used to solve the problem that the existing technology cannot quickly construct a tracing path for transactions and the system overhead is large. The method includes: obtaining information about the transaction to be traced, the information about the transaction to be traced includes the input value of the transaction to be traced, and determining the leaf node of the transaction to be traced according to the input value of the transaction to be traced and the Bloom filter corresponding to each block in the blockchain system. The Bloom filter stores the output value of the transaction contained in the block, and generates a tracing path for the transaction to be traced according to the leaf node of the transaction to be traced. Its technical solution tracks transactions based on the Bloom filter corresponding to each block and the input value of the transaction to be traced, and can quickly generate a tracing path for the transaction to be traced, which helps to improve the tracing efficiency of the tracing path and reduce system overhead. However, its technical solution cannot solve the problem of tracing related transactions across institutions. Summary of the invention
[0004] The technical problem to be solved by the present invention is that there is currently a lack of technical solutions for online interbank transaction information association that can take into account privacy and security. A blockchain-based associated transaction tracing method is proposed, which realizes the association of transaction information based on the hash value of the transaction ID, provides an online channel for fund use supervision, and helps to improve the efficiency of fund supervision.
[0005] In order to solve the above technical problems, the technical solution adopted by the present invention is: a method for tracing the source of associated transactions based on blockchain, including: setting up several supervision accounts, the bank where the supervision account is located is recorded as the initiating bank, when a collection transaction occurs in the supervision account and the transaction amount exceeds a preset threshold, the collection transaction is recorded as a transaction to be traced; the initiating bank publishes a tracing smart contract on the blockchain, and the tracing smart contract discloses the hash value of the collection transaction ID; several other banks connected to the blockchain are recorded as tracing banks, and several tracing banks poll the blockchain; when the transaction ID of the outgoing transaction in the tracing bank matches the hash value of the collection transaction ID disclosed by the tracing smart contract, the tracing bank reads the outgoing account and transaction amount of the outgoing transaction; the tracing smart contract The tracing bank determines whether the total transaction amount of several receiving transactions of the payment account within a preset time period differs from the transaction amount of the payment transaction within a preset range; if so, the payment transaction information of the several receiving transactions is encrypted by a time-limited encryption algorithm and uploaded to the blockchain for storage, and the secret key of the time-limited encryption algorithm is encrypted by the public key of the initiating bank and sent to the initiating bank; the tracing bank appends the hash value of the transaction ID of the several receiving transactions to the public tracing smart contract; the initiating bank polls the blockchain and decrypts the payment transaction information within a time limit, and all the payment transaction information obtained by decryption constitutes the traceability transaction of the transaction to be traced; if there is a payment account involving regulatory funds in the traceability transaction, an offline verification and punishment procedure is initiated.
[0006] Preferably, the tracing bank counts the number of withdrawal transactions of the withdrawal account within a preset time period, so that the total transaction amount differs from the transaction amount of the withdrawal transaction within a preset range, and records it as N; the initiating bank sets a threshold N_max and makes it public, and the tracing bank compares the size of N and N_max. If N>N_max, the hash value of the preset termination tracing identifier associated with the collection transaction ID is uploaded to the tracing smart contract.
[0007] Preferably, the tracing line modifies the value of N_max within a preset range according to the historical disciplinary record of the withdrawal account. If the withdrawal account has no historical disciplinary record, the value of N_max remains unchanged. If the withdrawal account has a historical disciplinary record, the value of N_max is increased within a preset range.
[0008] Preferably, any bank publishes a time-limited reference smart contract on the blockchain. The time-limited reference smart contract includes a number of reference columns and receiving columns. The reference column includes a column number, a remaining update duration, and m sample points (xi, yi), where i ∈ [1, m]. When the remaining update duration is 0, the sample points of the reference column are updated. The time-limited reference smart contract discloses the column number and sample points of the reference column; the method for the tracing bank to encrypt the collection transaction information using a time-limited encryption algorithm includes: writing the time limit duration into the receiving column. After the time-limited reference smart contract reads the time limit duration, it selects the reference column corresponding to the corresponding remaining update duration, encrypts the column number of the reference column using the public key of the tracing bank, and writes it into the receiving column; the tracing bank decrypts to obtain the column number, and reads the column number and m sample points of the reference column; the tracing bank generates a random integer n, where n < m, generates a unary polynomial f(x), and the unary polynomial passes through n of the m sample points; calculates the distance d between the remaining m - n sample points and the unary polynomial, d = |f(xj) - yj|, where (xj, yj) is the coordinate value of the sample point, and the sum of the distances between all sample points and the unary polynomial is recorded as the sample distance; exhausts the unary polynomials passing through n sample points to obtain the unary polynomial with the smallest sample distance, which is recorded as the encryption polynomial; encrypts the collection transaction information using a symmetric encryption algorithm to obtain the transaction ciphertext, and the encryption key is recorded as Key. Uploads the transaction ciphertext to the blockchain; encrypts Key using the encryption polynomial to obtain the Key ciphertext, and uploads the Key ciphertext, the column number, and the value n encrypted using the public key of the initiating bank to the blockchain for storage; the initiating bank polls the blockchain and decrypts using the private key to obtain the Key ciphertext, the column number, and the value n; the initiating bank reads the m sample points of the reference column corresponding to the column number within the time limit; exhausts the unary polynomials passing through n sample points to obtain the unary polynomial with the smallest sample distance, which is recorded as the restored encryption polynomial; decrypts to obtain Key using the restored encryption polynomial, and decrypts the collection transaction information using Key.
[0009] Preferably, the method for the tracing bank to encrypt Key using the encryption polynomial includes: converting Key into a binary stream, truncating it into a number of binary numbers B according to a preset length; generating a data combination (b1, x1, b2, x2, …, bN, xN, △), where bi ∈ {0, 1}, such that B = ∑(-1)^bi * f(xi) + △, where i ∈ [1, N], and △ is a correction value; the set formed by the data combination in order is the Key ciphertext.
[0010] Preferably, any bank publishes a time-limited reference smart contract on the blockchain. The time-limited reference smart contract includes several reference columns and receiving columns. The reference column includes a column number, a remaining update duration, and m sample points (xi, yi), where i ∈ [1, m]. When the remaining update duration is 0, the sample points of the reference column are updated. The time-limited reference smart contract discloses the column number and sample points of the reference column. The method for the tracing bank to encrypt the receipt transaction information using a time-limited encryption algorithm includes: writing the time limit into the receiving column. After the time-limited reference smart contract reads the time limit, it selects the reference column corresponding to the remaining update duration, encrypts the column number of the reference column using the public key of the tracing bank, and writes it into the receiving column. The tracing bank decrypts to obtain the column number, and reads the column number and m sample points of the reference column. The tracing bank generates a random integer n, where n < m, and generates a univariate polynomial f(x). The univariate polynomial passes through n of the m sample points. Calculate the distance d between the remaining m - n sample points and the univariate polynomial, where d = |f(xj) - yj|, and (xj, yj) are the coordinate values of the sample points. The sum of the distances between all sample points and the univariate polynomial is denoted as the sample distance. Exhaust the univariate polynomials passing through n sample points, and arrange the univariate polynomials in ascending order of the sample distance. Select one of the univariate polynomials as the encryption polynomial, and obtain the sorting serial number s of the encryption polynomial. Encrypt the receipt transaction information using a symmetric encryption algorithm to obtain the transaction ciphertext. The encryption key is denoted as Key. Upload the transaction ciphertext to the blockchain. Encrypt the key Key using the encryption polynomial to obtain the Key ciphertext. After encrypting the Key ciphertext, the column number, the value n, and the serial number s using the public key of the initiating bank, upload them to the blockchain for storage. The initiating bank polls the blockchain and decrypts using the private key to obtain the Key ciphertext, the column number, and the value n. The initiating bank reads the m sample points of the reference column corresponding to the column number within the time limit. Exhaust the univariate polynomials passing through n sample points, and arrange the univariate polynomials in ascending order of the sample distance. The univariate polynomial corresponding to the serial number s is denoted as the restored encryption polynomial. Decrypt using the restored encryption polynomial to obtain the key Key, and decrypt the receipt transaction information using the key Key.
[0011] The substantial effect of the present invention is: realizing the association of transactions among different financial institutions through the hash value of the transaction ID, and controlling the diffusion range of the transaction information shared among financial institutions with the help of time-limited encryption, which helps to improve the security of transaction information sharing; with the help of the improved time-limited encryption algorithm, the efficiency of time-limited encryption can be improved, and at the same time, the consumption of the computing power of the blockchain nodes can be reduced. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] Figure 1 It is a schematic diagram of the associated transaction tracing method in Embodiment 1.
[0013] Figure 2 It is a schematic diagram of the encryption method using the time-limited encryption algorithm in Embodiment 1.
[0014] Figure 3 This is a schematic diagram of a method for encrypting a secret key Key using an encryption polynomial in Example 1. DETAILED DESCRIPTION
[0015] The specific implementation of the present invention will be further described below through specific examples in conjunction with the accompanying drawings.
[0016] Embodiment 1:
[0017] For the blockchain-based related transaction tracing method, please refer to the attached Figure 1 , including: step A01) setting up several supervision accounts, the bank where the supervision account is located is recorded as the initiating bank, when the supervision account has a collection transaction and the transaction amount exceeds the preset threshold, the initiating bank publishes a tracing smart contract on the blockchain, and the tracing smart contract publicly discloses the hash value of the collection transaction ID; step A02) several other banks connected to the blockchain are recorded as tracing banks, and several tracing banks poll the blockchain; step A03) when the transaction ID of the outgoing transaction in the tracing bank matches the hash value of the collection transaction ID disclosed by the tracing smart contract, the tracing bank reads the outgoing account and transaction amount of the outgoing transaction; step A04) the tracing bank determines whether there are several collection transactions in the outgoing account within a preset time period The difference between the total transaction amount of the payment transaction and the transaction amount of the payment transaction is within a preset range; Step A05) If it exists, the payment transaction information of several payment transactions is encrypted using a time-limited encryption algorithm and uploaded to the blockchain for storage, and the secret key of the time-limited encryption algorithm is encrypted using the public key of the initiating bank and sent to the initiating bank; Step A06) The tracking bank appends the hash value of the transaction ID of several payment transactions to the traceability smart contract for public; Step A07) The initiating bank polls the blockchain and decrypts the payment transaction information within a time limit. All the payment transaction information obtained by decryption constitutes the traceability transaction of the transaction to be traced; Step A08) If there is a payment account involving regulatory funds in the traceability transaction, an offline verification and punishment procedure is initiated.
[0018] The source of account funds is a difficult task to complete, because funds are constantly aggregated and dispersed in different accounts during the transaction process. Funds are not different. When special funds enter a certain account, mix with ordinary funds, and then flow into restricted industries, it is difficult to determine whether special funds flow into restricted industries or ordinary funds flow into restricted industries. To finally determine the illegal use of funds, offline verification procedures are still needed. However, there are certain rules to follow for the illegal use of funds. By sharing transaction information online between banks and establishing a tracing mechanism, suspicious illegal use of funds can be discovered. In this embodiment, the supervision account is the account of an enterprise in an industry with restricted inflows, such as the accounts of several real estate developers or sales companies. When funds flow into such enterprises, the bank where the supervision account is located initiates tracing and traces the source of the funds upward. If the tracing finds that the funds come from special funds, an offline verification and punishment procedure is initiated. With the help of an online system, transactions involving special funds are automatically discovered. Combined with offline verification procedures, the efficiency of fund supervision can be improved as a whole, and the illegal use of funds can be discovered in a timely manner. The hash value is obtained by inputting data into a hash function. The hash value is a hexadecimal number of a preset length, such as 0x2D3FD3…622A1D. Commonly used hash functions include SHA256, SHA512, and SM2. When hash values are mentioned in this field, the corresponding hash function names are usually mentioned together. Using the same hash function to extract hash values from the same data will result in the same hash values.
[0019] By comparing the hash values, it is possible to determine whether the transaction IDs are the same without leaking the transaction IDs. The transaction ID refers to the ID generated by the financial system for each transfer, and the transaction ID is unique. For each incoming transaction, there is a corresponding outgoing transaction. The corresponding incoming and outgoing transactions may be in the same bank or in two banks, but the banks involved know all the relevant information of the transaction, including the outgoing account, the receiving account, the transaction ID, the transaction amount, and the transaction time. Therefore, when establishing a transaction association, it is only necessary to establish it based on the transaction ID, and there is no need to provide information on the outgoing account, the receiving account, or the transaction amount. This can reduce the amount of data that the blockchain needs to store and speed up the efficiency of establishing transaction associations.
[0020] When the supervision account generates a collection transaction with a transaction amount exceeding the preset threshold, the source of the funds may involve multiple transactions. For example, if the supervision account is account A, account A receives a fund from account B, and the funds of account B come from account C, account D and account E respectively. Correspondingly, within the preset time period, account B will have 3 collection transactions from account C, account D and account E respectively. Account C, account D and account E also have collection transactions involving corresponding sources of funds. By polling the blockchain by tracing banks, the hash value of the matching transaction ID is continuously found, so that the hash value of the transaction ID disclosed by the tracing smart contract is continuously increased until the source of the funds being traced, that is, the bank or financial institution where the special funds are lent, or the transaction amount involved in a certain account is small and the number is large, such an account will block the transaction tracing. However, the cost of illegal transfer of funds for accounts with relatively small amounts and large number of transactions is high, and it is usually not within the transfer path of illegal use of funds. And illegal fund transfers with small transaction amounts and large numbers are easily discovered directly by a single bank, and there is no need to establish cooperation between banks for discovery and identification, which is not within the scope of discussion in this embodiment.
[0021] The tracing bank counts the number of withdrawal transactions in the preset time period, so that the total transaction amount and the transaction amount of the withdrawal transaction are within the preset range, and records it as N; the initiating bank sets the threshold N_max and makes it public, and the tracing bank compares the size of N and N_max. If N>N_max, the hash value of the preset termination tracing identifier associated with the collection transaction ID is uploaded to the tracing smart contract. It is a common way to use special funds in violation of regulations to divide the special funds into several parts and transfer them to the illegal account through different accounts. Practice summary: This kind of illegal use of funds generally spans no more than half a month, and the accounts involved are usually no more than 5. In this embodiment, if the source of funds exceeds 5 accounts, the value of N_max can be set to 5. For example, account C receives a special fund, and account C pays the special fund to account B in normal operation. Account B also received funds from accounts D and E in operation. After summarizing the 3 funds, account B invested the funds in the stock market or real estate industry under its own investment intention. At this time, since the number of funds collected in the account is less than 5, the bank where account B is located will act as a tracing bank and share the collection transactions involved in account B within half a month on the blockchain through the method provided in this embodiment. This will eventually trigger an offline verification procedure, and after verification, it will be determined that there is no illegal use behavior.
[0022] Similarly, if the funds transferred from the other three accounts of account B within half a month are linked to account C, account D and account E and then transferred to account A, it involves 6 collection transactions, which exceeds the value of N_max. At this time, the bank where account B is located will not share the collection transaction information of account B, and will not trigger the offline verification procedure. If the initiating bank finds that there is no relevant shared transaction information, it will also determine that the source of funds received by account A is relatively scattered, and the probability of illegal use is low.
[0023] Furthermore, the tracing bank modifies the value of N_max within a preset range based on the historical disciplinary record of the withdrawal account. If the withdrawal account has no historical disciplinary record, the value of N_max remains unchanged. If the withdrawal account has a historical disciplinary record, the value of N_max is increased within a preset range.
[0024] Any bank publishes a time-limited reference smart contract on the blockchain. The time-limited reference smart contract includes several reference columns and receiving columns. The reference column includes the column number, the remaining update time and m sample points (xi,yi), i∈[1,m]. When the remaining update time is 0, the sample points of the reference column are updated. The time-limited reference smart contract discloses the column number and sample points of the reference column. Please refer to the attached Figure 2, the method for encrypting the to-be-collected transaction information of the traceability line using a time-limited encryption algorithm includes: Step B01) Write the time limit duration into the receiving column. After the time limit reference smart contract reads the time limit duration, select the corresponding reference column for the remaining update duration, and write the column number of the reference column encrypted with the public key of the traceability line into the receiving column; Step B02) The traceability line decrypts to obtain the column number and reads the column number of the reference column and m sample points; Step B03) The traceability line generates a random integer n, n < m, and generates a univariate polynomial f(x) that passes through n of the m sample points; Step B04) Calculate the distance d between the remaining m - n sample points and the univariate polynomial, d = |f(xj) - yj|, where (xj, yj) are the coordinate values of the sample points, and the sum of the distances between all sample points and the univariate polynomial is denoted as the sample distance; Step B05) Exhaust the univariate polynomials passing through n sample points to obtain the univariate polynomial with the smallest sample distance, denoted as the encryption polynomial; Step B06) Encrypt the collection transaction information using a symmetric encryption algorithm to obtain the transaction ciphertext. The encryption key is denoted as Key. Upload the transaction ciphertext to the blockchain; Step B07) Encrypt the key Key using the encryption polynomial to obtain the Key ciphertext. After encrypting the Key ciphertext, column number, and value n with the public key of the initiating bank, upload them to the blockchain for storage; Step B08) The initiating bank polls the blockchain and decrypts using the private key to obtain the Key ciphertext, column number, and value n; Step B09) The initiating bank reads the m sample points of the reference column corresponding to the column number within the time limit; Step B10) Exhaust the univariate polynomials passing through n sample points to obtain the univariate polynomial with the smallest sample distance, denoted as the restored encryption polynomial; Step B11) Decrypt using the restored encryption polynomial to obtain the key Key, and decrypt the collection transaction information using the key Key.
[0025] Table 1 Reference Columns of the Reference Smart Contract
[0026] Column Number Remaining update time Sample points 1 1d (1,26),(2,30),(3,64),(5,36),(7,28),(8,40) 2 2d (2,16),(3,40),(5,29),(6,36),(7,39),(9,12) … … 60 60d (2,36),(3,50),(4,18),(6,26),(8,19),(9,20) … … 90 90d (1,67),(2,15),(3,37),(5,16),(7,47),(9,84)
[0027] As recorded in Table 1, the reference smart contract discloses 90 reference columns, and each reference column has 6 sample points. The to-be-updated duration ranges from 1d to 90d, where d represents days. That is, the longest time limit duration is 90 days, and the shortest time limit duration is 1 day. If the first reference column is selected to complete the time-limited encryption, the sample points will be updated the next day. After the update, it will no longer be possible to correctly decrypt to obtain Key, thus terminating the sharing of transaction information. After the reference column with column number 1 is updated on the second day, the remaining update duration becomes 90d, and the remaining update duration of the reference column with column number 90 becomes 89d.
[0028] The reference column with column number 60 is selected in the traceback row, that is, the time limit is 60 days. The value of the random integer n is 3, then 3 sample points are selected from the sample point group. For example: (2,36), (3,50), (4,18), the univariate polynomial formed is f(x)=-23*x^2+129*x-130. The distance between the univariate polynomial f(x)=-23*x^2+129*x-130 and the sample point (6,26) is dist=|f(6)-26|=210. The same calculation is used to obtain the distance between the univariate polynomial f(x)=-23*x^2+129*x-130 and other sample points, and the distance sum is calculated and recorded as the sample distance. Exhaustively select 3 sample points from the 6 sample points to obtain multiple univariate polynomials. The sample point with the smallest distance is used as the encryption polynomial.
[0029] Please see attached Figure 3 , the method of tracing back the secret key Key using the encryption polynomial includes: step C01) converting the secret key Key into a binary stream and truncating it into a number of binary numbers B according to a preset length; step C02) generating a data combination (b1, x1, b2, x2, …, bN, xN, △), bi∈{0,1}, so that B=∑(-1)^bi*f(xi), where i∈[1,N], △ is a correction value; step C03) the set of data combinations composed in order is the Key ciphertext.
[0030] Convert the key to binary: 01111011 01010011 01101001 01100111 0110111001000001 00101100 01010011 01101001 01100111 01101110 01000010 0010110000110001 00110000 00110000 00101100 00110110 00110100 0011011100110101 00110000 00110110 001101100 00110100 01111101, a total of 28 bytes. 7 binary numbers are obtained by 4-byte interception, namely: {2069064039,1849764947,1768386114,741421104,741422644,926232630,959853693}. The encryption polynomial is f(x)=-23*x^2+129*x-130. The binary number B=2069064039D can be expressed as 2069064039D=-f(9300)-f(1800)-f(530)+313219, that is, the data combination is (1, 9300,1,1800,1,530,313219).
[0031] The beneficial technical effects of this embodiment are: the transaction association between different financial institutions is achieved through the hash value of the transaction ID, and the diffusion range of transaction information shared between financial institutions is controlled by means of time-limited encryption, which helps to improve the security of transaction information sharing; with the help of an improved time-limited encryption algorithm, the efficiency of time-limited encryption can be improved, while reducing the consumption of blockchain node computing power.
[0032] Embodiment 2:
[0033] Based on the blockchain-based associated transaction tracing method, this embodiment proposes a new technical solution for the time-limited encryption algorithm.
[0034] In the first embodiment, if the correct n value is not obtained, each sample point group includes only 6 sample points, and 6 encryption polynomials can be restored through the 6 sample points. The time-limited encryption can be easily cracked by an exhaustive attack. For this reason, when implementing the solution recorded in the first embodiment, it is necessary to increase the number of digital pairs contained in each sample point group, such as increasing it to 512 or 1024 sample points. When the number of sample points is increased to 512, 512 encryption polynomials can be restored, which is still not enough to provide sufficient security guarantees. Therefore, this embodiment provides a new technical solution based on the first embodiment.
[0035] In this embodiment, any bank publishes a time-limited reference smart contract on the blockchain. The time-limited reference smart contract includes a number of reference columns and receiving columns. The reference column includes a column number, a remaining update duration, and m sample points (xi, yi), where i ∈ [1, m]. When the remaining update duration is 0, the sample points of the reference column are updated, and the column number and sample points of the reference column are made public in the time-limited reference smart contract. The method for encrypting the collection transaction information by the tracing bank using a time-limited encryption algorithm includes: writing the time limit into the receiving column. After the time-limited reference smart contract reads the time limit, it selects the reference column corresponding to the remaining update duration, encrypts the column number of the reference column with the public key of the tracing bank, and writes it into the receiving column. The tracing bank decrypts to obtain the column number, and reads the column number and m sample points of the reference column. The tracing bank generates a random integer n, where n < m, and generates a univariate polynomial f(x). The univariate polynomial passes through n of the m sample points. Calculate the distance d between the remaining m - n sample points and the univariate polynomial, where d = |f(xj) - yj|, and (xj, yj) are the coordinate values of the sample points. The sum of the distances between all sample points and the univariate polynomial is denoted as the sample distance. Exhaust the univariate polynomials passing through n sample points, and arrange the univariate polynomials in ascending order of the sample distance. Select one of the univariate polynomials as the encryption polynomial, and obtain the sorting sequence number s of the encryption polynomial. Encrypt the collection transaction information using a symmetric encryption algorithm to obtain the transaction ciphertext. The encryption key is denoted as Key. Upload the transaction ciphertext to the blockchain. Encrypt the key Key using the encryption polynomial to obtain the Key ciphertext. After encrypting the Key ciphertext, column number, value n, and sequence number s with the public key of the initiating bank, upload them to the blockchain for storage. The initiating bank polls the blockchain and decrypts using the private key to obtain the Key ciphertext, column number, and value n. The initiating bank reads the m sample points of the reference column corresponding to the column number within the time limit. Exhaust the univariate polynomials passing through n sample points, arrange the univariate polynomials in ascending order of the sample distance, and the univariate polynomial corresponding to the sequence number s is denoted as the restored encryption polynomial. Decrypt using the restored encryption polynomial to obtain the key Key, and use the key Key to decrypt to obtain the collection transaction information.
[0036] In this embodiment, after determining the value of n, exhaust the combinations of selecting n value pairs from m value pairs. Calculate the univariate polynomials passing through n points in each combination, and then calculate the sample point distance of the univariate polynomials. C(m, n) univariate polynomials can be obtained. Arrange the C(m, n) univariate polynomials in ascending order of the sample point distance, and each univariate polynomial will have an order s. Such that for each value of n, the number of candidate univariate polynomials that can be used as the encryption polynomial is C(m, n), and one of them is specified as the encryption polynomial through the order s.
[0037] If the value pair group with the serial number 60 is selected and the value of n is determined to be 2, then 15 univariate polynomials can be generated. The univariate polynomials and the corresponding sample point distances are shown in Table 2.
[0038] Table 2 Univariate polynomials and corresponding sample point distances
[0039] Univariate Polynomial Sample point distance f(x)=14 / 1*x+8 / 1 327 f(x)=-9*x+54 133 f(x)=-2.5*x+41 33 f(x)=-17 / 6*x+125 / 3 34.3 f(x)=-16 / 7*x+284 / 7 33.8 f(x)=-32*x+146 409 f(x)=-8*x+74 73 f(x)=-31 / 5*x+343 / 5 58.6 f(x)=-5390*x+65 61 f(x)=4*x+2 95 f(x)=1 / 4*x+17 59 f(x)=2 / 5*x+82 / 5 59 f(x)=-7 / 2*x+47 37 f(x)=-2*x+38 35 f(x)=x+11 71
[0040] When the sample point distances of two univariate polynomials are the same, they are sorted in order of the smaller value of the coefficient of the higher-order term of the univariate polynomial first.
[0041] Table 3 Univariate polynomials after the distances of sample points are arranged in ascending order
[0042] Orders Univariate Polynomial Sample point distance 1 f(x)=-2.5*x+41 33 2 f(x)=-16 / 7*x+284 / 7 33.8 3 f(x)=-17 / 6*x+125 / 3 34.3 4 f(x)=-2*x+38 35 5 f(x)=-7 / 2*x+47 37 6 f(x)=-31 / 5*x+343 / 5 58.6 7 f(x)=1 / 4*x+17 59 8 f(x)=2 / 5*x+82 / 5 59 9 f(x)=-5390*x+65 61 10 f(x)=x+11 71 11 f(x)=-8*x+74 73 12 f(x)=4*x+2 95 13 f(x)=-9*x+54 133 14 f(x)=14 / 1*x+8 / 1 327 15 f(x)=-32*x+146 409
[0043] As shown in Table 3, the order of the univariate polynomials after the sample point distance is arranged in ascending order, and the order of the order s is as recorded in Table 3. When n=2 and s=9 are selected, the corresponding encryption polynomial is f(x)=-5390*x+65. When each value pair group contains 6 value pairs, 64 univariate polynomials can be generated. When each value pair group contains 48 value pairs, 2^48 univariate polynomials can be generated. Continuing to increase the value pairs contained in the value pair group, it is possible to provide enough combinations to deal with exhaustive attacks.
[0044] The above-described embodiment is only a preferred solution of the present invention and does not limit the present invention in any form. There are other variations and modifications without exceeding the technical solution described in the claims.
Claims
1. A method for tracing related transactions based on blockchain, characterized in that: Including: Set up several supervision accounts. The bank where the supervision account is located is recorded as the initiating bank. When a receipt transaction occurs in the supervision account and the transaction amount exceeds the preset threshold, the initiating bank publishes a traceability smart contract on the blockchain, and the traceability smart contract discloses the hash value of the receipt transaction ID. Several other banks connected to the blockchain are recorded as traceability banks, and several traceability banks poll the blockchain. When the transaction ID of a disbursement transaction in a traceability bank matches the hash value of the receipt transaction ID disclosed by the traceability smart contract, the traceability bank reads the disbursement account and transaction amount of the disbursement transaction. The traceability bank determines whether the sum of the transaction amounts of several receipt transactions within a preset time period for the disbursement account differs from the transaction amount of the disbursement transaction within a preset range. If so, encrypt the receipt transaction information of several receipt transactions using a time-limited encryption algorithm and upload it to the blockchain for storage. Encrypt the secret key of the time-limited encryption algorithm using the public key of the initiating bank and send it to the initiating bank. The traceability bank appends the hash values of the transaction IDs of several receipt transactions to the traceability smart contract for disclosure. The initiating bank polls the blockchain and decrypts the receipt transaction information within a time limit. All the decrypted receipt transaction information constitutes the traceable transactions of the transaction to be traced. If there is a disbursement account involving regulatory funds in the traceable transactions, initiate an offline verification and punishment procedure. Any bank publishes a time-limited reference smart contract on the blockchain. The time-limited reference smart contract includes several reference columns and a receiving column. The reference column includes a column number, a remaining update duration, and m sample points (xi, yi), where i ∈ [1, m]. When the remaining update duration is 0, the sample points of the reference column are updated. The time-limited reference smart contract discloses the column number and sample points of the reference column. The method by which the traceability bank encrypts the receipt transaction information using a time-limited encryption algorithm includes: Write the time limit duration into the receiving column. After the time-limited reference smart contract reads the time limit duration, select the reference column corresponding to the corresponding remaining update duration, and write the column number of the reference column encrypted using the public key of the traceability bank into the receiving column. The traceability bank decrypts to obtain the column number and reads the column number and m sample points of the reference column. The traceability bank generates a random integer n, where n < m, and generates a univariate polynomial f(x). The univariate polynomial passes through n of the m sample points. Calculate the distance d between the remaining m - n sample points and the univariate polynomial, where d = |f(xj) - yj|, and (xj, yj) are the coordinate values of the sample points. The sum of the distances between all sample points and the univariate polynomial is recorded as the sample distance. Enumerate the univariate polynomials passing through n sample points to obtain the univariate polynomial with the smallest sample distance, which is recorded as the encryption polynomial. Encrypt the receipt transaction information using a symmetric encryption algorithm to obtain a transaction ciphertext. The encryption secret key is recorded as the secret key Key, and upload the transaction ciphertext to the blockchain. Encrypt the secret key Key using the encryption polynomial to obtain the Key ciphertext. After encrypting the Key ciphertext, the column number, and the value n using the public key of the initiating bank, upload them to the blockchain for storage. The initiating bank polls the blockchain and decrypts using the private key to obtain the Key ciphertext, the column number, and the value n. The initiating bank reads m sample points of the reference column corresponding to the column number within a time limit; Exhaustively list the univariate polynomials that pass through n sample points and obtain the univariate polynomial with the minimum sample distance, which is recorded as the restored encryption polynomial; Use the recovery encryption polynomial to decrypt and obtain the secret key Key, and then use the secret key Key to decrypt and obtain the payment transaction information; The methods for tracing back the encryption key Key using the encryption polynomial include: Convert the secret key Key into a binary stream and truncate it into a number of binary numbers B according to the preset length; Generate data combinations (b1,x1,b2,x2,…,bN,xN,△), bi∈{0,1}, so that B=∑(-1)^bi*f(xi)+△, where i∈[1,N], △ is the correction value; The set of data combinations in order is the Key ciphertext.
2. The method for tracing the source of related transactions based on blockchain according to claim 1 is characterized in that: The tracing line counts the number of withdrawal transactions of the withdrawal account within a preset time period, so that the difference between the total transaction amount and the transaction amount of the withdrawal transaction is within a preset range, which is recorded as N; The initiating bank sets a threshold value N_max and makes it public. The tracing bank compares the size of N and N_max. If N>N_max, the hash value of the preset termination tracing identifier associated with the collection transaction ID is uploaded to the tracing smart contract.
3. The method for tracing the source of related transactions based on blockchain according to claim 2 is characterized in that: The tracing line modifies the value of N_max within a preset range according to the historical punishment record of the withdrawal account. If the withdrawal account has no historical punishment record, the value of N_max remains unchanged. If the withdrawal account has a historical punishment record, the value of N_max is increased within a preset range.
4. The blockchain-based associated transaction tracing method is characterized by: include: Set up several supervisory accounts. The bank where the supervisory account is located is recorded as the initiating bank. When a collection transaction occurs in the supervisory account and the transaction amount exceeds the preset threshold, the initiating bank publishes a traceability smart contract on the blockchain. The traceability smart contract discloses the hash value of the collection transaction ID. Several other banks connected to the blockchain are recorded as tracing banks, and several tracing banks poll the blockchain; When the transaction ID of the outgoing transaction in the tracing bank matches the hash value of the incoming transaction ID disclosed by the tracing smart contract, the tracing bank reads the outgoing account and transaction amount of the outgoing transaction; The tracing bank determines whether the sum of the transaction amounts of several receiving transactions of the payment account within a preset period of time differs from the transaction amount of the payment transaction within a preset range; If it exists, the payment transaction information of several payment transactions is encrypted using a time-limited encryption algorithm and uploaded to the blockchain for storage. The secret key of the time-limited encryption algorithm is encrypted using the public key of the initiating bank and sent to the initiating bank. The tracing bank appends the hash values of the transaction IDs of several payment collection transactions to the tracing smart contract for public disclosure; The initiating bank polls the blockchain and decrypts the payment transaction information within a time limit, and all the payment transaction information obtained by decryption constitutes the traceability transaction of the transaction to be traced; If there is a withdrawal account involving regulatory funds in the traceability transaction, an offline verification and disciplinary procedure will be initiated; Any bank publishes a time-limited reference smart contract on the blockchain. The time-limited reference smart contract includes several reference columns and receiving columns. The reference column includes a column number, a remaining update duration, and m sample points (xi, yi), where i ∈ [1, m]. When the remaining update duration is 0, the sample points of the reference column are updated. The time-limited reference smart contract discloses the column number and sample points of the reference column; The method for the tracing bank to encrypt the receipt transaction information using a time-limited encryption algorithm includes: Writing the time limit into the receiving column. After the time-limited reference smart contract reads the time limit, it selects the reference column corresponding to the remaining update duration, encrypts the column number of the reference column using the public key of the tracing bank, and writes it into the receiving column; The tracing bank decrypts to obtain the column number and reads the column number and m sample points of the reference column; The tracing bank generates a random integer n, where n < m, and generates a univariate polynomial f(x) that passes through n of the m sample points; Calculating the distance d between the remaining m - n sample points and the univariate polynomial, d = |f(xj) - yj|, where (xj, yj) are the coordinate values of the sample points, and the sum of the distances between all sample points and the univariate polynomial is denoted as the sample distance; Enumerating the univariate polynomials passing through n sample points and sorting the univariate polynomials in ascending order of the sample distance; Selecting one of the univariate polynomials as the encryption polynomial and obtaining the sorting sequence number s of the encryption polynomial; Encrypting the receipt transaction information using a symmetric encryption algorithm to obtain a transaction ciphertext. The encryption key is denoted as the key Key, and the transaction ciphertext is uploaded to the blockchain; Encrypting the key Key using the encryption polynomial to obtain a Key ciphertext. After encrypting the Key ciphertext, the column number, the value n, and the sequence number s using the public key of the initiating bank, they are uploaded to the blockchain for storage; The initiating bank polls the blockchain and decrypts using the private key to obtain the Key ciphertext, the column number, and the value n; The initiating bank reads the m sample points of the reference column corresponding to the column number within the time limit; Enumerating the univariate polynomials passing through n sample points and sorting the univariate polynomials in ascending order of the sample distance. The univariate polynomial corresponding to the sequence number s is denoted as the restored encryption polynomial; Decrypting to obtain the key Key using the restored encryption polynomial and decrypting to obtain the receipt transaction information using the key Key.
Citation Information
Cited By
Method for extracting and parsing bitcoin transaction autonomy information
US12626253B2
Method for extracting and parsing bitcoin transaction autonomy information
US20250037124A1
