WO2019070563A1 - Genuine instance of digital goods - Google Patents
Genuine instance of digital goods Download PDFInfo
- Publication number
- WO2019070563A1 WO2019070563A1 PCT/US2018/053705 US2018053705W WO2019070563A1 WO 2019070563 A1 WO2019070563 A1 WO 2019070563A1 US 2018053705 W US2018053705 W US 2018053705W WO 2019070563 A1 WO2019070563 A1 WO 2019070563A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- token
- instance
- transaction
- genuine
- genuine instance
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION 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
- G06Q30/00—Commerce
- G06Q30/018—Certifying business or products
- G06Q30/0185—Product, service or business identity fraud
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/16—Program or content traceability, e.g. by watermarking
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION 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
- G06Q2220/00—Business processing using cryptography
Definitions
- the present disclosure relates to genuine instance of digital goads,- a:nd more, specifically, to validating the genuine instance .
- a good is rival if once consumed it is not anymore available, A good is excludable- if it is possible to restrict its usage to an individual or a group of
- Digital goods are by nature non-excludable and non-rival. In some cases, these intrinsic characteristics may be a business issue. As scarcity is driving value, non- exeiudability and non-rivalry may be disadvantageous to business. However, digital goods are by nature not scarce, thus with little intrinsic commercial value.
- the present disclosure provides for creating the scarcity with one unique instance of a digital good that will be the genuine instance and for linking that genuine instance to an owne .
- a method for processing a genuine instance of a digital good using a hlbckchain includes : registering an ownership of the genuine instance using a plurality of transactions ⁇ the genuine instance uniquely identified by a content descriptor which is cryptographicaliy linked to an
- ownership token atnd includes intrinsic characteristics of the genuine instance, wherein the ownership token includes a token seed and a token signature; validating each
- the intrinsic characte istics include a unique identifie of the genuine instance which is calculated as a one-way cryptographic hash of the token seed; a payload of an imperceptible watermark embedded in the genuine instance; an instance hash of the plurality of transactions; and a content signature signed by the owner of a previous transaction.
- the ownership token includes information that links the genuine instance to the owner.
- registering an ownership of the genuine instance is performed by an issuer.
- intrinsic characteristics include: a unique identifier of the genuine instance which is calculated as a one-way cryptographic hash of the token seed; a payload of an imperceptible watermark embedded in the genuine instance; an instance hash of the plurality of transactions; a content signature signed by the issuer and a certificat key of the issuer.
- validating each transaction includes: verifying the
- verifying the validit of the ownership token in a resale includes: verifying the validity of the token seed; and verifying that the token signature is a actual signature of the token seed submitted by the owner in a previous transaction.
- each transaction i nc i udes a transaction signature signed fey the issuer and a certificate key of the owner.
- the method further includes generating, by the issuer, an initial random seed, wherein the initial random seed enables the creation of a finite series of successive token seeds, each token seed being a one-way cryptographic hash of the token seed generated in a previous transaction.
- the method furthe includes generating the unique identifier of the genuine instance with a single iteration of a one-wa hash function of a last element of the finite series for an initial sale of the genuine instance.
- the method further includes: appointing a certification authority by the plurality of validators; and generating key pairs and associated certificates used for identity management by the certification authority.
- generating key pairs and associated, certificates includes: verifying that the associated certificates did not expire; and verifying that the associated certificates were signed by the certification authority.
- the content descriptor also includes a set of visible marks that is unique to the genuine instance. In one
- the ownership token also includes a token signature of the token seed.
- registering an ownershi of the genuine instance is
- the method fur her includes: generating, by the owner in the previous transaction, a new ownership token by signing the token seed with a private key of the owne in the previous transaction and generating a suite of linked token seeds ,
- the computer program includes ⁇ executable ins actions that cause a computer to: registe an ownership of the genuine instance using a plurality of transactions, the genuine instance uniquely identified by a content descriptor which is cryptographical ly linked to an ownership token and includes intrinsic characteristics of the genuine instance, wherein the ownership token includes a. token seed and a token signature; validate each
- the system includes: an issuer confiqured to register an ownership of the genuine instance using a piuraiity of transactions, the genuine instance uniquely identified by a content descriptor which is
- the cryptographicaily linked to an ownershi token includes intrinsic characteristics of the genuine instance,- wherein the ownership token includes a token seed and a token
- the intrinsic characteristics include; a unique identifier of the genuine instance which is calculated as a one-way cryptographic hash of the token seed; a. payload of an. imperceptible watermark embedded in the genuine instance; an instance hash of the pluralit of transactions; and a content signature signed by the owner in a previous transaction.
- the system further includes a watermark detector configured to detect and extract the payload of the imperceptible watermark embedded in the genuine instance.
- the ownership token includes information that links the genuine instance to the owner.
- system further includes a certification authority configured to generate key pairs and associated certificates used for identity management .
- FIG ⁇ 1 is a block diagram of a biockchain including n blocks and a genesis block
- FIG. 2 is a block diagram of a blockchain-based system for processing a genuine instance of a digital good in accordance with one implementation of the present
- FIG » 3 is a block diagram of a transaction including a content descriptor, an ownership token, a transaction. signature/ and an owne certificate key, in accordance with one implementation of the present disclosure
- FIG . 4 is a block diagram of a blockchain-based system for processing a genuine instance of a digital good in accordance with another implementation of the present disclosure
- FIGS. 5A and SB form a flow diagram illustrating a process for validating a first sale of a genuine instance of a digital good in accordance with another implementation of the present disclosure
- FIGS. 6A and 6B form a flow diagram illustrating a process for validating a resale of a genuine instance of a digital good without an issuer in accordance with one implementation of the present disclosure.
- FI S , ⁇ and 7B form a flow diagram illustrating process for validatin a resale of a genuine instance of a digital good with an issuer in accordance with one
- a genuine instance is a digital file with one unique owner.
- the present disclosure aims to link a digital file to an owner, and to trace and verify this ownership.
- this link and ownership is implemented using a blockchain concept.
- Digital signatures and digital, rights management m y be used to verify the integrity of an instance.
- the digital signature does not discriminate the genuine instance froia copied instances.
- the digital rights management is a set of technologies that create artificial scarcity for digital goods, they do not fulfill the
- the bioeJchain data structure is an ordered list of blocks. Each block points back to its predecessor until the first block, which is sometimes referred to as the genesis block. The blocks and their sequencing are protected in integrity by backward-linking of cryptographic hashes.
- biockchains There are many biockchains and usage of biockchains, but the most famous ones are Bitcoi and Ethereurr .
- FIG. 1 is a block diagram of a block-chain 100 including n blocks 110, 120, 130 and a genesis block 140.
- a block has at least three elements: (a) an information section ⁇ e.g., 112) that stores the registered data and ancillary data, wherein the information section may be signed to prove its authenticity; (b) the cryptographic hash (e.g., 114 ⁇ of the previous block (the genesis block will not have a previous block) ; and (c) the cryptographic hash (e.g. , 116 ⁇ of the current block.
- the data structure of the blockchain provides an append- only global ledger, which is tamper evident.
- FIG. 2 is a block diagram of a blockchain-based system 200 for processing a genuine instance of a digital good in accordance with one implementation of the present disclosure.
- the blockchain-based system 200 f FIG. 2 includes an issuer 210, a genuine instance 220, a
- the transaction 230 registers the ownership of the genuine instance 220 and the issuer 210 creates and delivers the genuine instance 220 to an initial owner 250.
- Each genuine instance 220 is uniquely identified, by a unique combination of intrinsic
- the issuer 210 generates the initial transaction 230.
- the blockchain 240 holds every transaction 230 generated by the issuer 210.
- FIG. 3 is a block diagram of a transaction 300 including a content descriptor 310, an ownership toke 320, a transaction signature 330, and an owner certificate key 340, in accordance with one im leme ta o of the present disclosure.
- the content descriptor 310 Includes a unique identifier (Unique ID) 312 of th genuine instance 220, a payload 314, an instance hash 316, a content signature 318,. and an issuer certificate key 319.
- the content descriptor 310 may also include an optional set of visible arks that is unique to the genuine instance 220 ⁇ similar to the printing number in a series of lithography) .
- the payload 314 corresponds to the actual payload of an imperceptible watermark
- the watermark is a unforgeable method to make the genuine instance unique for a given digital good. Depending on the type of media of the genuine
- the imperceptible watermark may foe invisible, inaudible, or text-based.
- the cryptographic instance hash 316 is a cryptographic digestof the essence of the genuine instance 220, In one
- the content signature 318 is a digital signature of the previous parameters signed by the issuer 210 ⁇ similar to the signature of the painter on
- the ownership token 320 is digital information that links the genuine instance 220 to its owner 250, and includes a token seed 32.2 and a token signature 324, Unique ID is equal to f (token $-eeci), where £ is a function that is computationally difficult to reverse (e.g., a one-way cryptographic hash).
- the token signature 324 is a digital signature of the token seed issued by the issuer 210.
- the ownership of each genuine instance 220 is recorded by the transaction 300 that holds the content descriptor 310, the ownership token 320, and an owner's certificate key 340, h issuer 210 signs the transaction 300 with the transaction signature 330,
- the validation of a transaction 300 verifies the content signature 318 and the validity of the ownership token 320.
- the biockchain 240 records any change of ownership of a genuine instance 220 by adding a new transaction 300 describing the transfer of ownership in the information section of a new block.
- the change of ownership ma use one :of two methods (one involving an issuer and another not involving an issuer) .
- the seller who is the current owner of the genuine instance, generates a ne ownership token 320 by signing the coken seed 322 with the seller' s private key (i.e., owner's private key of. the previous transaction) .
- transaction 300 holds the content descriptor 310, the new ownership token 320 signed by the seller, the certificate key of the future -owner 340, and is signed by the seller.
- a new block with the transaction 300 is stored on the
- the issuer 210 In the second method ⁇ involving an issuer) , the issuer 210 generates an initial random seed when creating the genuine instance 220.
- the initial random seed enables the creation of a suite of N linked token seeds as shown below. I :one implementation, the initial random seed enables the creation of a finite series of successive token seeds, each token seed being a one-way cryptographic hash of the token seed generated in a previous transaction. The issuer keeps this initial random seed confidentially.
- the issuer 210 also defines a transaction threshold N and calculates the transactions as follows:
- the initial token seed 322 is the ii- iteration, i.e. of £ with the initial random seed.
- the token seed of the new transaction is T ?i _g
- the new token seed 322 is th (N- n) t3 ⁇ 4 iteration of f.
- the one-way function f is a secure hash algorithm 3 (SHA3) with an .output of 256 bits, and N - 100:.
- Decji f j(m') represents the decryption of ciphertext m f using the private key K p£ i . If E pZ i and f paf> are a public-private key pair then Deo Hp ⁇ ( ⁇ c ⁇ /e pMl , ⁇ ( m )— « dotation Sign ⁇ . ⁇ irn
- FIG. 4 is a block diagram of a blockcliain-based system 400 for processing a genuine instance of a digital good in accordance with another implementation of the present disclosure.
- the folockc ain-based system 400 of FIG. 4 includes an issuer 410, a genuine instance 420, a
- the set of validators 480 uses a consensus mechanism based on the Practical Byzantine Fault Tolerant agreement (PBFT) to add the new biocks.
- PBFT Practical Byzantine Fault Tolerant agreement
- the set of validators 480 appoints a trusted certification authority 470 to generate key pairs and associated certificates used for identity management ⁇
- the validation of a certificate is a known process that implies verifying the consistency of the. information
- the issuer 410 has issuer's public key ij-s f , a>>) and issuer's private key iKp r i i 0mtir ) * he issuer 410 also has an issuer's certificate key issued, by the certification authority 470 which is associated with the issuer's public key.
- the system 400 uses a hierarchical structure whose root certification authority is the certification authority 470, In one particular implementation, the system 400 uses Rivest,
- the owner 450 has an owne ' s public ke 0ii) , ei ⁇ and an owner's private hey ⁇ ⁇ w(!X ) .
- the owner 450 also has an owner's certificate key issued by the certification authority and is associated with the issuer's public key,
- the system uses RSA2048 PKCSI.S, while the owner certificate key is X509 compliant.
- Alice is the issuer and Bob is the future owner.
- Alice performs the following operations: fl) generates a 256-bit random seed; ⁇ 2 ⁇ performs 100 iterations of SHA3 on the initial random seed which results in a token seed 322
- OnxquelD ⁇ SHA3 (TokenSeed) ) ⁇ in the highly unlikely case that UniquelD has already been used for: another genuine instance, a new random seed would be polled); (4) generates a 32-bit random payload 314; ⁇ 5) embeds the random payload 314 into the digital good using a watermark erabedder to produce the genuine instance 420; (6) calculates instance hash 316 (i.e., InstanceHash - SBA3 (Genuinelnstance ⁇ whose length is 256 bits; ⁇ ?) calculates the content signature 318
- blockchain 440 is a permissioned blockchain, which means that a fixed set of known trusted validators validates each new block.
- the validators 480 are a set of servers managed, by the issuer 410 (or a consortium of issuers) that handles the blockchain.
- the blockchain 440 is public, which means that anybody can consul it. However, only a validator can add a new block to the blockchain 440,
- FIGS. 5A and SB form a flow diagram illustrating a process 500 for validating a first sale of a genuine instance of a digital good in accordance with one
- the validator validates the transaction 300 by
- checking the validity of the content descriptor 310 includes: (!) extracting and
- an extracted payload from the genuine instance e.g., using an online watermark detector 460, at ste 510; (2) verifying, at step 512, that the extracted payload is equal to the payload 314 (the genuine instance has an embedded wateriaark whose payload is "extracted payload". If the submitted content is genuine, the payload in the transaction should match the vaiue carried by the genuine instance's watermark. ⁇ ; (3) verifying that the issuer certificate key 319 is a valid certificate issued by the certification authority 470; and ⁇ 4 ⁇ verifying, at step
- the content signature 318 is the actual signature of the content descriptor generated by Alice (i.e., Alice
- checking the validity of the content descriptor 310 also includes verifying that there is no double spending of the genuine instance, at step 516, The validator checks that there is no double spending by checking that there is not already a block issued by Alice in the blockchain 440 that has the corresponding payload 314 and th Unique ID 312.
- checking th validity of th ownership token 320 includes* (1) verifying, at step 518, the validity of the token se d 422 ⁇ i.e., Uniqu lb - SHA3 (TokenSeed) ⁇ and ⁇ 2 ⁇ verifying, at step 520, that the token signature 324 is the actual signature of token seed 322 submitted by Alic ⁇ i.e., Ver_RSAi. KxMif x ⁇ xi ⁇ TofcenSeed I TokenSignature ⁇ ⁇ true) ) .
- checking the validity of the transaction signature 330 includes: (1) verifying, at step 522, that the transaction signature 330 is the actual signature of the transaction 300 by Alice (i.e.,
- OwnerCertAficateEay, ContantSignature true ⁇ and (2) verifying that the owner certificate key 330 is a valid certificate (e.g., X509 certificate) issued by the
- the validator 480 once the three conditions are fulfilled (i.e., the validity of the content descriptor 310, the ownership token 320, and the transaction signature 330) t the validator 480 generates a new block including a single transaction. In other embodime s, once the three conditions are fulfilled, the validator 480 generates a new block for the blockchain 440 including a plurality of transactions. If the block includes multiple transactions, the validator 480 validates all transactions, As
- the new block. includes the transaction (in the information, section 112 ⁇ , the hash 114 of the previous block, and the hash 116 of the new block.
- the structure of the block and the type of hash functio depends OB the type at blockchain used.
- the validator 480 submits the new block to the blockchain consensus mechanism, at step 530,
- the consensus mechanism depends on the technology used for the blockchain.
- the consensus mechanism is the ⁇ PBFT.
- the new block is added to the blockchain 440, at step 540. That is, the blockchain 440 records that Bob owns the genuine instance 420 described by content descriptor 310 issued by Alice. Otherwise, the validator rejects the block, at step 542 and the block is not appended to the blockchain 440.
- step 532 of the illustrated implementation of FIG. SB the validators 480 within the consensus mechanism are asked to validate that a digital content i an actual, genuine instance belonging to a particular owner.
- wo exam le irtiple entations are described below to illustrate the process to validate that a digital content- is (1) an actual /genuine instance belonging to- (2 ⁇ : a particular owner.
- Prudence wants to validate that a digital content is an actual genuine instance belonging to Bob.
- Bob provides to Prudence a pristine copy of genuine instance, his public key, and the Unique ID of the genuine instance.
- Prudence validates that the digital content is the actual genuine instance belonging to Bob by checking the most recent block (with the provided Unique ID) of the
- Prudenc also checks th identity of Bob.
- Prudence performs the following: (1) verifies that the hash of a copy of genuine instance is equal to the instance hash 31 (i.e., insta ' n eHash ⁇ » «»
- SHA3 opyOfGen .ineInstance
- Prudence verifies that the owner
- Prudence validates that Boh ow s the corresponding genuine instance. In this case, it is
- Prudence validates that. Bob owns the genuine instance. For this validation, Bob provides to Prudence a copy of the genuine instance, Bob's public key, and the Unique ID. Prudence performs the following: (1) searches the blockchain for the most recent block with the unique ID 312; (2) extracts an extracted payload from the copy of the genuine instance using a watermark detector 460; ⁇ 3 ⁇ verifies that the extracted payload is equal to the payload 314; and ⁇ 4 ⁇ verifies the identity of Bob.
- the identity of Bob is verified by performing the following steps: ⁇ 1 ⁇ verifies that the public key provided by Bob matches the owner certificate key 340 and that the owner certificate key 340 is still valid; (2) generates and sends a 102 -bit random number ⁇ >v challenge " " ⁇ to Bob; ⁇ 3 ⁇ receives an v answer challenge" from Bob, wherein the "answer
- the verification does not require a pristine copy of th genuine instance.
- the copy of the genuine instance may be of a lower quality than the genuine instance, as long as the watermark
- Prudence does not rove that Bob has genuine instance but only that he owns it
- notations K pri Soh and K lih ob form Bob's key pair, and are, initially, the keys of the owner.
- Notations K p ⁇ - e ⁇ * an.d form Ophelia's key pair, and are, initially, the keys of th new owner.
- th resale ma occur with or without an issuer.
- FIGS . 6A and 6B form a flow diagram illustrating a process 600 for validating a resale of a genuine instance of a digital good without an issuer in accordance with one implementation of the present disclosure.
- the validator searches for and retrieves the most recent block with
- the validator then checks three conditions, (1) the validity of the content descriptor, (2) the validity of the new ownership token, and (3) the proposed transaction signature .
- the validity of the content descriptor is checked, at step €12, by matching the content descriptor in the extracted block to the content descriptor of the transaction submitted by Bob. If a match results, the process 600 continues. Otherwise, the block is declared as not valid, at step 650.
- the validity of the new ownership token is checked at steps 614 and 616.
- the token signature of the proposed transaction is verified by ⁇ 1 ⁇ extracting the owner certificate key of the retrieved block, and ⁇ 2 ⁇ verifying that the token signature of the proposed transaction is the actual signature of token seed by the owner of the owner certificate key of the retrieved block (i.e., ⁇ Tok nSsns t
- TokexSignature ⁇ * ⁇ rtte
- transaction signature is checked, at step 618, by verifying that the proposed transaction signature is the actual signature of the transaction by Bob (i.e.,
- the block is declared as not valid, at step 650.
- the new block is added to the blockchain. That is, the blockchain records that the genuine instance described by content descriptor issued by Alice (and previously owned by Bob) is now owned by Ophelia.
- FIGS, 7A and 7B form a flo diagram illustrating a process 700 for validating a resale of a genuine instance of a digital good with an issuer in accordance with one i plementation of the present disclosure.
- the validator searches for and retrieves the most recent block with
- the validator then checks three conditions, (1) the validit of the content descriptor, (2) the validity of the new ownership token, and ⁇ 3 ⁇ the proposed transaction signat/ure .
- the validity of the content descriptor is checked, at step 712, by matching the content descriptor in the retrieved block to the content descriptor of the transaction submitted by Bob. If a match results, the process 700 continues. Otherwise,- the block is declared as not valid, at step 750.
- the validity of the new ownership token is checked at steps 720, 722, and 724.
- step 720 the number of blocks (.: ⁇ in the folocfcehaln related to Unique ID is counted.
- step 724 the token signature of the proposed transaction is verified by verifying that the token
- transaction signature is checked, at block 726, by
- the proposed transaction signature is the actual signature of transaction .by Bob (i.e.,
- the block is declared as not valid, at step 750.
- the new block is added to the blockchain. That is, the blockchain records that the genuine instance described by content descriptor issued by Alice ⁇ and previously owned by Bob) is now owned by Ophelia.
- the blockchain detects the double spending. Since the validators can only record one ownership, the second sale would be a violation, thus, not validated.
- Bob cannot keep a genuine instance once he sells it. Bob may keep a pristine copy of the sold genuine instance. However, Bob will not pass the ownership test as this test requires the private key of the current owner registered in the blockchain. The blockchain guarantees the transfer of ownership.
- the computing device includes one or .more processors, one or more data-storage components (e.g., volatile or non-voiatiie memory modules and persistent optical and magnetic storage devices, such as hard and floppy disk drives, CD-ROM drives, and magnetic tape drives), one or more input devices (e.g., game
- mice and keyboards mice and keyboards
- output devices e.g., display devices
- the computer programs include executable cod that is usually stored in a persistent storage medium and then copied into memo y at run-time.
- At least one processor executes the code by retrieving program instructions from memory in a prescribed order.
- the computer receives data from the input and/or storage devices, performs operations on the data, and then delivers the resulting data to the output and/or storage devices .
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Entrepreneurship & Innovation (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
Processing a genuine instance of a digital good using a blockchain including: registering an ownership of the genuine instance using a plurality of transactions, the genuine instance uniquely identified by a content descriptor which is cryptographically linked to an ownership token and includes intrinsic characteristics of the genuine instance, wherein the ownership token includes a token seed and a token signature; validating each transaction of the plurality of transactions by a plurality of validators; and recording that the genuine instance belongs to an owner by recording each transaction of the plurality of transactions in the blockchain once each transaction has been validated.
Description
GENUINE INSTANCE OF DIGITAL GOODS
GROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of priority under 35 U.S.C. §119 (e) of co-pending U.S. Provisional Patent Application No, 62/567, 698, filed October 3, 2017, entitled "Genuine Instance of Digital Good," The disclosure of th above-referenced application is incorporated herein by reference.
BACKGROUND
Field
[0002] The present disclosure relates to genuine instance of digital goads,- a:nd more, specifically, to validating the genuine instance .
Background
[0003] A good is rival if once consumed it is not anymore available, A good is excludable- if it is possible to restrict its usage to an individual or a group of
individuals. Digital goods are by nature non-excludable and non-rival. In some cases, these intrinsic characteristics may be a business issue. As scarcity is driving value, non- exeiudability and non-rivalry may be disadvantageous to
business. However, digital goods are by nature not scarce, thus with little intrinsic commercial value.
SUMMARY
[0004] The present disclosure provides for creating the scarcity with one unique instance of a digital good that will be the genuine instance and for linking that genuine instance to an owne .
[0005] In one implementation, a method for processing a genuine instance of a digital good using a hlbckchain is disclosed. The method includes : registering an ownership of the genuine instance using a plurality of transactions^ the genuine instance uniquely identified by a content descriptor which is cryptographicaliy linked to an
ownership token atnd includes intrinsic characteristics of the genuine instance, wherein the ownership token includes a token seed and a token signature; validating each
transaction of the plurality of transactions by a plurality of validators; and recording that the genuine instance belongs to an owner by recording each transaction of the plurality of transactions in the biockchain once each transaction has been validated.
[0fl06] In one implementation, the intrinsic characte istics
include a unique identifie of the genuine instance which is calculated as a one-way cryptographic hash of the token seed; a payload of an imperceptible watermark embedded in the genuine instance; an instance hash of the plurality of transactions; and a content signature signed by the owner of a previous transaction. In one implementation, the ownership token includes information that links the genuine instance to the owner. In one implementation, registering an ownership of the genuine instance is performed by an issuer. In one implementation, intrinsic characteristics include: a unique identifier of the genuine instance which is calculated as a one-way cryptographic hash of the token seed; a payload of an imperceptible watermark embedded in the genuine instance; an instance hash of the plurality of transactions; a content signature signed by the issuer and a certificat key of the issuer. In one implementation, validating each transaction includes: verifying the
validity of the content signature; and verifying the validity of the ownership token . In one implementation, "verifying the validit of the ownership token in a resale includes: verifying the validity of the token seed; and verifying that the token signature is a actual signature of the token seed submitted by the owner in a previous transaction. In one implementationr each transaction
i nc i udes : a transaction signature signed fey the issuer and a certificate key of the owner. In one implementation, the method further includes generating, by the issuer, an initial random seed, wherein the initial random seed enables the creation of a finite series of successive token seeds, each token seed being a one-way cryptographic hash of the token seed generated in a previous transaction. In. on implementation, the method furthe includes generating the unique identifier of the genuine instance with a single iteration of a one-wa hash function of a last element of the finite series for an initial sale of the genuine instance. In one implementation, the method further includes: appointing a certification authority by the plurality of validators; and generating key pairs and associated certificates used for identity management by the certification authority. In one impleme t tion, generating key pairs and associated, certificates includes: verifying that the associated certificates did not expire; and verifying that the associated certificates were signed by the certification authority. In one implementation, the content descriptor also includes a set of visible marks that is unique to the genuine instance. In one
implementation, the ownership token also includes a token signature of the token seed. In one implementation.
registering an ownershi of the genuine instance is
performed by the owne in a previous transaction. In one implementation, the method fur her includes: generating, by the owner in the previous transaction, a new ownership token by signing the token seed with a private key of the owne in the previous transaction and generating a suite of linked token seeds ,
[0007] In another implementation, a non-transitory
computer-readable storage medium storing a computer program to process a genuine instance of a digital good using a biockchain is disclosed. The computer program includes ■executable ins actions that cause a computer to: registe an ownership of the genuine instance using a plurality of transactions, the genuine instance uniquely identified by a content descriptor which is cryptographical ly linked to an ownership token and includes intrinsic characteristics of the genuine instance, wherein the ownership token includes a. token seed and a token signature; validate each
transaction of the plurality of transactions by a plurality of validators; and recording that the genuine instance belongs to an owner by recording each transaction of the plurality of transactions in the biockchain once each transaction has been validated.
[0008:] In yet another implamentat ion, a system for
processing a genuine instance of a digital good using a foiockohain is disclosed. The system includes: an issuer confiqured to register an ownership of the genuine instance using a piuraiity of transactions, the genuine instance uniquely identified by a content descriptor which is
cryptographicaily linked to an ownershi token and includes intrinsic characteristics of the genuine instance,- wherein the ownership token includes a token seed and a token
signature; and a plurality of validators configured to validate each of the piuraiity of transactions, wherein the genuine instance is recorded as belonging to an owner by recording each transaction of the plurality of transactions in the foiockchain once each transaction has been validated fa the pluralit of validators,
£00X19] In one implementation, the intrinsic characteristics include; a unique identifier of the genuine instance which is calculated as a one-way cryptographic hash of the token seed; a. payload of an. imperceptible watermark embedded in the genuine instance; an instance hash of the pluralit of transactions; and a content signature signed by the owner in a previous transaction. In on implementation, the system further includes a watermark detector configured to detect and extract the payload of the imperceptible
watermark embedded in the genuine instance. In one
implementation, the ownership token includes information that links the genuine instance to the owner. In one
implementation, the system further includes a certification authority configured to generate key pairs and associated certificates used for identity management .
[0010] Other features and advantages should be apparent from the present description which illustrates, by way of example, aspects of the disclosure.
BRIEF DESCRIPTION OF THE DRAWINGS
[0011] The details of the present disclosure, both as to its structure and operation, may be gleaned in part by study of the appended drawings, in which like reference numerals refer to like parts, and in which:
[0012] FIG♦ 1 is a block diagram of a biockchain including n blocks and a genesis block;
[0013] FIG. 2 is a block diagram of a blockchain-based system for processing a genuine instance of a digital good in accordance with one implementation of the present
disclosure;
[0014] FIG » 3 is a block diagram of a transaction including a content descriptor, an ownership token, a transaction.
signature/ and an owne certificate key, in accordance with one implementation of the present disclosure;
[0015] FIG . 4 is a block diagram of a blockchain-based system for processing a genuine instance of a digital good in accordance with another implementation of the present disclosure;
[0016] FIGS. 5A and SB form a flow diagram illustrating a process for validating a first sale of a genuine instance of a digital good in accordance with another implementation of the present disclosure;
[0017] FIGS. 6A and 6B form a flow diagram illustrating a process for validating a resale of a genuine instance of a digital good without an issuer in accordance with one implementation of the present disclosure; and
[0018] FI S , ΊΑ and 7B form a flow diagram illustrating process for validatin a resale of a genuine instance of a digital good with an issuer in accordance with one
implementation of the present disclosure.
DETAILED DESCRIPTION
[0019] As described above, although scarcity drives value, digital goods are by nature not scarce, and thus may have little commercial value.
[002:0] Certain im lementations of the present disclosure provide for creating the scarcity with one unique instance of a digital good that will be the genuine instance and for linking that genuine instance to an owner. All copies of the genuine instance handled by an entity other than the proprietor would not foe genuine instances, although they may be bit-to-bit copies of the genuine instance. All derived versions, such as compressed or resized Instances, would not be genuine instances, regardless of the
ownershi . Thus, in the present disclosure, a genuine instance is a digital file with one unique owner. The present disclosure aims to link a digital file to an owner, and to trace and verify this ownership. In one
implementation, this link and ownership is implemented using a blockchain concept.
[0021] Digital signatures and digital, rights management m y be used to verify the integrity of an instance. However, the digital signature does not discriminate the genuine instance froia copied instances. Although the digital rights management is a set of technologies that create artificial scarcity for digital goods, they do not fulfill the
expected features. That is, although the digital rights management controls access to the digital goods, it does not handle its uniqueness and ownership.
[0022] After reading these descriptions/ it will become apparent how to implement the disclosure in various
implementations and applications. Although various
implementations of the present disclosure will be described herein, it is understood that these implementations are presented toy way of example only, and not limitation. As such this detailed description of various implementations shoul not be construed to limit the scope or breadth of the present disclosure.
[0023 j The bioeJchain data structure is an ordered list of blocks. Each block points back to its predecessor until the first block, which is sometimes referred to as the genesis block. The blocks and their sequencing are protected in integrity by backward-linking of cryptographic hashes.
There are many biockchains and usage of biockchains, but the most famous ones are Bitcoi and Ethereurr .
[0024] FIG. 1 is a block diagram of a block-chain 100 including n blocks 110, 120, 130 and a genesis block 140. in one implementation, a block has at least three elements: (a) an information section {e.g., 112) that stores the registered data and ancillary data, wherein the information section may be signed to prove its authenticity; (b) the cryptographic hash (e.g., 114} of the previous block (the genesis block will not have a previous block) ; and (c) the
cryptographic hash (e.g. , 116} of the current block. Thus, the data structure of the blockchain provides an append- only global ledger, which is tamper evident.
0G2S] FIG. 2 is a block diagram of a blockchain-based system 200 for processing a genuine instance of a digital good in accordance with one implementation of the present disclosure. The blockchain-based system 200 f FIG. 2 includes an issuer 210, a genuine instance 220, a
transaction 230, and a blockchain 240.
[0026J in one implementation, the transaction 230 registers the ownership of the genuine instance 220 and the issuer 210 creates and delivers the genuine instance 220 to an initial owner 250. Each genuine instance 220 is uniquely identified, by a unique combination of intrinsic
characteristics referred to as a content descriptor which is illustrated in FIG, 3. The issuer 210 generates the initial transaction 230. The blockchain 240 holds every transaction 230 generated by the issuer 210.
[0027] FIG. 3 is a block diagram of a transaction 300 including a content descriptor 310, an ownership toke 320, a transaction signature 330, and an owner certificate key 340, in accordance with one im leme ta o of the present disclosure. In the illustrated implementation of FIG. 3 r the content descriptor 310 Includes a unique identifier
(Unique ID) 312 of th genuine instance 220, a payload 314, an instance hash 316, a content signature 318,. and an issuer certificate key 319. The content descriptor 310 may also include an optional set of visible arks that is unique to the genuine instance 220 {similar to the printing number in a series of lithography) .
[0028] In one implementation, the payload 314 corresponds to the actual payload of an imperceptible watermark
embedded in the genuine instance 220 and is unique to the genuine instance 220. The watermark is a unforgeable method to make the genuine instance unique for a given digital good. Depending on the type of media of the genuine
instance 220, the imperceptible watermark may foe invisible, inaudible, or text-based. In one implementation, the cryptographic instance hash 316 is a cryptographic digestof the essence of the genuine instance 220, In one
implementation, the content signature 318 is a digital signature of the previous parameters signed by the issuer 210 {similar to the signature of the painter on
lithography.) .
[0029] In one implementation, the ownership token 320 is digital information that links the genuine instance 220 to its owner 250, and includes a token seed 32.2 and a token signature 324, Unique ID is equal to f (token $-eeci), where £
is a function that is computationally difficult to reverse (e.g., a one-way cryptographic hash). The token signature 324 is a digital signature of the token seed issued by the issuer 210.
[0030] In one implementation, the ownership of each genuine instance 220 is recorded by the transaction 300 that holds the content descriptor 310, the ownership token 320, and an owner's certificate key 340, h issuer 210 signs the transaction 300 with the transaction signature 330, The validation of a transaction 300 verifies the content signature 318 and the validity of the ownership token 320. The biockchain 240 records any change of ownership of a genuine instance 220 by adding a new transaction 300 describing the transfer of ownership in the information section of a new block. The change of ownership ma use one :of two methods (one involving an issuer and another not involving an issuer) .
[0031] In the first method (not involving an issuer), the seller, who is the current owner of the genuine instance, generates a ne ownership token 320 by signing the coken seed 322 with the seller' s private key (i.e., owner's private key of. the previous transaction) . The new
transaction 300 holds the content descriptor 310, the new ownership token 320 signed by the seller, the certificate
key of the future -owner 340, and is signed by the seller. A new block with the transaction 300 is stored on the
folockchain 240.
[0032] In the second method {involving an issuer) , the issuer 210 generates an initial random seed when creating the genuine instance 220. The initial random seed enables the creation of a suite of N linked token seeds as shown below. I :one implementation, the initial random seed enables the creation of a finite series of successive token seeds, each token seed being a one-way cryptographic hash of the token seed generated in a previous transaction. The issuer keeps this initial random seed confidentially. The issuer 210 also defines a transaction threshold N and calculates the transactions as follows:
Q ~ f (Initial Random Seed)
Unique 11)— f(T -t)
[0033] Accordingly, the initial token seed 322 is the ii- iteration, i.e. of £ with the initial random seed.
When resold, the token seed of the new transaction is T?i_g, In case of the rrh resale, the new token seed 322 is th (N- n) t¾ iteration of f. In one implementation, the one-way function f is a secure hash algorithm 3 (SHA3) with an
.output of 256 bits, and N - 100:.
[0034] For the initial sale, UniqueID ^ f(token seed), while for the first resale, UniqueID - f { f (token seed}}, and so on. However, only the issuer 210 can calculate the new value of the token seed 322 since only the issuer 210 knows the initial random seed. The n w transaction 300 uses the initial content descriptor 310, the new ownership token 32:0 signed by the issuer, the certificate key of the future owner, and is signed by the seller. A new block with this transaction 300 is stored on the blockehain.
[0035 J In the descriptions below, following notations are used. For an asymmetric key pair, the prefix represents the private key, whereas the prefix Κρ:^ represents the public key . Rotation Enc^^im) represents the encryption of clear text m using the public key Notation
Decjif j(m') represents the decryption of ciphertext mf using the private key Kp£i . If EpZi and fpaf> are a public-private key pair then Deo Hp^ (^ c{/epMl,}(m)— « dotation Sign^.^irn
represents the digital signature of message m using the private key ΚΡί1 , Notation Ver^Kt)^(tnr s) represents the digital verification of the signature a of message m using the public key Kpi,b , If K;,r; and Kptih are a public-private key pair then VeriKpub ms
[0036] FIG, is a block diagram of a blockcliain-based system 400 for processing a genuine instance of a digital good in accordance with another implementation of the present disclosure. The folockc ain-based system 400 of FIG. 4 includes an issuer 410, a genuine instance 420, a
transaction 430/ a biockchain 440, a watermark detector 460, a certification authority 470, and a set o validators 480.
[0037] in one implementation, the set of validators 480 uses a consensus mechanism based on the Practical Byzantine Fault Tolerant agreement (PBFT) to add the new biocks. In one implementation, the set of validators 480 appoints a trusted certification authority 470 to generate key pairs and associated certificates used for identity management♦ The validation of a certificate is a known process that implies verifying the consistency of the. information
including verifying that the certificate did not expire and was signed by the trusted certification authority 470.
[0038] I . one implementation, regarding the cryptographic material used by the system 400 during the generation of the transaction 430, the issuer 410 has issuer's public key ij-sf, a>>) and issuer's private key iKpri i0mtir) * he issuer 410 also has an issuer's certificate key issued, by the certification authority 470 which is associated with the
issuer's public key. In one implementation, the system 400 uses a hierarchical structure whose root certification authority is the certification authority 470, In one particular implementation, the system 400 uses Rivest,
Shamir, and Adelman 2048 {RSA2048} Public Key Cryptographic Standard 1.5 (PRCSl.S}, while the issuer certificate key is X50 compliant, which is a standard defining the format of a certificate of public key,
[0039] In one implementation, the owner 450 has an owne ' s public ke 0ii),ei} and an owner's private hey {ΚρίΛ w(!X) .
The owner 450 also has an owner's certificate key issued by the certification authority and is associated with the issuer's public key, In one particular implementation, the system uses RSA2048 PKCSI.S, while the owner certificate key is X509 compliant.
[0040] An example first sale of a genuine instance 4'20 ol a. digital good is described below. Alice sells a genuine instance of a digital picture to Bob. Thus, in this
example, Alice is the issuer and Bob is the future owner.
[0041] In the: above-described example implementation, Alice performs the following operations: fl) generates a 256-bit random seed; {2} performs 100 iterations of SHA3 on the initial random seed which results in a token seed 322
{i.e., okenSeed - SHA3uii¾ {SBA3¾S <..·, .SBA3«: {SHA3, {random
seed)}))}; (3) calculates Unique ID 312 (i.e. , OnxquelD ~ SHA3 (TokenSeed) ) {in the highly unlikely case that UniquelD has already been used for: another genuine instance, a new random seed would be polled); (4) generates a 32-bit random payload 314; {5) embeds the random payload 314 into the digital good using a watermark erabedder to produce the genuine instance 420; (6) calculates instance hash 316 (i.e., InstanceHash - SBA3 (Genuinelnstance } whose length is 256 bits; {?) calculates the content signature 318
{Contentsignature -
(UniquelD I Payload I InstanceHash I IssuerCerti icateKey) ) ; (8) builds the content descriptor by aggregating the Unique ID 312, the Payload 314, the instance hash 316, the issuer certificate key 319, and the content signature 318; (9) stores the Unique ID 312 and the random seed in a secure private database; U-Q) calculates the token signature 324 ( .e., Token-Signature :::
} (11) calculates the transaction signature 330 by signing the content descriptor 310, the ownership token 320, and Bob's owner certificate key 340 (i.e., TransactionSignature «
(Content-Descriptor i OwnershipToken j G nerCerti icateKey) ; (12) builds the t an act ion 430 by aggregating the content descriptor 310, the ownershi toke 320,- the transaction signature 330, and the owner
certificate key 340; and {13} submits the transaction 430 to the validators 480.
[0042] As described above in relation to FIG, 2, the
blockchain 440 is a permissioned blockchain, which means that a fixed set of known trusted validators validates each new block. I one Implementation, the validators 480 are a set of servers managed, by the issuer 410 (or a consortium of issuers) that handles the blockchain. Further, the blockchain 440 is public, which means that anybody can consul it. However, only a validator can add a new block to the blockchain 440,
[0043] FIGS. 5A and SB form a flow diagram illustrating a process 500 for validating a first sale of a genuine instance of a digital good in accordance with one
implementation of the present disclosure. In one
implementation, once the validator receives the transaction 300., the validator validates the transaction 300 by
checking the validity of three elements r namely, the content descriptor 310, the ownership token 320, and the I r saction &ignature 330.
[0044] In one implementation, checking the validity of the content descriptor 310 includes: (!) extracting and
acquiring an extracted payload from the genuine instance (e.g., using an online watermark detector 460), at ste
510; (2) verifying, at step 512, that the extracted payload is equal to the payload 314 (the genuine instance has an embedded wateriaark whose payload is "extracted payload". If the submitted content is genuine, the payload in the transaction should match the vaiue carried by the genuine instance's watermark.}; (3) verifying that the issuer certificate key 319 is a valid certificate issued by the certification authority 470; and {4} verifying, at step
514, that the content signature 318 is the actual signature of the content descriptor generated by Alice (i.e.,
Ver R$AK;.:X.. , -;; :Λ.:Ϊ ; {UniqueID I Payload j Instance-Hash I
IssuerCertificateKey I ConteritSignature) ===== true) } .
[0045] In one implementation, checking the validity of the content descriptor 310 also includes verifying that there is no double spending of the genuine instance, at step 516, The validator checks that there is no double spending by checking that there is not already a block issued by Alice in the blockchain 440 that has the corresponding payload 314 and th Unique ID 312.
[0046] In one: implementation, checking th validity of th ownership token 320 includes* (1) verifying, at step 518, the validity of the token se d 422 {i.e., Uniqu lb - SHA3 (TokenSeed) } and {2} verifying, at step 520, that the token signature 324 is the actual signature of token seed
322 submitted by Alic {i.e., Ver_RSAi.KxMif x ^xi {TofcenSeed I TokenSignature} ~~ true) ) .
[0047] In one implementation, checking the validity of the transaction signature 330 includes: (1) verifying, at step 522, that the transaction signature 330 is the actual signature of the transaction 300 by Alice (i.e.,
Ver^RSAi ^ i«s««r} (ContentDescription ! OwnershipToken j
OwnerCertAficateEay, ContantSignature) true}} and (2) verifying that the owner certificate key 330 is a valid certificate (e.g., X509 certificate) issued by the
certification authority 470.
[0048] In one implementation, once the three conditions are fulfilled (i.e., the validity of the content descriptor 310, the ownership token 320, and the transaction signature 330) t the validator 480 generates a new block including a single transaction. In other embodime s, once the three conditions are fulfilled, the validator 480 generates a new block for the blockchain 440 including a plurality of transactions. If the block includes multiple transactions, the validator 480 validates all transactions, As
illustrated in FIG. I, the new block. (.s) includes the transaction (in the information, section 112} , the hash 114 of the previous block, and the hash 116 of the new block. The structure of the block and the type of hash functio
depends OB the type at blockchain used.
[0049} In illustrated implementation of FIGS. 5A and SB, the validator 480 submits the new block to the blockchain consensus mechanism, at step 530, The consensus mechanism depends on the technology used for the blockchain. In one embodiment, the consensus mechanism is the■ PBFT. Thus, if it is determined, at step 532, that at least 2/3 of the set of validators 480 approves the new block, then the new block is added to the blockchain 440, at step 540. That is, the blockchain 440 records that Bob owns the genuine instance 420 described by content descriptor 310 issued by Alice. Otherwise, the validator rejects the block, at step 542 and the block is not appended to the blockchain 440.
[0050] In step 532 of the illustrated implementation of FIG. SB, the validators 480 within the consensus mechanism are asked to validate that a digital content i an actual, genuine instance belonging to a particular owner.
[0051] wo exam le irtiple entations are described below to illustrate the process to validate that a digital content- is (1) an actual /genuine instance belonging to- (2}: a particular owner.
[0052] In the first example implementation,. Prudence wants to validate that a digital content is an actual genuine
instance belonging to Bob. Thus, Bob provides to Prudence a pristine copy of genuine instance, his public key, and the Unique ID of the genuine instance. In one implementation, Prudence validates that the digital content is the actual genuine instance belonging to Bob by checking the most recent block (with the provided Unique ID) of the
blockehain and verifying that the block corresponds to the provided pristine copy. Prudenc also checks th identity of Bob.
[0053] To verify that the digital content is a ^pristine copy" { "pristine copy" means bit-to-bit copy of the genuine instance}, Prudence performs the following: (1) verifies that the hash of a copy of genuine instance is equal to the instance hash 31 (i.e., insta'n eHash ■»«
SHA3 ( opyOfGen .ineInstance) ) ; (2) extracts an extracted payload from the copy of genuine instance using a watermark detector 460; and (3) verifies that, the extracted payload is equal, to the payload 314, Further, to verify the
identity of Bob, Prudence verifies that the owner
certificate key 340 is still valid and that it matches the public ke provided by Bob; Thus, Prudence {!) generates and sends a 1024-bit random nuxaber called *Challenge' to Bob, who encrypts it with his private key ( Kpri WB r^ to
create and return Answer Challenge'
RSAJNC^ w>ter (Ckallmge)) to Prudence; and (2) verifies that Challenge -
. If the above three conditions are met, Prudence validates that Boh ow s the corresponding genuine instance. In this case, it is
important that Bob provides a pristine copy of the genuine instance to Prudence. Otherwise, the calculated hash would not match the instance hash 316 recorded in the locfcchain.
[0054] In the second example implementation, Prudence validates that. Bob owns the genuine instance. For this validation, Bob provides to Prudence a copy of the genuine instance, Bob's public key, and the Unique ID. Prudence performs the following: (1) searches the blockchain for the most recent block with the unique ID 312; (2) extracts an extracted payload from the copy of the genuine instance using a watermark detector 460; { 3 } verifies that the extracted payload is equal to the payload 314; and {4} verifies the identity of Bob. in one implementation, the identity of Bob is verified by performing the following steps: {1} verifies that the public key provided by Bob matches the owner certificate key 340 and that the owner certificate key 340 is still valid; (2) generates and sends a 102 -bit random number { >vchallenge""} to Bob; {3} receives
an vanswer challenge" from Bob, wherein the "answer
challenge'' was generated by Bob encrypting the ^challenge" with Bob's private key (i.e., AnswerCkallmge «
RSAJSNC ^jiChallmge)} ; and (4) verifies that Challenge =
RSAJ)EC{K ^^(AnswerChallenge). If this is true, Prudence
concludes that Bob owns the corresponding genuine instance. In the second example impl eroen t t ion, the verification does not require a pristine copy of th genuine instance. Thus, the copy of the genuine instance may be of a lower quality than the genuine instance, as long as the watermark
extraction is successful. It shall be noted that Prudence does not rove that Bob has genuine instance but only that he owns it,
[:005s J In another example implementation,,- Bob wants to resell his genuine instance to Ophelia. Bob is the seller and Ophelia is the future owner. In this implementation, notations Kpri Soh and K lih ob form Bob's key pair, and are, initially, the keys of the owner. Notations Kp^- e^ * an.d form Ophelia's key pair, and are, initially, the keys of th new owner. In this exam le implementation, th resale ma occur with or without an issuer.
[0056] In the example resale implementation without the issuer, the following steps are performed: {1} Bob forwards
a pristine copy of th genuine instance to Ophelia; (2) Ophelia verifies that it is the expected instance (i.e., that it is the pristine copy of the genuine instance) as described in the previous section; ( 3 ) Bob verifies the identity of Ophelia: (a) Ophelia provides to Bob a
certificate (e.g., the X509 certificate) of her public key; (b) Bab generates and sends a 1024-bit random number called 'challenge' to Ophelia; (c) Ophelia encrypts 'challenge" with Ophelia' s private key optwi ) to generate
AnswerChaUenge - RSA ..ENC Kprt ^(Challenge) ; (d) Ophelia returns
AnswerChallenge to Bob; (e) Bob verifies that Challenge ^
R$AJ)EC{S b l ](AnswerChallenge) } (4) Bob generates a new ownership token by signing the token seed with his private key
( ¾.ϊν :S¾M) ; (5) Bob calculates the new transaction signature by signing the content descriptor, the new ownership token, and Ophelia's owner certificate key (i.e., TransactionSign t re - Sign K&Sj Kpji s*¾> (ContentDesc r iptcr \ Ottn-ers Toksn j
OpheliaCertifIcate ey) ) (6) Bob builds the new transaction by aggregating the content descriptor, the new ownership token, Ophelia's owner certificate key, and the new
transaction signature; and {?} Bob submits the transaction to a validator.
[0057] FIGS . 6A and 6B form a flow diagram illustrating a process 600 for validating a resale of a genuine instance
of a digital good without an issuer in accordance with one implementation of the present disclosure. In the
illustrated implementation of FIG. 6Ά, the validator searches for and retrieves the most recent block with
Unique ID, at step 610. The validator then checks three conditions,, (1) the validity of the content descriptor, (2) the validity of the new ownership token, and (3) the proposed transaction signature .
[0058] In the first implementation, the validity of the content descriptor is checked, at step €12, by matching the content descriptor in the extracted block to the content descriptor of the transaction submitted by Bob. If a match results, the process 600 continues. Otherwise, the block is declared as not valid, at step 650.
[0059] In the second implementation, the validity of the new ownership token is checked at steps 614 and 616. At step 614 , the validity of the token seed is verified by checking that UniqueID := SHA3 (lokenSeed} . Then, at step 616, the token signature of the proposed transaction is verified by {1} extracting the owner certificate key of the retrieved block, and {2} verifying that the token signature of the proposed transaction is the actual signature of token seed by the owner of the owner certificate key of the
retrieved block (i.e., { Tok nSsns t
TokexSignature)∞*¥rtte) . If the signatures match, then the signatory is the current owner, i.e., Sob.
[0060] In the third implementation, the proposed
transaction signature is checked, at step 618, by verifying that the proposed transaction signature is the actual signature of the transaction by Bob (i.e.,
V&r F.S'AiKa!Sb :;s}bi (ContentDsscriptor \ OvnsrshipToken \ CertificataOphel is. r ransactioRSignaturs} ^ rue) and that the owner certificate key is a valid certificate issued by the certification
authority. f D061] If the above three implementations are checked and fulfilled, then the validator generates and submits the new block to the 'validators of the blockchain consensus
mechanism, at step 630, Otherwise, the block is declared as not valid, at step 650.
[0062 J In one implementation, if at least 2/3 of the set of validators approves the new black, then the new block is added to the blockchain. That is, the blockchain records that the genuine instance described by content descriptor issued by Alice (and previously owned by Bob) is now owned by Ophelia.
[0063] In the example resale implementation with the issuer, the following steps are performed: (1) Bob forwards
a pristine copy of the genuine instance to Ophelia; (2) Ophelia verifies that it is the expected instance as described in the previous section; ( 3 ) Bob verifies the identity of Ophelia: {a} Ophelia provides to Bob a
certificate {e.g., the X509 certificate) of her public key; ih) Bob generates and sends a 1024~b.it ra dom number called *challenge'' to Ophelia; (c) Ophelia encrypts 'challenge' with Ophelia's private key {K^ op ^i ) to generate
AnswerChallenge - RSA HNC{K . 0r!kS!Ha \ (Challenge); (d) Ophelia returns
AnswerChallenge to Bob; (e) Bob verifies that Challenge =
R$AJ)EC{K→ ^^(An werChallenge ; (4) Alice verifies that Bob owns the genuine instance as described in the previous section; (5) Alice counts the number of blocks (n) in the blockchain related to Unique ID {i.e., the number of transactions related to the genuine instance); (11) Alice performs 100~n iterations of SEA3 on the initial seed to generate the new token seed {i.e., UniqueΪΟ - SHA3K^-« {SHA3.»$>..r! (... SHA3,>{ SHA3i (Seed) } ) } ) ; (12) Alice calculates the token signature {i.e., TokenSignature ~Sign_RSAiKp3:i ι««««π {"fokenSeed) ) ; (13) Alice retu ns: the new ownership token securel to Bob; {14} Bob calculates the new transaction signature by signing the content descriptor, the new ownership token, and: Ophelia's owner certificate key {.i.e., ?ransactionSigrsature =
Sign RSA{xpxi. s¾b} {Content-Descriptor \ OvmershipToken j
OphellaCertifieateKey) ) ; {15} Bob builds the new transaction by aggregating the content descriptor, the new ownership token, Ophelia's owner certificate key, and the new transaction signature; and {17} Bob transfers the transaction to a validator.
[0064] FIGS, 7A and 7B form a flo diagram illustrating a process 700 for validating a resale of a genuine instance of a digital good with an issuer in accordance with one i plementation of the present disclosure. In the
illustrated implementation of FIG, 7A, the validator searches for and retrieves the most recent block with
Unique ID, at step 710. The validator then checks three conditions, (1) the validit of the content descriptor, (2) the validity of the new ownership token, and {3} the proposed transaction signat/ure .
[0065] In the first implementation, the validity of the content descriptor is checked, at step 712, by matching the content descriptor in the retrieved block to the content descriptor of the transaction submitted by Bob. If a match results, the process 700 continues. Otherwise,- the block is declared as not valid, at step 750.
[0066] In the second implementation, the validity of the new ownership token is checked at steps 720, 722, and 724.
At step 720, the number of blocks (.:<} in the folocfcehaln related to Unique ID is counted. At step 722, the validity of the token seed is verified by making n+1 iterations of SHA3 and checking that UniqueID = SHA3;s (.„ SHA30 (TokenSeed) } . Then, at step 724, the token signature of the proposed transaction is verified by verifying that the token
signature of the proposed transaction is the actual
signature :of token seed by the public key held in the issuer certificate key of the retrieved block. If the signature does not match, then the block is declared as not valid, at step 750.
[0067] In the third implementation, the- proposed
transaction signature is checked, at block 726, by
ver ying tha the proposed transaction signature is the actual signature of transaction .by Bob (i.e.,
fContentDesexiptor Ϊ OwnershipToken I Cerzixicst&Ophelia, ransact! onS nature) * *True) and that the owner certificate key is a valid certificate issued by the certification
authority.
[0068] If the: above three implementations are checked and fulfilled/ then the validator generates and submits the new block to the validators of the blocfcchain consensus
mechan sm, at step 730. Otherwise, the block is declared as not valid, at step 750.
["0069] In one implementation, if at least 2/3 of th set of validators approves the new block, then the new block is added to the blockchain. That is, the blockchain records that the genuine instance described by content descriptor issued by Alice {and previously owned by Bob) is now owned by Ophelia.
[0070] The difference between the two implementations
(without issuer and with issuer) is that when the issuer is involved, the issuer acts as an additional trust referee. Only the issuer can generate a valid ownership token,
[0071] Accordingly,- the above-described implementations provid for creating the scarcity wi r h one unique instance of a digital good that will be the genuine instance and link that genuine instance to an owner. Any copies or derivatives are not genuine instances. Following examples verify that the concept works,
[0072] Alice cannot sell the same genuine instance to Bob and Charles, Assum that Alice provides the sa digital file to Bob and Charles: by using different seeds for Bob and Charles, resulting in two different U.IDs. However, in this case, the validator would detect the two transactions with the same payload but different Unique. IDs. This would be a violation detected b the consensus mechanism, Alice can make several genuine instances fro¾ the same, original
file. However, each genuine instance has a different
watermark, thus, making each genuine instance unique.
[0073] Bob cannot resell the same genuine instance to
Ophelia and Charles. In this case, the blockchain detects the double spending. Since the validators can only record one ownership, the second sale would be a violation, thus, not validated.
[0074] Eve cannot claim a genuine instance without, owning it. Eve cannot pass the ownershi test as the challenge response requires having Bob's private key.
[0075] Bob cannot keep a genuine instance once he sells it. Bob may keep a pristine copy of the sold genuine instance. However, Bob will not pass the ownership test as this test requires the private key of the current owner registered in the blockchain. The blockchain guarantees the transfer of ownership.
[0076] The description herein of the disclosed
implementations is provided to enable any person skilled in the art to make or use the present disclosure. Numerous modifications to these implementations would be readily apparent to those skilled in the art, and the principals defined herein can be applied to other implementations without departing from the spirit or scop of th present
disclosure . For example, although the specification describes the validation application performing hashing functions using the SHA3 program, other hashing functions can be used in place. Thus, the present disclosure is not intended to be limited to the implementations shown herein but is to toe accorded the widest scope consistent with the principal and novel features disclosed herei ,
[0077] Various implementations of the present disclosure are realized in electronic hardware, computer software, or combinations of these technologies. Some implementations include one or more computer programs executed by one or more computing devices. In general, the computing device includes one or .more processors, one or more data-storage components (e.g., volatile or non-voiatiie memory modules and persistent optical and magnetic storage devices, such as hard and floppy disk drives, CD-ROM drives, and magnetic tape drives), one or more input devices (e.g., game
controllers, mice and keyboards) , and one or more output devices {e.g., display devices).
[0078] The computer programs include executable cod that is usually stored in a persistent storage medium and then copied into memo y at run-time. At least one processor executes the code by retrieving program instructions from memory in a prescribed order. When executing the program
code, the computer receives data from the input and/or storage devices, performs operations on the data, and then delivers the resulting data to the output and/or storage devices .
[0079] Those of skill in the art will appreciate that the various illustrative modules and method steps described herein can be implemented as electronic hardware, software, firmware or combinations of the foregoing. To clearly illustrate this interehangeability of hardware and
software, various illustrative modules and method steps have been described herein generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular
application and design constraints imposed on the overall system. Skilled persons can implement the described
functionality in varying ways fo each particula
application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure. In addition, the grouping of functions within module or step is for ease of description.
Specific functions can be moved from one module or step to another without departix'sg from the present disclosure.
[0080] All features of each above-discussed example are not necessarily required in a particular implementation of the
resent disclosure, Further, it is to be understood that the description and drawings presented herein are
representative of the subject matter which is broadly contemplated by the present disclosure. It is further understood that the scope of the present disclosure fully encompasses other implementations that may become obvious to those skilled in the art and that the scope of the present disclosure is accordingly limited by nothing other than the appended claims.
Claims
1. Ά method, for processing a genuine instance of a digital good using a blockchain, the method comprising: registering an ownership of the genuine instance using a plurality of transactions, the genuine instance uniquely identified by a content descriptor which is
cryptograph!cally linked to an ownership token and includes intrinsic characteristics of the genuine instance,
wherein the ownership token includes a token seed and a token signature;
validating each transaction of the plurality of transactions by a plurality of validators; and
recording that th genuine instance belongs to an owner by recording each transaction of the pl.u al.ity of transactions in the blockchain once each transaction has been validated.
2, The method of claim 1, wherein the intrinsic characteristics comprise:
a unique identifier of the genuine instance which is calculated as a one-way cryptographic hash ox the token seed;
a ayload of an imperceptible waterrsark embedded in
the genuine instance;
an instance hash of the plurality of transactions; and, a content signature signed by the owner of a previous transaction ,
3, The method of claim I, wherein the ownership token includes information that links the genuine instance to the own r ,
4, The method of claim 1, wherein registering an ownership of the genuine instance is performed by an
ssuer ,
5, The method of claim 4, wherein the intrinsic ch racteristics comprxse :
a unigue identifie of the genuine instance which is calculated as a one-way cryptographic hash of the token seed;
a payload of an imperceptible watermark embedded in the genuine instance;
an instance hash of th pluralit of transactions;
a content signature signed by the issuer; and
a certificate key of the issuer.
The method of c'laixa S, wherein validating each transaction comprises:
verifying the validity of the content signature; and verifying the validity of the ownership token,
7. The method of claim 6, wherein verifying the validity of the ownership token in a resale comprises: verifying the validity of the token seed; and verifying that the token signature is an actual signature of the token seed submitted by the owner in a previous transaction.
8. The method of claim 4, wherein each transaction comprises ;
a transaction signature signed by the issuer; and a certificate key of the owner.
9. The method of claim 4, furthe comprising
generating, by the issuer, an initial random seed, wherein the initial randoxa seed enables the creation of a finite series of successive token seeds, each token seed being a one-way cryptographic hash of the token seed
generated in a previous transaction.
10. The method of claim 9, further comprising
generating the unique identifier of the genuine instance with a single iteration of a one-way hash function of a last element of the finite series for an initial sale of the genuine instance.
11. The method Of claim 1, further comprising:
appointing a certification authority by the plurality of validators; and
generating key pairs and associated certificates used for identity management by the certification authority.
12. The method of claim 11, wherein generating key pairs and associated certificates comprises;
verifying that the associated certificates did not expire; and
verifying that the associated certificates were signed by the certification authority.
13. The method of claim 1, wherein the content
descriptor also comprises
a set of visible marks that is unique to th genuin
instance,
14. The method of claim 1, wherein the ownership token also comprises a token signature of the token seed,
15. The method of claim 1, wherein registering an ownership o the genuine instance is performed by the owner in previous transaction,
16. The method of claim 15, further comprising:
generating, by the owner in the previous transaction, a new ownership token by signing the token seed with a private key of the owner in the previous transaction; and generating a suite of. linked token, seeds.
17. A non-transitory computer-readable storage medium storing a computer program to process a genuine instance of a digital good using a folockehain, the computer program comprising executable instructions that cause a computer to:
register an ownership of the genuine instance using a plurality of transactions, the genuine instance uniquel identified by a content descriptor which is
cryptographically linked to an ovfnership token and includes intrinsic characteristics of the genuine instance,
wherein the ownership token includes a token seed and a token signature;
validate each transaction of the plurality of
transactions by a plurality of validators; and
record that the genuine instance belongs to an owner y recording each transaction of the plurality of
transactions in the folockchain once each transaction has been validated ,
18. A system for processing a genuine instance of a digital good using a biockchain, the system comprising: an issuer configured to register an ownership of the genuine instance using a plurality of transactions,: the genuine instance uniquely identified by a content
descriptor which is cryptographically linked to an
ownership token and includes intrinsic characteristics of the genuine instance,
wherein the ownership token includes a token seed and a token, signature; and
a plurality of validators configured to validate each of the plurality of transactions,
wherein the genuine instance is recorded as belong to an owner by recording each transaction of the piuraiity of transactions in the biockchain once each transaction has been validated by the piuraiity of validators.
19. The system of claim IB, wherein the intrinsic characteristics compris :
a -unique identifier of the genuine instance whic is calcuiated as a one-way cryptographic hash of the token seed;
a payload of an imperceptible watermark embedded in the gen ine instance;
an instance hash of the plurality of transactions; and a content signature signed by the owner in a previous transaction .
20. The system of claim 19, further comprising
a watermark detector configured to detect and extract the payload of the imperceptible watermark embedded in the genuine instance .
21. The syste of claim 18, wherein the ownership token inGiudes information that links the genuine instance
to the owne .
22. The systern of claim 18, further comprising a certification authority configured to generate pairs and associated certificates used for identity management .
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP18864792.9A EP3659091B1 (en) | 2017-10-03 | 2018-10-01 | Genuine instance of digital goods |
| CN201880056111.0A CN111095322B (en) | 2017-10-03 | 2018-10-01 | Real examples of digital goods |
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201762567698P | 2017-10-03 | 2017-10-03 | |
| US62/567,698 | 2017-10-03 | ||
| US15/921,028 US11481786B2 (en) | 2017-10-03 | 2018-03-14 | Genuine instance of digital goods |
| US15/921,028 | 2018-03-14 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2019070563A1 true WO2019070563A1 (en) | 2019-04-11 |
Family
ID=65896806
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2018/053705 Ceased WO2019070563A1 (en) | 2017-10-03 | 2018-10-01 | Genuine instance of digital goods |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US11481786B2 (en) |
| EP (1) | EP3659091B1 (en) |
| CN (1) | CN111095322B (en) |
| WO (1) | WO2019070563A1 (en) |
Families Citing this family (34)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB201714987D0 (en) * | 2017-09-18 | 2017-11-01 | Nchain Holdings Ltd | Computer-implemented system and method |
| US12206787B2 (en) | 2017-11-08 | 2025-01-21 | Brand Therapy, Llc | System and method for identifying virtual goods |
| US11270318B1 (en) | 2017-11-08 | 2022-03-08 | Brand Therapy Llc | System and method for identifying virtual goods |
| US12488069B2 (en) * | 2017-11-17 | 2025-12-02 | Datavault Ai Inc. | Content licensing platform, system, and method |
| EP3740890A4 (en) | 2018-01-19 | 2022-01-12 | Nasdaq, Inc. | SYSTEMS AND METHODS FOR CERTIFYING AND VERIFYING DIGITAL CONTENT USING CRYPTOGRAPHY AND BLOCKCHAIN |
| US11038676B2 (en) * | 2018-05-25 | 2021-06-15 | Incertrust Technologies Corporation | Cryptographic systems and methods using distributed ledgers |
| CN109102261A (en) * | 2018-08-02 | 2018-12-28 | 刘卓 | Based on the encryption currency for matching the decentralization for winning banknote, safety, power saving |
| US10938578B2 (en) * | 2018-10-18 | 2021-03-02 | Keir Finlow-Bates | System and method for maintaining an integrity of a blockchain using digital certificates |
| JP7216881B2 (en) * | 2018-10-19 | 2023-02-02 | 日本電信電話株式会社 | Content Contract System, Content Contract Method, Right Holder Terminal, Transferee Terminal, Control Terminal, Content Storage Server, Right Holder Program, Transferee Program, Control Program and Content Storage Program |
| US11956367B2 (en) * | 2019-02-19 | 2024-04-09 | Bruno SANGLE-FERRIERE | Cryptographic method for verifying data |
| FR3092923B1 (en) * | 2019-02-19 | 2021-05-21 | Sangle Ferriere Bruno | Cryptographic method of data verification |
| US12301549B2 (en) * | 2019-02-19 | 2025-05-13 | Bruno SANGLE-FERRIERE | Cryptographic method for verifying data |
| EP3673394A4 (en) * | 2019-05-20 | 2020-09-09 | Alibaba Group Holding Limited | Identifying copyrighted material using embedded timestamped copyright information |
| EP3907634B1 (en) | 2019-05-20 | 2022-12-21 | Advanced New Technologies Co., Ltd. | Copyright protection based on hidden copright information |
| WO2019141294A2 (en) | 2019-05-20 | 2019-07-25 | Alibaba Group Holding Limited | Identifying copyrighted material using copyright information embedded in tables |
| EP3673393B1 (en) | 2019-05-20 | 2021-09-29 | Advanced New Technologies Co., Ltd. | Identifying copyrighted material using embedded copyright information |
| EP3673455B1 (en) | 2019-05-20 | 2021-08-11 | Advanced New Technologies Co., Ltd. | Identifying copyrighted material using embedded copyright information |
| EP3673390B1 (en) | 2019-05-20 | 2022-10-05 | Advanced New Technologies Co., Ltd. | Identifying copyrighted material using embedded copyright information |
| ES2882124T3 (en) | 2019-05-20 | 2021-12-30 | Advanced New Technologies Co Ltd | Identification of copyrighted material using embedded copyright information |
| WO2019141295A2 (en) | 2019-05-20 | 2019-07-25 | Alibaba Group Holding Limited | Identifying copyrighted material using copyright information embedded in electronic files |
| EP3742322A1 (en) * | 2019-05-22 | 2020-11-25 | Siemens Aktiengesellschaft | Operational policies or industrial field devices and distributed databases |
| US11271751B2 (en) * | 2019-06-21 | 2022-03-08 | Oracle International Corporation | Distributed data records |
| GB2587028A (en) | 2019-09-16 | 2021-03-17 | Nchain Holdings Ltd | Cryptographically linked identities |
| US11922532B2 (en) * | 2020-01-15 | 2024-03-05 | Digimarc Corporation | System for mitigating the problem of deepfake media content using watermarking |
| CN114616541A (en) | 2020-05-13 | 2022-06-10 | 辉达公司 | Conversational AI platform with rendered graphical output |
| WO2022079831A1 (en) * | 2020-10-14 | 2022-04-21 | 日本電信電話株式会社 | Registrant terminal, owner terminal, method, and program |
| SE545318C2 (en) | 2021-03-01 | 2023-07-04 | Enigio AB | Method and system for registering digital documents |
| US11288663B1 (en) * | 2021-06-25 | 2022-03-29 | Arri E. Manuel | Blockring service, system, and method thereof |
| US12450679B2 (en) * | 2021-12-31 | 2025-10-21 | The Nielsen Company (Us), Llc | Methods and apparatus for decentralized content measurement |
| FR3140457B1 (en) | 2022-10-04 | 2024-08-30 | Marbeuf Conseil Et Rech | Method of improving the hash of a file |
| WO2024137146A1 (en) * | 2022-12-23 | 2024-06-27 | Digimarc Corporation | Digital watermarking for link between nft and associated digital content |
| US12348640B2 (en) * | 2023-06-05 | 2025-07-01 | Alibi Llc | Systems, methods, and computer program products for providing immutable digital testimony |
| US20240420136A1 (en) * | 2023-06-09 | 2024-12-19 | Arizona Board Of Regents On Behalf Of Arizona State University | SYSTEMS AND METHODS FOR BREAKING THE f+ 1 BARRIER: EXECUTING PAYMENT TRANSACTIONS IN PARALLEL WITH LESS THAT f+1 VALIDATIONS |
| US12333527B2 (en) * | 2023-07-17 | 2025-06-17 | Bank Of America Corporation | Bifurcated non-fungible tokens as an authenticator |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2534952C1 (en) * | 2013-06-17 | 2014-12-10 | ООО "Научно-производственный центр "ИНТЕЛКОМ" | Method of labelling product or articles for identification and counterfeit protection thereof |
| US20150059003A1 (en) * | 2013-08-23 | 2015-02-26 | Morphotrust Usa, Llc | System and Method for Identity Management |
| US20160234026A1 (en) | 2015-02-09 | 2016-08-11 | Medici, Inc. | Crypto integration platform |
| WO2016164496A1 (en) | 2015-04-06 | 2016-10-13 | Bitmark, Inc. | System and method for decentralized title recordation and authentication |
| WO2017079214A1 (en) * | 2015-11-05 | 2017-05-11 | Mastercard International Incorporated | Method and system for use of a blockchain in a transaction processing network |
| WO2017145010A1 (en) * | 2016-02-23 | 2017-08-31 | nChain Holdings Limited | Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system |
Family Cites Families (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2001044968A2 (en) * | 1999-12-02 | 2001-06-21 | Oakington Technologies Limited | Transaction system and method |
| US7698229B2 (en) * | 2003-08-29 | 2010-04-13 | International Business Machines Corporation | Method and apparatus for trading digital items in a network data processing system |
| EP1684286A1 (en) * | 2005-01-24 | 2006-07-26 | Thomson Licensing | Secure pre-recorded digital medium |
| US20070091377A1 (en) * | 2005-05-18 | 2007-04-26 | Patrick Smith | Real-time auditing of covert data marks |
| US20130018800A1 (en) * | 2011-07-15 | 2013-01-17 | Rangaraju Devaraju | Secure Authorization of a Financial Transaction |
| US20130166455A1 (en) | 2011-12-23 | 2013-06-27 | Douglas Feigelson | Creating and using digital currency |
| EP3036672A4 (en) | 2013-08-21 | 2017-04-26 | Ascribe GmbH | Method to securely establish, affirm, and transfer ownership of artworks |
| CN105960776B (en) * | 2014-02-04 | 2020-04-03 | 维萨国际服务协会 | Token verification with limited-use certificates |
| US20160098723A1 (en) * | 2014-10-01 | 2016-04-07 | The Filing Cabinet, LLC | System and method for block-chain verification of goods |
| US10594484B2 (en) * | 2015-02-13 | 2020-03-17 | Yoti Holding Limited | Digital identity system |
| US20160283920A1 (en) * | 2015-03-28 | 2016-09-29 | Justin Fisher | Authentication and verification of digital data utilizing blockchain technology |
| US20190005268A1 (en) * | 2015-05-27 | 2019-01-03 | Vishal Gupta | Universal original document validation platform |
| US11494761B2 (en) * | 2015-11-06 | 2022-11-08 | Cable Television Laboratories, Inc. | Systems and methods for digital asset security ecosystems |
| KR102777896B1 (en) | 2016-02-23 | 2025-03-10 | 엔체인 홀딩스 리미티드 | Blockchain-based exchange method using tokenization |
| US20180089655A1 (en) * | 2016-09-27 | 2018-03-29 | The Toronto-Dominion Bank | Real time virtual draft system and method |
-
2018
- 2018-03-14 US US15/921,028 patent/US11481786B2/en active Active
- 2018-10-01 WO PCT/US2018/053705 patent/WO2019070563A1/en not_active Ceased
- 2018-10-01 EP EP18864792.9A patent/EP3659091B1/en active Active
- 2018-10-01 CN CN201880056111.0A patent/CN111095322B/en active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2534952C1 (en) * | 2013-06-17 | 2014-12-10 | ООО "Научно-производственный центр "ИНТЕЛКОМ" | Method of labelling product or articles for identification and counterfeit protection thereof |
| US20150059003A1 (en) * | 2013-08-23 | 2015-02-26 | Morphotrust Usa, Llc | System and Method for Identity Management |
| US20160234026A1 (en) | 2015-02-09 | 2016-08-11 | Medici, Inc. | Crypto integration platform |
| WO2016164496A1 (en) | 2015-04-06 | 2016-10-13 | Bitmark, Inc. | System and method for decentralized title recordation and authentication |
| WO2017079214A1 (en) * | 2015-11-05 | 2017-05-11 | Mastercard International Incorporated | Method and system for use of a blockchain in a transaction processing network |
| WO2017145010A1 (en) * | 2016-02-23 | 2017-08-31 | nChain Holdings Limited | Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP3659091A4 |
Also Published As
| Publication number | Publication date |
|---|---|
| US11481786B2 (en) | 2022-10-25 |
| EP3659091A1 (en) | 2020-06-03 |
| CN111095322A (en) | 2020-05-01 |
| EP3659091A4 (en) | 2021-03-03 |
| EP3659091B1 (en) | 2024-09-25 |
| US20190102782A1 (en) | 2019-04-04 |
| CN111095322B (en) | 2023-11-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP3659091B1 (en) | Genuine instance of digital goods | |
| JP6841911B2 (en) | Information protection systems and methods | |
| CN112215608B (en) | Data processing method and device | |
| KR101974060B1 (en) | Method and system for validating ownership of digital assets using distributed hash tables and peer-to-peer distributed decoys | |
| US11546144B2 (en) | Systems and methods for communication, storage and processing of data provided by an entity over a blockchain network | |
| JP6877448B2 (en) | Methods and systems for guaranteeing computer software using distributed hash tables and blockchain | |
| CN112544053B (en) | Methods, systems, computer program products, and computer readable media for determining data blocks and for providing time stamped transactions | |
| WO2016104476A1 (en) | Secret falsification detection system, secret calculation device, secret falsification detection method, and program | |
| CN116614220B (en) | Attribute-based anonymous credential system supporting threshold aggregation | |
| JP6674401B2 (en) | Detection system, detection method and detection program | |
| JP2016126354A (en) | Secrecy falsification detection system, secrecy calculation device, secrecy falsification detection method, and program | |
| US20050076223A1 (en) | Digital signature method and apparatus | |
| Chaudhary et al. | SeDe: Balancing Blockchain Privacy and Regulatory Compliance by Selective De-Anonymization | |
| EP4369652A1 (en) | Cold wallet apparatus and method of controlling the same | |
| WO2023214152A1 (en) | Computer implemented systems and methods | |
| Finney Daniel Shadrach et al. | Challenges and Opportunities Associated with Homomorphic Encryption for Financial Cryptography | |
| Yun et al. | The biometric based convertible undeniable multi-signature scheme to ensure multi-author copyrights and profits | |
| do Nascimento Silva et al. | A scheme based on Proof-of-Download blockchain for Digital Rights Management and Traitor Detection | |
| JP2026509409A (en) | Computer-based methods and systems for acquiring or using SVD-based assets on a blockchain. | |
| Yoshida et al. | Expiration dated fingerprinting | |
| Rivera et al. | Distributed Consensus Technologies in Cryptocurrency Applications |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18864792 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2018864792 Country of ref document: EP Effective date: 20200226 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |