Program, device and method

By generating transaction files and writing them to the blockchain uniformly when the attributes change, the problem of frequent writing in blockchain traceability results in high fees is solved, and the goal of reducing the number of blockchain writes and the cost effect is achieved.

JP7662554B2Active Publication Date: 2025-04-15SBI TRACEABILITY CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2022021912
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-02-16
Publication Date
2025-04-15
Estimated Expiration
2042-02-16

AI Technical Summary

Technical Problem

When using blockchain for food traceability, every transaction of agricultural products requires writing or rewriting of the blockchain, resulting in higher fees for blockchain infrastructure.

Method used

By accepting transaction data from food middlemen or product to consumer sales, a transaction file containing multiple transaction data is generated and written to the blockchain uniformly when the product's attributes change (such as cross-border distribution), rather than writing to each transaction.

Benefits of technology

Reduces the number of writes on blockchain and reduces the cost of blockchain infrastructure.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007662554000001
    Figure 0007662554000001
  • Figure 0007662554000002
    Figure 0007662554000002
  • Figure 0007662554000003
    Figure 0007662554000003
Patent Text Reader

Abstract

To suppress the number of times of writing / rewriting of a block chain when the block chain is utilized for the traceability of agricultural products and food products.SOLUTION: A program 221 causes the processor of a computer to execute: a first step for receiving trade data from the shipping of food intermediate products or products to the sales to consumers or to the sales to the oversea, and storing such data in a memory 220 in association with information for identifying the food intermediate products or products; a second step for generating, after receiving the trade data at an arbitrary timing from the shipping of the food intermediate products or products to the sales of the consumers or to the sales to the oversea, one transaction file on the basis of file data 223 identified by the information which is stored in the memory 220 and which identifies the food intermediate products or products; and a third step for instructing a block chain platform to generate block chain data 227 on the basis of the transaction file.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to a program, an apparatus, and a method. [Background technology]

[0002] Technology that uses blockchain for traceability of agricultural products and food is known (for example, Patent Document 1). [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2019-79253 A Summary of the Invention [Problem to be solved by the invention]

[0004] As exemplified in Patent Document 1, when using blockchain for food traceability, a transaction occurs for each distribution process of agricultural produce (e.g., subdivision of agricultural produce), and the blockchain needs to be written (rewritten) each time a transaction occurs. Blockchain writing is generally performed by an external organization called a blockchain platform. Blockchain platforms often collect a fee for each writing / rewriting to the blockchain. Therefore, for items such as agricultural produce that are commonly used by distributors and processors in a wide variety of distribution processes, operating a system that uses blockchain to track and guarantee traceability may result in a large number of writing / rewritings to the blockchain, which may result in high fees.

[0005] Therefore, the present disclosure has been made to solve the above-mentioned problems, and its purpose is to provide a program, device, and method that can reduce the number of writes / rewrites to a blockchain when using the blockchain for traceability of agricultural products and food. [Means for solving the problem]

[0006] According to one embodiment, a program for operating a computer having a processor is provided. The program causes the processor to execute a first step of accepting transaction data from the shipment of intermediates or products of food to the sale to consumers or overseas sales, and storing the data in memory in association with information identifying the intermediates or products of the food; a second step of generating a transaction file based on multiple pieces of transaction data identified by the information identifying the intermediates or products of the food stored in memory upon accepting transaction data at any time from the shipment of intermediates or products of food to the sale to consumers or overseas sales; and a third step of instructing a blockchain platform to generate a blockchain based on the transaction file. Effect of the Invention

[0007] According to the present disclosure, when using blockchain for traceability of agricultural products and food, it is possible to reduce the number of writes / rewrites to the blockchain. [Brief description of the drawings]

[0008] [Figure 1] 1 is a diagram showing an overview of a system according to an embodiment. [Diagram 2] 1 is a block diagram showing a hardware configuration of a system according to an embodiment. [Diagram 3] FIG. 2 is a diagram illustrating a functional configuration of an input server according to the embodiment. [Figure 4] FIG. 2 is a diagram illustrating a functional configuration of an output side server according to the embodiment. [Diagram 5] FIG. 2 is a diagram illustrating a functional configuration of a terminal device according to an embodiment. [Figure 6] 11 is a diagram showing a data structure of a token DB stored in an input side server according to the embodiment. FIG. [Figure 7]4 is a diagram showing a data structure of a user information DB stored in an input side server according to the embodiment. FIG. [Figure 8] 11 is a diagram showing a data structure of a trader DB stored in an input server according to the embodiment. FIG. [Figure 9] 10 is a flowchart illustrating an example of an operation of an input side server according to the embodiment. [Figure 10] 10 is a flowchart for explaining an example of the operation of the input side server according to the embodiment, showing a continuation of the operation shown in FIG. 9. FIG. [Figure 11] 10 is a flowchart for explaining an example of the operation of the input side server according to the embodiment, showing a continuation of the operation shown in FIG. 9. FIG. [Figure 12] 10 is a flowchart illustrating an example of an operation of an output side server according to the embodiment. [Figure 13] FIG. 11 is a diagram showing an example of a screen displayed on a terminal device in the system according to the embodiment. [Figure 14] FIG. 11 is a diagram showing another example of a screen displayed on a terminal device in the system according to the embodiment. [Figure 15] FIG. 11 is a diagram showing still another example of a screen displayed on a terminal device in the system according to the embodiment. [Figure 16] FIG. 11 is a diagram showing yet another example of a screen displayed on a terminal device in the system according to the embodiment. [Figure 17] FIG. 11 is a diagram showing yet another example of a screen displayed on a terminal device in the system according to the embodiment. [Figure 18] FIG. 11 is a diagram showing yet another example of a screen displayed on a terminal device in the system according to the embodiment. [Figure 19] FIG. 11 is a diagram showing yet another example of a screen displayed on a terminal device in the system according to the embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] Hereinafter, an embodiment of the present disclosure will be described with reference to the drawings. In all the drawings explaining the embodiment, the same reference numerals are given to common components, and repeated explanations are omitted. Note that the following embodiment does not unduly limit the contents of the present disclosure described in the claims. In addition, not all of the components shown in the embodiment are essential components of the present disclosure. In addition, each figure is a schematic diagram and is not necessarily illustrated strictly.

[0010] In the following description, a "processor" refers to one or more processors. The at least one processor is typically a microprocessor such as a CPU (Central Processing Unit), but may be another type of processor such as a GPU (Graphics Processing Unit). The at least one processor may be a single-core or multi-core.

[0011] Furthermore, the at least one processor may be a processor in the broad sense, such as a hardware circuit (for example, a field-programmable gate array (FPGA) or an application specific integrated circuit (ASIC)) that performs part or all of the processing.

[0012] In the following explanation, information that gives an output for an input may be described using an expression such as "xxx table", but this information may be data of any structure or a learning model such as a neural network that generates an output for an input. Therefore, the "xxx table" may be called "xxx information".

[0013] Furthermore, in the following description, the configuration of each table is an example, and one table may be divided into two or more tables, or all or part of two or more tables may be one table.

