CN111709741A - Method for permission isolation in blockchain system, computer readable storage medium and blockchain system - Google Patents

Method for permission isolation in blockchain system, computer readable storage medium and blockchain system Download PDF

Info

Publication number
CN111709741A
CN111709741A CN202010417961.8A CN202010417961A CN111709741A CN 111709741 A CN111709741 A CN 111709741A CN 202010417961 A CN202010417961 A CN 202010417961A CN 111709741 A CN111709741 A CN 111709741A
Authority
CN
China
Prior art keywords
transaction
public key
initiator
blockchain system
amount
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.)
Granted
Application number
CN202010417961.8A
Other languages
Chinese (zh)
Other versions
CN111709741B (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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN202010417961.8A priority Critical patent/CN111709741B/en
Publication of CN111709741A publication Critical patent/CN111709741A/en
Application granted granted Critical
Publication of CN111709741B publication Critical patent/CN111709741B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management

Abstract

The invention relates to a method for isolating authority in a block chain system. In the invention, each transaction user respectively generates a read private key, a read public key, a write private key and a write public key. For reading the key pair, only the asset can be queried and the cost cannot be spent, and only when the key pair is read and written at the same time, the spending authority can be obtained. Therefore, the invention can realize the isolation of the inquiry and the processing authority, thereby protecting the privacy of the user and facilitating the flexible and autonomous management of the assets. The invention also relates to a computer readable storage medium and a blockchain system.

Description

Method for permission isolation in blockchain system, computer readable storage medium and blockchain system
Technical Field
The present invention relates to the field of blockchain, and more particularly, to a method, computer-readable storage medium, and blockchain system for rights isolation in a blockchain system.
Background
The block chain is a distributed account book technology which is jointly maintained by multiple parties, transmission and access safety is guaranteed by using cryptography, data can be stored consistently, tampering is difficult, and repudiation is prevented. A conventional utxo (unshown transactionioutput) based blockchain, such as bitcoin, uses a distributed database of many nodes in the entire P2P network to confirm and record all transactions, and besides private information of transaction parties is encrypted, anyone can query each transaction or the balance of an address through a public interface, and all transaction data is publicly transparent. However, this open system feature creates a privacy-free statement that if account and transaction information is known for some commercial establishments, all of its wealth and commercial confidentiality, etc. can be known.
In some blockchain systems, asset querying and consumption may be performed by way of a key. But it has a disadvantage that the corresponding key may be spent on the asset at the same time as querying the asset. For some users of the blockchain, different permissions need to be set for different accounts, so that flexible and autonomous management of assets is achieved.
Disclosure of Invention
The technical problem to be solved by the present invention is to provide a method, a computer-readable storage medium, and a blockchain system for permission isolation in a blockchain system, which can implement permission isolation for querying and processing, thereby facilitating flexible and autonomous management of assets while protecting user privacy.
The technical scheme adopted by the invention for solving the technical problems is as follows: a method for constructing authority isolation in a block chain system comprises the following steps:
s1, each transaction user respectively generates a read private key, a read public key, a write private key and a write public key;
s2, a transaction initiator generates a session key pair, the session key pair comprises a transaction public key and a transaction private key, the transaction initiator generates a change amount output based on the transaction private key, an initiator read public key and an initiator write public key, and generates an initiation amount output based on the transaction private key, a receiver read public key and a receiver write public key;
s3, the transaction initiator signs the amount to be verified based on the transaction public key, the initiator read private key and the initiator write private key to perform first use verification, proves to the blockchain system that the transaction initiator has the right of use of the amount to be verified, and writes the amount to be verified, the proving information and the transaction public key into transaction information, wherein the amount to be verified comprises the change amount output and/or the initiation amount output;
s4, the blockchain system verifies the transaction information and stores the transaction information passing the verification on the blockchain system;
s5, the transaction user reads the transaction information and verifies the output of the initiation amount in the transaction information by adopting the read private key, the write public key and the transaction public key.
In the method for right isolation in a blockchain system according to the present invention, the step S2 further includes:
s21, the transaction initiator selects an elliptic curve, selects a base point on the elliptic curve as a general base point, and uses a scalar on the elliptic curve as the transaction private key;
s22, the transaction initiator generates the transaction public key by performing elliptic curve multiplication on the basis of the general base point and the transaction private key;
s23, the transaction initiator uses the transaction private key to perform elliptic curve multiplication with the initiator read public key, and uses a hash function to perform hash operation on the product, and then sums the operation result and the initiator write public key to generate the change amount output;
and S24, the transaction initiator uses the transaction private key to perform elliptic curve multiplication with the receiver read public key, uses a hash function to perform hash operation on the product, and sums the operation result and the receiver write public key to generate the initiation amount output.
In the method for right isolation in a blockchain system according to the present invention, the step S3 further includes:
s31, the transaction initiator performs elliptic curve multiplication based on the transaction public key and the initiator read private key, performs hash operation on the product by using a hash function, and then sums the operation result and the initiator write private key to obtain a summation result;
s32, carrying out hash operation on the money to be verified by using a hash function, and multiplying the operation result and the summation result to obtain a first-time verification signature;
s33, generating a certification random number, and adopting the first use verification signature and the certification random number as certification parameters to certify the use right of the transaction initiator for the amount to be verified and obtain certification information to a blockchain system;
s34, writing the random number, the certification information, the transaction public key, the to-be-verified amount and the output of the blockchain system into the transaction information.
In the method for isolating authority in the blockchain system, in step S33, a multilayer linkable spontaneous anonymous group signature, an opcode signature, or a zero knowledge proof signature is used to prove to the blockchain system that the transaction initiator has the right to use the amount to be verified and obtains proof information.
In the method for right isolation in a blockchain system according to the present invention, the step S4 further includes:
s41, the blockchain system verifies whether the transaction information exists based on the first-time use verification signature;
s42, the blockchain system verifies whether the transaction initiator has the use right of the amount to be verified based on the certification information;
and S43, storing the transaction information passing the verification on the blockchain system.
In the method for right isolation in a blockchain system according to the present invention, the step S5 further includes:
s51, the transaction receiver reads the transaction information to obtain the transaction public key and the initiation amount output;
s52, the transaction receiver adopts the receiver read private key to carry out elliptic curve multiplication with the transaction public key, and uses a hash function to carry out hash operation on the product, and then sums the operation result with the receiver write public key to generate self-receiving amount, and outputs and verifies whether the self-receiving amount belongs to the self-receiving amount or not based on the self-receiving amount and the initiating amount.
In the method for right isolation in a blockchain system according to the present invention, the step S5 further includes:
s5a, the transaction initiator reads the transaction information to obtain the transaction public key and the change amount output;
s5b, the transaction initiator adopts the initiator read private key to carry out elliptic curve multiplication with the transaction public key, and uses a hash function to carry out hash operation on the product, and then sums the operation result with the initiator write public key to generate self-receiving amount, and outputs and verifies whether the change amount belongs to the self based on the self-receiving amount and the change amount.
Another technical solution to solve the technical problem of the present invention is to construct a computer readable storage medium, on which a computer program is stored, wherein the computer program, when executed by a processor, implements the method for isolating permissions in a blockchain system.
In order to solve the technical problems, the invention adopts another technical scheme that a block chain system is constructed, and the block chain system comprises a plurality of block chain nodes, wherein computer programs are stored on the block chain nodes, and when the programs are executed by a processor, the method for isolating the block chain system according to the authority is realized.
By implementing the method for isolating the authority in the blockchain system, the computer readable storage medium and the blockchain system, a read private key, a read public key, a write private key and a write public key can be generated for each blockchain user, and for a read key pair, only the asset can be queried but the cost cannot be spent, and only the read key pair is used for reading and writing the key pair at the same time, the spent authority can be obtained. Therefore, the invention realizes the authority isolation of inquiry and processing, thereby protecting the privacy of users and facilitating the flexible and autonomous management of assets.
Drawings
The invention will be further described with reference to the accompanying drawings and examples, in which:
FIG. 1 is a flow chart of a first preferred embodiment of a method of privilege isolation in a blockchain system of the present invention;
FIG. 2 is a schematic transaction flow diagram of a method for rights isolation in a blockchain system according to a second preferred embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
The invention relates to a method for isolating authority in a block chain system. And each transaction user respectively generates a read private key, a read public key, a write private key and a write public key. The method comprises the steps that a transaction initiator generates a session key pair, the session key pair comprises a transaction public key and a transaction private key, the transaction initiator generates change amount output based on the transaction private key, an initiator read public key and an initiator write public key, and generates initiation amount output based on the transaction private key, a receiver read public key and a receiver write public key. The transaction initiator signs the amount to be verified based on the transaction public key, the initiator read private key and the initiator write private key to perform first use verification, proves that the transaction initiator has the use right of the amount to be verified to the blockchain system, and writes the amount to be verified, the proving information and the transaction public key into transaction information, wherein the amount to be verified comprises the change amount output and/or the initiation amount output. And the blockchain system verifies the transaction information and stores the transaction information passing the verification on the blockchain system. And the transaction user reads the transaction information and verifies the initiated amount output in the transaction information by adopting the read private key, the write public key and the transaction public key. The method can generate a read private key, a read public key, a write private key and a write public key for each blockchain user, and for a read key pair, only the assets can be inquired but not the cost, and only the read key pair is used for reading and writing the key pair at the same time, the cost authority can be obtained. Therefore, the invention realizes the authority isolation of inquiry and processing, thereby protecting the privacy of users and facilitating the flexible and autonomous management of assets.
In practice, the present invention provides a method for separating the inquiry authority and the processing authority of an asset by using a double key, wherein a pair of key pairs is generated for the same blockchain user, one pair of key pairs has the processing (i.e. spending) authority, and the other pair has the authority to inquire the asset. The user's assets can be queried and audited without obtaining a spending authority key, which must be obtained by the spending user's private key.
FIG. 1 is a flow chart of a first preferred embodiment of a method of privilege isolation in a blockchain system of the present invention. As shown in fig. 1, in step S1, each transaction user generates a read private key, a read public key, a write private key, and a write public key, respectively. For example, a transaction user opens a wallet and first generates a pair of read-write public-private keys (a, a) and (B, B), respectively, (a, a) being a read key and (B, B) being a write key. Where a is the read private key and a is the read public key. B is a write private key and B is a write public key. The read key can only browse the assets of the transaction user, but can not cost the assets of the transaction user, and the write key must be obtained when the assets of the transaction user are spent.
In step S2, the transaction initiator generates a session key pair, where the session key pair includes a transaction public key and a transaction private key, and the transaction initiator generates a change amount output based on the transaction private key, the initiator read public key, and the initiator write public key, and generates an initiation amount output based on the transaction private key, the receiver read public key, and the receiver write public key.
In a preferred embodiment of the present invention, the transaction initiator selects an elliptic curve, and selects a base point on the elliptic curve as a general base point, and uses a scalar on the elliptic curve as the transaction private key; and then generating the transaction public key by carrying out elliptic curve multiplication on the basis of the universal base point and the transaction private key. For example, the transaction initiator generates a pair of session keys (R, R), where R is the transaction private key and R is the transaction public key. As described above, the session key (R, R) is obtained using an elliptic curve key system, where R is R × G. Wherein, G represents a private key and public key conversion factor in the elliptic curve algorithm. The public key R can therefore be derived from the public key R, but the private key R cannot be derived from the public key R and is therefore irreversible.
Using UTXO (Uncost Transaction Output) model as an example, assume that there are two inputs in UTXO model1、input2Collectively called input and two output1、output2Collectively called output and input1+input2=output1+output2. And two output outputs1、output2Namely the change amount output and the initiation amount output. The transaction initiator generates change based on the transaction private key, the initiator read public key and the initiator write public keyAnd outputting the amount, and generating an initiated amount output based on the transaction private key, the receiver read public key and the receiver write public key.
In a preferred embodiment of the present invention, the transaction initiator uses the transaction private key to perform elliptic curve multiplication with the initiator read public key, and uses a hash function to perform hash operation on the product, and then sums the operation result with the initiator write public key to generate the change amount output. The transaction initiator also uses the transaction private key to perform elliptic curve multiplication with the receiver read public key, and uses a hash function to perform hash operation on the product, and then sums the operation result and the receiver write public key to generate the initiation amount output.
In step S3, the transaction initiator signs the amount to be verified based on the transaction public key, the initiator read private key, and the initiator write private key to perform a first usage verification, and proves to the blockchain system that the transaction initiator has the right to use the amount to be verified, and writes the amount to be verified, the proof information, and the transaction public key into transaction information, where the amount to be verified includes the change amount output and/or the initiation amount output.
In a preferred embodiment of the present invention, the transaction initiator performs elliptic curve multiplication based on using the transaction public key and the initiator read private key, performs hash operation on the product using a hash function, and sums the operation result and the initiator write private key to obtain a summation result; then, carrying out hash operation on the money to be verified by using a hash function, and multiplying an operation result by the summation result to obtain a first-time verification signature; and then generating a certification random number, and adopting the first-time use verification signature and the certification random number as certification parameters to certify that the transaction initiator has the use right of the amount to be verified and obtain certification information to a blockchain system. And after the certification is finished, writing the random number, the certification information, the transaction public key, the amount to be verified and the output of the blockchain system into the transaction information.
For example, since a transaction user wants to browse his own key, he needs to first find his own output and prove his own right to the blockchain system and use it for the first time. If the transaction user only needs to browse own assets, the output belonging to the transaction user can be matched by carrying the (a, A) and the (B), and the amount consistent with the output index in the transaction can be found. If a user wants to spend own assets, the user needs to carry (a, A) and (B, B), sign the output through (a, B), generate a unique signature I, and then prove that the user owns the use right of the output to the blockchain by taking I as certification information. Attestation methods include, but are not limited to, multi-tiered linkable spontaneous anonymous group signatures (MLSAG), opcode signatures (OP _ CODE), or zero knowledge attestation signatures (zkSnark), among others. By these methods of proof, the transaction initiator can be proved to have the right to use the amount to be verified and obtain proof information, such as a ring signature, to the blockchain system. It will be appreciated by those skilled in the art that any suitable method of identification may be used to perform the above identification. And after the certification is successful, writing the money to be verified, the certification information and the transaction public key into transaction information.
In step S4, the blockchain system verifies the transaction information and stores the verified transaction information on the blockchain system. In a preferred embodiment of the invention, the blockchain system verifies a signature, such as signature I described above, based on the first use, e.g. whether there is a check of the transaction information. After confirming the existence of the signature I, the blockchain system verifies whether the transaction initiator has the use right of the amount to be verified based on the certification information, for example, performing ring signature verification. After the verification is passed, the transaction information is stored in the blockchain system.
In step S5, the transaction user reads the transaction information, and verifies the initiation amount output in the transaction information by using the read private key, the write public key, and the transaction public key. When the transaction user is a transaction receiver, the transaction receiver reads the transaction information to obtain the transaction public key and the initiated amount output; and then, performing elliptic curve multiplication by adopting the receiving party read private key and the transaction public key, performing hash operation on the product by using a hash function, summing the operation result and the receiving party write public key to generate self-received amount, and outputting and verifying whether the initiated amount belongs to the self-received amount or not based on the self-received amount and the initiated amount. When the transaction user is a transaction initiator, the transaction initiator reads the transaction information to obtain the transaction public key and the change amount output; and then, performing elliptic curve multiplication by adopting the initiator read private key and the transaction public key, performing hash operation on the product by using a hash function, summing the operation result and the initiator write public key to generate self-received amount, and outputting and verifying whether the change amount belongs to the self-received amount or not based on the self-received amount and the change amount.
Thus, the present invention provides a method for separating the inquiry authority and the processing authority of an asset by using double keys, wherein a pair of key pairs is generated for the same blockchain user, one pair of key pairs has the processing (i.e. spending) authority, and the other pair has the authority of inquiring the asset. The user's assets can be queried and audited without obtaining a spending authority key, which must be obtained by the spending user's private key. By implementing the permission isolation method in the block chain system, the permission isolation of inquiry and processing is realized, so that the flexible and autonomous management of assets can be facilitated while the privacy of users is protected.
FIG. 2 is a schematic transaction flow diagram of a method for rights isolation in a blockchain system according to a second preferred embodiment of the present invention. Here, the UTXO model is taken as an example, MLSAG is taken as a right to prove that the transaction initiator has output in UTXO. In this example, a transaction message is directed to the transaction initiator, and the output of the transaction message is denoted as Pj. Assume that the blockchain system has a large number of other output outputs, denoted herein as P ', for transactions that do not belong to the initiator'1,P′2,…,P′n]. The read-write key pair of the transaction initiator and the transaction receiver is (a)1,A1)(b1,B1) And (a)2,A2)(b2,B2). I.e. the initiator reads public key a1Initiator reads private key a1Initiator writes public key B1Initiator writes private key b1The receiver reads the public key A2The receiving party reads the private key a2The receiver writes the public key B2The receiving party writes the private key b2
Firstly, a session key pair (R, R) is generated before a transaction initiator constructs a transaction, a private key R is generated firstly, then a base point G is taken on an elliptic curve, a public key R is derived through R x G, and R is recorded at the head of transaction information. Then, two output ports of the UTXO are constructed, and the two output ports are respectively marked as P1And P2In which P is1As change-giving amount output, P2Output as the initiation amount. The construction process is as follows:
P1=Hs(r*A1)+B1
P2=Hs(r*A2)+B2
after the output is constructed, the output of two transactions with spent signatures is started, namely the change amount output P1And initiating a sum output P2. In order to prove that the transaction initiator has the right to use the output and use the output for the first time, the transaction initiator signs the amount to be verified based on the transaction public key, the initiator read private key and the initiator write private key to carry out the first-time use verification and proves that the transaction initiator has the use right of the amount to be verified to the blockchain system, the verification process is as follows:
x1=Hs(a1*R)+b1
I=x1*Hp(Pj)。
in this embodiment, we use MLSAG to prove that, at this time, the transaction initiator needs to generate a random value m as the initialization parameter of MLSAG, and m is also written into the block chain. In this embodiment, the block chain is certified to own P using MLSAG build-up certificationjThe specific construction process of (2) is as follows:
the transaction initiator will belong to its own output PjWrite to [ P'1,P′1,…,P′n-1]Among them, note as [ P'1,P′2,…Pj…,P′n];
Randomly generated set of random number intervals
Figure BDA0002495738950000091
Random value α, s aboveiI ≠ j, i ∈ {1 … n }, excluding s of signersjWe refer to j herein as the encryption index, i.e., the location of the signer among the members of the signature exchange.
First calculate Lj,Rj,cj+1Three values
Lj=αG
Rj=αHp(Pj)
cj+1=h(m,Lj,Rj)
The indices are calculated as (j + +% n until we calculate to cjUntil now
Lj+1=sj+1G+cj+1P′j+1
Rj+1=sj+1Hp(P′j+1)+cj+1I
cj+2=h(m,Lj+1,Rj+1)
L1=s1G+c1P′1
R1=s1Hp(P′1)+c1I
c2=h(m,L1,R1)
Lj-1=sj-1G+cj-1P′j-1
Rj-1=sj-1Hp(P′j-1)+cj-1I
cj=h(m,Lj-1,Rj-1)
Through the above-mentioned several steps { I, c1…cn,s1…sj-1,sj+1…snAll are known, also lacking sjNext, s is calculatedj
Let
sj=α-cjx mod l
Thus, it is possible to provide
α=sj+cjx mod l
So we prove s by the following several formulasjThe values of (A) are right, i.e. can be deduced
Lj=αG=sjG+cjxG=sjG+cjPj
Rj=αHp(Pj)=sjHp(Pj)+cjI
cj+1=h(m,Lj,Rj)
Finally we get the ring signature σ ═ { I, c ═ I1…cn,s1…sn}。
Then, the session key public key R, and the transaction prefix m and the ring signature σ, [ P'1,P′2,…Pj…,P′n]And writing the transaction information.
Those skilled in the art will appreciate that the MLSAG attestation process may employ any of the known algorithms and processes of the present invention. Based on the teachings of the present invention and common general knowledge in the art, one skilled in the art can implement the MLSAG attestation process. Further, those skilled in the art such as, but not limited to, an opcode signature (OP _ CODE) or a zero knowledge proof of knowledge signature (zkSnark) may be used with the present invention. Various methods of identification are known to those skilled in the art.
The transaction initiator sends transaction information to the blockchain system. After receiving the transaction information, the blockchain system verifies the transaction information, and stores and releases the transaction information passing the verification on the blockchain system. Various methods of verifying transaction information are known to those skilled in the art. In the present invention, the ring signature is still described as an example.
First, the blockchain system checks σ ═ I, c1…cn,s1…snChecking if I already exists in the blockchain system, and then starting to verify if P is authorized to use when initiating thisjI.e. the check sigma. The verification process is as follows: first, parameter reading is performed, i.e. m is read from the transaction information, I is read, c is read from the ring signature1…cn,s1…snAll of c iniAnd si(ii) a The ring signature is then verified. I.e. according to ciAnd siAnd (3) calculating:
Li=siG+ciPi
Ri+1=siHp(Pi)+ciI
ci+1=h(m,Li,Ri)
when calculating to cn+1When it is, judge cn+1Whether or not it is equal to c1If yes, the signature passes the verification, otherwise, the signature cannot pass the verification.
Based on the teachings of the present invention and the common general knowledge in the art, a person skilled in the art is able to carry out the verification of the ring signature and can also carry out the verification using any other verification method known in the art.
And finally, the transaction user reads the transaction information and verifies the initiated amount output in the transaction information by adopting the read private key, the write public key and the transaction public key. For example, when the transaction user is the transaction receiver, it reads output from the transaction information, assuming that exactly P is read2Then use its own read private key and write public key to verify P2Whether the user belongs to the user or not, the specific process is as follows:
P′=Hs(R*a2)G+B2
P2?=P′
similarly, when the transaction user is the transaction initiator, the output is read from the transaction information, and it is assumed that P is just read1Then use its own read private key and write public key to verify P1Whether the user belongs to the user or not, the specific process is as follows:
P′=Hs(R*a1)G+B1
P1?=P′
therefore, in the present invention, the user's assets can be queried and audited without the need for writing the private key, and only the transaction user's assets can be spent using both the write private key and the read private key. Therefore, the invention can generate a read private key, a read public key, a write private key and a write public key for each blockchain user, and for the read key pair, only the assets can be inquired but not the cost, and only the read key pair and the write key pair are used for obtaining the cost authority. Therefore, the invention realizes the authority isolation of inquiry and processing, thereby protecting the privacy of users and facilitating the flexible and autonomous management of assets.
Another technical solution to solve the technical problem of the present invention is to construct a computer readable storage medium, on which a computer program is stored, wherein the computer program, when executed by a processor, implements the method for isolating permissions in a blockchain system.
In order to solve the technical problems, the invention adopts another technical scheme that a block chain system is constructed, and the block chain system comprises a plurality of block chain nodes, wherein computer programs are stored on the block chain nodes, and when the programs are executed by a processor, the method for isolating the block chain system according to the authority is realized.
The computer readable storage medium and the blockchain system can generate a read private key, a read public key, a write private key and a write public key for each blockchain user, and for a read key pair, only the assets can be inquired but not spent, and only the read key pair is used for reading and writing the key pair at the same time, the spent authority can be obtained. Therefore, the invention realizes the authority isolation of inquiry and processing, thereby protecting the privacy of users and facilitating the flexible and autonomous management of assets.
Accordingly, the present invention can be realized in hardware, software, or a combination of hardware and software. The present invention can be realized in a centralized fashion in at least one computer system, or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system or other apparatus adapted for carrying out the methods of the present invention is suited. A typical combination of hardware and software could be a general purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein.
The present invention may also be implemented by a computer program product, comprising all the features enabling the implementation of the methods of the invention, when loaded in a computer system. The computer program in this document refers to: any expression, in any programming language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: a) conversion to other languages, codes or symbols; b) reproduced in a different format.
While the invention has been described with reference to specific embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from its scope. Therefore, it is intended that the invention not be limited to the particular embodiment disclosed, but that the invention will include all embodiments falling within the scope of the appended claims.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents and improvements made within the spirit and principle of the present invention are intended to be included within the scope of the present invention.

Claims (9)

1. A method for privilege isolation in a blockchain system, comprising the steps of:
s1, each transaction user respectively generates a read private key, a read public key, a write private key and a write public key;
s2, a transaction initiator generates a session key pair, the session key pair comprises a transaction public key and a transaction private key, the transaction initiator generates a change amount output based on the transaction private key, an initiator read public key and an initiator write public key, and generates an initiation amount output based on the transaction private key, a receiver read public key and a receiver write public key;
s3, the transaction initiator signs the amount to be verified based on the transaction public key, the initiator read private key and the initiator write private key to perform first use verification, proves to the blockchain system that the transaction initiator has the right of use of the amount to be verified, and writes the amount to be verified, the proving information and the transaction public key into transaction information, wherein the amount to be verified comprises the change amount output and/or the initiation amount output;
s4, the blockchain system verifies the transaction information and stores the transaction information passing the verification on the blockchain system;
s5, the transaction user reads the transaction information and verifies the output of the initiation amount in the transaction information by adopting the read private key, the write public key and the transaction public key.
2. The method for privilege isolation in a blockchain system according to claim 1, wherein the step S2 further comprises:
s21, the transaction initiator selects an elliptic curve, selects a base point on the elliptic curve as a general base point, and uses a scalar on the elliptic curve as the transaction private key;
s22, the transaction initiator generates the transaction public key by performing elliptic curve multiplication on the basis of the general base point and the transaction private key;
s23, the transaction initiator uses the transaction private key to perform elliptic curve multiplication with the initiator read public key, and uses a hash function to perform hash operation on the product, and then sums the operation result and the initiator write public key to generate the change amount output;
and S24, the transaction initiator uses the transaction private key to perform elliptic curve multiplication with the receiver read public key, uses a hash function to perform hash operation on the product, and sums the operation result and the receiver write public key to generate the initiation amount output.
3. The method for privilege isolation in a blockchain system according to claim 2, wherein the step S3 further comprises:
s31, the transaction initiator performs elliptic curve multiplication based on the transaction public key and the initiator read private key, performs hash operation on the product by using a hash function, and then sums the operation result and the initiator write private key to obtain a summation result;
s32, carrying out hash operation on the money to be verified by using a hash function, and multiplying the operation result and the summation result to obtain a first-time verification signature;
s33, generating a certification random number, and adopting the first use verification signature and the certification random number as certification parameters to certify the use right of the transaction initiator for the amount to be verified and obtain certification information to a blockchain system;
s34, writing the random number, the certification information, the transaction public key, the to-be-verified amount and the output of the blockchain system into the transaction information.
4. The method for privilege isolation in blockchain system according to claim 3, wherein in the step S33, the multilayer linkable spontaneous anonymous group signature, the opcode signature or the zero-knowledge proof signature is adopted to prove to the blockchain system that the transaction initiator has the right to use the amount to be verified and obtain the proof information.
5. The method for privilege isolation in a blockchain system according to claim 4, wherein the step S4 further comprises:
s41, the blockchain system verifies whether the transaction information exists based on the first-time use verification signature;
s42, the blockchain system verifies whether the transaction initiator has the use right of the amount to be verified based on the certification information;
and S43, storing the transaction information passing the verification on the blockchain system.
6. The method for privilege isolation in a blockchain system according to claim 5, wherein the step S5 further comprises:
s51, the transaction receiver reads the transaction information to obtain the transaction public key and the initiation amount output;
s52, the transaction receiver adopts the receiver read private key to carry out elliptic curve multiplication with the transaction public key, and uses a hash function to carry out hash operation on the product, and then sums the operation result with the receiver write public key to generate self-receiving amount, and outputs and verifies whether the self-receiving amount belongs to the self-receiving amount or not based on the self-receiving amount and the initiating amount.
7. The method for privilege isolation in a blockchain system according to claim 5, wherein the step S5 further comprises:
s5a, the transaction initiator reads the transaction information to obtain the transaction public key and the change amount output;
s5b, the transaction initiator adopts the initiator read private key to carry out elliptic curve multiplication with the transaction public key, and uses a hash function to carry out hash operation on the product, and then sums the operation result with the initiator write public key to generate self-receiving amount, and outputs and verifies whether the change amount belongs to the self based on the self-receiving amount and the change amount.
8. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out a method of rights isolation in a blockchain system according to any one of claims 1 to 7.
9. A blockchain system comprising a plurality of blockchain nodes having stored thereon a computer program, characterized in that the program, when being executed by a processor, implements a method of rights isolation in a blockchain system according to any of the claims 1-7.
CN202010417961.8A 2020-05-18 2020-05-18 Method for authority isolation in blockchain system, computer readable storage medium and blockchain system Active CN111709741B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010417961.8A CN111709741B (en) 2020-05-18 2020-05-18 Method for authority isolation in blockchain system, computer readable storage medium and blockchain system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010417961.8A CN111709741B (en) 2020-05-18 2020-05-18 Method for authority isolation in blockchain system, computer readable storage medium and blockchain system

Publications (2)

Publication Number Publication Date
CN111709741A true CN111709741A (en) 2020-09-25
CN111709741B CN111709741B (en) 2023-09-29

Family

ID=72537194

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010417961.8A Active CN111709741B (en) 2020-05-18 2020-05-18 Method for authority isolation in blockchain system, computer readable storage medium and blockchain system

Country Status (1)

Country Link
CN (1) CN111709741B (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110189131A (en) * 2019-06-26 2019-08-30 阿里巴巴集团控股有限公司 The implementation method and device traded using the secret block chain of ring signatures
CN110933045A (en) * 2019-11-08 2020-03-27 中国电子科技网络信息安全有限公司 Block chain digital asset privacy protection method based on commitment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110189131A (en) * 2019-06-26 2019-08-30 阿里巴巴集团控股有限公司 The implementation method and device traded using the secret block chain of ring signatures
CN110933045A (en) * 2019-11-08 2020-03-27 中国电子科技网络信息安全有限公司 Block chain digital asset privacy protection method based on commitment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
XINXIN FAN: "Faster Dual-Key Stealth Address for Blockchain-Based Internet of Things Systems" *

Also Published As

Publication number Publication date
CN111709741B (en) 2023-09-29

Similar Documents

Publication Publication Date Title
CN108418783B (en) Method and medium for protecting privacy of intelligent contracts of block chains
WO2019105407A1 (en) Zero-knowledge proof method suitable for block chain privacy protection, and medium
Williamson The aztec protocol
JP5099003B2 (en) Group signature system and information processing method
US11764943B2 (en) Methods and systems for somewhat homomorphic encryption and key updates based on geometric algebra for distributed ledger/blockchain technology
JP7231630B2 (en) Blockchain-implemented security systems and methods for blinded consequent selection
Alonso Zero to monero
Noether et al. Monero is not that mysterious
Singh et al. A novel credential protocol for protecting personal attributes in blockchain
US20230254299A1 (en) Apparatus and methods for credentialing users across user devices
Gao et al. Lattice-based deniable ring signatures
CN114092242A (en) Method and system for realizing private transaction based on range certification
Kang et al. Secure electronic cash scheme with anonymity revocation
US20220278843A1 (en) Computer implemented method and system for knowledge proof in blockchain transactions
CN114514550A (en) Partitioning requests into blockchains
Wang et al. A novel blockchain identity authentication scheme implemented in fog computing
CN113792282B (en) Identity data verification method and device, computer equipment and storage medium
CN111709741B (en) Method for authority isolation in blockchain system, computer readable storage medium and blockchain system
Hong et al. Constructing conditional PKEET with verification mechanism for data privacy protection in intelligent systems
Au et al. Short e-cash
JP2004228958A (en) Signature method and signature program
Dogan et al. KAIME: Central bank digital currency with realistic and modular privacy
Wen et al. A new efficient authorized private set intersection protocol from Schnorr signature and its applications
CN112835554A (en) Random number generation, regeneration and tracking method based on non-uniform random source in group and electronic device
CN112631552A (en) Random number generation and regeneration method based on non-uniform random source and electronic device

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