CN111241586B - Anonymous processing method and system for block link address, terminal and storage medium - Google Patents

Anonymous processing method and system for block link address, terminal and storage medium Download PDF

Info

Publication number
CN111241586B
CN111241586B CN202010063789.0A CN202010063789A CN111241586B CN 111241586 B CN111241586 B CN 111241586B CN 202010063789 A CN202010063789 A CN 202010063789A CN 111241586 B CN111241586 B CN 111241586B
Authority
CN
China
Prior art keywords
transaction
public key
receiver
sender
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010063789.0A
Other languages
Chinese (zh)
Other versions
CN111241586A (en
Inventor
蒋海
商松
朱建国
旷凯
赵正涌
刘建章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bubi Beijing Network Technology Co ltd
Original Assignee
Bubi Beijing Network Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bubi Beijing Network Technology Co ltd filed Critical Bubi Beijing Network Technology Co ltd
Priority to CN202010063789.0A priority Critical patent/CN111241586B/en
Publication of CN111241586A publication Critical patent/CN111241586A/en
Application granted granted Critical
Publication of CN111241586B publication Critical patent/CN111241586B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

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

Abstract

The embodiment of the application provides a method and a system for anonymous processing of a block chain address, a terminal and a storage medium, relates to a block chain privacy processing technology, and is used for solving the problem that performance loss is serious due to long generation proving time and high requirement on hardware in the related technology as a result of zero knowledge proving. The block chain address anonymization processing method is executed by a sender in a block chain network, and comprises the following steps: determining a shared key of the sender and the receiver according to the private key of the sender and the public key of the receiver; generating an anonymous public key address according to the shared secret key, the obtained transaction encryption function and the transaction ID; assembling the anonymous public key address into a transaction and broadcasting to a blockchain network; and the transaction assembled with the anonymous public key address is used for triggering the node consensus in the blockchain network and is used for triggering a receiver to check the transaction.

Description

Anonymous processing method and system for block link address, terminal and storage medium
Technical Field
The present application relates to a privacy processing technology for a blockchain, and in particular, to a method and a system for anonymous processing of blockchain addresses, a terminal, and a storage medium.
Background
The core characteristics of the block chain technology are decentralized and distrusted, and as a distributed general ledger technology, an intelligent contract basic platform and a distributed novel computing paradigm, programmable currency, programmable finance and a programmable society can be effectively constructed, and the block chain technology will bring far-reaching influence on finance and other fields.
At present, the largest two challenges of the blockchain technology are privacy and performance, which are often difficult to solve simultaneously; in most cases privacy is traded for by loss of performance. In the related art, privacy protection is generally achieved based on Zero-knowledge proof (Zero-knowledge proof). However, the zero knowledge proof generation time is long, the hardware requirement is high, and the performance loss is serious.
Disclosure of Invention
The embodiment of the application provides a method and a system for anonymous processing of a block chain address, a terminal and a storage medium, which are used for overcoming the problem that performance loss is serious due to long generation time of a proof and high requirement on hardware in the related technology as a result of zero knowledge proof.
An embodiment of a first aspect of the present application provides a method for anonymous processing of a blockchain address, where the method is performed by a sender in a blockchain network, and the method includes:
determining a shared key of the two parties according to a private key of the sender and a public key of the receiver;
generating an anonymous public key address according to the shared secret key, the acquired transaction encryption function and the acquired transaction ID;
assembling the anonymous public key address into a transaction and broadcasting to a blockchain network; and the transaction assembled with the anonymous public key address is used for triggering the node consensus in the blockchain network and is used for triggering a receiver to check the transaction.
In one possible implementation manner, the determining the shared secret key of the sender and the public key of the receiver according to the private key of the sender and the public key of the receiver includes:
obtaining public key r of receiver 2 G;
Determining shared secret keys of the sender and the receiver according to the private key of the sender and the public key of the receiver, wherein the obtained shared secret key is r 1 r 2 G;
Wherein r is 1 A private key representing the sender, r 2 Representing the private key of the receiving party and G representing the base point of the elliptic curve.
In one possible implementation manner, the generating an anonymous public key address according to the shared secret key, the obtained transaction encryption function, and the obtained transaction ID includes:
selecting a hash function required by the whole transaction, and acquiring a transaction ID;
and processing the transaction ID, the shared secret key and the transaction data according to the hash function to generate an anonymous public key address.
In one possible implementation manner, the generating an anonymous public key address according to the hash function, the transaction ID, and the shared key includes:
an anonymous public key address is generated according to the following expression,
Pubkey=R 2 +Hash(Hash(tx),Hash(r 1 r 2 G),0)G;
wherein Pubkey represents an anonymous public key address; r 2 A public key representing a recipient; the Hash is a cryptographic Hash function; tx represents a transaction; r is 1 r 2 G denotes a shared key of the receiver and the sender; 0 represents a transaction ID; g denotes a base point of the elliptic curve.
The embodiment of the second aspect of the present application provides a method for anonymous processing of a blockchain address, which is performed by a receiver in a blockchain network, and includes:
monitoring transactions in a blockchain network;
and checking the monitored transaction according to the private key of the receiver, and judging whether the sender transfers funds according to the checking result of the transaction.
In one possible implementation manner, the checking the monitored transaction according to the private key of the receiving party and determining whether the sending party transfers funds according to the checking result of the transaction include:
obtaining a verification address according to a private key of a receiver;
the receiver matches the obtained verification address with the monitored transaction;
if the verification address of the recipient matches the transaction that was heard, then it is determined that the sender transferred funds.
In one possible implementation manner, after the receiving side determines that the sending side transfers the funds, the method further includes:
obtaining an anonymous private key for the spent funds according to the expression:
x=r 2 +Hash(Hash(tx),Hash(r 2 R 1 ),0);
wherein x represents an anonymous private key; r is 2 A private key representing a recipient; the Hash is a cryptographic Hash function; tx represents a transaction; r 1 A public key representing the sender; 0 denotes a transaction ID.
An embodiment of a third aspect of the present application provides a system for anonymizing a blockchain address, including:
the determining module is used for determining the shared secret key of the sender and the public key of the receiver according to the private key of the sender and the public key of the receiver;
the processing module is used for generating an anonymous public key address according to the shared secret key, the obtained transaction encryption function and the obtained transaction ID;
the broadcast module is used for assembling the anonymous public key address into a transaction and broadcasting the anonymous public key address to a blockchain network; and the transaction assembled with the anonymous public key address is used for triggering the node consensus in the blockchain network and is used for triggering a receiver to check the transaction.
In one possible implementation manner, the determining module is configured to:
acquiring a public key of a receiver;
determining shared secret keys of the sender and the receiver according to the private key of the sender and the public key of the receiver, wherein the obtained shared secret key is r 1 r 2 G; wherein r is 1 Is the private key of the sender, r 2 G is a base point of the elliptic curve, and is a private key of a receiving party;
the processing module is used for:
selecting a hash function required by the whole transaction, and acquiring a transaction ID;
an anonymous public key address is generated according to the following expression,
Pubkey=R 2 +Hash(Hash(tx),Hash(r 1 r 2 G),0)G;
wherein Pubkey represents an anonymous public key address; r is 2 A public key representing a recipient; the Hash is a cryptographic Hash function; tx represents a transaction; r is 1 r 2 G denotes a shared key of the receiver and the sender; 0 denotes a transaction ID.
An embodiment of a fourth aspect of the present application provides a system for anonymizing a blockchain address, including:
the monitoring module is used for monitoring the transaction in the block chain network;
and the checking module is used for checking the monitored transaction according to the private key of the receiving party and judging whether the sending party transfers funds according to the checking result of the transaction.
In one possible implementation manner, the checking module is configured to:
obtaining a verification address according to a private key of a receiver;
the receiver matches the obtained verification address with the monitored transaction;
if the verification address of the receiver matches the monitored transaction, determining that the sender transferred funds;
the system further comprises:
an obtaining module configured to obtain an anonymous private key for the spent funds according to the following expression:
x=r 2 +Hash(Hash(tx),Hash(r 2 R 1 ),0);
wherein x represents an anonymous private key; r is 2 A private key representing a recipient; the Hash is a cryptographic Hash function; tx represents a transaction; r is 1 A public key representing the sender; 0 represents a transaction ID.
An embodiment of a fifth aspect of the present application provides a terminal, including:
a memory;
a processor; and
a computer program;
wherein the computer program is stored in the memory and configured to be executed by the processor to implement the method corresponding to the sender as described above.
An embodiment of a sixth aspect of the present application provides a terminal, including:
a memory;
a processor; and
a computer program;
wherein the computer program is stored in the memory and configured to be executed by the processor to implement the method corresponding to the receiving party as described above.
An embodiment of the seventh aspect of the present application provides a computer-readable storage medium, on which a computer program is stored; which computer program is executed by a processor to implement the method corresponding to the sender as described above.
An eighth aspect of the present application provides a computer-readable storage medium having a computer program stored thereon; the computer program is executed by a processor to implement the method corresponding to the receiving side as described above.
According to the block chain address anonymous processing method and system, the terminal and the storage medium, an anonymous public key address is established for a receiver through a sender, the anonymous public key address has encrypted shared key information established according to a private key of the sender and a public key of the receiver, and then the anonymous public key address is assembled into a transaction to be published, so that the shared key can effectively prevent a non-transaction party from being associated with the relationship between the receiver and the transaction party, only an initiator and the receiver of the transaction in the whole block chain network know the specific anonymous public key address, and the non-transaction party in the block chain network cannot know the specific information of the anonymous public key address in the process of consensus, so that the privacy of a user is fully protected; in addition, in the process, the operation is simple, the requirement on hardware is low, the efficiency loss in the operation process is low, and the performance loss is low.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the application and together with the description serve to explain the application and not to limit the application. In the drawings:
FIG. 1 is a schematic flow diagram of a method provided by an exemplary embodiment;
FIG. 2 is a schematic flow chart of a method provided in another exemplary embodiment;
FIG. 3 is a block chain network architecture diagram in an exemplary embodiment;
FIG. 4 is a schematic flow diagram of a transaction provided by an exemplary embodiment;
FIG. 5 is a block diagram of a system provided in an exemplary embodiment;
fig. 6 is a block diagram of a system according to another exemplary embodiment.
Detailed Description
In order to make the technical solutions and advantages of the embodiments of the present application more apparent, the following further detailed description of the exemplary embodiments of the present application with reference to the accompanying drawings makes it clear that the described embodiments are only a part of the embodiments of the present application, and are not exhaustive of all embodiments. It should be noted that the embodiments and features of the embodiments in the present application may be combined with each other without conflict.
In the related art, the block chain technology also faces a serious privacy disclosure problem while improving efficiency, reducing cost and improving data security; especially in financial scenarios, privacy protection requirements are very high. Address anonymity, an important measure of privacy protection, plays a crucial role in the blockchain privacy protection process, but it presents many challenges: on one hand, addresses are not correlated, such as bitcoin address anonymity, and although the problem of address anonymity is solved, the relation between a sender and a receiver can be deduced through correlated transactions, so that privacy is exposed; on the other hand, although the performance problem of the scheme, such as the privacy protection scheme based on Zero-Knowledge proof of zkSNARK (Zero-Knowledge social Non-Interactive evidence of Knowledge), solves the problem of anonymity of the address, the generation and proof time is long, the hardware requirement is high, and the requirement is difficult to meet by a common computer.
In order to overcome the above problems in the related art, the present embodiment provides an anonymous processing method for a blockchain address, and provides an anonymous public key address, where only an initiator and a receiver of a transaction in a whole blockchain network know a specific anonymous public key address, and nodes in the blockchain network do not know anonymous public key address information in a consensus process, so that privacy of a user is sufficiently protected; in addition, in the processing process, the operation is simple, the requirement on hardware is low, the efficiency loss in the operation process is low, and the performance loss is low.
The following describes functions and implementation procedures of the block chain address anonymization processing method provided in this embodiment with reference to the accompanying drawings.
A method performed by a sender in a blockchain network, as shown in fig. 1, may include:
s101, determining shared keys of a sender and a receiver according to a private key of the sender and a public key of the receiver;
s102, generating an anonymous public key address according to the shared secret key, the obtained transaction encryption function and the obtained transaction ID;
s103, assembling the anonymous public key address into a transaction and broadcasting the transaction to a block chain network; the transaction assembled with the anonymous public key address is used for triggering nodes in the blockchain network to know together and triggering a receiver to check the transaction.
In step S101, the sender may first obtain the public key R of the receiver Bob corresponding to the transaction 2 . Public key R of receiver 2 The receiver calculates and publishes the data; in particular, the receiver may rely on its private key r 2 And obtaining the public key R by using an elliptic curve encryption algorithm 2 ,R 2 =r 2 G and G are base points of the elliptic curve.
The sender Alice obtains the public key R of the receiver 2 Then, a shared key needed for creating a one-time address, namely an anonymous public key address of the transaction can be determined according to a private key of the sender and a public key of the receiver, wherein the shared key is r 1 r 2 G。
In step S102, in order to create the one-time address, the sender needs to use a hash function of the whole transaction, and the hash function is used to perform hash encryption processing on the corresponding content.
The structure of the transaction is as follows:
{source_address,nonce,fee_limit,gas_price,operation,priv,signature};
wherein, source _ address represents the account address of the initiator of the transaction;
nonce represents the transaction number, must equal nonce +1 of the initiator account number; in the concrete implementation, the nonce of the initiator account can be obtained by inquiring the result returned by the account;
fee _ limit represents a commission to the transaction cost;
gas _ price represents the lowest price (i.e., price) of the system;
the operation represents an operation list, namely the effective load of the transaction, namely the main content of the transaction;
priv represents authority information of an account of an initiator;
the signature represents the creator's signature.
The receiver needs to select all hash functions required by the transaction in advance and needs to acquire a transaction ID (identity), namely a transaction serial number); then, the transaction ID, the shared key, the transaction data, and the like are processed according to the hash function to generate an anonymous public key address. For different contents, the selected hash functions may be the same or different, and may be specifically set according to actual needs.
In particular, the recipient may generate an anonymous public key address according to the following expression,
Pubkey=R 2 +Hash(Hash(tx),Hash(r 1 r 2 G),0)G;
wherein Pubkey represents an anonymous public key address; r 2 A public key representing a recipient; hash represents a cryptographic Hash function, defined as: {0,1} * →F q (ii) a tx represents the content of the transaction; r is 1 r 2 G denotes a shared key of the receiver and the sender; 0 represents a transaction ID; g denotes a base point of the elliptic curve. In addition, tx indicates that the content of the transaction may be specifically the structure of the transaction, but at this time, since the anonymous public key address Pubkey is not yet assembled into the transaction, the position corresponding to the anonymous public key address Pubkey in the operation of the transaction structure is default to be null; that is, in the initial state, the public key is anonymousThe address Pubkey is not assembled to the transaction, and the position corresponding to the anonymous public key address Pubkey in the operation of the transaction structure is default to be null; and when the anonymous public key address Pubkey is assembled into the transaction, filling the anonymous public key address Pubkey into the operation at the position corresponding to the anonymous public key address Pubkey.
In the above expression, R 2 Indicating ownership of the recipient; hash (tx) enables the receiving address of the transaction to be unique in the whole network; hash (r) 1 r 2 G) Can be used as an important parameter which can effectively prevent other parties from associating addresses; and 0 represents the ID output by the transaction, and the ID is matched with a corresponding hash function for use, so that the receiving address of the transaction is unique in the whole network.
In step S103, after the receiver generates the anonymous public key address, the anonymous public key address is assembled into the transaction, and specifically, the anonymous public key address may be placed into a transaction structure, for example, into an operation of the transaction structure, so as to form a transaction assembled with the anonymous public key address; the transaction populated with the anonymous public key address is broadcast into the blockchain network.
The broadcasted transaction can be used for triggering node consensus processing in the block chain network, generating a block and realizing data updating in the block chain network; the consensus process may be performed by conventional methods in the art, and this embodiment is not described herein again. The broadcasted transaction is also used to trigger the recipient to check to confirm whether funds were transferred.
The method performed by the receiver in the blockchain network, as shown in fig. 2, may include:
s201, monitoring the transaction in the block chain network;
s202, checking the monitored transaction according to the private key of the receiver;
s203, judging whether the sender transfers funds according to the checking result of the transaction.
Without confirmation of receipt of the funds, the recipient will always listen to all transactions in the blockchain network. When a transaction is monitored, the monitored transaction can be parsed. And the monitored transaction is checked and verified according to the private key of the transaction, so as to determine whether the transaction is a real receiver of the transaction, namely whether the fund in the transaction is transferred to the transaction.
Specifically, step S202 may include:
pre-obtaining public key R of sender 1 ,R 1 =r 1 G;
According to its own private key r 2 And the public key r of the sender 1 G obtains the verification address, which may be: pubkey 1 =r 2 G+Hash(Hash(tx),Hash(r 2 r 1 G),0)G;
And matching the obtained verification address with the transaction to obtain a matching result.
In step S203, if the obtained matching structure is that the verification address of the receiving party matches the transaction, it is determined that the sending party has transferred funds, that is, the receiving party determines that the receiving party itself is the true receiving party of the transaction;
if the obtained matching structure is that the verification address of the receiver is not matched with the transaction, the step S201 is returned until the verification address can be matched with the monitored transaction.
Wherein, due to r 2 G=R 2 ,r 2 r 1 G=r 2 R 1 =r 1 r 2 G=r 1 R 2 For the receiver and the sender in the transaction, the anonymous public key address established by the sender is equal to the verification address determined by the receiver, i.e. Pubkey = Pubkey 1 Thus, the verification address determined by the recipient of the transaction can match the transaction published by the sender of the transaction.
Correspondingly, if the verification address determined by the receiver is not matched with the monitored transaction, the verification address determined by the receiver is not equal to the anonymous public key address in the transaction, that is, the receiver is not the real receiver in the transaction; the recipient continues to listen to the transactions in the blockchain network and check until its verification address matches the transaction, confirming that the sender corresponding to it transferred the funds.
Optionally, after the receiving party determines that the sending party transfers the funds, the method further comprises:
an anonymous private key for spending funds is obtained according to the following expression:
x=r 2 +Hash(Hash(tx),Hash(r 2 R 1 ),0);
wherein x represents an anonymous private key; r is a radical of hydrogen 2 A private key representing a recipient; the Hash is a cryptographic Hash function; tx represents a transaction; r 1 A public key representing the sender; 0 denotes a transaction ID.
After confirming that the receiver receives the fund, the receiver can obtain the anonymous private key according to the private key of the receiver at any time and spend the fund through the anonymous private key.
The complete transaction process is illustrated below in conjunction with fig. 3 and 4. The structure diagram of the blockchain network is shown in fig. 3, and the blockchain network has nodes a, B, C, D, and E; in the transaction, the node a is a sender Alice of the transaction, and the node C is a receiver Bob of the transaction.
As shown in fig. 4, the transaction process may include the following steps:
sender Alice obtains receiver Bob address R 2
Alice selects a hash used by the whole transaction, generates a shared secret key of both parties, acquires a transaction ID, and generates an anonymous public key address for Bob;
the method comprises the steps that Alice assembles the anonymous public key address Pubkey into a transaction and broadcasts the transaction to a block chain network;
after the consensus of the node B, the node C, the node D and the like of the block chain network is completed, generating a block;
bob monitors all transactions in the network;
bob passes the private key r 2 Checking the transaction;
bob passes through its private key r 2 Spending the investment.
In the transaction process, only the initiator and the receiver of the transaction know the specific anonymous public key address, and other nodes, namely the nodes B, E and D, cannot decrypt the anonymous public key address in the transaction, that is, the nodes B, E and D cannot obtain the specific information of the anonymous public key address of Bob in the process of consensus, and other nodes cannot correlate the relationship between the receiver and the transmitter from the transaction, so that the privacy of the user can be fully protected. In addition, the ownership of the anonymous address of the private key identification of the receiving party is not changed; the method has the advantages of simple operation, low requirement on hardware, low efficiency loss in the operation process, and low influence on the performance of the computer, namely low performance loss.
In practical applications, the above method may be implemented by a computer program, for example, application software; alternatively, the method can also be implemented as a medium storing a related computer program, for example, a usb disk, a cloud disk, etc.; still alternatively, the method may be implemented by a physical device, such as a chip, a smart device, etc., into which the relevant computer program is integrated or installed.
The system provided by the present embodiment is a product-side embodiment corresponding to the corresponding method embodiment, and the implementation principle and the resulting technical effects are the same as those of the method embodiment, and for the sake of brief description, reference may be made to the corresponding contents in the method embodiment.
This embodiment provides a block chain address anonymization processing system, corresponding to the steps executed by the sender in the foregoing embodiments, as shown in fig. 5, the system includes:
the determining module 11 is configured to determine a shared key of the sender and the public key of the receiver according to the private key of the sender and the public key of the receiver;
the processing module 12 is configured to generate an anonymous public key address according to the shared secret key, the obtained transaction encryption function, and the obtained transaction ID;
a broadcast module 13, configured to assemble the anonymous public key address into a transaction and broadcast the transaction to a blockchain network; the transaction assembled with the anonymous public key address is used for triggering the node consensus in the blockchain network and is used for triggering the receiver to check the transaction.
In one possible implementation manner, the determining module 11 is configured to:
acquiring a public key of a receiver;
determining shared secret keys of the sender and the receiver according to the private key of the sender and the public key of the receiver, wherein the obtained shared secret key is r 1 r 2 G; wherein r is 1 Is the private key of the sender, r 2 G is the base point of the elliptic curve, which is the private key of the receiver.
In one possible implementation manner, the processing module 12 is configured to:
selecting a hash function required by the whole transaction, and acquiring a transaction ID;
an anonymous public key address is generated according to the expression,
Pubkey=R 2 +Hash(Hash(tx),Hash(r 1 r 2 G),0)G;
wherein Pubkey represents an anonymous public key address; r is 2 A public key representing a recipient; the Hash is a cryptographic Hash function; tx represents a transaction; r is a radical of hydrogen 1 r 2 G denotes a shared key of the receiver and the sender; 0 denotes a transaction ID.
In this embodiment, a system for processing block link address anonymity is provided, corresponding to the steps performed by the receiving party in the foregoing embodiment, as shown in fig. 6, the system includes:
the monitoring module 21 is used for monitoring the transaction in the block chain network;
and the checking module 22 is used for checking the monitored transaction according to the private key of the receiving party and judging whether the sending party transfers funds according to the checking result of the transaction.
In one possible implementation, the checking module 22 is configured to:
obtaining a verification address according to a private key of a receiver;
the receiver matches the obtained verification address with the monitored transaction;
if the verification address of the recipient matches the transaction that was monitored, it is determined that the sender transferred funds.
In one possible implementation manner, the system further includes:
an obtaining module 23, configured to obtain an anonymous private key for spending money according to the following expression:
x=r 2 +Hash(Hash(tx),Hash(r 2 R 1 ),0);
wherein x represents an anonymous private key; r is 2 Indicating jointA private key of the recipient; the Hash is a cryptographic Hash function; tx represents a transaction; r is 1 A public key representing the sender; 0 represents a transaction ID.
The present embodiment provides a terminal device, including:
a memory;
a processor; and
a computer program;
wherein the computer program is stored in a memory and configured to be executed by a processor to implement the respective method.
For specific implementation of the computer program in the terminal device, reference may be made to the method embodiment, which is not described herein again. In addition, the terminal device in this embodiment may have a computer program corresponding to the method executed by the sender, or may have a computer program corresponding to the method executed by the receiver; alternatively, the terminal device in the present embodiment has a computer program corresponding to the method executed by the sender; further alternatively, the terminal device in the present embodiment has a computer program corresponding to the method executed by the receiving side.
The memory is used for storing a computer program, and the processor executes the computer program after receiving the execution instruction, and the method executed by the apparatus defined by the flow process disclosed in the foregoing corresponding embodiments can be applied to or implemented by the processor.
The Memory may comprise a Random Access Memory (RAM) and may also include a non-volatile Memory, such as at least one disk Memory. The memory can implement communication connection between the system network element and at least one other network element through at least one communication interface (which may be wired or wireless), and the internet, a wide area network, a local network, a metropolitan area network, and the like can be used.
The processor may be an integrated circuit chip having signal processing capabilities. In implementation, the steps of the method disclosed in the embodiment may be implemented by integrated logic circuits of hardware in a processor or instructions in the form of software. The Processor may be a general-purpose Processor, and includes a Central Processing Unit (CPU), a Network Processor (NP), and the like; but may also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components. The corresponding methods, steps, and logic blocks disclosed in the embodiments of the present invention may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The steps of the method disclosed in connection with the embodiments of the present invention may be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software elements in the decoding processor. The software elements may be located in ram, flash, rom, prom, or eprom, registers, among other storage media that are well known in the art. The storage medium is located in a memory, and a processor reads information in the memory and completes the steps of the method in combination with hardware of the processor.
The present embodiment provides a computer-readable storage medium having stored thereon a computer program; the computer program is executed by a processor in a corresponding method. For specific implementation, reference may be made to the method embodiments, which are not described herein again. Wherein, for a sender in a transaction, the stored computer program corresponds to a method performed by the sender; for the recipient in the transaction, the stored computer program corresponds to the method performed by the recipient. Of course, in some examples, a node in a blockchain network may act as a sender in one of the transactions and also as a receiver in another of the transactions, and accordingly, a storage medium of the node stores a computer program corresponding to a method performed by the sender and a computer program corresponding to a method performed by the receiver.
It should be noted that: unless specifically stated otherwise, the relative steps, numerical expressions, and values of the components and steps set forth in these embodiments do not limit the scope of the present invention. In all examples shown and described herein, unless otherwise specified, any particular value should be construed as merely illustrative, and not as a limitation, and thus other examples of example embodiments may have different values.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a unit, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable transaction apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable transaction apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable transaction apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable transaction device to cause a series of operational steps to be performed on the computer or other programmable device to produce a computer implemented process such that the instructions which execute on the computer or other programmable device provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While the preferred embodiments of the present application have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all alterations and modifications as fall within the scope of the application.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present application without departing from the spirit and scope of the application. Thus, if such modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is intended to include such modifications and variations as well.

Claims (10)

1. A method for anonymizing a blockchain address, performed by a sender in a blockchain network, comprising:
the sender obtains the public key R of the receiver corresponding to the transaction 2 Public key of the receiverR 2 The receiver calculates and publishes the data;
determining a shared key of the sender and the receiver according to the private key of the sender and the public key of the receiver;
generating an anonymous public key address according to the shared secret key, the obtained transaction encryption function and the transaction ID;
assembling the anonymous public key address into a transaction and broadcasting to a blockchain network; the transaction assembled with the anonymous public key address is used for triggering nodes in a blockchain network to know together and triggering a receiver to check the transaction;
the generating of the anonymous public key address according to the shared secret key, the obtained transaction encryption function and the obtained transaction ID comprises the following steps:
selecting a hash function required by the whole transaction, and acquiring a transaction ID;
processing the transaction ID, the shared secret key and the transaction data according to the hash function to generate an anonymous public key address;
the generating an anonymous public key address according to the hash function, the transaction ID and the shared key comprises:
an anonymous public key address is generated according to the expression,
Pubkey=R 2 +Hash(Hash(tx),Hash(r 1 r 2 G),n)G;
wherein Pubkey represents an anonymous public key address; r 2 A public key representing a recipient; the Hash is a cryptographic Hash function; tx represents a transaction; r is 1 r 2 G denotes a shared key of the receiver and the sender; n represents a transaction ID; g denotes a base point of the elliptic curve.
2. The method of claim 1, wherein determining the shared secret key of the sender and the public key of the receiver according to the private key of the sender and the public key of the receiver comprises:
obtaining public key r of receiver 2 G;
Determining shared secret keys of the sender and the receiver according to the private key of the sender and the public key of the receiver, wherein the obtained shared secret key is r 1 r 2 G;
Wherein r is 1 Private key representing the sender, r 2 Representing the private key of the receiving party and G representing the base point of the elliptic curve.
3. A method for anonymous processing of a blockchain address, performed by a receiver in a blockchain network, comprising:
monitoring transactions in a blockchain network;
checking the monitored transaction according to the private key of the receiver, and judging whether the sender transfers funds according to the checking result of the transaction;
the checking the monitored transaction according to the private key of the receiving party comprises:
pre-obtaining public key R of sender 1 ,R 1 =r 1 G;
According to its own private key r 2 And the public key r of the sender 1 G, obtaining a verification address, wherein the obtained verification address is as follows: pubkey 1 =r 2 G+Hash(Hash(tx),Hash(r 2 r 1 G) N) G, hash represents a cryptographic Hash function, and tx represents the content of a transaction; r is 2 r 1 G represents a shared secret key of a receiving party and a sending party, n represents a transaction ID, and G represents a base point of an elliptic curve;
matching the obtained verification address with the transaction to obtain a matching result;
after the receiver determines that the sender transferred the funds, the method further comprises:
an anonymous private key for spending funds is obtained according to the following expression:
x=r 2 +Hash(Hash(tx),Hash(r 2 R 1 ),n);
wherein x represents an anonymous private key; r is 2 A private key representing a recipient; the Hash is a cryptographic Hash function; tx represents a transaction; r 1 A public key representing the sender; n represents a transaction ID.
4. The method of claim 3, wherein the checking the monitored transaction according to the private key of the receiving party and determining whether the sending party transferred the funds according to the checked transaction comprises:
obtaining a verification address according to a private key of a receiver;
the receiver matches the obtained verification address with the monitored transaction;
if the verification address of the recipient matches the transaction that was heard, then it is determined that the sender transferred funds.
5. A system for anonymous processing of blockchain addresses, comprising:
the determining module is used for acquiring a public key R2 of a receiver corresponding to the transaction, the public key R2 of the receiver is calculated and published by the receiver, and a shared key of the two parties is determined according to a private key of a sender and the public key of the receiver;
the processing module is used for generating an anonymous public key address according to the shared secret key, the obtained transaction encryption function and the obtained transaction ID;
the broadcast module is used for assembling the anonymous public key address into a transaction and broadcasting the anonymous public key address to a blockchain network; the transaction assembled with the anonymous public key address is used for triggering nodes in a blockchain network to know together and triggering a receiver to check the transaction;
the determination module is to:
acquiring a public key of a receiver;
determining shared secret keys of the sender and the receiver according to the private key of the sender and the public key of the receiver, wherein the obtained shared secret key is r 1 r 2 G; wherein r is 1 Is the private key of the sender, r 2 G is a base point of the elliptic curve;
the processing module is used for:
selecting a hash function required by the whole transaction, and acquiring a transaction ID;
an anonymous public key address is generated according to the following expression,
Pubkey=R 2 +Hash(Hash(tx),Hash(r 1 r 2 G),n)G;
wherein Pubkey represents an anonymous public key address; r 2 A public key representing a recipient; hash is a cryptographic hash function; tx represents a transaction; r is 1 r 2 G denotes a shared key of the receiver and the sender; n represents a transaction ID.
6. A system for anonymous processing of blockchain addresses, comprising:
the monitoring module is used for monitoring the transaction in the block chain network;
the checking module is used for checking the monitored transaction according to the private key of the receiver and judging whether the sender transfers funds according to the checking result of the transaction,
the inspection module is further configured to:
pre-obtaining public key R of sender 1 ,R 1 =r 1 G;
According to its own private key r 2 And the public key r of the sender 1 G, obtaining a verification address, wherein the obtained verification address is as follows: pubkey 1 =r 2 G+Hash(Hash(tx),Hash(r 2 r 1 G) N) G, hash represents a cryptographic Hash function, and tx represents the content of a transaction; r is a radical of hydrogen 2 r 1 G represents a shared secret key of a receiving party and a sending party, n represents a transaction ID, and G represents a base point of an elliptic curve;
matching the obtained verification address with the transaction to obtain a matching result;
the inspection module is to:
obtaining a verification address according to a private key of a receiver;
the receiver matches the obtained verification address with the monitored transaction;
if the verification address of the receiver matches the monitored transaction, determining that the sender transferred funds;
the system further comprises:
an obtaining module, configured to obtain an anonymous private key for spending funds according to the following expression:
x=r 2 +Hash(Hash(tx),Hash(r 2 R 1 ),n);
wherein x represents an anonymous private key; r is 2 A private key representing a recipient; hash is a cryptographic HashA function; tx represents a transaction; r is 1 A public key representing the sender; n represents a transaction ID.
7. A terminal, comprising:
a memory;
a processor; and
a computer program;
wherein the computer program is stored in the memory and configured to be executed by the processor to implement the method of any one of claims 1-2.
8. A terminal, comprising:
a memory;
a processor; and
a computer program;
wherein the computer program is stored in the memory and configured to be executed by the processor to implement the method of any of claims 3-4.
9. A computer-readable storage medium, having stored thereon a computer program; the computer program is executed by a processor to implement the method of any one of claims 1-2.
10. A computer-readable storage medium, having stored thereon a computer program; the computer program is executed by a processor to implement the method of any one of claims 3-4.
CN202010063789.0A 2020-01-20 2020-01-20 Anonymous processing method and system for block link address, terminal and storage medium Active CN111241586B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010063789.0A CN111241586B (en) 2020-01-20 2020-01-20 Anonymous processing method and system for block link address, terminal and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010063789.0A CN111241586B (en) 2020-01-20 2020-01-20 Anonymous processing method and system for block link address, terminal and storage medium

Publications (2)

Publication Number Publication Date
CN111241586A CN111241586A (en) 2020-06-05
CN111241586B true CN111241586B (en) 2023-02-07

Family

ID=70865899

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010063789.0A Active CN111241586B (en) 2020-01-20 2020-01-20 Anonymous processing method and system for block link address, terminal and storage medium

Country Status (1)

Country Link
CN (1) CN111241586B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114531224B (en) * 2020-10-31 2024-03-01 华为技术有限公司 Address generation method, blockchain information processing method and related equipment
CN112418857B (en) * 2020-11-30 2023-06-30 北京八分量信息科技有限公司 Hidden transaction method and device based on UTXO model and related products
TWI755210B (en) * 2020-12-22 2022-02-11 天宿智能科技股份有限公司 Anonymous disclosure and many-to-many recognition system based on blockchain and allowing identity confirmation and method thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109034801A (en) * 2018-07-31 2018-12-18 杭州复杂美科技有限公司 A kind of privacy method of commerce and system, equipment and can storage medium
CN110519059A (en) * 2019-09-29 2019-11-29 四川师范大学 A kind of block chain dual key concealment address processing method based on bilinear map
CN110675265A (en) * 2019-09-29 2020-01-10 四川师范大学 Method for realizing block chain double-key hiding address protocol without temporary key leakage

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180349896A1 (en) * 2017-06-05 2018-12-06 Mastercard International Incorporated Method and system for anonymization of electronic transactions via blockchain
CN107248994B (en) * 2017-06-26 2020-08-14 联动优势科技有限公司 Information sending method, processing method and device
CN108764874B (en) * 2018-05-17 2021-09-07 深圳前海微众银行股份有限公司 Anonymous transfer method, system and storage medium based on block chain
CN110225016B (en) * 2019-05-31 2020-05-19 北京理工大学 Data hidden transmission method based on block chain network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109034801A (en) * 2018-07-31 2018-12-18 杭州复杂美科技有限公司 A kind of privacy method of commerce and system, equipment and can storage medium
CN110519059A (en) * 2019-09-29 2019-11-29 四川师范大学 A kind of block chain dual key concealment address processing method based on bilinear map
CN110675265A (en) * 2019-09-29 2020-01-10 四川师范大学 Method for realizing block chain double-key hiding address protocol without temporary key leakage