[0014] In addition, in the following explanation, the processing may be described with the "program" as the subject, but since the program is executed by a processor to perform a specified processing step by appropriately using a memory unit and / or an interface unit, etc., the subject of the processing may be the processor (or a device such as a controller having the processor).

[0015] The program may be installed in a device such as a computer, or may be, for example, in a program distribution server or a computer-readable (e.g., non-transitory) recording medium. In the following description, two or more programs may be realized as one program, or one program may be realized as two or more programs.

[0016] In the following description, identification numbers are used as identification information for various objects, but other types of identification information (for example, identifiers including alphabetic characters or symbols) may be used instead.

[0017] In addition, in the following description, when describing elements of the same type without distinguishing between them, reference signs (or common signs among the reference signs) may be used, and when describing elements of the same type with distinction between them, the identification numbers (or reference signs) of the elements may be used.

[0018] In the following description, the control lines and information lines are those that are considered necessary for the description, and not all control lines and information lines in the product are necessarily shown. All components may be connected to each other.

[0019] <Embodiment> <Overview of the embodiment> In the system according to the embodiment, when using a blockchain for traceability of agricultural products, a transaction is generated for each distribution process of the agricultural products (e.g., subdivision of the agricultural products) and the blockchain is not rewritten each time, but rather, when the attributes of the owner of the product change significantly, such as when the distribution of the product crosses borders, the system writes the information into the blockchain all at once. Note that, in the following explanation of the embodiment, for the sake of simplicity, the explanation will be centered on an example where the product is distributed without crossing borders (i.e., distributed only domestically), and an example where the product is distributed across borders (i.e., export of the product) will be explained later.

[0020] The system according to this embodiment can be used not only for the traceability of agricultural products, but also for the traceability of a wide range of products or their intermediates. However, in the following explanation, a system used for the traceability of agricultural products or their intermediates (for example, in the case of rice, unhulled rice is an intermediate) will be explained. In addition, the expression "product" will be used in the following explanation to refer to a product and its intermediates.

[0021] With reference to FIG. 1, an overview of a system to which a server serving as an information processing device according to an embodiment is applied will be described.

[0022] In the system according to the embodiment, when a producer 1 ships a predetermined amount of product (1,000 kg of rice in FIG. 1), the producer 1 records to the system that he / she has shipped 1,000 kg of rice, as well as the rice variety name, producer information, etc., and the system issues a token (here, a file) that records that 1,000 kg of rice was shipped from a specific producer 1, and further records information input by the producer 1. The issued token is stored in the memory of the system. At this time, the system issues an identification code for identifying the product (rice) for which the token was issued, in conjunction with the issuance of the token. The issued identification code is affixed to the actual product (rice), and is distributed as information for individually identifying the product when the product is distributed.

[0023] Distributor 2 records in the system information regarding the arrival date and shipping date of the product for which a token was issued, and the system records (overwrites) the information entered by distributor 2 in the token and stores it in the system's memory.

[0024] When the processor 3a, who subdivides and processes the product (such as polishing rice), ships the rice processed by this processor 3a, records the quantity of rice shipped, the shipping date, etc. in the system. The system issues a token on which the information recorded by the processor 3a is recorded. The issued token is stored in the system's memory. This token records information regarding the parent-child relationship with the token issued based on information from the producer 1 (the token based on information from the producer 1 is the parent token, and the token based on information from the processor 3a is the child token). In addition, a consistency check between the parent token and the child token is also performed before storing in memory.

[0025] Then, the processor 3b who performs the final shipment to the consumer 4 (i.e., the product that has been processed such as divided into smaller portions does not need any further processing steps and has been processed to the point where it can be consumed by the consumer 4 as is) records the quantity of rice shipped, the shipping date, etc. in the system when making the final shipment after processing, etc. The system issues a token on which the information recorded by the processor 3b is recorded.

[0026] The system then compiles the tokens issued at the final shipping stage and the information recorded in the parent tokens of these tokens into one file, and instructs the blockchain platform (not shown in Figure 1) to generate a blockchain based on this file. The blockchain generates blocks based on this instruction and sends them to the system. The system stores this blockchain in memory.

[0027] The consumer 4 accesses the system using the identification code attached to the production department. The system searches the blockchain based on the identification code and presents the traceability information of the product to the consumer 4 based on the contents of the blockchain.

[0028] In the following description, unless otherwise specified, the processors 3a and 3b will be referred to simply as processor 3.

[0029] <Basic configuration of System S> With reference to FIG. 2, a basic configuration of a system to which a server serving as an information processing device according to an embodiment is applied will be described.

[0030] Fig. 2 is a diagram showing the overall configuration of the system S of the embodiment. As shown in Fig. 2, the system S of the embodiment has a plurality of terminal devices 10 (terminal devices 10A and 10B are shown in Fig. 2. Hereinafter, they may be collectively referred to as "terminal devices 10") connected via a network 80, an input side server 20, an output side server 30, and a blockchain platform 40. The functional configuration of the input side server 20 is shown in Fig. 3, the functional configuration of the output side server 30 in Fig. 4, and the functional configuration of the terminal device 10 in Fig. 5. The input side server 20, the output side server 30, and the terminal device 10 are configured by information processing devices.

[0031] The information processing device is composed of a computer having an arithmetic unit and a storage device. The basic hardware configuration of the computer and the basic functional configuration of the computer realized by the hardware configuration will be described later. Note that for each of the input server 20, the output server 30, and the terminal device 10, the description that overlaps with the basic hardware configuration and basic functional configuration of the computer described later will not be repeated.

[0032] The input server 20 and the output server 30 are information processing devices that provide a site that generates and presents traceability information in the system S of this embodiment, and are operated by an entity that normally conducts transactions. In detail, the input server 20 issues and records tokens related to products based on information input from traders (producer 1, distributor 2, processor 3) in the system S of this embodiment, generates a transaction file based on the issued and recorded tokens, and requests the blockchain platform 40 to issue a blockchain. The blockchain issued by the blockchain platform 40 is shared by the input server 20 and the output server 30. When a request for traceability information is received from a consumer 4 or the like, the output server 30 generates traceability information using the blockchain generated by the blockchain platform 40 and presents it to the consumer 4. Therefore, the input server 20 and the output server 30 have a function as a so-called Web server and a function as a data (base) server.

[0033] The terminal device 10 is a device operated by each user. Here, the user is a person who uses the terminal device 10 to write, rewrite, and refer to the traceability information, which is a function of the system S, and is, for example, a manager or employee of a corporation (enterprise). The terminal device 10 may be, for example, a tablet compatible with a mobile communication system, a mobile terminal such as a smartphone, or a stationary PC (Personal Computer), a laptop PC, or the like.

[0034] The terminal device 10 is communicatively connected to the input server 20 and the output server 30 via a network 80. The terminal device 10 is connected to the network 80 by communicating with communication devices such as a wireless base station 81 conforming to communication standards such as 4G, 5G, and LTE (Long Term Evolution), and a wireless LAN router 82 conforming to wireless LAN (Local Area Network) standards such as IEEE (Institute of Electrical and Electronics Engineers) 802.11. When the terminal device 10 and the wireless LAN router 82 are connected wirelessly, communication protocols include, for example, Z-Wave (registered trademark), ZigBee (registered trademark), and Bluetooth (registered trademark). When the terminal device 10 is connected by wire, direct connection by a Universal Serial Bus (USB) cable or the like is also included.

