This invention relates generally to databases.
Review websites allow users to enter reviews for products for sale. Potential customers can browse a review website to see other customers' experiences with different products.
Disclosed herein are embodiments of apparatuses and methods for review management. This description includes drawings, wherein:
Elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions and/or relative positioning of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of various embodiments of the present invention. Also, common but well-understood elements that are useful or necessary in a commercially feasible embodiment are often not depicted in order to facilitate a less obstructed view of these various embodiments of the present invention. Certain actions and/or steps may be described or depicted in a particular order of occurrence while those skilled in the art will understand that such specificity with respect to sequence is not actually required. The terms and expressions used herein have the ordinary technical meaning as is accorded to such terms and expressions by persons skilled in the technical field as set forth above except where different specific meanings have otherwise been set forth herein.
Generally speaking, pursuant to various embodiments, systems, apparatuses and methods are provided herein for review management. In some embodiments, a system for authenticated customer retail product review management comprises a communication device configured to communicate with one or more nodes of a distributed transaction ledger over a network, wherein the distributed transaction ledger comprises digital product purchase records associated with a plurality of entities, a memory device, a user interface device, and a control circuit coupled to the communication device, the memory device, and the user interface device. The control circuit being configured to receive a private key and a public key associated with a user, index, in the memory device, transactions associated with the user in the distributed transaction ledger using at least one of the public key and the private key, determine products owned by the user based on the transactions associated with the user, display, via the user interface device, one or more products owned by the user in a customer review user interface, receive a product review for a product owned by the user via the customer review user interface, generate a product review record based on the product review, and send, via the communication device, the product review record to a distributed database as an update to the distributed database.
Referring now to
A user device 110 may comprise a device associated with a customer and/or a seller. In some embodiments, the user device 110 may comprise one or more of a computer, a mobile device, a smartphone, a tablet computer, a wearable device, a home assistance device, an Internet of Things (IoT) device, and the like. A user device 110 may comprise a control circuit 112, a user interface device 116, a memory 114, and a communication device 118. The control circuit 112 may comprise a processor, a microprocessor, a microcontroller, and the like and may be configured to execute computer readable instructions stored on a computer readable storage memory 114. The computer readable storage memory 114 may comprise volatile and/or non-volatile memory and have stored upon it a set of computer readable instructions which, when executed by the control circuit 112, causes the control circuit 112 to provide a customer review interface via the user interface device 116 based on information stored in a distributed transaction ledger comprising digital transaction records. In some embodiments, the control circuit 112 may further be configured to update a distributed database based on user submitted reviews. In some embodiments, the user device 110 may comprise a node of the distributed ledger and/or database. In some embodiments, the distributed transaction ledger and/or database may comprise one or more of a blockchain, a hyperledger, a distributed ledger, a distributed hashchain, and the like. In some embodiments, the distributed transaction ledger system may be based on tools and algorithms of the Linux Hyperledger project, the bitcoin blockchain, or other similar schemes. In some embodiments, the computer executable instructions may comprise a client software of a distributed database similar to a bitcoin wallet. In some embodiments, the memory 114 may store at least a subset of data from the distributed database of customer review and/or transaction records. In some embodiments, the control circuit 112 may be configured to perform one or more steps described with reference to
The user interface device 116 may comprise user input/output devices such as one or more of a display screen, a touch screen, a VR display, an AR display, one or more buttons, a keypad, a microphone, a speaker, a camera, a motion sensor, an eye movement sensor, etc. Generally, the user interface device 116 may be configured to present a customer review user interface to a user and allow the user to interact with the customer review user interface to enter user reviews. In some embodiments, the communication device 118 may comprise one or more of a Wi-Fi transceiver, a mobile data transceiver, a network adapter, an Internet modem, and the like. Generally, the communication device 118 may be configured to allow the user device to communicate with one or more nodes of a distributed database storing transaction records and/or review records over a network. In some embodiments, the communication device 118 may further be configured to communicate with a point of sales (POS) system to authorize payment for a purchase and/or generate a transaction record for a purchase.
The retailer system 120 may comprise a processor-based system associated with a retailer. The retailer system 120 may comprise a control circuit and a memory. In some embodiments, the retailer system 120 may comprise one or more of a computer, a server system, an e-commerce system, a point of sales system, and the like. The control circuit of the retailer system may comprise a processor, a microprocessor, a microcontroller, and the like and may be configured to execute computer readable instructions stored on a computer readable storage memory of the retailer system. The computer readable storage memory may comprise volatile and/or non-volatile memory and have stored upon it a set of computer readable instructions which, when executed by the control circuit, causes the control circuit to process product sales and provide the transaction record to a distributed transaction ledger as an update to the transaction ledger. In some embodiments, the retailer system 120 may further be configured to function as a “miner” of a blockchain of transaction records and/or review records and gather records together to form blocks for the blockchain. In some embodiments, the retailer system 120 may comprise a node of the distributed ledger and/or database. In some embodiments, the computer executable instructions may comprise a client software of the distributed database similar to a bitcoin wallet. In some embodiments, the memory of the retailer system 120 may store at least a subset of data from the distributed database of customer review and/or transaction records. In some embodiments, the retailer system 120 may comprise a user interface device and/or a communication device. In some embodiments, the retailer system 120 may be configured to perform one or more steps described with reference to
The supplier system 130 may comprise a system associated with a product supplier such as a manufacturer, distributor, wholesaler, etc. The supplier system 130 may comprise a control circuit and a memory. In some embodiments, the supplier system 130 may comprise one or more of a computer, a server system, an order management system, and the like. The control circuit of the supplier system 130 may comprise a processor, a microprocessor, a microcontroller, and the like and may be configured to execute computer readable instructions stored on a computer readable storage memory of the supplier system 130. The computer readable storage memory may comprise volatile and/or non-volatile memory and have stored upon it a set of computer readable instructions which, when executed by the control circuit, causes the control circuit to process sales to retailers and provide the transaction record to a distributed transaction ledger as an update to the transaction ledger. In some embodiments, the supplier system 130 may comprise a node of the distributed ledger and/or database. In some embodiments, the supplier system 130 may further be configured serve as a “miner” node of a blockchain of transaction and/or review records and gather records together to form blocks for the blockchain. In some embodiments, the computer executable instructions may comprise a client software of the distributed database similar to a bitcoin wallet. In some embodiments, the memory of the supplier system 130 may store at least a subset of data from the distributed database of customer review and/or transaction records. In some embodiments, the supplier system 130 may comprise a user interface device and/or a communication device. In some embodiments, the supplier system 130 may be configured to perform one or more steps described with reference to
The review web service system 140 may comprise a computer, a server system, a web hosting service, and the like. The review web service system 140 may comprise a control circuit and a memory. In some embodiments, the review web service system 140 may comprise one or more of a computer, a server system, an order system, and the like. The control circuit of the review web service system 140 may comprise a processor, a microprocessor, a microcontroller, and the like and may be configured to execute computer readable instructions stored on a computer readable storage memory of the review web service system 140. The computer readable storage memory may comprise volatile and/or non-volatile memory and have stored upon it a set of computer readable instructions which, when executed by the control circuit, causes the control circuit to index reviews in a distributed database and make the review accessible to websites and/or as a public database. In some embodiments, the review web service system 140 may provide an online review user interface based on the review records in the distributed database for potential customers to browse through product and service reviews. In some embodiments, the review web service system 140 may provide the indexed reviews as a simple text or spreadsheet file that can be used by retailers, suppliers, or third party websites to display product reviews or perform market analysis. In some embodiments, the review web service system 140 may comprise a node of the distributed ledger and/or database. In some embodiments, the computer executable instructions may comprise a client software of the distributed database similar to a bitcoin wallet. In some embodiments, the memory of the review web service system 140 may store at least a subset of data from the distributed database of customer review and/or transaction records. In some embodiments, the review web service system 140 may comprise a user interface device and/or a communication device. In some embodiments, the review web service system 140 may be configured to perform one or more steps described with reference to
The network 150 may comprise one or more of the Internet, a public network, a private network, a secured network, a virtual private network, and the like. Generally, the network 150 is configured to allow one or more of the user devices 110, the retailer system 120, and supplier system 130, and the review web service system 140 to communicate with each other to manage product and service reviews. In some embodiments, one or more of the user devices 110, the retailer system 120, supplier system 130, and the review web service system 140 may comprise nodes of a distributed database which are configured to collectively verify, update, and maintain transaction records and/or customer reviews in one or more distributed databases. In some embodiments, the distributed database may comprise one or more of a blockchain, a Hyperledger, a distributed ledger, a distributed hashchain, and the like. In some embodiments, the distributed transaction ledger system may be based on tools and algorithms of the Linux Hyperledger project, the bitcoin blockchain, or other similar schemes. In some embodiments, one or more of the user devices 110, the retailer system 120, the supplier system 130, and the review web service system 140 may be configured to generate updates to the distributed database, form blocks for the distributed database, and/or verify the validity of updates to the distributed database. In some embodiments, one or more of the user devices 110, the retailer system 120, supplier system 130, and the review web service system 140 may be configured to collectively verify that a review is submitted by a confirmed owner of the product being reviewed and ensure that the review is not altered by an unauthorized entity. In some embodiments, one or more of the user devices 110, the retailer system 120, supplier system 130, and the review web service system 140 may be configured to collectively perform one or more steps described with reference to
Referring now to
In step 201, the system receives user credential. In some embodiments, the user credential may comprise a public and private key pair associated with a user. In some embodiments, the public and private keys are associated based on public-key cryptography. In some embodiments, the user credential may be entered into and/or stored at a client software of a distributed database on a user device. In some embodiments, the client software may comprise a secured software application, a desktop application, a mobile application, a web-based application, a cloud-based application, a website and the like.
In step 202, the system indexes transaction associated with the user in a distributed transaction ledger. In some embodiments, the distributed transaction ledger comprises digital product purchase records associated with a plurality of entities. In some embodiments, the distributed transaction ledger may comprise ownership records of physical and/or digital assets. In some embodiments, a physical and/or digital asset identifier may be generated by a manufacturer when the item is produced. In some embodiments, a product (asset) may be identified by a unique product identifier (e.g. VIN number, serial number) and/or a common identifier (e.g. UPC, barcode), etc. The distributed transaction ledger may be updated by the manufacturer, supplier, distributor, and/or retailer with each ownership change. When a product is sold from a retailer or a private seller to the user, the ownership record of the item may be assigned over to the user in the distributed transaction ledger. In some embodiments, the user device may be configured to process a transaction via a user interface device, send a record of the transaction to the distributed transaction ledger, and index the transaction in the memory device. For example, when a user uses digital currency transaction to purchase an item, the transaction may trigger an update to the transaction record that identified the product purchased. In another example, the buyer may provide their public key to the seller during the transaction, and the seller may generate the transaction record and ownership change using the public key. In some embodiments, ownership of items may be tracked through blockchain-based digital and/or physical asset tracking systems such as a sidechain or an altchain to the bitcoin blockchain or a Hyperledger.
In some embodiments, each transaction record may comprise a public key of the new owner and a digital signature of the seller generated using the sellers' private key. In some embodiments, the transactions associated with the user comprise transactions containing the public key or a digital signature generated using the private key of the user. In some embodiments, the transaction record may comprise a message containing transaction details such as a product identifier, a transaction date, a transaction price, a transaction type (e.g. in-store purchase, online purchase, free sample, etc.), etc. In some embodiments, the transaction record may also comprise other types of ownership changes such as returns, refunds, resells, exchanges, replacements, and the like. In some embodiments, the client software may be configured to allow a user to indicate that the item is lost, destroyed, or discarded and the transaction records may be updated to reflect that the item is now nonexistent or ownerless. In some embodiments, in step 202, the client software may look through all the transaction records in the distributed transaction ledger to identify the transactions associated with the user's credential (e.g. public key, signature, etc.) provided in step 201. In some embodiments, in step 202, the system may maintain a record of each transaction carried out through the client software and/or the user account without having to look through all the transaction records. In some embodiments, the client software may only index blocks of the distributed transaction ledger that have not been previously indexed to identify any new transactions associated with the user.
In some embodiments, the distributed transaction ledger may be locally stored on the memory device of the user device and/or accessed through a network. In some embodiments, the distributed transaction ledger may comprise one or more of a blockchain, a Hyperledger, a distributed database, a hashchain, and the like. In some embodiments, the distributed transaction ledger system may be based on tools and algorithms of the Linux Hyperledger project, the bitcoin blockchain, or other similar schemes.
In step 203, the system determines products owned by the user based on the transactions associated with the user. In some embodiments, products owned by the user may comprise products purchased by the customer and never returned, exchange, or resold by the user. In some embodiments, for each product identified in the transactions associated in the transaction ledger, the system may look at the latest transaction involving the product to determine whether the user is the last recorded owner. In some embodiments, in step 203, the system may further look at the review records in the distributed database to determine whether a review had been previously submitted for each identified product. In some embodiments, the system may only allow one review per purchase or one review per product per customer. In some embodiments, the system may separate products by their product version or firmware updates and allow customers to leave different reviews for different versions of a product. In some embodiments, the system may allow a customer to update, remove, or revise previously submitted reviews.
In step 204, the system displays products determined to be owned by the user in step 203 in a customer review user interface. In some embodiments, the distributed database client software may comprise a customer review user interface that allows customers to enter reviews. In some embodiments, the products may be displayed with product descriptions (e.g. name, image, specifications) and/or transaction details (e.g. seller, purchase date, price, etc.). The customer review user interface may comprise text boxes and/or rating inputs (e.g. star rating, score, etc.) for the customer to provide reviews to a product or a service. In some embodiments, the system would not allow users to leave reviews for products that the user never owned and/or no longer owns.
In step 205, the system receives a customer review. In some embodiments, the review may comprise text input, a score, or multiple scores associated with different characteristics of the product (e.g. quality, price, ease of use, taste, durability, etc.). In some embodiments, the system may further allow the customer to upload images, videos, and audio clips with the review. In some embodiments, images, videos, and audio clips may be stored on a server storage and the review record may comprise a pointer (e.g. URL) to the server location of the images, videos, and audio clips.
In step 206, the system generates a product review record. In some embodiments, the product review record may comprise one or more of a product identifier, a reviewer identifier, and the submitted review. In some embodiments, a product review record comprises one or more of a signature generated with the private key of the user and a reference to a transaction associated with the product in the distributed transaction ledger as proof of ownership of the product being reviewed. In some embodiments, the product review record may further comprise other transaction details such as seller, purchase date, purchase condition (e.g. refurbished, second hand, etc.), product version, product firmware version, etc. In some embodiments, the review record may be encrypted or partially encrypted.
In step 220, the system sends the product review record to a distributed database as an update to the distributed database. In some embodiments, the distributed database of reviews may comprise the distributed transaction ledger storing the digital product purchase records or a separately maintained distributed database. In some embodiments, one or more nodes of the distributed database may be configured to verify ownership of the product prior to updating the distributed database with the product review record submitted by the user. For example, the nodes may verify that the proof of ownership of the product referenced in the review record contains a valid chain of ownership. In another example, the nodes may verify that the last transaction involving the product in the distributed transaction ledger identifies the user as the current owner. In some embodiments, the verification may be performed by the distributed database client software running on one or more user devices and/or nodes. In some embodiments, nodes of the distributed database may be configured to add the product review record to a new block of the distributed database. In some embodiments, each block of the distributed database may comprise a hash of a previous block in the chain forming a blockchain. In some embodiments, the blocks of the distributed database for recorded customer reviews may be generated based on the tools and algorithms of the bitcoin blockchain system, the Linux Hyperledger project, or similar schemes.
In some embodiments, the system may further allow buyers to review sellers based on the distributed transaction ledger. In step 213, the system determines sellers associated with transactions associated with the user. In some embodiments, the sellers may comprise entities whose signature are in transaction records transferring ownership of an item to the user. In some embodiments, the sellers may comprise entities who has ownership of an item just prior to the ownership being transferred to the buyer. In some embodiments, the system may allow users to review sellers even if the purchased product is returned, exchanged, resold, etc.
In step 214, the system display sellers determined in step 213 in the customer review user interface and allow customers to enter reviews for sellers. In some embodiments, the sellers may be displayed with transaction details (e.g. purchased product (s), purchase date, price, etc.) in the customer review user interface. The customer review user interface may comprise text boxes and/or rating inputs (e.g. star rating, score, etc.) for the customer to provide reviews to a seller. In some embodiments, the system may allow one review per seller per customer and/or allow a review for each transaction between a seller and a buyer.
In step 215, the system receives a review. In some embodiments, the review may comprise text input, a score, or multiple scores associated with different characteristics of the seller (e.g. customer service, responsiveness, shipping time, etc.). In some embodiments, the system may further allow the customer to upload images, videos, and audio clips with the review. In some embodiments, images, videos, and audio clips may be stored on a networked storage and the review record may comprise a pointer (e.g. URL) to the network location of the images, videos, and audio clips.
In step 216, the system generates a seller review record. In some embodiments, the seller review record may comprise one or more of a seller identifier, a user identifier, and a submitted review. In some embodiments, a seller review record comprises one or more of a signature generated with the private key of the user and a reference to a transaction associated with the seller in the distributed transaction ledger as proof of being a legitimate customer of the seller being reviewed. In some embodiments, the seller review record may further comprise other transaction details such as item identifier, purchase date, purchase condition (e.g. refurbished, second hand, etc.), product version, product firmware version, etc.
In step 220, the system sends the seller review record to a distributed database as an update to the distributed database. In some embodiments, the distributed database comprises the distributed transaction ledger storing the digital product purchase records or a separately maintained distributed database. In some embodiments, the product and sellers reviews may be stored in the same or different distributed databases. In some embodiments, one or more nodes of the distributed database may be configured to verify that the user is a legitimate customer prior to updating the distributed database with the seller review record submitted by the user. For example, the nodes may verify that the transaction record referenced in the review record identifies the correct buyers and sellers. In some embodiments, the verification may be performed by the distributed database client software running on one or more user devices and/or nodes. In some embodiments, nodes of the distributed database may be configured to add the seller review record to a new block of the distributed database. In some embodiments, each block of the distributed database may comprise a hash of a previous block in the chain forming a blockchain. In some embodiments, the blocks of the distribute reviews database may be generated based on the tools and algorithms of the bitcoin blockchain system, the Linux Hyperledger project, or similar schemes.
In some embodiments, the customer review user interface may further be configured to display previously submitted product and/or seller reviews. In some embodiments, the system may allow the user to submit updates and/or remove previously submitted reviews. In some embodiments, updates and removal of reviews may comprise a new update to the distributed database of reviews. For example, the system may be configured to receive an updated review for the product via the customer review user interface, generate an updated product review record based on the updated review, and send the updated product review record to the distributed database as an update to the distributed database In some embodiments, an updated review record and/or a review removal record may comprise a reference to the previous review. In some embodiments, the nodes may also verify the ownership of product prior to updating the distributed database with the updated review and/or review removal. In some embodiments, the system may enforce select rules regarding review updates and removals. For example, the system may allow a review to be revised any time by the author, when the author still owns the revised item, or when there is a qualifying update event (e.g. firmware update, communication with customer service, warranty service, etc.)
In some embodiments, sellers and/or manufacturers may be permitted to submit responses to customer reviews. In some embodiments, the review response records may comprise the responder's signature and a message that comprises one or more of a reference the customer review being commented on, the transaction record associated with the customer review, and a response content. In some embodiments, a client software and/or nodes of the distributed database may be configured to verify that the responder is a manufacturer and/or seller associated with the reviewed being responded to using the transaction record and/or the review record.
With the steps shown in
In some embodiments, product and seller reviews may be added to a centralized database instead of a distributed database. For example, a client software and/or a central server may verify the user's ownership of a product and/or status as a customer using a distributed transaction ledger as described with reference to steps 201-205 and steps 213-215. The submitted reviews are then uploaded to a server and/or a conventional database for storage and maintenance. In some embodiments, the centralized database may perform the functions of the review web service system 140 described with reference to
Referring now to
In step 301, a customer purchases a product. In some embodiments, the purchase may comprise an in-store purchase, an online purchase, a retail sale, a private sale, a second hand sale, and the like. In step 302, the transaction is recorded in a transaction record 320. In some embodiments, the transaction record 320 may be generated by the seller or the buyers' distributed database client software (e.g. bitcoin wallet). The transaction record 320 comprises a buyer's public key, a seller signature that signs the message in the transaction record. In some embodiments, the message may comprise the product identifier identifying the product(s) purchased in the transaction to transfer ownership of the product to the buyer. In some embodiments, a product may be identified by a unique product identifier (e.g. registration number, VIN number, serial number) and/or a common identifier (e.g. UPC, barcode), etc. In some embodiments, the message may comprise a reference to one or more previous transaction records associated with the product (e.g. from manufacturer to distributor, from distributor to sellers, etc.) as a proof of the seller's original ownership of the product. In some embodiments, the message of the transaction record 320 may comprise other transaction details such as a seller identifier, a transaction date, a transaction price, a transaction type (e.g. in-store purchase, online purchase, free sample, etc.). In some embodiments, at least a portion of the message may be unencrypted. In some embodiments, at least a portion of the message may be encrypted with the public key of the seller or the buyer. In some embodiments, the transaction record 320 may record other types of ownership changes such as returns, refunds, resells, exchanges, replacements, and the like. For example, a return transaction record may comprise the public key of the original seller and be signed by the buyer's private key to transfer ownership of the product back to the seller. Transaction records between different buyers and sellers are then sent to nodes of the distributed database 310. In some embodiments, a client software and/or one or more nodes of the distributed database 310 may check the transaction record to verify that the transaction complies with the rules of the distributed database 310. For example, the nodes may check the product identifier and/or the ownership chain in the message of the transaction record 320 to verify that the product has not be transferred to multiple entities (e.g. double spent) based on the existing transaction records in the distributed database 310. In some embodiments, the message may comprise the transfer of a review token for the product and/or a review token of the seller that the buyer can use to submit reviews for the product and/or sellers similar to a digital currency. In some embodiments, transaction records are time stamped and aggregated into hashed blocks by “miner” nodes of the distributed database 310 and added to the distributed database 310. In some embodiments, the enforcement of physical and/or digital assets transfer rules and may be performed via community consensus algorithm of a blockchain.
In step 304, transactions in the distributed database 310 are indexed for a user. In some embodiments, the system may index all transactions associated with a user (e.g. includes the user's public key, signed by user's signature, etc.). In some embodiments, the system may further identify products owned by the user based on the indexed transaction. In step 305, the system receives a product review for an item determined to be owned by the user. In step 306, the system generates a review record 330 for the received review. In some embodiments, steps 304-306 may be performed by a client software of the distributed database 310 on a user device. In some embodiments, steps 304-306 may comprise steps 202-206 described with reference to
The review record 330 comprises a message signed by the buyer's private key. The message of a review record 330 may comprise a reference to a transaction record showing the user's ownership of the product and the content of the review. In some embodiments, the review record 330 may further comprise a product or seller identifier identifying the product or seller being reviewed. In some embodiments, the message of the review record 330 may comprise other transaction details such as a seller identifier, a transaction date, a transaction price, a transaction type (e.g. in-store purchase, online purchase, free sample, etc.). In some embodiments, at least a portion of the message may be unencrypted, encrypted with the public key of the buyer, or encrypted with the public key of a review web service. In some embodiments, a review record 330 may record updated reviews or review removals. In some embodiments, an updated review may comprise a reference to the original review record and/or the transaction record associated with the product and/or seller being reviewed. In some embodiments, if a post-purchase action (e.g. exchange, repair, customer service ticket, firmware update, etc.) is associated with the update review, the updated review may further references the post-purchase action record in the review. Reviews submitted by customers are then sent to nodes of the distributed database 310. In some embodiments, a client software and/or one or more nodes of the distributed database 310 may verify the transaction record to verify that review record complies with the rules of the distributed database. For example, the nodes may check the transaction record referenced in the message of the transaction record to verify that the user is a current owner of the product and the product has not been transferred to another entity (e.g. resold, returned, etc.) based on the existing transaction records in the distributed database 310. In some embodiments, the nodes may further verify whether the user has already left a review for the product and/or transaction. In some embodiments, review records 330 may be timestamped and aggregated into hashed blocks by “miner” nodes of the distributed database 310 and added to the distributed database 310.
In some embodiments, sellers and/or manufacturers may be permitted to submit responses to customer reviews. In some embodiments, the review response records may comprise the responder's signature and a message that comprises one or more of a reference the custom review being commented on, the transaction record associated with the customer review, and the response content. In some embodiments, a client software and/or nodes of the distributed database 310 may be configured to verify that the responder is a manufacturer and/or a seller associated with the product or transaction being reviewed in the customer review, using the transaction record 320 and/or the review record 330.
In some embodiments, the distributed database 310 may be indexed by a review web service configured to convert the distributed database to web-accessible reviews. For example, the web service may aggregate reviews of a product or a seller from a plurality of users. In some embodiments, the web service may separate reviews for different versions (hardware or software) of a product based on transaction records associated with each review. In some embodiments, the web service may be configured to replace, update, or remove reviews based on review records of a product associated with the same user in the distributed database. For example, if an updated review has been submitted after an initial review, the web service may modify or replace the original review based on the update. In some embodiments, the review web service may generate a user interface for browsing reviews and/or provide the indexed data as publically accessible data over a network such as the Internet.
In some embodiments, the systems and methods described herein support storing and sharing product reviews in blockchain databases. Customer product reviews may be recorded in updates to a blockchain comprising a distributed transaction ledger that may be encrypted with public/private key cryptography. In some embodiments, the distributed database allows customers to find unique reviews specific to the product or a similar product and streamlines the process of viewing other customer's reviews. In some embodiments, the distributed database provides a secure system for storing reviews such that the reviews cannot be removed from the database once added.
In some embodiments, the systems and methods described herein verify customer reviews by ensuring that the customer is real and has actually purchased the product being reviewed. When a customer purchases and receives a product, the customer may also set their preferences to warn if a specified “star” level is exceeded (e.g. 3 stars or better). The customer may then submit a review to a blockchain via a distributed review system. In some embodiments, the review site may be independent of sales source and be retailer agnostic. In some embodiments, reviews may be filtered or sorted to show only verified customers. In some embodiments, reviews may be recorded in the public portion of the blockchain records. In some embodiments, the customer may configure how much of their information to share with the public (e.g. first name, last initial, region, state, other items purchased/reviewed, etc.). In some embodiments, an alert system may be configured to notify registered customers of product recalls/issues. In some embodiments, the system may allow a manufacturer to change the priority of/or remove bad reviews directed to version updates (e.g. version 2.0 firmware updates fixed issues in version 1.0). In some embodiments, the system may provide information for the manufacturer to send a replacement product to a customer in response to a bad review. In some embodiments, the system may incorporate delivery metrics which may be used with an aggregate delivery payment system (e.g. better delivery times may provide higher delivery bonuses).
In some embodiments, retailers and manufacturers may participate in a distributed ledger/blockchain system with a global review web site. When a customer purchases an item, a block is created with retailer receipt metadata including product serial number and added to the customer's wallet and indexed. At same time a subsequent block may be created for manufacturer product registration. In some embodiments, these blocks contain the customer private key signature and a public key, and the customer's private key allows the current owner to review both the product and the retailer. In some embodiments, reviews may be indexed by a global review web Site and made available to the public. In some embodiments, only customers that purchased/own the products can make reviews or add subsequent reviews which are added to the blockchain. The global review site may index all product reviews contained in the blockchain and present only reviews by product purchasers/owners. Reviews may be publically accessible from the global review web site which provides indexed reviews from the blockchain for any participating manufacturer products ensuring the reviews are only from customers that purchased and/or own the product. In some embodiments, customers can sell a product and the chain of title moves to the new owner who can now add reviews for that product. In some embodiments, if the product is recycled or destroyed, no further reviews may be created for that serial numbered item.
Descriptions of some embodiments of blockchain technology are provided with reference to
Distributed database and shared ledger database generally refer to methods of peer-to-peer record keeping and authentication in which records are kept at multiple nodes in the peer-to-peer network instead of kept at a trusted party. A blockchain may generally refer to a distributed database that maintains a growing list of records in which each block contains a hash of some or all previous records in the chain to secure the record from tampering and unauthorized revision. A hash generally refers to a derivation of original data. In some embodiments, the hash in a block of a blockchain may comprise a cryptographic hash that is difficult to reverse and/or a hash table. Blocks in a blockchain may further be secured by a system involving one or more of a distributed timestamp server, cryptography, public/private key authentication and encryption, proof standard (e.g. proof-of-work, proof-of-stake, proof-of-space), and/or other security, consensus, and incentive features. In some embodiments, a block in a blockchain may comprise one or more of a data hash of the previous block, a timestamp, a cryptographic nonce, a proof standard, and a data descriptor to support the security and/or incentive features of the system.
In some embodiments, a blockchain system comprises a distributed timestamp server comprising a plurality of nodes configured to generate computational proof of record integrity and the chronological order of its use for content, trade, and/or as a currency of exchange through a peer-to-peer network. In some embodiments, when a blockchain is updated, a node in the distributed timestamp server system takes a hash of a block of items to be timestamped and broadcasts the hash to other nodes on the peer-to-peer network. The timestamp in the block serves to prove that the data existed at the time in order to get into the hash. In some embodiments, each block includes the previous timestamp in its hash, forming a chain, with each additional block reinforcing the ones before it. In some embodiments, the network of timestamp server nodes performs the following steps to add a block to a chain: 1) new activities are broadcasted to all nodes, 2) each node collects new activities into a block, 3) each node works on finding a difficult proof-of-work for its block, 4) when a node finds a proof-of-work, it broadcasts the block to all nodes, 5) nodes accept the block only if activities are authorized, and 6) nodes express their acceptance of the block by working on creating the next block in the chain, using the hash of the accepted block as the previous hash. In some embodiments, nodes may be configured to consider the longest chain to be the correct one and work on extending it. A digital currency implemented on a blockchain system is described by Satoshi Nakamoto in “Bitcoin: A Peer-to-Peer Electronic Cash System” (http://bitcoin.org/bitcoin. pdf), the entirety of which is incorporated herein by reference.
Now referring to
In some embodiments, blocks may contain rules and data for authorizing different types of actions and/or parties who can take action. In some embodiments, transaction and block forming rules may be part of the software algorithm on each node. When a new block is being formed, any node on the system can use the prior records in the blockchain to verify whether the requested action is authorized. For example, a block may contain a public key of an owner of an asset that allows the owner to show possession and/or transfer the asset using a private key. Nodes may verify that the owner is in possession of the asset and/or is authorized to transfer the asset based on prior transaction records when a block containing the transaction is being formed and/or verified. In some embodiments, rules themselves may be stored in the blockchain such that the rules are also resistant to tampering once created and hashed into a block. In some embodiments, the blockchain system may further include incentive features for nodes that provide resources to form blocks for the chain. For example, in the Bitcoin system, “miners' are nodes that compete to provide proof-of-work to form a new block, and the first successful miner of a new block earns Bitcoin currency in return.
Now referring to
Now referring to
In step 601, a node receives a new activity. The new activity may comprise an update to the record being kept in the form of a blockchain. In some embodiments, for blockchain supported digital or physical asset record keeping, the new activity may comprise an asset transaction. In some embodiments, the new activity may be broadcasted to a plurality of nodes on the network prior to step 601. In step 602, the node works to form a block to update the blockchain. In some embodiments, a block may comprise a plurality of activities or updates and a hash of one or more previous block in the blockchain. In some embodiments, the system may comprise consensus rules for individual transactions and/or blocks and the node may work to form a block that conforms to the consensus rules of the system. In some embodiments, the consensus rules may be specified in the software program running on the node. For example, a node may be required to provide a proof standard (e.g. proof of work, proof of stake, etc.) which requires the node to solve a difficult mathematical problem for form a nonce in order to form a block. In some embodiments, the node may be configured to verify that the activity is authorized prior to working to form the block. In some embodiments, whether the activity is authorized may be determined based on records in the earlier blocks of the blockchain itself.
After step 602, if the node successfully forms a block in step 605 prior to receiving a block from another node, the node broadcasts the block to other nodes over the network in step 606. In some embodiments, in a system with incentive features, the first node to form a block may be permitted to add incentive payment to itself in the newly formed block. In step 620, the node then adds the block to its copy of the blockchain. In the event that the node receives a block formed by another node in step 603 prior to being able to form the block, the node works to verify that the activity recorded in the received block is authorized in step 604. In some embodiments, the node may further check the new block against system consensus rules for blocks and activities to verify whether the block is properly formed. If the new block is not authorized, the node may reject the block update and return to step 602 to continue to work to form the block. If the new block is verified by the node, the node may express its approval by adding the received block to its copy of the blockchain in step 620. After a block is added, the node then returns to step 601 to form the next block using the newly extended blockchain for the hash in the new block.
In some embodiments, in the event one or more blocks having the same block number is received after step 620, the node may verify the later arriving blocks and temporarily store these block if they pass verification. When a subsequent block is received from another node, the node may then use the subsequent block to determine which of the plurality of received blocks is the correct/consensus block for the blockchain system on the distributed database and update its copy of the blockchain accordingly. In some embodiments, if a node goes offline for a time period, the node may retrieve the longest chain in the distributed system, verify each new block added since it has been offline, and update its local copy of the blockchain prior to proceeding to step 601.
Now referring to
Now referring to
With the scheme shown in
Now referring to
The control circuit 912 may comprise a processor, a microprocessor, and the like and may be configured to execute computer readable instructions stored on a computer readable storage memory 913. The computer readable storage memory may comprise volatile and/or non-volatile memory and have stored upon it a set of computer readable instructions which, when executed by the control circuit 912, causes the node 910 update the blockchain 914 stored in the memory 913 based on communications with other nodes 910 over the network 920. In some embodiments, the control circuit 912 may further be configured to extend the blockchain 914 by processing updates to form new blocks for the blockchain 914. Generally, each node may store a version of the blockchain 914, and together, may form a distributed database. In some embodiments, each node 910 may be configured to perform one or more steps described with reference to
The network interface 911 may comprise one or more network devices configured to allow the control circuit to receive and transmit information via the network 920. In some embodiments, the network interface 911 may comprise one or more of a network adapter, a modem, a router, a data port, a transceiver, and the like. The network 920 may comprise a communication network configured to allow one or more nodes 910 to exchange data. In some embodiments, the network 920 may comprise one or more of the Internet, a local area network, a private network, a virtual private network, a home network, a wired network, a wireless network, and the like. In some embodiments, the system does not include a central server and/or a trusted third party system. Each node in the system may enter and leave the network at any time.
With the system and processes shown in, once a block is formed, the block cannot be changed without redoing the work to satisfy census rules thereby securing the block from tampering. A malicious attacker would need to provide a proof standard for each block subsequent to the one he/she seeks to modify, race all other nodes, and overtake the majority of the system to affect change to an earlier record in the blockchain.
In some embodiments, blockchain may be used to support a payment system based on cryptographic proof instead of trust, allowing any two willing parties to transact directly with each other without the need for a trusted third party. Bitcoin is an example of a blockchain backed currency. A blockchain system uses a peer-to-peer distributed timestamp server to generate computational proof of the chronological order of transactions. Generally, a blockchain system is secure as long as honest nodes collectively control more processing power than any cooperating group of attacker nodes. With a blockchain, the transaction records are computationally impractical to reverse. As such, sellers are protected from fraud and buyers are protected by the routine escrow mechanism.
In some embodiments, a blockchain may use to secure digital documents such as digital cash, intellectual property, private financial data, chain of title to one or more rights, real property, digital wallet, digital representation of rights including, for example, a license to intellectual property, digital representation of a contractual relationship, medical records, security clearance rights, background check information, passwords, access control information for physical and/or virtual space, and combinations of one of more of the foregoing that allows online interactions directly between two parties without going through an intermediary. With a blockchain, a trusted third party is not required to prevent fraud. In some embodiments, a blockchain may include peer-to-peer network timestamped records of actions such as accessing documents, changing documents, copying documents, saving documents, moving documents, or other activities through which the digital content is used for its content, as an item for trade, or as an item for remuneration by hashing them into an ongoing chain of hash-based proof-of-work to form a record that cannot be changed in accord with that timestamp without redoing the proof-of-work.
In some embodiments, in the peer-to-peer network, the longest chain proves the sequence of events witnessed, proves that it came from the largest pool of processing power, and that the integrity of the document has been maintained. In some embodiments, the network for supporting blockchain based record keeping requires minimal structure. In some embodiments, messages for updating the record are broadcast on a best-effort basis. Nodes can leave and rejoin the network at will and may be configured to accept the longest proof-of-work chain as proof of what happened while they were away.
In some embodiments, a blockchain based system allows content use, content exchange, and the use of content for remuneration based on cryptographic proof instead of trust, allowing any two willing parties to employ the content without the need to trust each other and without the need for a trusted third party. In some embodiments, a blockchain may be used to ensure that a digital document was not altered after a given timestamp, that alterations made can be followed to a traceable point of origin, that only people with authorized keys can access the document, that the document itself is the original and cannot be duplicated, that where duplication is allowed and the integrity of the copy is maintained along with the original, that the document creator was authorized to create the document, and/or that the document holder was authorized to transfer, alter, or otherwise act on the document.
As used herein, in some embodiments, the term blockchain may refer to one or more of a hash chain, a hash tree, a distributed database, and a distributed ledger. In some embodiments, blockchain may further refer to systems that use one or more of cryptography, private/public key encryption, proof standard, distributed timestamp server, and inventive schemes to regulate how new blocks may be added to the chain. In some embodiments, blockchain may refer to the technology that underlies the Bitcoin system, a “sidechain” that uses the Bitcoin system for authentication and/or verification, or an alternative blockchain (“altchain”) that is based on bitcoin concept and/or code but are generally independent of the Bitcoin system.
Descriptions of embodiments of blockchain technology are provided herein as illustrations and examples only. The concepts of the blockchain system may be variously modified and adapted for different applications.
In some embodiments, a system for authenticated customer retail product review management comprises a communication device configured to communicate with one or more nodes of a distributed transaction ledger over a network, wherein the distributed transaction ledger comprises digital product purchase records associated with a plurality of entities, a memory device, a user interface device, and a control circuit coupled to the communication device, the memory device, and the user interface device. The control circuit being configured to receive a private key and a public key associated with a user, index, in the memory device, transactions associated with the user in the distributed transaction ledger using at least one of the public key and the private key, determine products owned by the user based on the transactions associated with the user, display, via the user interface device, one or more products owned by the user in a customer review user interface, receive a product review for a product owned by the user via the customer review user interface, generate a product review record based on the product review, and send, via the communication device, the product review record to a distributed database as an update to the distributed database.
In one embodiment, a method for authenticated review management comprises receiving a private key and a public key associated with a user, index, with a control circuit and in a memory device, transactions associated with the user in a distributed transaction ledger using at least one of the public key and the private key, wherein the distributed transaction ledger is accessed via a communication device configured to communicate with one or more nodes of the distributed transaction ledger over a network and wherein the distributed transaction ledger comprises digital product purchase records associated with a plurality of entities, determining, with the control circuit, products owned by the user based on the transactions associated with the user, displaying, via a user interface device, one or more products owned by the user in a customer review user interface, receiving a product review for a product owned by the user via the customer review user interface, generating a product review record based on the product review, and sending, via the communication device, the product review record to a distributed database as an update to the distributed database.
In one embodiment, an apparatus for authenticated review management comprises a non-transitory storage medium storing a set of computer readable instructions, and a control circuit configured to execute the set of computer readable instructions which causes to the control circuit to: receive a private key and a public key associated with a user, index transactions associated with the user in a distributed transaction ledger using at least one of the public key and the private key, wherein the distributed transaction ledger is accessed via a communication device configured to communicate with one or more nodes of the distributed transaction ledger over a network and wherein the distributed transaction ledger comprises digital product purchase records associated with a plurality of entities, determine products owned by the user based on the transactions associated with the user, display one or more products owned by the user in a customer review user interface, receive a product review for a product owned by the user via the customer review user interface, generate a product review record based on the product review, and send, via the communication device, the product review record to a distributed database as an update to the distributed database.
Those skilled in the art will recognize that a wide variety of other modifications, alterations, and combinations can also be made with respect to the above described embodiments without departing from the scope of the invention, and that such modifications, alterations, and combinations are to be viewed as being within the ambit of the inventive concept.
This application claims the benefit of the following U.S. Provisional Application No. 62/514,522 filed Jun. 2, 2017, which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
62514522 | Jun 2017 | US |