CN111159694A - Private use authorization method of block chain digital assets based on zero knowledge proof - Google Patents

Private use authorization method of block chain digital assets based on zero knowledge proof Download PDF

Info

Publication number
CN111159694A
CN111159694A CN201911302917.6A CN201911302917A CN111159694A CN 111159694 A CN111159694 A CN 111159694A CN 201911302917 A CN201911302917 A CN 201911302917A CN 111159694 A CN111159694 A CN 111159694A
Authority
CN
China
Prior art keywords
authorization
user
digital assets
digital
intelligent contract
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.)
Pending
Application number
CN201911302917.6A
Other languages
Chinese (zh)
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.)
Shanghai Qiyin Information Technology Co ltd
Original Assignee
Shanghai Qiyin Information 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 Shanghai Qiyin Information Technology Co ltd filed Critical Shanghai Qiyin Information Technology Co ltd
Priority to CN201911302917.6A priority Critical patent/CN111159694A/en
Publication of CN111159694A publication Critical patent/CN111159694A/en
Pending legal-status Critical Current

Links

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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • G06N5/013Automatic theorem proving
    • 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

Abstract

The invention discloses a private use authorization method of a block chain digital asset based on zero knowledge proof, which comprises the following steps: a user registration step; a step of registering digital assets; a digital asset authorization step; and (5) an authorization certification step. The invention can publish digital assets on a blockchain, but hide the owners of the digital assets; authorization for use of the digital asset may also be made on the chain, but the authorized purchaser, owner, and digital asset information are hidden.

Description