[0035] Based on a request from the input server 20, the blockchain platform 40 generates blocks from the data transmitted from the input server 20, and transmits the blockchain to the input server 20 and the output server 30 that were requested to generate the blockchain. The input server 20 and the output server 30 store the blockchain transmitted from the blockchain platform 40 in their memory (details will be described later). Note that the detailed procedure for generating a blockchain by the blockchain platform 40 and the principles of the blockchain are well known, and therefore will not be described in this specification.

[0036] As shown in FIG. 2 as a terminal device 10B, the terminal device 10 includes a communication IF (Interface) 12, an input device 13, an output device 14, a memory 15, a storage unit 16, and a processor 19.

[0037] The communication IF 12 is an interface for inputting and outputting signals so that the terminal device 10 can communicate with an external device such as the input server 20. The input device 13 is an input device (e.g., a keyboard, a touch panel, a touch pad, a pointing device such as a mouse, etc.) for receiving an input operation from a user. The output device 14 is an output device (a display, a speaker, etc.) for presenting information to a user. The memory 15 is for temporarily storing a program and data processed by the program, etc., and is a volatile memory such as a DRAM (Dynamic Random Access Memory). The storage unit 16 is a storage device for saving data, and is, for example, a flash memory or a HDD (Hard Disc Drive). The processor 19 is hardware for executing an instruction set described in a program, and is composed of an arithmetic unit, a register, a peripheral circuit, etc.

[0038] The input server 20 and the output server 30 are devices that manage a series of processes related to traceability management. In Fig. 2, only the hardware configuration of the input server 20 is shown, but the hardware configuration of the output server 30 is not shown because it is similar to that of the input server 20. The input server 20 includes a communication IF 22, an input / output IF 23, a memory 25, a storage 26, and a processor 29.

[0039] The communication IF 22 is an interface for inputting and outputting signals so that the input side server 20 can communicate with an external device. The input / output IF 23 functions as an interface with an input device (not shown) for receiving an input operation from a user and an output device (not shown) for presenting information to the user. The memory 25 is for temporarily storing programs and data processed by the programs, etc., and is a volatile memory such as a DRAM (Dynamic Random Access Memory). The storage 26 is a storage device for saving data, such as a flash memory or a HDD (Hard Disc Drive). The processor 29 is hardware for executing an instruction set described in a program, and is composed of an arithmetic unit, a register, a peripheral circuit, etc.

[0040] <Functional configuration of the input server 20> 3 shows a functional configuration realized by the hardware configuration of the input server 20. The input server 20 includes a storage unit 220, a control unit 230, and a communication unit 240. The communication unit 240 is configured by the communication IF 22, the storage unit 220 is configured by the storage 26 of the input server 20, and the control unit 230 is mainly configured by the processor 29 of the input server 20.

[0041] The communication unit 240 communicates with the terminal device 10 and the like via the network N.

[0042] <Configuration of the storage unit 220 of the input side server 20> The memory unit 220 of the input side server 20 has a token DB (DataBase) 222, file data 223, a user information DB 224, a vendor DB 225, image data 226, screen data 227, and blockchain data 228.

[0043] Of these token DB 222 etc., the ones excluding file data 223, image data 226 and screen data 227 are databases. The database referred to here refers to a relational database, which is used to manage data sets called tables in a tabular format structurally defined by rows and columns in association with each other. In a database, a table is called a table, a column in a table is called a column, and a row in a table is called a record. In a relational database, relationships between tables can be set and associated.

[0044] Usually, a column that serves as a primary key for uniquely identifying a record is set in each table, but setting a primary key to a column is not essential. The control unit 230 can cause the processor 29 to add, delete, or update records in a specific table stored in the storage unit 220 according to various programs.

[0045] 6 is a diagram showing the data structure of the token DB 222. The token DB 222 is a database that manages tokens issued by the input side server 20.

[0046] The token DB 222 is a table having a file name column and a token ID for identifying a generated token as a primary key.

[0047] "Token ID" is information for identifying a token. "File name" is the file name of the token (file) identified by the token ID. As will be described later, the token (file) identified by the file name is stored in file data 223. As shown in FIG. 5, the file has the extension json, which is clear from the fact that the file is in json (JavaScript Object Notation) format.

[0048] In the token DB 222 , information stored in all columns is generated by the token management unit 234 and the file generation unit 235 of the input side server 20 and stored in the token DB 222 .

[0049] 7 is a diagram showing the data structure of the user information DB 224. The user information DB 224 is a database that manages information required for authenticating a user who accesses the input server 20.

[0050] The user information DB 224 is a table having a merchant ID, which is used as a primary key to identify a merchant who is a user accessing the input side server 20, and a password column.

[0051] The "vendor ID" is information for identifying a vendor. The "password" is a password used when the vendor identified by the vendor ID accesses the input server 20.

[0052] Each column in the user information DB 224 is input by a trader when the trader registers with the input server 20 for the first time, and the control unit 230 of the input server 20 stores the information in the user information DB 224 .

[0053] 8 is a diagram showing the data structure of the trader DB 225. The trader DB 225 is a database for managing data on traders such as producers 1, distributors 2, processors 3, etc. of produce such as agricultural products managed by the input server 20.

[0054] The trader DB 225 is a table having a trader ID, which is information for identifying a trader, as a primary key, and columns for trader type, trader name, trader image, geographical location, and prefecture.

[0055] The "vendor ID" is information for identifying a vendor, and is the same as the "vendor ID" in the user information DB 224. The "vendor type" is information related to the type of vendor identified by the vendor ID. The "vendor name" is information related to the name of the vendor identified by the vendor ID. The "vendor image" is information related to the file name of the image data representing the vendor identified by the vendor ID. The data identified by the file name is stored in the image data 226. The "geographical location" is information related to the geographical location of the vendor identified by the vendor ID, and is preferably a combination of latitude and longitude. Note that the "geographical location" may be personal information if it is detailed (pinpointed), so as an example, it is preferably a combination of latitude and longitude associated with the postal code of the vendor's location. In other words, the "geographical location" referred to here is a geographical location that represents the area when the vendor's location is divided into a predetermined area. The "prefecture" is information related to the prefecture of the vendor identified by the vendor ID.

[0056] A user (vendor) who uses the input server 20 performs initial registration when first using a site provided by the input server 20. At the time of initial registration, the input server 20 transmits a form for registering vendor information to the user (terminal device 10), and the user performs initial registration by filling in the necessary items in the form. The input server 20 issues a new user ID in response to this initial registration, and registers information in columns other than the vendor ID in the vendor DB 225 based on the contents of the user's input.

[0057] The file data (transaction data) 223 is a token (file) managed by the token DB 222.

