Computer-readable medium for verifying transaction information using zero-knowledge proof algorithm, content trading method, and blockchain system
By using the zero-knowledge proof algorithm to encrypt and verify transaction information in blockchain transactions, the problem of privacy information leakage in content trading platforms is solved, and the transaction process of privacy protection is realized.
Patent Information
- Application Number
- JP2023218632
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-12-25
- Publication Date
- 2025-02-07
- Estimated Expiration
- 2043-12-25
AI Technical Summary
When existing content trading platforms use blockchain technology, it is difficult to protect the privacy information of buyers and sellers, especially transaction details and payment information are easily disclosed, resulting in privacy issues.
The zero-knowledge proof algorithm (such as zk-SNARK) is used to encrypt and verify transaction information, and ensure the confidentiality of the information by generating and verifying transaction information at multiple stages.
It realizes privacy protection of transaction information in the blockchain network, ensures that the transaction information of buyers and sellers is not disclosed, and improves the privacy and security of transactions.
Smart Images

Figure 0007627922000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a computer-readable medium, a content trading method, and a blockchain system for verifying transaction information using a zero-knowledge proof algorithm. [Background technology]
[0002] Blockchain is a distributed database that records digital transactions, and the transaction details recorded on the blockchain are transparently made public, meaning that platform providers cannot conceal or falsify them.
[0003] However, content trading platforms using blockchains have privacy issues. Even if content buyers want to hide sensitive information such as their transaction details and payment information, it is difficult to avoid disclosing such information due to the nature of the blockchain network. Content creators also face the same issues.
[0004] OpenSea, the world's largest non-fungible token (NFT) exchange that applies blockchain technology, trades digital content such as images, photos, music, and artwork in the form of non-fungible tokens (NFTs). Although OpenSea uses blockchain to ensure the reliability of the trading platform, as mentioned above, the use of a public blockchain creates the problem of privacy exposure as all transaction details, such as the wallet addresses of the seller and buyer and the selling price, are made public.
[0005] Therefore, in order to prevent such personal or sensitive information from being exposed, there is a need to develop technology that can ensure the privacy of buyers and sellers by applying encryption technology while ensuring reliability through blockchain technology. Summary of the Invention [Problem to be solved by the invention]
[0006] One object of the present invention is to provide a computer-readable medium, a content trading method, and a blockchain system for verifying transaction information using a zero-knowledge proof algorithm. [Means for solving the problem]
[0007] In one embodiment of the present invention, a non-transitory computer-readable medium may be provided that, when executed by a processor of a computing device, causes the computing device to perform a content trading step of encrypting and trading content. The trading step is as follows.
[0008] The method includes the steps of generating a first transaction for generating a private key and a public key at a seller terminal and a buyer terminal in a computer readable medium and registering the public key in a blockchain network; encrypting and hashing the digital content provided in the seller terminal; generating a second transaction for registering content-related information in a computer readable medium in a blockchain network; verifying the content-related information in the blockchain network; generating a tertiary transaction for registering purchase request information received from an external terminal in the blockchain network; verifying the purchase request information in the blockchain network; generating a fourth transaction for generating purchase acceptance information in a computer readable medium and registering it in the blockchain network; verifying the purchase acceptance information in the blockchain network; and transmitting a decryption key for the encrypted content in the blockchain network to the buyer terminal.
[0009] The content-related information may include a randomly generated secret key, content encrypted with the key data, a hash value of the encrypted content, a hash value of the key data, a seller terminal address, and a primary zero-knowledge verification value.
[0010] The purchase request information is a purchase request information contract value cm peerand CT with the order information encrypted with the seller's public key ord where the order information includes the buyer's public key, a random value required to create the cm_peer, the purchase price, and a hash value of the content encryption key.
[0011] The purchase authorization information is a data encryption key k using the purchaser's public key. data The encrypted CT kdata and third-order zero-knowledge proof values.
[0012] The step of generating a secondary transaction for registering content-related information on a blockchain network in the seller terminal includes: generating a first-order zero-knowledge proof of the content-related information; The step of verifying the content-related information in the block chain network may include a step of verifying the validity of a hash value of the encrypted content and a hash value of key data by verifying the primary zero-knowledge proof.
[0013] The method may further include registering content-related information in a blockchain network if the first zero-knowledge proof is verified.
[0014] The step of generating a third transaction for registering the purchase request information received from the external terminal in the blockchain network includes: generating a second-order zero-knowledge proof of the purchase request information; Verifying the purchase request information on the blockchain network may include verifying the second-order zero-knowledge proof.
[0015] The method may further include temporarily storing the content purchase amount in a block chain network when the secondary zero-knowledge proof is verified.
[0016] The step of generating a fourth transaction for generating purchase approval information in the seller terminal and registering the purchase approval information in a blockchain network includes the step of generating a third zero-knowledge proof of the purchase approval information, The step of verifying the purchase authorization information on the blockchain network may include verifying the third-order zero-knowledge proof.
[0017] The method may further include transmitting the temporarily stored content purchase amount to a seller terminal when the third zero-knowledge proof is verified.
[0018] The zero-knowledge proof can utilize the zk-snark algorithm.
[0019] The step of transmitting a decryption key for the encrypted content in the block chain network to the purchaser terminal may include a step of decrypting the encrypted content decryption key in the purchaser terminal to extract the content decryption key, and decrypting the encrypted content using the content decryption key.
[0020] A content trading method using zero-knowledge proof performed by a computing device including a processor according to another embodiment includes: generating a first transaction on the computing device to generate and register a private key and a public key on the blockchain network; encrypting and hashing the externally provided digital content; generating, at the computing device, a secondary transaction for registering information related to the content in a blockchain network; verifying the content-related information through a blockchain network; generating a third transaction for registering the purchase request information received from the external terminal in the blockchain network; verifying the purchase request information through a blockchain network; generating a fourth transaction in the computing device to generate purchase authorization information and register the information in the blockchain network; Verifying the purchase acceptance information through the blockchain network; The method includes transmitting a decryption key for the encrypted content to a purchaser terminal through a blockchain network.
[0021] A blockchain system according to yet another embodiment includes: memory; and at least one processor coupled to the memory; The at least one processor: Making a first transaction to generate a public key and register it on the blockchain network; encrypting and hashing the externally provided digital content; generating a secondary transaction to register the content-related information in the blockchain network; verifying the content-related information through a blockchain network; generating a third transaction for registering the purchase request information received from the external terminal in the blockchain network; verifying the purchase request information through a blockchain network; A fourth transaction is generated to generate purchase authorization information and register it on the blockchain network; Verifying the purchase acceptance information through the blockchain network; The method includes transmitting a decryption key for the encrypted content to a purchaser terminal through a blockchain network. Effect of the Invention
[0022] According to the technical idea of the present invention, a prover can utilize zero-knowledge proof to prove to a verifier that public input / output and a secret input satisfy a relational expression, without revealing the secret input.
[0023] According to the technical idea of the present invention, content transaction related information can be verified using zk-SNARK as a zero-knowledge proof algorithm. The size of the proof of zk-SNARK is small and the calculation of the verifier is simple, so it is suitable for use in a blockchain network.
[0024] According to the technical idea of the present invention, the sending and receiving accounts and transactions of the blockchain are encrypted and verified through zero-knowledge proof, thereby ensuring the privacy of participants in the transaction and enabling safe asset transfer.
[0025] According to the technical idea of the present invention, digital content provided through a seller terminal is encrypted and hashed to generate a first zero-knowledge proof, and a transaction is performed to register the first zero-knowledge proof in a blockchain. Then, the zero-knowledge proof is verified in a blockchain network to verify whether the seller has properly performed the encryption and hashing.
[0026] According to the technical idea of the present invention, a transaction for registering purchase request information for content desired to be purchased through a purchaser terminal can be sent to a blockchain network. The zero-knowledge proof of the purchase request information can be verified through the blockchain network to confirm the transaction, and the content purchase fee can be temporarily stored.
[0027] According to the technical idea of the present invention, the seller terminal can send a transaction to register purchase approval information to the blockchain network. The zero-knowledge proof of the purchase approval information can be verified through the blockchain network to confirm the transaction and send the content purchase fee to the seller terminal. [Brief description of the drawings]
[0028] [Figure 1] FIG. 1 is a block diagram illustrating a blockchain system according to an exemplary embodiment of the present disclosure. [Diagram 2]1 is a diagram illustrating a content trading method according to an exemplary embodiment of the present disclosure. [Diagram 3] 3 is a diagram specifically illustrating each step of performing the content trading method shown in FIG. 2; [Figure 4] 3 is a diagram specifically illustrating each step of performing the content trading method shown in FIG. 2; [Diagram 5] 3 is a diagram specifically illustrating each step of performing the content trading method shown in FIG. 2; [Figure 6] 3 is a diagram specifically illustrating each step of performing the content trading method shown in FIG. 2; [Figure 7] 3 is a diagram specifically illustrating each step of performing the content trading method shown in FIG. 2; [Figure 8] 3 is a diagram specifically illustrating each step of performing the content trading method shown in FIG. 2; [Figure 9] 3 is a diagram specifically illustrating each step of performing the content trading method shown in FIG. 2; [Figure 10] FIG. 11 is a block diagram showing a blockchain system according to another embodiment of the present disclosure. [Figure 11] 13 is a diagram illustrating a content trading method according to another embodiment of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0029] Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Advantages and features of the present invention, and methods for achieving them, will become clear with reference to the following embodiments described in detail with the accompanying drawings. However, the technical idea of the present invention is not limited to the following embodiments, and may be embodied in various different forms. However, the following embodiments are provided to complete the technical idea of the present invention and to fully inform those skilled in the art of the present invention of the scope of the present invention, and the technical idea of the present invention is only defined by the scope of the claims.
[0030] In attaching reference numerals to components in each drawing, it should be noted that the same components are denoted by the same numerals as much as possible even if they are displayed in different drawings. In addition, in the description of the present invention, if it is determined that a detailed description of related known configurations or functions may obscure the gist of the present invention, the detailed description thereof will be omitted.
[0031] Unless otherwise defined, all terms (including technical and scientific terms) used herein may be used in the sense commonly understood by those having ordinary skill in the art to which the present invention belongs. In addition, terms defined in commonly used dictionaries are not interpreted ideally or excessively unless specifically defined. The terms used herein are intended to describe the embodiments and are not intended to limit the present invention. In the present specification, the singular form includes the plural form unless otherwise specified in the text.
[0032] In addition, in describing components of the present invention, terms such as first, second, A, B, (a), (b), etc. may be used. Such terms are merely used to distinguish a component from other components, and do not limit the nature, order, or sequence of the components. When a component is described as being "coupled," "coupled," or "connected" to another component, it should be understood that the component may be directly coupled or connected to the other component, but that other components may also be "coupled," "coupled," or "connected" between each component.
[0033] As used herein, "comprises" and / or "comprising" does not exclude the presence or addition of one or more other components, steps, operations and / or elements to a stated component, step, operation and / or element.
[0034] Components having a common function to components included in one embodiment may be described using the same names in other embodiments. Unless otherwise stated, the description of one embodiment may be applied to other embodiments, and detailed description may be omitted to the extent that it overlaps or is obvious to a person of ordinary skill in the art.
[0035] Hereinafter, some embodiments of the present invention will be described in detail with reference to the accompanying drawings.
[0036] The present invention will now be described in detail with reference to preferred embodiments thereof and the accompanying drawings.
[0037] 1 is a block diagram showing a blockchain system according to an exemplary embodiment of the present disclosure. Referring to FIG. 1, the blockchain system may include a server 100, a seller terminal 200, a buyer terminal 300, and a blockchain network 400.
[0038] The server 100 may include a memory 120 and at least one processor 110 coupled to the memory. The memory 120 may refer to any storage space capable of storing and reading data, source code, programs, and data for performing the content trading method using zero-knowledge proof according to the present invention.
[0039] The server 100 is any electronic device including hardware and software. For example, the server 100 can be, but is not limited to, a router, a switch, a hub, a modem, a bridge, a repeater, a smartphone, a tablet, an IoT device, a PC computer, a server computer, a game console, a camera, and other electronic devices, and is not limited to a specific electronic device.
[0040] The memory 120 may store any data necessary for the operation of the server 100. For example, the memory 120 may be embodied as DRAM, mobile DRAM, SRAM, PRAM, FRAM (registered trademark), RRAM, and / or MRAM. The memory 120 may include a solid state drive, a hard disk drive, a CD-ROM, etc. The storage device 120 may store programs, application program data, system data, operation system data, etc. related to the content trading method and the blockchain system using zero-knowledge proof, non-transitory computer readable medium, which are described in detail in FIG. 1 to FIG. 9.
[0041] Processor 110 refers to a hardware computing device capable of performing a particular calculation or task. Depending on the embodiment, processor 110 may be a microprocessor or a Central Processing Unit (CPU). Processor 110 may communicate with memory and a display device through buses such as an address bus, a control bus, and a data bus. Depending on the embodiment, processor 110 may also be coupled to an expansion bus such as a Peripheral Component Interconnect (PCI) bus.
[0042] The seller terminal 200 and the buyer terminal 300 may be any electronic device including hardware and software, similar to the server 100, and are not limited to specific examples. The seller terminal 200 and the buyer terminal 300 may be composed of a processor, a memory, an input / output unit, a communication unit, a display unit, etc., and can be controlled or send / receive data through the server 100 for digital content transactions that maintain privacy through zero-knowledge proof verification through the blockchain network 400.
[0043] Blockchain network 400 includes smart contract 401 published on the blockchain network, which is a distributed network with multiple nodes composed of multiple computing devices 406-1-406-N. Smart contract 401 can define an agreement between two or more parties. A person skilled in the art can understand that a self-executing contract, a blockchain contract, or a digital contract are types of smart contract 401. Smart contract 401 includes computer code that is stored and copied on blockchain network 400 and supervised by multiple computing systems 401-1-401-N executing on the network. The published blockchain refers to a digitized and distributed distributed ledger. In some embodiments, the blockchain can operate on a public blockchain-based computing platform, such as Ethereum. In still other embodiments, the blockchain can operate on a private blockchain-based computing platform. However, the technical idea of this specification is characterized in that even in a public blockchain network 400, confidentiality of information related to transactions between transaction parties is maintained by using a content trading method that applies a zero-knowledge proof algorithm, and therefore the main embodiment will be described based on a public blockchain-based network.
[0044] The smart contract 402 may, for example, include code that defines the operations that the server 100 performs to generate a transaction in order for the seller terminal 200 and the buyer terminal 300 to trade the traded content.
[0045] 2 is a diagram showing a content trading method according to an exemplary embodiment of the present disclosure. Referring to FIG. 2, a step is illustrated in which a server 100 specifically implements a method for implementing a privacy-enhancing digital content trading method using zero-knowledge proof verification between a seller terminal 200 and a buyer terminal 300 using a blockchain network 400.
[0046] According to the first step (S101), a private key and a public key are generated in the seller terminal 200. The server 100 can generate a transaction to register the seller's public key in the blockchain network. The buyer terminal 300 generates a private key and a public key for the buyer terminal.
[0047] Referring to FIG. 3, the merchant terminal 200 stores a public key pk enc peer and the private key sk enc peer Generate a public key pk enc peer and address addr peer The buyer terminal 300 stores the public key pk enc cons and the private key sk enc cons Generate a public key pk enc cons and address addr cons Store the public key in the blockchain network.
[0048] In the second step (S102), the seller terminal 200 encrypts and hashes the digital content and generates a secondary transaction for registering content-related information in a computer-readable medium in a blockchain network. The content-related information can be verified in the blockchain network. In particular, the zero-knowledge proof included in the content-related information can be verified.
[0049] Here, the content-related information includes key data of the seller terminal, the content encrypted with the key data, a hash value of the encrypted content, a hash value of the key data, the seller terminal address, and a first-order zero-knowledge verification value. Specifically, the content-related information included in a transaction Tx may include at least a part of the seller's wallet address, a hash value for the ciphertext of the content, a hash value of the key used to encrypt the content, a zero-knowledge proof for the encryption and hash of the content (first-order zero-knowledge proof relational equation), and the price of the content, which may be registered in the blockchain network. Specifically, referring to FIG. 4, k for encrypting the content data is data The encrypted content data CT is generated by randomly determining data Derive k data Hash data of h kdata and the hash value h of the encrypted content data ct Determine.
[0050] The digital content provided in the seller terminal 200 is hashed in the manner shown in FIG. 4, and then a first zero-knowledge proof is generated. The first zero-knowledge proof variables may be composed of public variables and secret variables. For example, the public variable (Input) may include the seller terminal address (addr peer , the hash value of the encrypted content (h ct ), a hash value for the content encryption key, and the secret variable (Witness) may include the content data, the encrypted content, the content encryption key, etc.
[0051] The step of generating a secondary transaction for registering content-related information in a blockchain network in the server 100 includes a step of generating a primary zero-knowledge proof for the content-related information, and the step of verifying the content-related information in the blockchain network includes a step of verifying the primary zero-knowledge proof to verify the validity of a hash value of the encrypted content and a hash value of key data. Alternatively, the seller terminal 200 may take on the role of the server 100 and generate a secondary transaction for registering content-related information in the blockchain network. The primary zero-knowledge proof relation is П.prove(Relation RegisterData )=π Registerdata It is described as:
[0052] According to the third step (S103), when the zero-knowledge proof of the content-related information is verified, the content-related information can be registered in the blockchain network. Referring to FIG. 5, the content-related information is stored in the blockchain network in the form of key (hash value of encrypted content data)-data (seller terminal address, hash value of content data) as a key-data data structure on the blockchain network.
[0053] According to the fourth step (S104), the content to be purchased can be determined through the purchaser terminal 300. The content to be purchased can mean the content that the purchaser terminal 300 wishes to purchase from among the many contents registered by the multiple seller terminals 200 in the block chain network 400. The confirmation of the content does not necessarily have to be through the server 100 or the block chain network 400, but the content can be determined in some manner and is not limited to a specific example.
[0054] According to the first external step (E101), the buyer terminal 300 is installed in the seller terminal 200, and can check the content-related information registered in the blockchain network 400 and discuss and agree on the content purchase conditions with the seller terminal 200. This does not necessarily mean that the discussion must be sent / received via the server 100, but rather, a mutual agreement can be reached on the information required to generate purchase request information in some way.
[0055] According to the fifth step (S105), the purchaser terminal 300 provides the server 100 with purchase request information for the purchase conditions of the content to be purchased, and the server 100 generates the purchase request information based on the provided information and generates the second zero-knowledge proof. Here, the purchase request information includes the purchase amount, order information, a value obtained by encrypting the order information with the public key of the seller terminal, and the second zero-knowledge verification value. Alternatively, the purchaser terminal 300 can directly generate the purchase request information and generate the second zero-knowledge proof.
[0056] According to a sixth step (S106), a step of generating a third transaction for registering the purchase request information received from the external terminal in the blockchain network is performed. The step of generating a third transaction includes a step of generating a second zero-knowledge proof of the purchase request information, and the step of verifying the purchase request information in the blockchain network includes a step of verifying the second zero-knowledge proof. This step may be performed by the server 100 or directly by the purchaser terminal 300.
[0057] Referring to FIG. 6, the purchase request information is information that indicates the content to be purchased by the purchaser terminal 300, and includes the encrypted text CT data We somehow determine the price for data ))h ct h ct Use the key to peer , h kdataThe pair can be searched for in the blockchain network 400. The purchase request information can include order information and a purchase request information hash value. The purchase request information contract value cm peer is generated by the server 100 or the purchaser terminal 300, order information Order is generated, and the order information is stored in the seller's public key pk enc peer Encrypt it with CT ord For example, the order information Order can generate the buyer's public key, cm peer This may include the random value required to create the content, the purchase price, and the hash value of the content encryption key. genTrade )=π.genTrade. The blockchain network 400 can verify the second-order zero-knowledge proof. If the second-order zero-knowledge proof is verified, the step of registering the purchase request information in the blockchain network 400 is illustrated. The third transaction verifies the second-order zero-knowledge proof relational expression generated in the previous step and registers the encrypted order information CT ord And the purchase request information contract value cm for the content purchase amount peer are included as temporary waiting lists.
[0058] According to the eighth step (S108), the content purchase amount according to the purchase request information (the purchase request information contract value cm for the content purchase amount) is calculated. peer can be transmitted from the purchaser terminal 300 to the blockchain network 400 for temporary storage.
[0059] According to the second external step (E102), after the content amount is temporarily stored, the seller terminal 200 can send the encrypted content to the buyer terminal 300. If the content itself has a large amount of data, excessive data processing costs will be incurred if it is stored in the blockchain network 400, so only the part related to the ledger is issued on the blockchain network 400 by a smart contract, and the original content can be traded while stored in an external storage. For example, the seller terminal 200 can transmit a connection link to the external storage in which the encrypted original content is stored to the buyer terminal 300. Since the buyer terminal 300 does not have a key to decrypt the encrypted content, the buyer terminal 300 can complete the content transaction by receiving the decryption key after the content transaction is completed, receiving a value encrypted with its own public key, and the buyer decrypts it to create the content decryption key. In the case of the seller terminal 200, the content is transmitted after confirming that the content purchase amount has been deposited in the blockchain network 400, and a secure transaction can be carried out while maintaining privacy.
[0060] According to the ninth step (S109), the seller terminal 200 provides the purchase approval information to the server 100, and the server 100 generates the purchase approval information and registers it in the block chain network, thereby generating a fourth transaction. Alternatively, the seller terminal 200 can generate the purchase approval information directly and generate a fourth transaction to register it in the block chain network. Here, the purchase approval information is CT kdata and third-order zero-knowledge proof values. kdata is created by encrypting the data encryption key kdata with the buyer's public key. The seller terminal uses the CT created on the buyer terminal. ord The encrypted order information includes a value obtained by encrypting the key data of the merchant terminal with the public key of the buyer, a value obtained by decrypting the encrypted order information, and a third-order zero-knowledge verification value.
[0061] Referring to FIG. 8, the purchase consent information is encrypted with the seller's public key included in the third transaction. ord The private key sk of the merchant terminal enc peer The order information can be derived by decrypting the kdata, which is the encrypted content data, with the purchaser's public key. kdata may include.
[0062] According to the tenth step (S110), when the third zero-knowledge proof is verified, the purchase approval information can be registered in the block chain network 400. At this time, the cm_peer on the temporary waiting list is deleted.
[0063] According to an eleventh step (S111), the content purchase amount temporarily stored in the block chain network 400 is transmitted to the seller terminal 200.
[0064] According to the 12th step (S112), the purchaser terminal 300 receives the encrypted content decryption key stored in the blockchain network 400, and the purchaser terminal 300 decrypts the encrypted content decryption key to extract the content decryption key, and can decrypt and extract the encrypted content based on the extracted content decryption key.
[0065] Referring to FIG. 9, the content encryption key kdata is decrypted using the purchaser's private key, and the encrypted content data CTdata is decrypted using the kdata to obtain data.
[0066] Fig. 10 is a block diagram showing a blockchain system according to another embodiment of the present disclosure. Referring to Fig. 10, the blockchain system includes a seller server 210, a buyer server 310, and a blockchain network 410. Fig. 11 is a diagram showing a content trading method according to another embodiment of the present disclosure.
[0067] The seller server 210 and the buyer server 310 may be any electronic device including hardware and software, including memory and processor, and the details are as described above in connection with Figures 1 and 2. The details of the blockchain network 410 are also as described above in connection with Figures 1 and 2.
[0068] The embodiment according to Figures 10 and 11 is characterized in that each merchant server 210 and buyer server 310 directly generates their respective transactions rather than an intermediary server (100 in Figure 1).
[0069] 11, the seller server 210 generates a private key and a public key, and the buyer server 310 also generates a private key and a public key. In step S201, the seller server 210 can issue and store a public key on the blockchain network 410 (first transaction). The buyer server 310 can issue and store a public key on the blockchain network 410 (first transaction). In step S202, the seller server 210 prepares content, and in step S203, the prepared content is encrypted and hashed, and a first zero-knowledge proof is generated. In step S203, the seller server 210 performs a step of generating a second transaction for registering content-related information in the blockchain network. The content-related information can be verified in the blockchain network. Specifically, the zero-knowledge proof included in the content-related information can be verified.
[0070] The content-related information includes key data of the seller server, the content encrypted with the key data, a hash value of the encrypted content, a hash value of the key data, a seller server address, and a first-order zero-knowledge verification value. Specifically, as the content-related information included in the transaction Tx, at least a part of the following may be registered in the blockchain network: the seller's wallet address, a hash value for the ciphertext of the content, a hash value for the key used to encrypt the content, a zero-knowledge proof for the encryption and hash of the content (first-order zero-knowledge proof relational equation), and the price of the content. According to a fourth step (S204), if the zero-knowledge proof of the content-related information is verified, the content-related information can be registered in the blockchain network.
[0071] According to the fifth step (S205), the purchaser server 310 can directly generate purchase request information including information on the content to be purchased, generate a second-order zero-knowledge proof, and then transmit the third-order transaction to the blockchain network 410.
[0072] In the sixth step (S206), the blockchain network 410 can verify the quadratic zero-knowledge proof relation Ο.prove=π.genTrade.
[0073] If the zero-knowledge proof is verified in the seventh step (S207), the purchase request information is registered in the blockchain network 410, and in the eighth step (S208), the purchaser server 310 can send the content amount to the blockchain network 410 for temporary storage.
[0074] In the ninth step (S209), the seller server 210 generates purchase authorization information and a third zero-knowledge proof and can generate a fourth transaction to transmit the third zero-knowledge proof to the blockchain network 410. Here, the purchase authorization information is kdata and third-order zero-knowledge proof values. kdatais created by encrypting the data encryption key kdata with the buyer's public key. The seller terminal uses the CT created on the buyer terminal. ord The encrypted order information includes a value obtained by encrypting the key data of the merchant terminal with the public key of the buyer, a value obtained by decrypting the encrypted order information, and a third-order zero-knowledge verification value.
[0075] In the tenth step (S210), if the third zero-knowledge proof is verified, the purchase approval information can be registered in the block chain network 410. At this time, the cm_peer on the temporary waiting list is deleted.
[0076] According to an eleventh step (S211), the content purchase amount temporarily stored in the block chain network 400 is transmitted to the seller terminal 200.
[0077] According to the 12th step (S212), the purchaser terminal 300 receives the encrypted content decryption key stored in the blockchain network 400, and the purchaser terminal 300 decrypts the encrypted content decryption key to extract the content decryption key, and can decrypt and extract the encrypted content based on the extracted content decryption key.
[0078] As described above, exemplary embodiments have been invented in the drawings and the specification. Although specific terms have been used in the description of the embodiments, these terms are merely used for the purpose of describing the technical ideas of the present invention, and are not used to limit the meaning or scope of the present invention described in the claims. Therefore, a person having ordinary skill in the art will understand that various modifications and equivalent other embodiments are possible. Therefore, the true technical scope of the present invention should be determined by the technical ideas of the appended claims.
[0079] This research (invention) was supported by a grant from the Institute of Information & communications Technology Planning & Evaluation (IITP) funded by the Korean government (MSIT) (No. 2021-0-00532-003, Project name: Blockchain Technology Development for IITP Data Economy, Task name: Blockchain scalability solutions supporting high performance / capacity transactions, Contribution rate: 100%).
Claims
1. A non-transitory computer-readable medium, which when executed by a processor of a computing device causes the computing device to perform a content trading step of trading encrypted content using zero-knowledge proofs, comprising: A step of generating a private key and a public key at the seller terminal and the buyer terminal, and generating a first transaction for registering the generated public key in a blockchain network; encrypting and hashing the digital content provided by the merchant terminal; generating a secondary transaction for registering content-related information in a blockchain network, the content-related information including at least a portion of randomly generated key data, content encrypted with the key data, a hash value of the encrypted content, a hash value of the key data, a seller terminal address, and a primary zero-knowledge verification value; verifying the content-related information on a blockchain network; generating a third transaction for registering the purchase request information received from the external terminal in the blockchain network; verifying the purchase request information on a blockchain network; generating a fourth transaction for generating purchase authorization information on a computer readable medium and registering the purchase authorization information on the blockchain network; Verifying the purchase authorization information on the blockchain network; Transmitting the decryption key of the content encrypted on the blockchain network to the buyer's terminal Including, The step of generating a secondary transaction for registering the content-related information on a blockchain network includes: generating a first-order zero-knowledge proof of the content-related information; The step of verifying the content-related information in the block chain network includes a step of verifying the validity of a hash value of the encrypted content and a hash value of key data by verifying the first zero-knowledge proof, The non-transitory computer-readable medium further comprises registering content-related information in a blockchain network if the first zero-knowledge proof is verified.
2. The purchase request information is Purchase request information contract price cm peer and CT in which the order information is encrypted with the seller's public key. ord The order information may include the buyer's public key, cm peer 2. The non-transitory computer-readable medium of claim 1, further comprising a random value required to generate a content encryption key, a purchase price, and a hash value of a content encryption key.
3. The purchase consent information is Data encryption key k with the buyer's public key data The encrypted CTk data and a third-order zero-knowledge proof value.
4. The step of generating a third transaction for registering the purchase request information received from the external terminal in the block chain network includes: generating a secondary zero-knowledge proof of the purchase request information; 2. The non-transitory computer-readable medium of claim 1, wherein verifying the purchase request information on the blockchain network includes verifying the second-order zero-knowledge proof.
5. The non-transitory computer-readable medium of claim 4, further comprising: temporarily storing a content purchase amount in a blockchain network if the secondary zero-knowledge proof is verified.
6. The step of generating a fourth transaction for generating purchase approval information in the seller terminal and registering the purchase approval information in a blockchain network includes generating a third zero-knowledge proof of the purchase approval information, 2. The non-transitory computer-readable medium of claim 1, wherein verifying the purchase authorization information on the blockchain network includes verifying the third-order zero-knowledge proof.
7. The non-transitory computer-readable medium of claim 6, further comprising transmitting the temporarily stored content purchase amount to a seller terminal when the third-order zero-knowledge proof is verified.
8. 2. The non-transitory computer-readable medium of claim 1, wherein the zero-knowledge proof utilizes the zk-snark algorithm.
9. The non-transitory computer-readable medium of claim 1, wherein the step of transmitting a decryption key for the content encrypted in the blockchain network to the purchaser terminal includes a step of decrypting the encrypted content decryption key in the purchaser terminal to extract the content decryption key, and decrypting the encrypted content using the content decryption key.
10. A content trading method using zero-knowledge proof, the method being performed by a computing device including a processor, comprising: generating a private key and a public key on a computing device and generating a first transaction to register the generated public key on a blockchain network; encrypting and hashing the externally provided digital content; generating a secondary transaction for registering content-related information in a blockchain network in a computing device, the content-related information including at least a portion of randomly generated key data, content encrypted with the key data, a hash value of the encrypted content, a hash value of the key data, a seller terminal address, and a primary zero-knowledge verification value; verifying the content-related information through a blockchain network; generating a third transaction for registering the purchase request information received from the external terminal in the blockchain network; verifying the purchase request information through a blockchain network; generating a fourth transaction in the computing device to generate and register purchase authorization information on the blockchain network; Verifying the purchase authorization information through the blockchain network; transmitting a decryption key for the encrypted content to a purchaser terminal through a blockchain network; The step of generating a secondary transaction for registering the content-related information on a blockchain network includes: generating a first-order zero-knowledge proof of the content-related information; The step of verifying the content-related information through the block chain network includes verifying the validity of a hash value of the encrypted content and a hash value of key data by verifying the first zero-knowledge proof, The method further comprises registering content-related information in a blockchain network if the first zero-knowledge proof is verified.
11. A blockchain system, memory; and at least one processor coupled to the memory; The at least one processor: generating a public key and generating a first transaction to register the generated public key on a blockchain network; encrypting and hashing the externally provided digital content; generating a secondary transaction for registering content-related information in a blockchain network, the content-related information including at least a portion of randomly generated key data, content encrypted with the key data, a hash value of the encrypted content, a hash value of the key data, a seller terminal address, and a primary zero-knowledge verification value; verifying the content-related information through a blockchain network; generating a third transaction for registering the purchase request information received from the external terminal in the blockchain network; verifying the purchase request information through a blockchain network; A fourth transaction is generated to generate purchase authorization information and register it on the blockchain network; Verifying the purchase authorization information through the blockchain network; transmitting a decryption key for the encrypted content to a purchaser terminal through a blockchain network; The step of generating a secondary transaction for registering the content-related information on a blockchain network includes: generating a first-order zero-knowledge proof of the content-related information; The step of verifying the content-related information through the block chain network includes verifying the validity of a hash value of the encrypted content and a hash value of key data by verifying the first zero-knowledge proof, The block chain system further comprises registering content-related information in a block chain network when the first zero-knowledge proof is verified.
Citation Information
Patent Citations
Permission information management system, user terminal, right holder terminal, permission information management method, and permission information management program
JP2017050763A
Consortium block chain system, computer, and transaction approval method
JP2021064891A
Content protection system
JP2023130017A