Distributed database structure for anonymously exchanging information
Patent Information
- Application Number
- JP2024195077
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2018-06-15
- Filing Date
- 2024-11-07
- Publication Date
- 2025-03-18
- Estimated Expiration
- 2039-06-17
AI Technical Summary
【0040】 図面の簡単な説明 【0040】 本発明の新規な特徴を、特に添付の請求の範囲に開示する。本発明の原理を利用する例示的な実施形態を開示する以下の詳細な説明及び添付の図面(以下、「図」も同様)を参照することにより本発明の特徴及び利点に対する理解が深まろう。
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] cross reference
[0001] This application claims priority to U.S. Provisional Patent Application No. 62 / 685,781, filed June 15, 2018, the entire contents of which are incorporated herein by reference. [Background technology]
[0002] background
[0002] Currently, much of the world economy moves in one direction: raw materials are mined, products are assembled, more products are assembled from other products, products are consumed, and products are discarded. A circular economy strives to reinject as many "consumed" products as possible into the economy, rather than using them once and then throwing them away. Reinjection can occur through repair, reuse, improvement, and recycling of products that would previously have been discarded. Summary of the Invention [Problem to be solved by the invention]
[0003] overview
[0003] However, for the circular economy to be effective, products need to be properly reincarnated into the next generation of products. To do this, it is essential that information about the "previous life" (or previous lives) of the product is available to comply with regulations (e.g., to avoid health and environmental risks) when processing the product to re-enter the economy. Many parties involved in the life of the product are not willing to provide such information, because the party (who has the information) does not want to directly contact the other party (who needs the information) for fear of breaching confidentiality, losing control of the information if disclosed to a single entity, etc. Even if the information is provided, it is difficult to verify the authenticity of such information. Thus, the present specification recognizes the need for an information exchange platform that maintains anonymity while maintaining accountability of information providers. The present specification provides a database structure, system, and method for an anonymous distributed information exchange platform. Participants of the information exchange platform can exchange information anonymously while remaining accountable for the content. Past and present parties (e.g., users, businesses, etc.) associated with the subject of information (e.g., products) can flexibly exchange information on the information exchange platform by identifying networks of data to find answers to questions or to find participants who are likely to have the answers to their questions. [Means for solving the problem]
[0004]
[0004] In one aspect, a method for distributed information exchange regarding a product is provided, the method including: (a) scanning a label on the product using a detector, the label being associated with a first manifest stored in a distributed data structure; (b) accessing a network of anonymous manifests including a plurality of manifests in the distributed data structure including the first manifest by following one or more network links associated with the first manifest; and (c) obtaining an answer to a query regarding the product by (i) identifying an existing answer to the query in an associated manifest of the plurality of manifests, or (ii) identifying a creator of an associated manifest of the plurality of manifests that is likely to provide an answer to the query, and querying the creator of the associated manifest via a secure communications channel.
[0005] In some embodiments, the creator of the first manifesto is anonymous.
[0006] In some embodiments, each creator of the multiple manifestos is anonymous.
[0007] In some embodiments, the query is a push query and one of the manifests includes an existing answer.
[0008] In some embodiments, the query is a pull query, and none of the plurality of manifests includes an existing answer. In some embodiments, the relevant manifestos are identified, at least in part, by filtering the plurality of manifestos by a subject of the query. In some embodiments, the answer is validated by a commitment to the subject.
[0009] In some embodiments, the first manifest includes incomplete information about the product.
[0010]
[0010] In some embodiments, the network of anonymous manifests includes multiple manifest linked nodes.
[0011] In some embodiments, the method further includes verifying an association of the requester of the answer with the first group, the association manifest granting access privileges to one or more groups including the first group. In some embodiments, the association manifest denies access to users not associated with the one or more groups.
[0012] In some embodiments, the answers are validated using one or more of tracing, mass balance systems, and tokenized proofs.
[0013]
[0013] In some embodiments, the validity of the answers is pre-checked.
[0014]
[0014] In some embodiments, the validity of the answers is checked after the fact.
[0015] In some embodiments, the answer is binary.
[0016] In some embodiments, the answer is non-binary.
[0017]
[0017] In another aspect, a system for distributed information exchange regarding a product is provided, the system including a distributed data structure including a plurality of manifests and one or more processors, the one or more processors being programmed, individually or collectively, to access a first manifest of the plurality of manifests in the distributed data structure, the first manifest being associated with the product, and to access a network of anonymous manifests including the plurality of manifests in the distributed data structure including the first manifest by following one or more network links associated with the first manifest, to obtain an answer to a query regarding the product by (i) identifying an existing answer to the query in an associated manifest of the plurality of manifests, or (ii) identifying a creator of an associated manifest of the plurality of manifests that is likely to provide an answer to the query, and querying the creator of the associated manifest via a secure communications channel.
[0018]
[0018] In another aspect, a system for distributed information exchange regarding a product is provided, the system including one or more processors that are individually or collectively programmed to, upon scanning a label on the product, access a first manifest of a plurality of manifests in a distributed data structure to which the label is associated, and follow one or more network links associated with the first manifest to access a network of anonymous manifests including a plurality of manifests in the distributed data structure including the first manifest, to obtain an answer to a query regarding the product by (i) identifying an existing answer to the query in an associated manifest of the plurality of manifests, or (ii) identifying a creator of an associated manifest of the plurality of manifests that is likely to provide an answer to the query, and querying the creator of the associated manifest via a secure communications channel.
[0019]
[0019] In another aspect, a distributed information exchange system is provided, the system including one or more processors that are programmed, individually or collectively, to access a network of anonymous manifests including a plurality of manifests in a distributed data structure including the first manifest by following one or more network links associated with a first manifest, and obtain an answer to a query by (i) identifying an existing answer to the query in an associated manifest of the plurality of manifests, or (ii) identifying a creator of an associated manifest of the plurality of manifests that is likely to provide an answer to the query, and querying the creator of the associated manifest via a secure communications channel.
[0020] In some embodiments, the creator of the first manifesto is anonymous.
[0021] In some embodiments, the creators of each of the multiple manifestos are anonymous.
[0022] In some embodiments, the query is a push query and one of the manifests includes an existing answer.
[0023]
[0023] In some embodiments, the query is a pull-type query, and none of the multiple manifests contains an existing answer.
[0024]
[0024] In some embodiments, the relevant manifestos are identified at least in part by filtering the plurality of manifestos by the subject of the query.
[0025] In some embodiments, answers are verified by a commitment to the subject matter.
[0026] In some embodiments, the first manifest includes incomplete information about the product.
[0027]
[0027] In some embodiments, the network of anonymous manifests includes multiple manifest linked nodes.
[0028]
[0028] In some embodiments, the one or more processors, individually or collectively, are programmed to verify an association between the party requesting the answer and the first group, and the associated manifest grants access rights to one or more groups including the first group.
[0029] In some embodiments, the association manifest denies access to users who are not associated with one or more groups.
[0030] In some embodiments, answers are validated using one or more of tracing, mass balance systems, and tokenized proofs.
[0031]
[0031] In some embodiments, the validity of the answers is pre-checked.
[0032]
[0032] In some embodiments, the validity of the answers is checked after the fact.
[0033] In some embodiments, the answer is binary.
[0034] In some embodiments, the answer is non-binary.
[0035]
[0035] In some embodiments, the system further includes a detector configured to scan a label on the product, the label being associated with the first manifest.
[0036]
[0036] In some embodiments, the detector is an optical detector.
[0037]
[0037] In some embodiments, the detector is a non-optical detector.
[0038]
[0038] Further aspects and advantages of the present disclosure will be readily apparent to those skilled in the art from the following detailed description, which shows and describes only exemplary embodiments of the present disclosure. As will be understood, the present disclosure is also capable of other different embodiments, and some details can be modified in various obvious respects without departing from the present disclosure. Therefore, it should be noted that the drawings and descriptions are illustrative in nature, not restrictive.
[0039] Citation by reference
[0039] All publications, patents, and patent applications mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent, or patent application was specifically and individually indicated to be incorporated by reference. In the event that the publications and patents or patent applications incorporated by reference conflict with any disclosure contained herein, it is intended that the present specification supersede and / or supersede such conflicting material.
[0040] BRIEF DESCRIPTION OF THE DRAWINGS
[0040] The novel features of the invention are set forth with particularity in the appended claims. The features and advantages of the invention will be better understood by reference to the following detailed description and the accompanying drawings, which set forth illustrative embodiments, in which the principles of the invention are utilized. [Brief description of the drawings]
[0041] [Figure 1]
[0018] A schematic diagram of information storage and exchange is shown. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0042] Detailed Description
[0041] While various embodiments of the present invention have been shown and described herein, it will be apparent to those skilled in the art that such embodiments are provided by way of example only. Numerous variations, modifications, and alternatives will occur to those skilled in the art without departing from the invention. It is understood that various alternatives to the embodiments of the present invention described herein may be employed.
[0043]
[0042] Provided herein is a database structure, system, and method for an anonymous information exchange platform. The information exchange platform described herein may include a blockchain structure, a distributed network, a peer-to-peer technology, a cryptographic technology, and / or a combination thereof. As an advantageous feature, participants of the information exchange platform can exchange information anonymously while being accountable for the content. Past and present parties (e.g., users, businesses, etc.) associated with the subject of information (e.g., products) can flexibly exchange information on the information exchange platform. In some examples, the information exchange platform can store product data of the product. If a part of the original product is (or becomes) a part of a derived product, the information exchange platform may be associated with each product data of the original product and the derived product.
[0044]
[0043] A product may generally refer to any tangible object (e.g., a television, a screw, etc.). In some examples, a product may also refer to an intangible object (e.g., a software package, a computer program, an open source code, etc.). A product may be an assembly, package, combination, collection, and / or set of multiple individual objects. A product may be or include one or more parts or elements (e.g., a display screen, a chip, a drive engine, a frame, a panel, a screw, etc.). A derived product may be derived from another product. For example, a derived product may be a repair, reuse, modification, recycling, assembly, disassembly, improvement, upgrade, or other manipulation of another product (e.g., a motherboard with a chip on it may be a derived product of a chip, a napkin made from recycled waste may be a derived product of a waste product, etc.). In some examples, a derived product may be derived from an original product. In some examples, a derived product may be derived from another derived product. For example, a derived product may be a primary derived product (e.g., from an original product), a secondary derived product (e.g., from a primary derived product), a tertiary derived product (e.g., from a secondary derived product), etc. A derived product may be derived from multiple other products, such as when it includes a first portion from a first other product and a second portion from a second other product.
[0045]
[0044] A value chain may represent the life of a product. A value chain may include multiple nodes. Each node in the value chain may be associated with a party or activity related to the product. For example, a product may move downstream along an upstream value chain node, with "upstream" being closer to the raw resource extraction process in the manufacture of the product and "downstream" being closer to the end user's use (or final transfer to a recycler or waste disposal company, etc. after use). Alternatively or additionally, the direction from "upstream" to "downstream" may refer to a chronological direction. In one example, in the value chain of an example product, the example product moves from a first node associated with a refiner and a refining process, a second node associated with a manufacturer and a manufacturing process, a third node associated with a retailer and a retail operation, a fourth node associated with a user and an act of use, and a fifth node associated with a recycler party and a recycling process.
[0046]
[0045] A party in a product's value chain may refer to any individual or any business entity. A party may be a group of individuals or a group of businesses. For example, a party may include a consumer, a user (e.g., intermediate user, end user, etc.), a recycler, a manufacturer, a retailer, a distributor, a packaging company, etc.
[0047]
[0046] The product may have product data associated therewith. The term "product data" is used interchangeably with the term "manifest" in this specification. In some examples, each product may be tagged with a unique label. The label may be linked to the product data of the product. In some examples, the label may be a tangible label (e.g., printed, drawn, or affixed to the product or a different object associated with the product, etc.). In some examples, the label may be an intangible label (e.g., digitally rendered or stored as metadata, etc.). For example, the unique label may be a code (e.g., one-dimensional (1D), two-dimensional (2D), three-dimensional (3D), quick response (QR), barcode, encrypted, alphanumeric, etc.), marker, identification number, etc. The label may be an optical code. The label may be a non-optical code (e.g., audio, electronic, tactile, etc.). The label may be scanned and linked to the manifest. For example, the label may be scanned using a scanner or other optical detector. A scanner or other optical detector may be communicatively coupled to a user device (e.g., a cell phone, laptop, tablet, wearable device, etc.). Labels may be detected using detectors including different types of sensors (e.g., microphones, etc.) or non-optical detectors. In some examples, labels may be selected using hyperlinks.
[0048]
[0047] The product data may include data and / or metadata about the product. For example, the product data may include information about the product's value chain network (e.g., order of nodes, attributes of the actors, details about activities, etc.), information about the product (e.g., raw materials, manufacturing process or method, manufacturing date and time, exposure to chemicals, shelf life, flammability, chemical composition, tensile stress, etc.), and / or attributes of a user who knows a particular type of information. For example, a product may include product-specific information (e.g., physical properties, hazardous contents, toxicity, hard data, etc.) and process-specific information (e.g., working conditions, sustainability indicators, soft data, etc.). Parties in the product's value chain may know or can generate or update one or more pieces of product data. For example, each party may know attributes of the immediate party (e.g., supplier) and the immediate party (e.g., customer) in the value chain. In another example, each party may know details of the activities performed by each party. In some examples, the parties may know only incomplete product data. In some examples, the parties may know complete product data. In some examples, different portions of the product data may be associated with different nodes. In some examples, the product data of a derived product may include or be associated with each product data of the product(s) from which the derived product is derived. For example, the value chain network of the derived product may include or be otherwise associated with a portion of the value chain network of the product(s) from which the derived product is derived.
[0049]
[0048] Particular parties in a product's value chain may require product data for a product that is not available to them in order to process the product. For example, a recycler (e.g., the last party in the value chain) may require chemical composition information (e.g., product data) for a battery (e.g., product) in order to properly reuse (e.g., process) the battery. Such product data may not be readily available in traditional situations because the identity of parties upstream of the recycler is unknown to the recycler, there are too many parties to keep track of (e.g., the supplier of the supplier of the battery), different parts of the product data are known by different parties, intermediaries are not willing to participate in the information exchange, and / or the reliability of the information obtained is questionable, etc.
[0050]
[0049] The information exchange platform described herein provides an information exchange channel between a first user requesting a particular piece of information (e.g., a portion of product data) and a second user having the particular piece of information. A user of the information exchange platform may be referred to as a "participant." A smart question and answer protocol is provided herein.
[0051]
[0050] A centralized data storage solution, where all information is placed and accessed from a central location and managed by an external central management system, may encounter technical shortcomings, such as limited granularity in controlling which data a user accesses and when, limited privacy for users who provide certain data to the system (e.g., the user's attributes may be leaked to the recipient), and limited security of the stored data (e.g., the data may be tampered with). In contrast to a centralized data storage solution, the information exchange platform of the present disclosure may accommodate information in distributed nodes (e.g., different users). The information exchange platform may provide a path between a first node and a second node to provide an information exchange channel between the two nodes while maintaining the anonymity of the attributes of the users associated with the two nodes. As an advantageous feature, such distributed information storage (and access) allows flexible control of information propagation, such as which users gain access to information, exactly which information or parts of it, and when (or for how long) they access the information. A distributed information platform is also less susceptible to security breaches on the protected data. Furthermore, maintaining anonymity between two users (sender and receiver) during the information exchange would motivate an intermediary connector (an intermediary node) to act as a proxy connecting two users who are otherwise separated; without such anonymity, an intermediary would be less motivated to do so, for example for fear of losing their job or because they would be obligated to maintain confidentiality of the attributes of either party.
[0052]
[0051] In some examples, by keeping a log or record of all information transfers, the authenticity of the exchanged information can be maintained so that a user cannot later contradict the log or record and deny that an information exchange activity occurred or, if any, what information was exchanged. Such a log or record can be particularly useful for audit purposes. In some examples, the authenticity of the exchanged information can be maintained by associating a user's digital attributes with the user's real attributes and by making such association publicly available.
[0053]
[0052] The information exchange platform can implement one or more question and answer protocols, whereby a first user asks a question about a product and another user who is familiar with the product pre-provides or responds to an answer to the question to facilitate the exchange of information.
[0054]
[0053] In some cases, product data may be pre-validated before, during, or after production. In some cases, product data may be post-validated by performing reverse engineering or testing procedures. In some examples, process specific data associated with a product may be pre-validated. In some examples, product specific data associated with a product may be post-validated. Product data may be validated (e.g., pre-validated, post-validated) by a validator. The validator may be a third party to the information requester and the information recipient. Validated data may be validated without being bound by a reasonable doubt standard or other standards (e.g., preponderance of evidence, etc.). Systems and methods for validation are described elsewhere herein.
[0055]
[0054] A schematic diagram of information storage and exchange is shown in Fig. 1. It shows a first product 110 including an assembly of parts 151, 152 and 153 with a first label 110A and associated first product data 110B. Each part 151, 152 and 153 may itself be a product with its own label and associated product data 151B, 152B and 153B, respectively. The first product data 110B may include portions of data distributed to the first node 111, the second node 112, the third node 113, the fourth node 114 and the fifth node 115 in the value chain. The first product data 110B may further include or be associated (e.g. overlap) with some or all of the product data 151B, 152B and 153B. For example, the first node 111 may include or be associated with product data 151B for part 151, product data 152B for part 152, and product data 153B for part 153.
[0056]
[0055] As shown, different parts of the product data can be stored in the blockchain network at different nodes. The blockchain network can include a distributed data structure. The blockchain can include a secure and distributed ledger of transactions. In some embodiments, the blockchain is a data structure that stores a list of transactions, forming a distributed electronic ledger that records transactions between source and destination identifiers. Transactions are bundled into blocks, and every block (except the first block) references back to the previous block in the chain or is linked to the previous block. Different nodes maintain the blockchain and validate each new block and transaction included in the blockchain. The integrity of the blockchain is maintained because each block references or contains a cryptographic hash value of the previous block. Thus, once a block references the previous block, it becomes difficult to change or tamper with the data (e.g., transactions) included in the previous block. This is because even small changes to the data affect the hash value of the entire block. Each additional block makes it harder to tamper with the content of the previous block. Therefore, even if everyone can view the contents of the blockchain, the content cannot be changed.
[0057] At each node, each product can be attached with a label that links it to a product-level manifest (e.g., product data) stored on the blockchain. The manifest may contain anonymized attributes of the manifest creator, information used to answer questions, and network links to other manifests. By following the network links from one manifest, information on many manifests (located at different nodes) can be obtained, and by following these links in turn, an anonymous representation of the product's value chain can be gradually built up. The manifest can provide the structure of the network and anonymized attributes of the nodes part of the network, but not the true attributes of the individual nodes. For example, there are 3 manufacturers, 2 repairers, 1 retailer, and 2 brokers involved in a value chain, and we know which parties are trading with which parties, but we do not know their true attributes. Within this value chain network, only the direct contact (existing contact) of the manifest creator himself knows the actual attributes of the manifest creator in the real world, i.e., suppliers and customers who trade directly know each other's attributes.
[0058]
[0057] In some examples, the manifest may be at a product line level, for example including information about the product line or brand. This avoids the need to modify the manifest for each individual product. Higher level manifests can be linked via product links.
[0059]
[0058] Referring again to Fig. 1, the second product 120 may include an assembly of parts 152, 154 with a second label 120A and associated second product data 120B. The part 154 may itself be a product with its own label and associated product data 154B. The second product 120 may be a derivative of the first product 110 in that the part 152 is recycled from the first product. The second product data 120B may include distributed portions of data at the first node 121, the second node 122, the third node 123, the fourth node 124, and the fifth node 125 in the value chain. The second product data 120B may further include or be associated with (e.g., overlap with) some or all of the first product data 110B, such as a portion of the first product data (e.g., product data 152B) relating to the part 152. The second product data 120B may further include some or all of the product data (e.g., product data 154B) for another product, such as a product from which the part 154 is derived. That is, one or more nodes of the second product data 120B may be linked to one or more nodes of the first product data 110B. For example, as shown, the fifth node 115 is linked (via a network link) to the first node 121.
[0060]
[0059] The third product 130 may include an assembly of parts 153 and 155, along with a third label 130A and associated third product data 130B. The third product 130 may be a derivative of the first product 110 in that the part 153 has been reused from the first product. The third product data 130B may include data at the first node 131, the second node 132, the third node 133, the fourth node 134, and the fifth node 135 in the value chain. The third product data 130B may further include or be associated with (e.g., overlap with) some or all of the first product data 110B, such as a portion of the first product data (e.g., product data 153B) relating to the part 153. The third product data 130B may further include some or all of the product data (e.g., product data 155B) of another product, such as a product from which the part 155 is derived. That is, one or more nodes of the third product data 130B may be linked to one or more nodes of the first product data 110B. For example, as shown, the fifth node 115 is linked (via a network link) to the first node 131. As shown in FIG. 1, a value chain may track the assembly or disassembly of different elements and / or different products.
[0061]
[0060] Information can be obtained from the manifest during an information exchange session via questions and answers. Provided herein is a system and method for a smart question and answer protocol. For example, a user accessing node 125 from a label on product 120 can find information about part 152 from a user accessing node 111 by opening a secure communication channel 180 through an extended network of manifests while maintaining the attributes of both users.
[0062]
[0061] The questions are pre-defined and answers about the product are linked to them by the participants. The questions may be free-form strings that need to be answered manually. The questions may contain metadata about the subject (e.g., whether the question is about mercury or not) and may be used by the participants (e.g., using commitments as described elsewhere herein) to validate the answer. Alternatively or additionally, the questions may be in the form of queries. For example, the queries may be in the form of "Does the product contain substance X?", for which the answer is known to be either "yes" or "no". The queries may be compatible with binary answers (e.g., true / false, 0 / 1, yes / no) or non-binary answers (e.g., strings, characters, words, numbers, etc.). The questions may be in other query forms. In some examples, the platform may implement one or more algorithms to parse the query language (e.g., implementing natural language processing (NLP)). The questions may be push questions that are pre-answered by the participants, or pull questions for which no existing answers exist. Both types of questions involve adding information to the manifest.
[0063]
[0062] For example, a push question may include a question to which an answer is required to be disclosed by law. A push question may include any other customized question set by other participants. A push question is useful when an answer is required to be available at any future time, even if the participant who provided the answer has left the network. For a push question, the answer is stored directly in the manifest as the label moves along the value chain and is then propagated downstream. This allows anyone with access to the manifest and the correct authorization (i.e., belonging to the correct group) to access the answer. A push question may form a question / answer pair (QA) with a corresponding answer in the manifest. A QA pair may be a pointer and a string pair. For example, a push question may trigger a verification of the authorization to view the answer by looking up the data associated with the push question.
[0064]
[0063] Pull questions are useful when a participant wants additional or more detailed information or when the answer is more sensitive. Pull questions can be asked to anyone in the value chain. The network formed by the manifest can be used to find and select the appropriate anonymized participant to ask the question. If the selected party knows the answer and accepts the questioner's authority (e.g., membership in a legitimate group), they can respond via a secure communication channel. If a participant believes that they need to include the answer to a push question by updating their manifest, they can convert the pull question to a push question. This is useful, for example, when a question was not mandatory in the past but will be mandatory in the future. Some questions may have a subject / commitment pair (TC pair) associated with them that can be used to verify the answers to these questions. The TC pair may contain more general information than the QA pair generated for a specific question. The TC pair focuses on storing verifiable information about the subject, not the specific question. The commitment may contain a numerical value. For example, a commitment to "quantity of inclusion" can be used to answer (in a verifiable manner) the exact amount, threshold, or amount range of inclusion. Even though it is not known what specific questions will be asked in the future, there may be a subset of answers that are verifiable due to commitments provided in the past. Answering pull questions with existing commitments is not required, but can increase the trustworthiness of the information.
[0065]
[0064] The information exchange platform may include many smart contracts that implement several information exchange protocols described herein, using which participants can exchange information with other participants.
[0066]
[0065] The protocol can support the publication of groups. Each participant can decide who can be trusted with information by restricting access to the information to one or more predefined groups with authority. For example, a manufacturer can only trust answers to a certain sensitive question to a certain group of certified recyclers. Any participant can organize and manage groups of participants. Groups can be given a label (e.g., "trusted recyclers"). When a participant shares a piece of information, they can choose which groups have the authority to view the information. Groups can be organized by an initial set of members. The organizer of the group may be responsible for the selection of the members of the group. An asymmetric key pair may be generated and the public key may be published along with other metadata of the group (owner, members, and group name). However, the private key is not immediately distributed to the prospective participants. Before the members obtain the private key, they may confirm the conditions for joining the group. The prospective participants must confirm their intention to be part of the group before obtaining the private key. The platform can verify that the participants are members of the group when cross-verified. That is, a participant verifies that he or she belongs to a group, and a group verifies that the participant is part of the group. A participant can own (e.g., organize) multiple groups.
[0067]
[0066] A participant can belong to multiple groups. Interactions regarding the formation, modification, and deletion of groups can be easily done on the blockchain via smart contracts and are transparent to anyone with access to the public ledger of transactions. Every group can have an asymmetric key pair that can encrypt answers so that only members of the group can access them. A public key can be used to encrypt data only for members of the group to which the members have access to the associated private key. In some examples, the creator can add pointers to other groups to add members of the other groups to the creator's group. For example, if group GA contains a pointer to another group GB, the members of GB are also considered to be members of GA. The same is true if GB points to group GC, and the members of GC are also considered to be members of GA. All of these members (direct and indirect) are given access to the private key paired with the public key of group GA.
[0068]
[0067] The protocol can support adding or removing participants from groups. Such operations may require additional management of group keys, for example to prevent a member who has left a group from later accessing new information encrypted for members of that group. A new key pair may be generated each time the composition of the group changes.
[0069]
[0068] The protocol can manage a list of questions. Any participant can create a list of questions and become the question manager for that list. Other participants may have the option to subscribe to the list, for example to gain access to all questions in the list. The list can be stored on a blockchain to prevent tampering. A list of questions can include questions from other list of questions. Only the question manager can update a list of questions. Updating a list of questions can create a new version of the list. Participants can specify which version of the list they want to subscribe to. In some examples, subscriptions to a list can span different versions. In other examples, subscribers can opt-in to new versions of a list. This allows users to continue subscribing to previous versions, since an updated version may include new questions that they do not want to answer. For example, an auditor can create a list of questions and become the question manager, updating the list as the audit interview progresses. In some examples, a list of questions can include questions that participants are required to answer. For example, these questions can include questions that the subscriber is legally obligated to answer.
[0070]
[0069] The protocol can manage subscriptions to lists of questions. Participants may subscribe to lists of questions to indicate their willingness to answer questions. The list of subscriptions and permission information of which groups are authorized to read the answers may be included in the manifest. Whenever a list of questions is updated, a notification can be pushed as an event to the smart contract. Participants can subscribe to multiple lists and / or multiple versions of the same list.
[0071]
[0070] The protocol can support publishing and modifying manifests. Participants can publish new manifests or modify existing manifests they own. For example, participants can create empty data structures and insert information such as general product information, push questions and answers, links to other manifests, subscribed question lists, and anonymized proprietary information. Each participant can select secret and anonymous attributes each time they create a manifest. Each participant may own a secret registry that contains a list of all secret attributes corresponding to the manifests they have published.
[0072]
[0071] A manifest may be linked to a label (e.g., on a product) and published on the blockchain. The manifest can be used by questioners and answerers to get information for questions and answers. It can also be used to verify answers. Published manifests can be viewed by any participant, but the creator's attribution may be anonymized and sensitive information such as answers to push questions and product links may be encrypted. Information in the manifest can be changed by the creator. The blockchain can provide an immutable history so that previous and changed versions remain available on the blockchain.
[0073]
[0072] A manifest may contain entries such as push QA pairs, a bill of materials combined with a commitment (e.g., TC pairs), a pointer to a set of question lists, a pointer to a product line manifest and a model manifest (e.g., product links), pointers to parent and child product manifests (e.g., network links), a manifest owner, a manifest creator (e.g., an anonymous address), the true attributes of the manifest creator encrypted with the owner key, and any other metadata (e.g., serial number).
[0074]
[0073] A manifest may have any number of holders, where a holder is any party that has or has had physical access to the label associated with the manifest, where the private key is stored. Anyone with access to the label can use the private key and is therefore identified as the holder of the label. Parties are required to store the private holder key when they view it, so that they can continue to act as the holder even after they no longer own the label. This is especially important for audits, as it is the only way to identify the manifest creator. The anonymous attributes of the manifest creator are recorded in the manifest, allowing the creator to claim ownership of the manifest if necessary. Since a new anonymous attribute is used for each manifest, it cannot be directly linked to the published attributes of the respondent without additional information. The creator's true attributes are also stored in the manifest, encrypted with the holder public key. The holder (typically a direct client) can reveal the creator's published attributes.
[0075]
[0074] The information that a manifesto contains may have different security levels: some information may be public knowledge, while other information may be intended for a more specific recipient and therefore encrypted to a specific group.
[0076]
[0075] The manifest may contain TC pairs to answer pull questions. These commitments are made for the bill of materials. If the list of materials is confidential in addition to the quantity, the information may be confused by adding false TC pairs, i.e. commitments with value 0, to the manifest for materials not included in the product. The commitments allow the auditor to verify the authenticity of complaints from participants.
[0077]
[0076] Network links are used to point to child and parent manifests. A parent manifest is a manifest of the parts and raw materials involved in the production of a product (upstream). A child manifest is a manifest of any product(s) of which the product is a material or part (downstream). In the manufacturing field, there is usually only one child. For example, a network link for a motherboard manifest may point to the manifests of all chips present on the board, along with the manifests of laptops that are produced using the motherboard. For some participants, such as manufacturing companies, many of the products produced will have very similar information in their manifests. For example, all products from a product line may have the same material composition and user manual. To avoid this unnecessary duplication of information, a manifest may contain a reference to a virtual manifest containing information for the entire product line, while the manifest may point via a link (e.g., product link) to a manifest containing a warranty common to all electronic products of the company. Product links are encrypted to help maintain the anonymity of the manifesto creator.
[0078]
[0077] The protocol can manage push questions. A questioner can find answers to push questions by using information in the manifest of the product associated with the label and / or by recursively following upstream or downstream network links to find the manifest that contains the answer (or part of it). Whether a participant can access the answer to a push question depends on the group(s) of which he is a member and the corresponding permissions of the group(s). For each QA pair, the questioner's permissions can be verified. The answers can be public or encrypted for a specific group. For example, a customer who bought a product can only see general product information, whereas a verified recycler / auditor can also see complaints about the specific content of the product, i.e. manufacturing method, origin of materials, etc.
[0079]
[0078] The protocol can manage pull-type questions. Participants can be questioners and / or answerers. The questioner can use information in the manifest, such as network links, to find manifests whose creators are likely to have the answer or parts of the answer. For example, the questioner can use the subject of the TC pair to follow the network links of the manifests that are linked to the scanned label of the product to filter the associations to find anonymous attributes of the relevant manifest creators. The questioner can then generate a secure channel to ask questions on the anonymized attributes of the manifest creators. As long as no participant discloses their attributes, the attributes remain anonymous. At the same time, it is guaranteed that the questioner belongs (with authority) to the group that they claim to be, and that the answerer is the true owner of the manifests of the relevant value chain. The answerer can use the questioner's associated group to decide whether or not they want to answer the question. For example, the questioner can provide a ring signature to prove authority. In some examples, a Diffie-Hellman key exchange can be used if the answer is to remain secret from anyone other than the questioner and the answerer.
[0080]
[0079] The protocol can manage the storage and validation of attributes, where the digital attributes of each participant of the information exchange platform are publicly linked to the participant's real-world attributes. However, each participant remains the sole owner of the anonymous attributes that they use to publish their manifests. Each participant can request, for example, a name that complies with the Ethereum Improvement Proposal (EIP137). The name can be represented on the chain as a hash. There can be one public registry. Attributes can be exchanged by accessing the registry.
[0081]
[0080] By implementing the above protocol in an information exchange platform, participants can manage their product information in two ways: they can decide with whom they share information and how much information they share. Participants can control what information they share by fine-tuning when they answer questions. Similarly, they can control who gets the information by making the answers readable only by those who possess the correct key (e.g., using groups).
[0082]
[0081] Product data may be validated (e.g., pre-validated, post-validated) by a validator. In some examples, the validator may be a third party to the information exchange participants (e.g., requester, recipient, etc.). In some examples, the validator may be an information exchange participant.
[0083]
[0082] A system and method for validating data using the information exchange platform described herein is provided. Data may be validated by methods such as tracing technology, mass balance systems, certificate tokenization, third-party audits, and / or combinations thereof. Tracing technology may include marking a product with a tracer to prove that the creator of the tracer owned the marked product at some point in the manufacturing process. The tracer may be an artificial or natural tracer. The tracer may be a tangible or intangible tracer. Validating data using tracing technology alone may expose the validation process to the risk of a malicious tracer creator providing tracers to other malicious downstream parties who may falsely claim that their product came from a different party that also received the tracer from the tracer creator. Mass balance systems may include balancing the inflow and outflow of materials at all stages of manufacturing. For example, source A may have a certificate to produce 100 tons of valid material. Up to 100 tons of material from source A may be validated. Validation using only a mass balance system could expose the validation process to the risk that a buyer may receive material from both source A and third party source D and substitute source A material for source D material making it appear as if all the material came from A. At least the above mentioned problems of data validation can be addressed by using a combination of tracing technology and a mass balance system for data validation. Tracers (e.g., artificial tracers, natural tracers) and / or confirming information may be included in a manifest (or multiple manifests). Material input / output information and / or confirming information may be included in a manifest (or multiple manifests).
[0084]
[0083] Certificate tokenization may include converting certificate(s) into digitized units, converting certified assets(s) into digitized units, or both. Certificates may be process certificates or product certificates. Process certificates may certify an entire product line (e.g., forever, with a predefined expiration date, pending periodic audits, etc.), thus validating as many products as possible within the product line. In some examples, certified entities may issue (e.g., "mint") tokens with the authority to "mint" tokens that are assignable or revocable by the certification entity issuing the certificate. In some examples, the certification entity may issue new tokens to manufacturers upon request (e.g., once the product has been manufactured). Product certificates may certify quantifiable units (e.g., a predefined quantity) of a product. In some examples, a certification authority may issue tokens upon request (e.g., once the product has been manufactured) and assign them to certified entities. In some examples, there may be enough tokens to tag a set of certified products. A manifest for a certified produce product may include such a tokenized certificate (e.g., by attaching a digital signature of the certificate to the manifest, with the digital signature only being attached if the certificate is valid). A certain amount of tokens in circulation may be traceable, ensuring that a particular certificate has not been issued twice. A tokenized certificate may be a point certificate that can be transferred downstream of the node of origin by any party (e.g., including uncertified entities). For example, such a point certificate may validate data associated with the origin of the material (e.g., immutable history) and the presence of tracers (e.g., persistent physicochemical properties). A tokenized certificate may be a stream certificate that can be transferred downstream only by a party with the identity (e.g., no child labor, carbon neutral, etc.). The presence of a tokenized certificate may be sought using a smart question and answer protocol as described herein. In some examples, each manifest may include an indication of the value of the certificate along with an indication of how much of that value has been used.In some examples, the value of a product certificate may be proportional to or determined by the product weight.
[0085]
[0084] Using such a validation scheme, a user can verify whether the product data has been validated. For example, if the data has not been validated, the user may be provided with an indication that the data has not been validated (e.g., a clear message that the data has not been validated, a lack of a tokenized certificate signature, etc.).
[0086] In one example, a manufacturer obtains a certificate for an ingredient, purchases 10 kilograms of certified magnesium (and 10 tokenized certificates), and uses the ingredient and magnesium to manufacture 10 product products using a trade secret recipe (e.g., secret amount of magnesium, secret presence of magnesium, etc.). The 10 product products may have 10 tokenized certificates associated with them (e.g., one tokenized certificate for each 10 kilograms, etc.). The certificates and tokens associated with the product products may remain with the owner and be verified via a question and answer protocol. Depending on the query, different algorithms may be used to gather different requested certificates. EXAMPLES
[0087] Working Example
[0086] As an advantageous feature, the information exchange platform is auditable. The auditor's objective is to verify that the participants are not committing fraud. For the audit, the cooperation of the auditee is always required. Cooperation in an audit is not enforced by the system itself. If fraud is detected, the auditor can take appropriate measures.
[0088]
[0087] In addition to the usual inspection, an auditor who audits a participant can review the manifests of the auditee. First, the auditor can find out which manifests were created by the auditee. Since the true attribution of the manifest owner is a secret known only to the creator and owner, the auditor may ask the creator or owner of the manifest to volunteer the attribution. With the manifest in hand, the content can be verified. Three types of things can be audited for the manifest: QA pairs, TC pairs, and the manifest's editing history.
[0089]
[0088] For publicly accessible QA pairs, the auditor can directly inspect them by inspecting the values. The encrypted value of the QA pair can be shown by the creator of the manifest or the group for which it is encrypted. Because the creator of the QA pair created the symmetric key, the value of the QA pair can be shown based on the data stored in the blockchain. This proves that the shown value corresponds to the value in the manifest. Although it does not prove that what was encrypted to the group is the actual symmetric key, it can alert the auditor if a party obtains a fake symmetric key. For the TC pair in the manifest, the auditee can provide a hidden value and an associated random value. Since it is impossible to find a pair that produces the same commitment, the pair is considered to be original. The auditor can then verify the validity of the hidden value using real-world channels.
[0090] In this way, the auditor can verify with a high degree of confidence that the information disclosed by the participants about their products is true. In some examples, verified data can be marked as more reliable than unaudited data. In some examples, participants can be scored according to how frequently the information they provided was confirmed in the audit.
[0091]
[0090] The history of the manifest can be verified using the blockchain transaction history. This can be used to verify whether the auditee indicates any suspicious activity, such as whether the manifest was edited immediately prior to the audit to hide tampering. The manifest may also contain information that can vouch for the origin of the product and its manufacturing history, some of which may be subject to regulation. The data contained in the manifest may therefore be used by auditors to determine whether the associated product was manufactured and obtained from legitimate channels and procedures.
[0092]
[0091] The traceability offered by the question protocol allows an auditor to track down the source of the erroneous information if an incorrect answer is found. In the case of a push question, the source's private attributes are included in the manifest from which the QA pair originates. In the case of a pull question, the source's private attributes are known the moment the communication channel is opened. In either case, the errant party can call an auditor to find the cause of the problem. Linking a participant to an answer is easier than finding all of that participant's manifests. Since the participant requesting the audit knows at least the attributes of the next participant upstream (its supplier in the value chain), the requesting participant has seen the manifest holder's private key that can be used to decrypt the manifest's public attributes for the auditor. This step can be repeated for each participant in the value chain until the answerer is found.
[0093] Computer Systems
[0092] The present disclosure provides a computer system programmed to implement the methods of the present disclosure. For example, the computer system may be configured to program or otherwise implement a blockchain structure, a distributed network, a peer-to-peer technology, a cryptographic technology, and / or a combination thereof to realize the information exchange platform and information exchange protocol (e.g., smart question and answer protocol) described herein. The computer system may be a computer system located at a remote location relative to the electronic device or the user's electronic device. The electronic device may be a mobile electronic device. The computer system may be a server connected to multiple electronic devices of multiple users (e.g., participants of the information exchange platform).
[0094]
[0093] A computer system includes a central processing unit (CPU, also referred to herein as "processor" and "computer processor"), which may be a single-core or multi-core processor, or multiple processors for parallel processing. A computer system also includes memory or memory locations (e.g., random access memory, read-only memory, flash memory), electronic storage (e.g., hard disk), communication interfaces (e.g., network adapters) for communicating with one or more other systems, and peripherals such as cache, other memory, data storage, and / or electronic display adapters. The memory, storage, interfaces, and peripherals can communicate with the CPU through a communication bus, such as a motherboard. The storage may be a data storage device (or data repository) that stores data. A computer system may be operatively connected to a computer network ("network") with the aid of a communication interface (e.g., network adapter). The network may be a global Internet, a local Internet and / or an extranet, or an intranet and / or an extranet that communicates with a global Internet. The network is a telecommunications and / or data network in some cases. The network may include one or more computer servers that enable distributed computing such as cloud computing. The network may in some cases be assisted by a computer system to implement a peer-to-peer network that allows devices connected to the computer system to operate as clients or servers.
[0095]
[0094] The CPU may execute a sequence of machine-readable instructions implemented as a program or software. The instructions may be stored in a memory location, such as a memory. The instructions may be directed to the CPU, which may then be programmed or otherwise configured to implement the methods of the present disclosure. Examples of operations performed by the CPU may include fetch, decode, execute, and write back.
[0096]
[0095] The CPU may be part of a circuit, such as an integrated circuit. One or more other elements of the system may be included in the circuit. In some cases, the circuit is an application specific integrated circuit (ASIC).
[0097]
[0096] The storage device can store files such as drivers, libraries, and saved programs. The storage device can store user data, such as user preferences and user programs. The computer system may in some cases include one or more additional data storage devices that are external to the computer system, such as located on a remote server that is in communication with the computer system via an intranet or the Internet.
[0098]
[0097] The computer system can communicate with one or more remote computer systems via a network. Examples of remote computer systems include personal computers (e.g., portable PCs), slate or tablet PCs (e.g., Apple® iPad, Samsung® Galaxy Tab), phones, smartphones (e.g., Apple® iPhone, Android-enabled devices, Blackberry®), or personal digital assistants. Users can access the computer system via the network.
[0099]
[0098] The methods described herein may be implemented as machine (e.g., computer processor) executable code stored in an electronic storage location of a computer system, such as a memory or electronic storage device. The machine executable or machine readable code may be provided in the form of software. In use, the code may be executed by the processor. In some cases, the code may be retrieved from storage device and stored in memory for easy access by the processor. In some situations, the electronic storage device may be eliminated and the machine executable instructions stored in memory.
[0100]
[0099] The code may be pre-compiled and configured for use on a machine having a processor adapted to execute the code, or may be compiled on the fly. The code may be provided in a selectable programming language to render the code executable as pre-compiled or compiled.
[0101]
[0100] Aspects of the systems and methods proposed herein, such as computer systems, can be implemented with programming. Various aspects of the present technology may be considered as "products" or "articles of manufacture" that are typically in the form of machine (or processor) executable code and / or associated data carried or embodied on some type of machine-readable medium. The machine executable code can be stored in electronic storage such as memory (e.g., read-only memory, random access memory, flash memory) or hard disk. A "storage" type medium may include any or all of the tangible memory of a computer, processor, etc., or associated modules such as various semiconductor memories, tape drives, disk drives, etc. that can provide non-transitory storage for software programming at any time. All or parts of the software can be communicated from time to time over the Internet or various other telecommunications networks. Such communication can, for example, enable the software to be loaded from one computer or processor to another, such as from a management server or host computer, into the computer platform of an application server. Thus, other types of media that may carry software elements include optical, electrical, and electromagnetic waves, such as those used through physical interfaces between local equipment, through wired and optical terrestrial networks, and via various air links. Physical elements that carry such waves, e.g., wired or wireless links, optical links, etc., are also considered software-bearing media. As used herein, unless limited to non-transitory, tangible "storage" media, terms such as computer or machine "readable medium" refer to any medium that participates in providing instructions to a processor for execution.
[0102]
[0101] Thus, a machine-readable medium such as a computer executable code may take many forms, including but not limited to tangible storage media, carrier wave media, or physical transmission media. Non-volatile storage media include optical or magnetic disks, such as any storage device of any computer(s) used to implement the databases, etc., shown in the drawings. Volatile storage media include dynamic memory, such as the main memory of such a computer platform. Tangible transmission media include coaxial cables, copper wire, and optical fibers, including the conductors that comprise a bus in a computer system. Carrier wave transmission media can take the form of electric or electromagnetic signals, or acoustic or light waves such as those generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer readable media thus include, for example, a floppy disk, a flexible disk, a hard disk, a magnetic tape, any other magnetic medium, a CD-ROM, a DVD or DVD-ROM, any other optical medium, punch cards paper tape, any other physical storage medium having a pattern of holes, RAM, ROM, PROM and EPROM, FLASH-EPROM, any other memory chip or cartridge, a carrier wave carrying data or instructions, a cable or link carrying such a carrier wave, or any other medium from which a computer can read program code and / or data. Many of these types of computer readable media may serve to carry one or more sequences of one or more instructions to a processor for execution.
[0103]
[0103] The computer system may also include or be in communication with an electronic display that includes a user interface (UI) for displaying information, such as the manifests described herein. Examples of UIs include, but are not limited to, graphical user interfaces (GUIs) and web-based user interfaces.
[0104]
[0103] The methods and systems of the present disclosure may be implemented as one or more algorithms. The algorithms may be implemented as software executed by a central processing unit. The algorithms may implement, for example, various protocols described herein.
[0105]
[0104] Although preferred embodiments of the present invention have been illustrated and described herein, it will be apparent to those skilled in the art that such embodiments are provided by way of example only. It is not intended that the present invention be limited to the specific examples provided herein. Although the present invention has been described with reference to the above specification, the description and illustration of the embodiments herein should not be construed as limiting. Numerous variations, changes, and alternatives will occur to those skilled in the art without departing from the present invention. Furthermore, it should be understood that all aspects of the present invention are not limited to the specific figures, configurations, or relative proportions disclosed herein, which depend on various conditions and variables. It should be understood that various modifications of the embodiments of the present invention described herein may be employed in the practice of the present invention. It is therefore contemplated that the present invention encompasses any such alternatives, modifications, variations, or equivalents. It is intended that the following claims define the scope of the present invention and include methods and structures within the scope of these claims and their equivalents.
Claims
1. A system for performing distributed information exchange among a plurality of parties while maintaining anonymity among the parties, comprising: a distributed blockchain network maintained by a plurality of computer nodes for storing a plurality of manifests relating to an object, at least one manifest of the plurality of manifests including a commitment to verifiable information relating to the object; One or more processors, individually or collectively: (a) receiving a query regarding the object from a user device; (b) determining whether the query is associated with the commitment to verifiable information based at least in part on a subject of the query; and (c) using the commitment to the verifiable information to generate or verify an answer to the query; and Including, the system.
2. The system of claim 1, wherein the commitment includes a numerical value.
3. The system described in claim 1, wherein the subject and the commitment are stored as a pair in the manifest.
4. The system of claim 1, wherein the commitment to the verifiable information is encrypted.
5. The system of claim 1, wherein the at least one manifest further includes an encrypted anonymous attribute of the creator of the manifest.
6. The system described in claim 5, wherein the true attribution of the creator is not exposed on the distributed blockchain network.
7. The system of claim 6, wherein the true attributes of the creator are stored in a private registry.
8. The system of claim 6, wherein the true attributes of the creator are encrypted and recorded in the at least one manifest.
9. The system of claim 5, wherein the queries and answers are exchanged between the user equipment and equipment associated with the creator via an intermediate node.
10. The system of claim 1, wherein the at least one manifest further includes a pointer to another object linked to the object.
11. A computer-implemented method for distributed information exchange among a plurality of parties while maintaining anonymity among the parties, comprising: (a) receiving a query from a user device regarding an object, wherein a plurality of manifests regarding the object are stored in a distributed blockchain network maintained by a plurality of computer nodes, at least one manifest of the plurality of manifests including a commitment to verifiable information regarding the object; (b) determining whether the query is associated with the commitment to the verifiable information based at least in part on a subject of the query; and (c) using the commitment to the verifiable information to generate or verify an answer to the query; and 4. A computer-implemented method comprising:
12. The computer-implemented method of claim 11, wherein the commitment comprises a numerical value.
13. The computer-implemented method of claim 11, wherein the subject and the commitment are stored as a pair in the manifest.
14. The computer-implemented method of claim 11, wherein the commitment to the verifiable information is encrypted.
15. The computer-implemented method of claim 11, wherein the at least one manifest further includes an encrypted anonymous attribution of a creator of the manifest.
16. The computer-implemented method of claim 15, wherein the true attribution of the creator is not exposed on the distributed blockchain network.
17. The computer-implemented method of claim 16, wherein the true attributes of the creator are stored in a private registry.
18. The computer-implemented method of claim 16, wherein the true attributes of the creator are encrypted and recorded in the at least one manifest.
19. The computer-implemented method of claim 11, wherein the queries and answers are exchanged between the user equipment and equipment associated with the creator via an intermediate node.
20. The computer-implemented method of claim 11, wherein the at least one manifest further includes a pointer to another object linked to the object.