[0058] The details of the file data 223 will be described. The file data 223 is the traceability information itself managed by the input side server 20 of this embodiment, and the contents of the file data 223 are generated based on the information input by the businesses (the producer 1, the distributor 2, and the processor 3).

[0059] As already described, the file data 223 is a file in the json format. The file data 223 has a plurality of predetermined variables (var). The variables can be defined as appropriate, but as an example, the following variables are defined in advance in this embodiment. -Quantity of product · Unit of Quantity of Production Product classification Production date of the product -Production area -Production location ·Product images -Product producer information - Arrival and shipping dates of products - Arrival and shipping locations of products -Product distributor information -Identification code attached at the time of shipment from producer 1 - Language information to display traceability information

[0060] As already explained, location information of businesses (producer 1, distributor 2, processor 3), such as the production location of the products, may be treated as personal information, so it is preferable to use information that does not allow for precise identification of the location (i.e., can only be identified within a certain area), such as information extracted from the postal code of the business's location.

[0061] In addition, when the processor 3 inputs information, a new token (file) is generated based on the input information. This is because the processor 3 performs subdivision (division), consolidation (composition), milling, etc. (change), and it is desirable to treat it separately from the token for the product. However, since the input server 20 needs to manage a series of traceability information from production to shipping of the product, a variable is defined to indicate that the token generated by the processor 3's input has a parent-child relationship with the token generated by the producer 1's input (the token of the producer 1 is the parent, and the token of the processor 3 is the child). In addition, a variable is defined to indicate whether the token generated by the processor 3's input is "division," "composition," or "change." Furthermore, the value of a variable related to the quantity of the product is also input to the token generated by the processor 3's input. Therefore, if the parent-child relationship of the tokens is traced, and the sum of all the quantity information contained in the token of the processor 3 is equal to the total quantity contained in the token of the producer 1, it can be said that the authenticity of the traceability information has been proven. This system has a mechanism for checking such constraints in advance from the viewpoint of compressing the number of transactions written to the blockchain. In this way, this embodiment applies the UXTO (Unspent Transaction Output) mechanism in the blockchain to manage the total amount of production throughout the system.

[0062] Furthermore, a variable is defined that indicates that processor 3 has made the final shipment (i.e., processed and shipped the final product for consumer 4). Similarly, a variable is defined that indicates that producer 1 has shipped the product (i.e., is the most upstream in the traceability information). Using these upstream variables and the variable that indicates the final shipment, a series of traceability information can be understood.

[0063] The values ​​of these variables are described for each object in the file data 223. The objects include, for example, objects for products, objects for vendors, and so on.

[0064] The above-mentioned variables are merely examples, and other variables necessary for traceability information can be defined as appropriate, and the values ​​of the variables can be written based on input from the trader to the file data 223. Furthermore, the specific contents of the file data 223, including the names of the individual variables, are not illustrated.

[0065] Furthermore, although the file data 223 in this embodiment is a json format file, there is no particular limitation on the file format, and it may be, for example, an xml format file.

[0066] The image data 226 is image data representing a merchant and image data associated with a specific token.

[0067] The screen data 227 is screen data to be displayed on the terminal device 10 of the user when traders (producer 1, distributor 2, processor 3) make various registrations related to products on the input server 20, and when an entity (typically a consumer) who wants to check token information accesses the output server 30 to check traceability information of a product. As will be described later, the output server 30 also stores screen data 227 similar to that of the input server 20.

[0068] The blockchain data 228 is requested to be generated by the blockchain writing unit 236, and is generated by the blockchain infrastructure 40 and sent to the input side server 20. The blockchain generated by the blockchain infrastructure 40 is also stored in the blockchain data 324 of the output side server 30.

[0069] <Configuration of the control unit 230 of the input side server 20> The control unit 230 of the input side server 20 includes a reception control unit 231, a transmission control unit 232, a screen presentation unit 233, a token management unit 234, a file generation unit 235, a block chain writing unit 236, and an identification code generation unit 237. The control unit 230 executes an application program 221 stored in the storage unit 220, thereby realizing these functional units such as the reception control unit 231.

[0070] The reception control unit 231 controls the process in which the input server 20 receives a signal from an external device in accordance with a communication protocol.

[0071] The transmission control unit 232 controls the process in which the input server 20 transmits a signal to an external device in accordance with a communication protocol.

[0072] The screen presentation unit 233 provides the input server 20 with a function as a so-called Web server. Specifically, the screen presentation unit 233 generates data of a screen (usually called a top screen) constituting a site provided by the input server 20 based on the image data 226 and the data stored in the screen data 227 for the terminal device 10 accessed via the network 80, and transmits this screen data to the accessed terminal device 10. Furthermore, the screen presentation unit 233 dynamically (i.e. interactively) changes the screen constituting the site based on an operation input from the terminal device 10, and further transitions to another screen constituting the site as necessary, and transmits this screen data to the terminal device 10. Details of the site screen presented by the screen presentation unit 233 will be described later.

[0073] The token management unit 234 accepts the information entered by the traders (producer 1, distributor 2, processor 3) based on the screen presented by the screen presentation unit 233, and instructs the file generation unit 235 to generate a token (file) based on the accepted information and add information.

[0074] The file generation unit 235 generates file data 223 based on instructions from the token management unit 234, and also updates the existing file data 223 based on information input by the vendors (producer 1, distributor 2, processor 3). The contents of the file data 223 have already been explained, so an explanation will be omitted here. When the data generated here is written to the blockchain later, a pre-check is performed on the constraints (shipping management, etc.) supported by the program on the blockchain. Also, the type of information input by the vendors (producer 1, distributor 2, processor 3) will be described later.

[0075] When the blockchain writing unit 236 receives information from the processor 3 that the final shipment has been made, it identifies the token (file) related to the product that has been final shipped and all tokens that are parent to this token, consolidates the contents written in this token (file data 223) to generate one file, and instructs the blockchain platform 40 to generate a blockchain based on this file. Then, when the blockchain is sent from the blockchain platform 40, it stores this blockchain in the blockchain data 228 of the storage unit 220.

[0076] When a token is generated in response to information input by the producer 1, the identification code generation unit 237 generates an identification code for traders (producer 1, distributor 2, processor 3) to identify the token, and sends it to the producer 1. The identification code is not particularly limited as long as it is a code that can identify the token, and a suitable example is a two-dimensional code. The identification code is also used by the consumer 4 to identify which blockchain data 228 to use when acquiring traceability information on a product that the consumer 4 has purchased. The information included in the identification code may include, in addition to information for identifying the token, information for accessing the input side server 20 (for example, a URL for accessing the input side server 20, etc.), as described above.

[0077] <Functional configuration of the output server 30> 4 shows the functional configuration realized by the hardware configuration of the output server 30. The functional configuration of the output server 30 has some parts in common with the functional configuration of the input server 20, so a description of the common parts will be omitted and the description will focus on the parts that differ from the input server 20. The output server 30 includes a storage unit 320, a control unit 330, and a communication unit 340.

[0078] <Configuration of the storage unit 320 of the output server 30> The memory unit 320 of the output server 30 has image data 322, screen data 323, and block chain data 324. The image data 322, the screen data 323, and the block chain data 324 have almost the same content as the image data 226, the screen data 227, and the block chain data 228 of the input server 20.