Private use authorization method of block chain digital assets based on zero knowledge proof
Technical Field
The invention relates to the technical field of blockchain, in particular to a private use authorization method of blockchain digital assets based on zero knowledge proof.
Background
In a block chain system which is represented by bitcoin and is designed by a UTXO model, the flow of each UTXO is public, the anonymity is ensured by hiding the corresponding relation between a person and an address, and once the corresponding relation between a certain address and the person is exposed, all transaction records and fund quantity of the person can be basically tracked by matching with data analysis tools on a chain. In an intelligent contract blockchain such as an etherhouse, all transactional data in a block is also public, although a virtual machine can provide a well-crafted programming language to implement arbitrary logic. The development of zero knowledge proof has enabled many users to attempt to implement private transactions over blockchains, the Nightfall project published before secure (EY), enabling support for private transfers of ERC-721 class assets at etherhouses. The ZCAh project designs a transaction record mixing scheme through zero knowledge proof, realizes the same function as a bitcoin, but does not store any specific information (sender, receiver, amount, etc.) of a transaction on a chain.
Items such as ZCash and Nightfall focus on the area of private transfers, but blockchains are used much more than Token transfers. The human society is experiencing a tremendous impact from the information revolution, and from the perspective of the enterprise, most enterprises are experiencing a transition from manufacturing to innovative enterprises. The core production data of enterprises is being converted from capital, factory building, raw materials and the like into a network formed by people, knowledge (information) and knowledge, and the professional expression is called social capital. In such a large context, the protection and efficient circulation of digital assets such as knowledge-based materials, results, etc. becomes especially important to the enterprise.
The registration of the assets is necessarily disclosed based on the ERC-721 standard, and after the registration of the assets, the assets are transferred into a privacy contract, and the transfer operation is not visible to the outside. In addition, in the case of digital assets of the type of articles, pictures, and the like, the most important way of circulation is not transfer of ownership but purchase of usage rights. Such as the reprint right purchase of articles, the purchase use of pictures, etc. For such digital assets, the use of NFT model abstraction is not sufficient, and private purchase of usage rights is even more impractical.
The applicant has therefore made an advantageous search and attempt to solve the above-mentioned problems, in the context of which the technical solutions to be described below have been created.
Disclosure of Invention
The technical problem to be solved by the invention is as follows: the method for authorizing the private use of the blockchain digital assets based on zero knowledge proof is provided for overcoming the defects of the prior art.
The technical problem to be solved by the invention can be realized by adopting the following technical scheme:
the private use authorization method of the blockchain digital assets based on zero knowledge certification comprises the following steps:
a user registration step: a user who needs to issue digital assets on a block chain registers according to an intelligent contract;
a digital asset registration step: the registered user registers own digital assets according to the intelligent contract;
a digital asset authorization step: when a registered user needs to anonymously authorize a part or all of the registered digital assets to one or more registered users, the registered user generates an authorization record on a block chain according to an intelligent contract and sends the generated authorization record to the authorized user;
and an authorization certification step: when one or more authorized users acquire the authorization of a certain digital asset, the one or more authorized users generate an authorization certificate for the received authorization record according to the intelligent contract so as to prove that the one or more authorized users acquire the authorization of the certain digital asset.
In a preferred embodiment of the present invention, the method further comprises a verification authorization step, wherein the verification authorization step is that when a registered user receives an authorization certificate provided by another registered user, the registered user verifies the validity of the received authorization certificate by calling an intelligent contract.
Due to the adoption of the technical scheme, the invention has the beneficial effects that: the invention can publish digital assets on a blockchain, but hide the owners of the digital assets; authorization for use of the digital asset may also be made on the chain, but the authorized purchaser, owner, and digital asset information are hidden. Therefore, the privacy of the whole process of publishing and authorizing the digital assets on the block chain is realized, and the record of publishing and authorizing all the assets is ensured not to expose the information of any participant in principle. If necessary, the user can prove ownership or use right of the assets to any third party by means of data on the blockchain and zero knowledge proof method.
Detailed Description
The present invention is further described in order to make the technical means, the creation features, the achievement purposes and the effects of the present invention easy to understand.
The invention discloses a private use authorization method of a blockchain digital asset based on zero knowledge certification, which comprises the following steps:
a user registration step: a user who needs to issue digital assets on a block chain registers according to an intelligent contract;
a digital asset registration step: the registered user registers own digital assets according to the intelligent contract;
a digital asset authorization step: when a registered user needs to anonymously authorize a part or all of the registered digital assets to one or more registered users, the registered user generates an authorization record on a block chain according to an intelligent contract and sends the generated authorization record to the authorized user;
and an authorization certification step: when one or more authorized users acquire the authorization of a certain digital asset, the one or more authorized users generate an authorization certificate for the received authorization record according to the intelligent contract so as to prove that the one or more authorized users acquire the authorization of the certain digital asset.
And (3) verifying and authorizing: when a registered user receives an authorization certificate provided by another registered user, the registered user verifies the validity of the received authorization certificate by calling an intelligent contract.
The specific content of the user registration step is as follows:
the user who needs to release digital assets on the block chain registers according to the intelligent contract, the registered user has a pair of public and private keys representing the ownership identity of the user assets, the length of each key is 32 bytes, and the key pairs are respectively marked as pkR,skRAnd satisfies the relation:
pkR=h(skR)
the registered user also has a public and private key pair representing the identity of the blockchain and the corresponding blockchain address which are respectively marked as pkE,skEAddr, is generated using a standard elliptic curve signature algorithm. The user needs to carefully keep the private keys in the two sets of public and private key pairs, and the private keys cannot be revealed。
The user also has a username n, which is provided to the querier upon verification of the authorization information, and which should be in the form of natural semantic information representing the user's identity.
The user can realize the anonymous authorization of the digital assets only by completing the user registration process according to the intelligent contract. The user registration actually records some important information of the user on the blockchain, and the pk of the user is recordedRAnd one binding is made for three kinds of information of addr and n. Some of these information may not be changed, such as the user's blockchain address addr and pk representing the user's property ownership identityR(ii) a Further information requires rights management, such as the user's registration name information n.
Accordingly, the following two points are ensured:
1. only possess skRCan be the corresponding pkRUser registration operation is carried out, and zero knowledge proof is adopted for realization;
2. once the user has completed registration, only pk is ownedECorresponding private key skECan modify the user's registration name, and is realized by relying on an elliptic curve signature algorithm mechanism.
Note that there is an implicit requirement for both of the above: the private key of the user cannot be disclosed.
The following takes the user a as an example, and specifically introduces the user registration process:
1. generating two groups of public-private key pairs and other user information data in a secure environment;
2. generating a zero knowledge proof pi, containing a constraint:
Figure BDA0002322305200000051
3. open input:
Figure BDA0002322305200000052
4. private input:
Figure BDA0002322305200000053
5. calling an intelligent contract method: organ
Figure BDA0002322305200000054
Note: in the zero knowledge proof generation process of ZoKrates, it can be set whether the input variable is public, the public variable will appear in the generated proof, and the private variable will not appear.
The specific contents of the digital asset registration step are as follows:
for any digital asset, the user needs to generate a unique digital id for the digital asset, which is recorded as α.
Digital asset registration is actually recording the user's asset public key pk on the blockchainRα, the following two points are guaranteed according to the relationship:
1. only possess skRCan be the corresponding pkRRegistering assets, which is realized by adopting zero knowledge proof;
2. the same α can only be registered once.
The following describes the process of digital asset registration by taking the user a registering the asset α as an example:
1. computing
Figure BDA0002322305200000055
2. Generating a zero knowledge proof pi, containing a constraint:
Figure BDA0002322305200000056
Figure BDA0002322305200000057
3. open input:
Figure BDA0002322305200000058
4. private input:
Figure BDA0002322305200000059
5. calling an intelligent contract method: register for shield
Figure BDA0002322305200000061
The specific contents of the digital asset authorization step are as follows:
the nature of authorization is to generate an authorization record on the blockchain that implies the asset α and the authorized party information.
1. Only registered asset α may be authorized, giving zero knowledge proof of the existence of the registration record for asset α;
2. the authorized party must have α the corresponding asset private key sk at registration timeRIt is necessary to give the authority to own the skRZero knowledge proof of (2);
3. the asset α, authorizer information, and authorizee information cannot be disclosed.
The following describes the process of digital asset authorization, taking user a as an example to authorize asset α to user B:
1. obtaining asset public key of user B
Figure BDA0002322305200000062
2. Computing
Figure BDA0002322305200000063
3. Obtaining
Figure BDA0002322305200000064
Namely, it is
Figure BDA0002322305200000065
At MTRThe sibling node path value of top;
4. obtaining MTRRoot node root ofR
5. Generating a zero knowledge proof pi, containing a constraint:
Figure BDA0002322305200000066
Figure BDA0002322305200000067
Figure BDA0002322305200000068
Figure BDA0002322305200000069
6. open input:
Figure BDA00023223052000000610
7. private input:
Figure BDA00023223052000000611
8. invoking a contract method: (iii) shelf
Figure BDA00023223052000000612
The specific contents of the authorization certification step are as follows:
in order for a user to show a third party that he or she has obtained authorization for a digital asset, an authorization certificate needs to be generated. The authorization certification essentially certifies the correspondence between the user and the authorization record on the blockchain, namely:
1.α and pk exist on the Block chainRCorresponding authorization record Zα
2. The user owns pkRCorresponding toPrivate key skR
The following describes the process of generating an authorization credential by taking user B as an example to generate an authorization credential for asset α:
1. obtaining
Figure BDA0002322305200000071
Computing
Figure BDA0002322305200000072
2. Computing
Figure BDA0002322305200000073
3. Obtaining
Figure BDA0002322305200000074
Namely, it is
Figure BDA0002322305200000075
At MTRThe sibling node path value of top;
4. obtaining
Figure BDA0002322305200000076
Namely, it is
Figure BDA0002322305200000077
At MTZThe sibling node path value of top;
5. obtaining MTZRoot node root ofZ
6. Obtaining MTRRoot node root ofR
7. Generating a zero knowledge proof pi, containing a constraint:
Figure BDA0002322305200000078
Figure BDA0002322305200000079
Figure BDA00023223052000000710
Figure BDA00023223052000000711
Figure BDA00023223052000000712
8. open input:
Figure BDA00023223052000000713
9. private input:
Figure BDA00023223052000000714
Figure BDA00023223052000000715
disclosed to all as proof that user B has the authorization of asset α from a.
The specific contents of the authentication and authorization steps are as follows:
for the authorization certification provided by other users, the validity of the authorization certification can be verified by calling the method of the intelligent contract:
Shield.authorizeCheck
Figure BDA00023223052000000716
the method returns:
whether B obtains the authorization of A;
2. user information of authorizer a;
3. user information of authorized party B.
Intelligent contract
The invention uses a series of intelligent contracts to realize the interaction with the block chain, which mainly comprises the following classes:
user-related: for user registration, username modification, etc.;
shield contract: for a user to initiate registration, authorization, authentication, etc. of an asset;
verifier contract: the elliptic curve pairing function is used to verify the zero knowledge proof as library for other contract invocations.
Two important intelligent contract contents are specifically described below:
Organization.sol
·register
Figure BDA0002322305200000081
-registering a user on the blockchain, recording the correspondence of the user's registration name, the asset public key and the blockchain address
·resetName(nA):
-modifying the user name, with only the user registered blockchain address having authority to invoke
·get(pkR)
-obtaining the asset public key pkRCorresponding user registration name
Shield.sol
·register
Figure BDA0002322305200000082
-registering the digital asset α on the blockchain, where the information of user a is hidden;
Figure BDA0002322305200000083
will be saved to MTRRemoving;
updating MTR
-generating α corresponding ERC-721token, owner for Shield contract.
·authorize
Figure BDA0002322305200000091
Authorization of digital assets α to B, where the information of digital assets α is hidden-contracts require verification that the root was or happens to be an MTRRoot node of
·verify(π,inputs)
-verifying whether a proof pi and corresponding input matches by calling a method of a Verifier contract
·authorizeCheck
Figure BDA0002322305200000092
The proof of authorization information is verified.
The present invention may publish digital assets on a chain, but hide the owners of the digital assets. For example: post pictures are taken as an example. For example, a user a may register a picture on the blockchain, and the blockchain has no original content of the picture, but only the hash value and ID of the picture. This picture is also not visible from the blockchain as from user a. Next, if the user a needs to prove ownership of the picture, the user a may attach a piece of "text" when publishing the picture on a certain media, and take the piece of text to the block chain for querying, so as to prove that the user a is the author of the picture. But by the data on the blockchain alone, anyone cannot find out which other pictures user a has. Even if other people have the text, the proof of ownership cannot be forged, and the pictures cannot be sold.
The present invention can also conduct authorization of use of digital assets on the chain, but hide the authorized purchaser, owner, and digital asset information. For example, a certain user B sees a picture on the medium and may pay to purchase usage rights, but no one knows from whom the user B bought what. When the purchased picture is used in the blog of the user B, the user B can be attached with a text, and the validity of the payment purchase of the user B can be confirmed on the chain through the text, but any other purchase records of the user B cannot be found, and the user B cannot be found from who the picture is purchased.
Through the functions, the invention realizes the whole-process privacy protection of picture publishing and purchasing. While also enabling disclosure of some information as necessary to prove ownership and not expose any other additional private information.
It should be noted that although the present invention uses pictures as examples, the functions implemented by the present invention can be used in the registration and authorization of any type of digital asset.
The foregoing shows and describes the general principles and broad features of the present invention and advantages thereof. It will be understood by those skilled in the art that the present invention is not limited to the embodiments described above, which are described in the specification and illustrated only to illustrate the principle of the present invention, but that various changes and modifications may be made therein without departing from the spirit and scope of the present invention, which fall within the scope of the invention as claimed. The scope of the invention is defined by the appended claims and equivalents thereof.

Claims (2)

1. The method for authorizing the private use of the blockchain digital assets based on zero knowledge certification is characterized by comprising the following steps of:
a user registration step: a user who needs to issue digital assets on a block chain registers according to an intelligent contract;
a digital asset registration step: the registered user registers own digital assets according to the intelligent contract;
a digital asset authorization step: when a registered user needs to anonymously authorize a part or all of the registered digital assets to one or more registered users, the registered user generates an authorization record on a block chain according to an intelligent contract and sends the generated authorization record to the authorized user;
and an authorization certification step: when one or more authorized users acquire the authorization of a certain digital asset, the one or more authorized users generate an authorization certificate for the received authorization record according to the intelligent contract so as to prove that the one or more authorized users acquire the authorization of the certain digital asset.
2. The method of claim 1, further comprising a verification authorization step, wherein when a registered user receives an authorization certificate provided by another registered user, the registered user verifies the validity of the received authorization certificate by invoking an intelligent contract.
CN201911302917.6A 2019-12-17 2019-12-17 Private use authorization method of block chain digital assets based on zero knowledge proof Pending CN111159694A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911302917.6A CN111159694A (en) 2019-12-17 2019-12-17 Private use authorization method of block chain digital assets based on zero knowledge proof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911302917.6A CN111159694A (en) 2019-12-17 2019-12-17 Private use authorization method of block chain digital assets based on zero knowledge proof