Also Published As

Publication number Publication date
CN111241586A (en) 2020-06-05

Similar Documents

Publication Publication Date Title
TWI770307B (en) Systems and methods for ensuring correct execution of computer program using a mediator computer system
US11921706B2 (en) Methods and systems for controlling access to, and integrity of, resources on a blockchain
WO2019214312A1 (en) Blockchain-based logistics information transmission method, system and device
CN111241586B (en) Anonymous processing method and system for block link address, terminal and storage medium
KR20200096790A (en) System and method for authenticating off-chain data based on proof verification
US10938549B2 (en) System and method for information protection
CN111724150A (en) Service request processing method and device
CN108848148B (en) Transaction information confirmation method and device based on block chain
US20190354962A1 (en) Distributed Ledger Payments Platform for Telecoms
CN113114476B (en) Privacy evidence storing method and device based on contract
KR20200096248A (en) Systems and methods for securely sharing cryptographic materials
CN111127021B (en) Service request method and device based on block chain
US11409907B2 (en) Methods and systems for cryptographically secured decentralized testing
EP4184856A1 (en) Blockchain transaction comprising runnable code for hash-based verification
CN112036878B (en) Data processing method and device
CN113032837A (en) Anonymous authentication method and system for open platform
CN112288555A (en) Anonymous auction method, device and medium based on block chain
CN116599669A (en) Data processing method, device, computer equipment and storage medium
CN115203749A (en) Data transaction method and system based on block chain
JP2022548264A (en) cryptographically linked identities
CN110060055B (en) Digital asset hosting method and device in block chain and electronic equipment
US20210026971A1 (en) Privacy-preserving Sum-based Consistency Checks for Blockchains
EP4035305A1 (en) Partitioning a request into transactions for a blockchain
Vijayakumaran An introduction to bitcoin
CN111144958B (en) Electronic invoice issuing method, device and system based on block chain

Legal Events

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