[0079] <Configuration of the control unit 330 of the output server 30> The control unit 330 of the output server 30 includes a reception control unit 331, a transmission control unit 332, a screen presentation unit 333, and a traceability information generation unit 334. The control unit 330 realizes these functional units such as the reception control unit 331 by executing an application program 321 stored in the storage unit 320. The reception control unit 331, the transmission control unit 332, and the screen presentation unit 333 have almost the same functions as the reception control unit 231, the transmission control unit 232, and the screen presentation unit 233 of the input server 20.

[0080] The traceability information generation unit 334 accepts a traceability information confirmation request from the consumer 4 based on the identification code, identifies the blockchain data 324 using this identification code as a key, and presents the traceability information of the product to the consumer 4 who entered the confirmation request based on this blockchain data 324.

[0081] <Functional configuration of terminal device 10> FIG. 5 shows a functional configuration realized by the hardware configuration of the terminal device 10.

[0082] As shown in FIG. 5, the terminal device 10 includes a plurality of antennas (antenna 111, antenna 112), wireless communication units (first wireless communication unit 121, second wireless communication unit 122) corresponding to the respective antennas, an operation reception unit 130 (including a touch-sensitive device 130a and a display 130b), an imaging device 133, a position information sensor 134, a voice processing unit 140, a microphone 141, a speaker 142, a storage unit 170, and a control unit 180. The terminal device 10 also has functions and configurations (e.g., a battery for storing power, a power supply circuit for controlling the supply of power from the battery to each circuit, etc.) that are not particularly shown in FIG. 4. As shown in FIG. 4, each block included in the terminal device 10 is electrically connected by a bus or the like.

[0083] The memory unit 170 is composed of the memory unit 16 of the terminal device 10, the control unit 180 is mainly composed of the processor 19 of the terminal device 10, the antenna 111, the antenna 112, the first wireless communication unit 121, and the second wireless communication unit 122 are composed of the communication IF 12, the imaging device 133, the position information sensor 134, the microphone 141, and the touch-sensitive device 130a are composed of the input device 13, and the speaker 142 and the display 130b are composed of the output device 14.

[0084] The antenna 111 emits a signal generated by the terminal device 10 as a radio wave. The antenna 111 also receives a radio wave from space and provides the received signal to the first wireless communication unit 121.

[0085] The antenna 112 radiates a signal generated by the terminal device 10 as a radio wave. The antenna 112 also receives the radio wave from space and provides the received signal to the second radio communication unit 122.

[0086] The first wireless communication unit 121 performs modulation / demodulation processing and the like for transmitting and receiving signals via the antenna 111 so that the terminal device 10 can communicate with other wireless devices. The second wireless communication unit 122 performs modulation / demodulation processing and the like for transmitting and receiving signals via the antenna 112 so that the terminal device 10 can communicate with other wireless devices. The first wireless communication unit 121 and the second wireless communication unit 122 are communication modules including a tuner, a Received Signal Strength Indicator (RSSI) calculation circuit, a Cyclic Redundancy Check (CRC) calculation circuit, a high-frequency circuit, and the like. The first wireless communication unit 121 and the second wireless communication unit 122 perform modulation / demodulation and frequency conversion of wireless signals transmitted and received by the terminal device 10, and provide the received signals to the control unit 180.

[0087] The operation reception unit 130 has a mechanism for receiving an input operation by a user. Specifically, the operation reception unit 130 is configured as a touch screen and includes a touch-sensitive device 130a and a display 130b. The touch-sensitive device 130a receives an input operation by a user of the terminal device 10. The touch-sensitive device 130a detects a touch position of the user on the touch panel by using, for example, a capacitive touch panel. The touch-sensitive device 130a outputs a signal indicating the touch position of the user detected by the touch panel to the control unit 180 as an input operation.

[0088] Display 130b displays data such as images, videos, and text under the control of control unit 180. Display 130b is realized by, for example, an LCD (Liquid Crystal Display) or an organic EL (Electro-Luminescence) display.

[0089] The imaging device 133 mainly reads the identification code and obtains information contained in the identification code (including the identification code itself). Preferably, the imaging device 133 is a camera provided in the terminal device 10.

[0090] The position information sensor 134 acquires information on the geographical position where the terminal device 10 is located. Preferably, the position information sensor 134 is a sensor capable of acquiring geographical position information by a Global Navigation Satellite System (GNSS) such as a Global Positioning System (GPS). Such a position information sensor 134 can acquire latitude, longitude, and altitude as the geographical position where the terminal device 10 is located.

[0091] The audio processing unit 140 modulates and demodulates an audio signal. The audio processing unit 140 modulates a signal provided from the microphone 141 and provides the modulated signal to the control unit 180. The audio processing unit 140 also provides the audio signal to the speaker 142. The audio processing unit 140 is realized by, for example, a processor for audio processing. The microphone 141 accepts audio input and provides an audio signal corresponding to the audio input to the audio processing unit 140. The speaker 142 converts the audio signal provided from the audio processing unit 140 into audio and outputs the audio to the outside of the terminal device 10.

[0092] <Configuration of the storage unit of the terminal device 10> The storage unit 170 of the terminal device 10 stores user information 170a and application programs 170b.

[0093] The application program 170b may be prestored in the storage unit 170, or may be downloaded from a web server operated by a service provider via a communication IF. The application program 170b includes an interpreter-type programming language executed on a web browser application stored in the terminal device 10.

[0094] The user information 170a is information about a user who inputs necessary information using the terminal device 10. The user information includes information for identifying the user (user ID), information about the user's name, and the like.

[0095] The control unit 180 includes an input operation receiving unit 180a, a transmission / reception unit 180b, a data processing unit 180c, and a notification control unit 180d. The control unit 180 executes an application program 170b stored in the storage unit 170 to realize the functional units of the input operation receiving unit 180a, the transmission / reception unit 180b, the data processing unit 180c, and the notification control unit 180d.

[0096] The input operation reception unit 180a receives information output from the input device 13, such as the operation content entered into the touch-sensitive device 130a of the operation reception unit 130 by the user, voice input into the microphone 141, and the position information sensor 134, and executes various processes.

[0097] The transmission / reception unit 180b performs processing for the terminal device 10 to transmit and receive data to and from external devices such as the input server 20 in accordance with a communication protocol.

[0098] The data processing unit 180c performs calculations on the data that the terminal device 10 accepts as input in accordance with a program, and outputs the calculation results to a memory or the like.

[0099] The notification control unit 180d performs a process of presenting information to the user. The notification control unit 180d performs a process of displaying a display image on the display 130b, a process of outputting sound from the speaker 142, and the like.

[0100] <System S Operation> The processing of the system S will be described below with reference to the flowcharts of FIGS.

[0101] The flowchart shown in FIG. 9 is a flowchart showing the processing of the input side server 20 when traders (producer 1, distributor 2, processor 3) input information for generating traceability information.