Publications (1)

Publication Number Publication Date
CN111159694A true CN111159694A (en) 2020-05-15

Family

ID=70557275

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911302917.6A Pending CN111159694A (en) 2019-12-17 2019-12-17 Private use authorization method of block chain digital assets based on zero knowledge proof

Country Status (1)

Country Link
CN (1) CN111159694A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111984840A (en) * 2020-09-07 2020-11-24 中国银行股份有限公司 Online asset safety display locking method and device
CN112347516A (en) * 2020-11-27 2021-02-09 网易(杭州)网络有限公司 Asset certification method and device based on block chain
CN113592469A (en) * 2021-08-02 2021-11-02 杭州复杂美科技有限公司 Red packet processing method based on zero knowledge proof, computer equipment and storage medium
CN113592478A (en) * 2021-08-02 2021-11-02 杭州复杂美科技有限公司 Digital commodity transaction method, computer device and storage medium
CN114119046A (en) * 2021-11-25 2022-03-01 支付宝(杭州)信息技术有限公司 Commodity design authorization use method and device based on block chain system
CN114186248A (en) * 2021-11-13 2022-03-15 云南财经大学 Zero-knowledge proof verifiable certificate digital identity management system and method based on block chain intelligent contracts

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108764872A (en) * 2018-06-01 2018-11-06 杭州复杂美科技有限公司 A kind of authority to pay method and system, equipment and storage medium
CN110348837A (en) * 2019-06-28 2019-10-18 阿里巴巴集团控股有限公司 A kind of transfer account method and system based on block chain intelligence contract
CN110473105A (en) * 2019-08-20 2019-11-19 深圳市网心科技有限公司 A kind of block chain transaction settlement method, system and relevant device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108764872A (en) * 2018-06-01 2018-11-06 杭州复杂美科技有限公司 A kind of authority to pay method and system, equipment and storage medium
CN110348837A (en) * 2019-06-28 2019-10-18 阿里巴巴集团控股有限公司 A kind of transfer account method and system based on block chain intelligence contract
CN110473105A (en) * 2019-08-20 2019-11-19 深圳市网心科技有限公司 A kind of block chain transaction settlement method, system and relevant device

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111984840A (en) * 2020-09-07 2020-11-24 中国银行股份有限公司 Online asset safety display locking method and device
CN111984840B (en) * 2020-09-07 2023-09-22 中国银行股份有限公司 Online asset security display locking method and device
CN112347516A (en) * 2020-11-27 2021-02-09 网易(杭州)网络有限公司 Asset certification method and device based on block chain
CN113592469A (en) * 2021-08-02 2021-11-02 杭州复杂美科技有限公司 Red packet processing method based on zero knowledge proof, computer equipment and storage medium
CN113592478A (en) * 2021-08-02 2021-11-02 杭州复杂美科技有限公司 Digital commodity transaction method, computer device and storage medium
CN114186248A (en) * 2021-11-13 2022-03-15 云南财经大学 Zero-knowledge proof verifiable certificate digital identity management system and method based on block chain intelligent contracts
CN114186248B (en) * 2021-11-13 2022-08-05 云南财经大学 Zero-knowledge proof verifiable certificate digital identity management system and method based on block chain intelligent contracts
CN114119046A (en) * 2021-11-25 2022-03-01 支付宝(杭州)信息技术有限公司 Commodity design authorization use method and device based on block chain system