[0102] In FIG. 9, the input server 20 waits for an access from the terminal device 10 (S900). The access in S900 in FIG. 9 is intended to be an access from the terminal device 10 owned by the trader (producer 1, distributor 2, processor 3). The access from the terminal device 10 owned by the consumer 4 will be described with reference to the flowchart shown in FIG. 11. When the producer 1 accesses the input server 20 with his / her own terminal device 10, he / she accesses the input server 20 via a top page or the like provided by the input server 20, and when the distributor 2 or processor 3 accesses the input server 20 with his / her own terminal device 10, he / she takes an image of the identification code with the imaging device 133 of the terminal device 10 and accesses based on information obtained from this identification code. Of course, it is also possible to access the input server 20 via a top page or the like provided by the input server 20, just like the producer 1, but in this case, after accessing the input server 20, information for identifying which product the information input is related to, preferably information included in the identification code, is input.

[0103] When there is access from the terminal device 10 (YES in S900), the screen presentation unit 233 of the input server 20 refers to the screen data 227 and sends login screen data to the accessed terminal device 10 (S901). The login screen data sent to the terminal device 10 owned by the trader in S901 has fields (objects) for requesting input of a trader ID for identifying the trader and a password registered by the trader in advance when the trader first registered in the system by the input server 20. Details of the login screen (data) are not shown in the figures.

[0104] When the input of the trader ID and password from the terminal device 10 is accepted, the input server 20 performs authentication using the trader ID and password and the trader ID and password registered in the user information DB 224 (S902).

[0105] If the authentication is successful (YES in S902), the token management unit 234 searches the vendor DB 225 using the vendor ID as a key to confirm the type of vendor that accessed (S903). If the vendor that accessed is the producer 1, the process proceeds to S904, if the vendor that accessed is the distributor 2, the process proceeds to S1000 in Fig. 10, and if the vendor that accessed is the processor 3, the process proceeds to S1100 in Fig. 11.

[0106] In S904, the screen presentation unit 233 sends input screen data for the producer 1 to the terminal device 10 owned by the producer 1 who has accessed the screen.

[0107] FIG. 13 shows an example of a screen displayed on the terminal device 10 based on the input screen data sent to the terminal device 10 in S904.

[0108] The screen (input screen for producer 1) 1300 shown in FIG. 13 displays an input field 1301 for inputting the information necessary to generate file data 223, a button 1302 for inputting an input indicating that the information registration procedure will be carried out with the contents entered in the input field 1301, and a button 1303 for inputting an input to cancel without carrying out the information registration procedure.

[0109] When the user clicks the button 1302 by touching the touch-sensitive device 130a of the terminal device 10 (YES in S905 of FIG. 9), the information entered in the input field 1301 is sent to the input server 20. The token management unit 234 accepts the information sent from the terminal device 10, and the file generation unit 235 generates a new token (file data 223) based on this information (S906).

[0110] Next, the identification code generating unit 237 of the input server 20 generates an identification code linked to the token generated in S906, and sends the generated identification code to the terminal device 10 owned by the producer 1 (S907).

[0111] FIG. 14 shows an example of a screen displayed on the terminal device 10 based on the identification code sent to the terminal device 10 in S907.

[0112] 14 displays the identification code 1401 generated by the identification code generation unit 237 in S907, and a button 1402 for downloading this identification code 1401 to the terminal device 10 of the producer 1. When the producer 1 clicks the button 1402 by touching the touch-sensitive device 130a of the terminal device 10, the identification code 1401 is downloaded to the storage unit 170 of the terminal device 10. The producer 1 prints out the downloaded identification code, attaches it to a product that he or she is shipping, and provides it for distribution.

[0113] 10, in S1000, the screen presentation unit 233 sends input screen data for the distributor 2 to the terminal device 10 owned by the distributor 2 that has accessed the terminal device 10.

[0114] FIG. 15 shows an example of a screen displayed on the terminal device 10 based on the input screen data sent to the terminal device 10 in S1000.

[0115] The screen (input screen for distributor 2) 1500 shown in FIG. 15 displays an input field 1501 for inputting necessary information to be added to file data 223, a button 1502 for inputting an input indicating consent to carrying out the information registration procedure with the contents entered in input field 1501, and a button 1503 for inputting an input to cancel without carrying out the information registration procedure.

[0116] When the user clicks button 1502 by touching touch-sensitive device 130a of terminal device 10 (YES in S1001 of FIG. 10), the information entered in input field 1501 is sent to input side server 20. Token management unit 234 accepts the information sent from terminal device 10, and file generation unit 235 identifies file data 223 based on this information (S1002), and adds the information sent from terminal device 10 of distributor 2 to the identified file data 223 (S1003).

[0117] 11, in S1100, the screen presentation unit 233 sends input screen data for the processor 3 to the terminal device 10 owned by the processor 3 who has accessed the terminal device 10.

[0118] FIG. 16 shows an example of a screen displayed on the terminal device 10 based on the input screen data sent to the terminal device 10 in S1100.

[0119] The screen (input screen for processor 3) 1600 shown in Figure 16 displays an input field 1601 for inputting information necessary to generate file data 223 (as a new token will be issued based on input from processor 3), a button 1602 indicating that the shipment based on processing by processor 3 is the final shipment (shipped in a state ready for sale to consumer 4), a button 1603 for inputting consent to carrying out the information registration procedure with the contents entered in input field 1601 and button 1602, and a button 1604 for inputting an input to cancel without carrying out the information registration procedure.

[0120] When the user clicks the button 1603 by touching the touch-sensitive device 130a of the terminal device 10 (YES in S1101 of FIG. 11), the information entered in the input field 1601 and the information indicated by the button 1602 (information indicating whether or not it is the final shipment) are sent to the input side server 20. The token management unit 234 accepts the information sent from the terminal device 10, identifies the parent token (file data 223) corresponding to the parent of the token to be generated based on this information (S1102), and sends the information from the terminal device 10 together with information about the parent token to the file generation unit 235, instructing it to generate a token. The file generation unit 235 generates a new token (file data 223) based on this information (S1103).

[0121] Next, the block chain writing unit 236 judges whether the information from the processor 3 sent in S1101 includes information indicating that this shipment is the final shipment (S1104). If it is judged to be the final shipment (YES in S1104), the block chain writing unit 236 identifies the file data 223 related to the final shipment (in this case, all file data 223 in a parent-child relationship), consolidates these file data 223 into one file data 223, and instructs the block chain platform 40 to generate a block chain based on the consolidated file data 223 (S1105). In other words, the block chain writing unit 236 consolidates the tokens up to that point to generate one transaction file (compresses the transactions), and instructs the block chain to generate a block chain based on this transaction file. After this, the block chain writing unit 236 stores the block chain sent from the block chain platform 40 as block chain data 228. On the other hand, if it is judged not to be the final shipment (NO in S1104), the program shown in the flowchart of FIG. 11 is terminated.

[0122] The flowchart shown in FIG. 12 is a flowchart showing the process of the output server 30 when the consumer 4 inputs information for checking the traceability information.

[0123] In Fig. 12, the output server 30 waits for access from the terminal device 10 (S1200). The access in S1200 in Fig. 12 is intended to be access from the terminal device 10 owned by the consumer 4. When the consumer 4 accesses the output server 30 with his / her own terminal device 10, he / she accesses the output server 30 via a top page or the like provided by the output server 30. The token is identified afterwards by the identification code. Naturally, if the identification code includes access information (such as a URL) to the output server 30, the consumer 4 can also capture an image of the identification code with the imaging device 133 of his / her own terminal device 10 and access based on the access information obtained from this identification code.

[0124] When there is an access from the terminal device 10 (YES in S1200), the screen presentation unit 233 of the output side server 30 sends input screen data for the consumer 4 to the accessed terminal device 10 by referring to the screen data 227.

[0125] FIG. 17 shows an example of a screen displayed on the terminal device 10 based on the input screen data sent to the terminal device 10 in S1201.

[0126] The screen (input screen for consumer 4) 1700 shown in FIG. 17 displays a guide 1701 for capturing an image of the identification code attached to the product using the imaging device 133, a button 1702 for inputting consent to carrying out the traceability information confirmation procedure using the identification code displayed in the guide 1701, and a button 1703 for inputting an input to cancel without carrying out the traceability information procedure.

[0127] The consumer 4 adjusts the position of the imaging device 133 so that the identification code falls within this guide 1701, and clicks the button 1702 by touching the touch-sensitive device 130a of the terminal device 10. The imaging device 133 then reads the identification code imaged within the guide 1701, and the information attached to the identification code is sent to the output server 30.

[0128] The traceability information generation unit 238 accepts the information sent from the terminal device 10, identifies the blockchain data 228 based on this information (S1202), and sends traceability information regarding the product purchased by the consumer 4 to the terminal device 10 based on the identified blockchain data 228 (S1203).

[0129] An example of a screen displayed on the terminal device 10 based on the traceability information sent to the terminal device 10 in S1203 is shown in FIG. 18 and FIG.

[0130] 18 displays an area 1801 in which information indicating that the product purchased by the consumer 4 is legitimately distributed is described. Also, a screen 1900 in FIG 19 displays an area 1901 in which an image of the product specified based on the information in the blockchain data 324 is displayed, and an area 1002 in which information related to the product is displayed.

[0131] <Effects of the embodiment> As described above in detail, according to the system S of this embodiment, at the time of final shipment of the product, the transaction data (file data 223) related to the product is compiled to generate one transaction file, and the blockchain data 228, 324 is generated based on this transaction file, so that the number of times the blockchain is generated / rewritten can be reduced, which is necessary to generate the blockchain data 228, 324 for tracing the traceability information of the product. Therefore, according to the system S of this embodiment, when using the blockchain for the traceability of agricultural products and food, the number of times the blockchain is written / rewritten can be reduced.

[0132] <Additional Notes> In addition, the above-described embodiments are described in detail to clearly explain the present disclosure, and are not necessarily limited to those including all of the described configurations. In addition, some of the configurations of each embodiment can be added to, deleted from, or replaced with other configurations.

[0133] As an example, in the above embodiment, the input server 20 and the output server 30 are configured separately, but the system S may be configured by a single server that combines the functions of the input server 20 and the output server 30. However, when the system S is operated across different laws and regulations, such as when products are exported overseas, there is an advantage in that the input server 20 and the output server 30 are separated and the input server 20 and the output server 30 have common blockchain data 228, 324. In other words, even if the input server 20 and the output server 30 are operated under different laws and regulations, by having the common blockchain data 228, 324, it is possible to operate with unified traceability information.

[0134] In the above embodiment, the transaction file and the blockchain are generated at the time of final shipment by the processor 3, but the transaction file and the blockchain may be generated at a time other than the final shipment, or even after the final shipment. A suitable example is the timing immediately before the product is handed over to an overseas import wholesaler (which is also an example of the distributor 2). Another example is the timing when the consumer 4 opens the product.

[0135] In addition, the transaction file and the blockchain may be generated even before the final shipment. A suitable example is the timing when the processor 3 changes the form of the product. One example of such a change in the form of the product is when polished rice is processed into rice balls. Since such a change in the form of the product may cause the continuity of the quantity of the product to be lost, it is preferable to generate the transaction file and the blockchain at this timing.

[0136] Furthermore, the producer 1, distributor 2, and processor 3 in the above embodiment may be a single company or individual, or may be multiple companies (in this case a corporate entity) or multiple individuals. Furthermore, the producer 1 and distributor 2 may form a corporate entity (corporate group). Transaction data can be compiled for each of these corporate entities and corporate groups.

[0137] In addition, the above-mentioned configurations, functions, processing units, processing means, etc. may be realized in part or in whole by hardware, for example, by designing them as integrated circuits. The present invention can also be realized by software program code that realizes the functions of the embodiments. In this case, a storage medium on which the program code is recorded is provided to a computer, and a processor included in the computer reads the program code stored in the storage medium. In this case, the program code itself read from the storage medium realizes the functions of the above-mentioned embodiments, and the program code itself and the storage medium storing it constitute the present invention. Examples of storage media for supplying such program code include flexible disks, CD-ROMs, DVD-ROMs, hard disks, SSDs, optical disks, magneto-optical disks, CD-Rs, magnetic tapes, non-volatile memory cards, ROMs, etc.

[0138] Furthermore, the program code for realizing the functions described in this embodiment can be implemented in a wide range of program or script languages, such as assembler, C / C++, perl, Shell, PHP, Java (registered trademark), and the like.

[0139] Furthermore, the program code of the software that realizes the functions of the embodiments may be distributed over a network and stored in a storage means such as a computer's hard disk or memory, or in a storage medium such as a CD-RW or CD-R, and the processor of the computer may read out and execute the program code stored in the storage means or storage medium.

[0140] The matters described in the above embodiments will be supplemented below.