Similar Documents

Publication Publication Date Title
CN111159694A (en) Private use authorization method of block chain digital assets based on zero knowledge proof
US20200334675A1 (en) System and method of generating and validating encapsulated cryptographic tokens based on multiple digital signatures
US11366910B2 (en) Method and system for secure applications using blockchain
US6385725B1 (en) System and method for providing commitment security among users in a computer network
US10410213B2 (en) Encapsulated security tokens for electronic transactions
EP3782346A1 (en) System for verification of pseudonymous credentials for digital identities with managed access to personal data on trust networks
Kou Payment technologies for E-commerce
US20220407702A1 (en) Systems and Methods for Token Creation and Management
EP3834156A1 (en) Systems and methods for blockchain addresses and owner verification
CN110600096B (en) Medical data management method and system and computer storage medium
JP2005509366A (en) Method and system for data supply, method and system for transfer of ownership of electronic property, and method and system for electronic voting
US11238170B2 (en) Delegation using pairwise decentralized identifier
US11777728B2 (en) Systems and methods for blockchain transactions with offer and acceptance
US20230004970A1 (en) Distributed Ledgers with Ledger Entries Containing Redactable Payloads
US20230086191A1 (en) Systems and Methods for Token Content Unlocking, Biometric Authentication using Privacy-Protecting Tokens, Ownership-Based Limitations of Content Access, Policy-Based Time Capsule Technology, and Content Lock Mechanisms
US20190378130A1 (en) Encapsulated security tokens for electronic transactions
Wang et al. Access Control Management in Cloud Environments
Chen et al. Toward achieving anonymous nft trading
CN117426073A (en) Trusted chain of custody for verifiable credentials
CN114785511A (en) Certificate generation method and device, electronic device and storage medium
KR100821086B1 (en) Networked Services Licensing System and Method
WO2017219880A1 (en) Right file management method
Ibor et al. A conceptual framework for augmenting the security of digitized academic records in Nigerian tertiary institutions using blockchain technology
Brands Non Intrusive Identity management
Chen et al. A Blockchain-Based Anti-Counterfeit and Traceable NBA Digital Trading Card Management System. Symmetry 2022, 14, 1827

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