[0141] (Appendix 1) A program (212) for operating a computer (20) having a processor (29) and a memory (25), the program (212) causing the processor (29) to execute a first step (S906, S1003, S1103) of receiving transaction data (223) from the shipment of an intermediate or finished food product to its sale to a consumer or to an overseas sale, and storing the data in the memory (25) in association with information identifying the intermediate or finished food product; a second step (S1105) of generating one transaction file based on the multiple pieces of transaction data (223) identified by the information identifying the intermediate or finished food product, stored in the memory (25), upon receiving transaction data at any timing from the shipment of the intermediate or finished food product to its sale to a consumer or to an overseas sale; and a third step (S1105) of instructing a blockchain platform (40) to generate a blockchain based on the transaction file. (Appendix 2) The program (212), in a second step (S1105), upon receiving transaction data (223) associated with the sale of intermediate or finished food products to consumers or overseas, generates one transaction file based on the multiple pieces of transaction data (223) identified by information identifying the intermediate or finished food products stored in the memory (25). (Appendix 3) The transaction data (223) is information that identifies intermediate or finished food products from the time of shipment until they are ready for sale to consumers, as described in appendix 1 or 2 of the program. (Appendix 4) The program according to any one of appendices 1 to 3, wherein the transaction data (223) at the time of shipment of a food intermediate or product has data on the total production volume of the food intermediate or product. (Appendix 5) The transaction data (223) other than at the time of shipment of the intermediate or finished food product includes data only on the amount of use of the intermediate or finished food product, and the program according to appendix 4 determines the sales amount of the intermediate or finished food product from the transaction data (223) specified by the information specifying the intermediate or finished food product when generating a transaction file. (Appendix 6) The program (212) is a program described in any one of Appendices 1 to 5, which causes the processor (29) to execute a fourth step (S907) of assigning an identification code to the intermediate or finished food product sold, and a fifth step (S1203) of presenting traceability information of the intermediate or finished food product to a user who has accessed the computer (30) based on the identification code, by referring to a blockchain (324) linked to the identification code. (Appendix 7) The program according to any one of appendices 1 to 6, wherein the transaction data (223) includes data on at least one of the names of intermediate or finished foods, the names and addresses of producers or traders. (Appendix 8) Data on the location of producers or traders is the program described in Appendix 7, which is location area data. (Appendix 9) A device (20) comprising a processor (29) and a memory (25), wherein the processor (29) executes a first step (S906, S1003, S1103) of receiving transaction data (223) from the shipment of an intermediate or finished food product to its sale to a consumer or to an overseas sale, and storing the data in the memory (25) in association with information identifying the intermediate or finished food product; a second step (S1105) of generating one transaction file based on the multiple pieces of transaction data (223) identified by the information identifying the intermediate or finished food product stored in the memory (25) upon receiving transaction data (223) at any timing from the shipment of the intermediate or finished food product to its sale to a consumer or to an overseas sale; and a third step (S1105) of instructing a blockchain platform (40) to generate a blockchain based on the transaction file. (Appendix 10) A method in which the processor (29) of a computer (20) having a processor (29) and a memory (25) executes a first step (S906, S1003, S1103) of receiving transaction data (223) from the shipment of an intermediate or finished food product to its sale to a consumer or to an overseas sale, and storing the transaction data in the memory (25) in association with information identifying the intermediate or finished food product; a second step (S1105) of generating one transaction file based on the multiple pieces of transaction data (223) identified by the information identifying the intermediate or finished food product stored in the memory (25) upon receiving transaction data (223) at any timing from the shipment of the intermediate or finished food product to its sale to a consumer or to an overseas sale; and a third step (S1105) of instructing a blockchain platform (40) to generate a blockchain based on the transaction file. [Explanation of symbols]

[0142] S... System 1... Producer 2... Distributor 3, 3a, 3b... Processor 4... Consumer 10, 10A, 10B... Terminal device 20... Input server 30... Output server 40... Blockchain platform 80... Network 220, 320... Memory unit 221... Application program 222... Token DB 223... File data 224... User information DB 225... Trader DB 226... Image data 227... Screen data 228, 324... Blockchain data 230, 330... Control unit 233... Screen presentation unit 234... Token management unit 235... File generation unit 236... Blockchain writing unit 237... Identification code generation unit 334... Traceability information generation unit

Claims

1. A program for operating a computer having a processor and a memory, The program causes the processor to: a first step of receiving transaction data from the shipment of intermediate or finished food products to sales to consumers or overseas sales, linking the transaction data to information identifying the intermediate or finished food products, and storing the transaction data in the memory; a second step of generating one transaction file based on a plurality of pieces of the transaction data identified by information identifying the intermediate or finished food product stored in the memory when the transaction data is received at any timing from the shipment of the intermediate or finished food product to the sale to a consumer or the sale overseas; A third step of instructing a blockchain platform to generate a blockchain based on the transaction file; Run the command, In the second step, when the transaction data relating to the sale of the food intermediates or products to consumers or to overseas markets is received, a program generates one transaction file based on a plurality of the transaction data identified by information identifying the food intermediates or products stored in the memory.

2. The program is In the second step, at any time after the intermediate or finished food product is sold to a consumer or sold overseas, one transaction file is generated based on a plurality of transaction data identified by information identifying the intermediate or finished food product stored in the memory; In the third step, a blockchain platform is further instructed to generate a blockchain based on the transaction file. The program according to claim 1.

3. The transaction data includes information that can identify the intermediate or finished food product from its shipment to its final stage of being ready for sale to the consumer.

3. The program according to claim 1 or 2.

4. The transaction data at the time of shipment of the food intermediate or product includes data on the total production volume of the food intermediate or product. The program according to any one of claims 1 to 3.

5. The transaction data other than that at the time of shipment of the food intermediate or product includes data only related to the amount of use of the food intermediate or product, and when the transaction file is generated, the sales amount of the food intermediate or product is determined from the transaction data specified by information specifying the food intermediate or product. The program according to claim 4.

6. The program causes the processor to: a fourth step of providing an identification code to the intermediate or finished product of the food that has been sold; a fifth step of presenting traceability information of the intermediate or finished product of the food to a user who has accessed the computer based on the identification code, by referring to the blockchain linked to the identification code; The program according to any one of claims 1 to 5, which causes the program to execute the above steps.

7. The transaction data includes data on at least one of the name of an intermediate or finished product of the food product, the name and address of a producer or trader of the food product. The program according to any one of claims 1 to 6.

8. The program according to claim 7 , wherein the data regarding the location of the producer or the trader is area data of the location.

9. An apparatus comprising a processor and a memory, The processor, a first step of receiving transaction data from the shipment of intermediate or finished food products to sales to consumers or overseas sales, linking the transaction data to information identifying the intermediate or finished food products, and storing the transaction data in the memory; a second step of generating one transaction file based on a plurality of pieces of the transaction data identified by information identifying the intermediate or finished food product stored in the memory when the transaction data is received at any timing from the shipment of the intermediate or finished food product to the sale to a consumer or the sale overseas; A third step of instructing a blockchain platform to generate a blockchain based on the transaction file; Run In the second step, when the transaction data associated with the sale of the food intermediates or products to consumers or overseas is received, the device generates one transaction file based on a plurality of the transaction data identified by information identifying the food intermediates or products stored in the memory.

10. A computer including a processor and a memory, the processor a first step of receiving transaction data from the shipment of intermediate or finished food products to sales to consumers or overseas sales, linking the transaction data to information identifying the intermediate or finished food products, and storing the transaction data in the memory; a second step of generating one transaction file based on a plurality of pieces of the transaction data identified by information identifying the intermediate or finished food product stored in the memory when the transaction data is received at any timing from the shipment of the intermediate or finished food product to the sale to a consumer or the sale overseas; A third step of instructing a blockchain platform to generate a blockchain based on the transaction file; Run In the second step, when the transaction data relating to the sale of the food intermediates or products to consumers or overseas is received, one transaction file is generated based on a plurality of the transaction data identified by information identifying the food intermediates or products stored in the memory.

Citation Information

Patent Citations

  • Managing program, managing device and managing method

    JP2019079253A

  • Data managing device, data managing program and data managing method

    JP2019185296A

  • Traceability system for pet food

    JP2020035436A

  • Method and device for writing service data to a blockchain system

    JP2020521254A

  • Information processing device

    WO2021095795A1