Secure and verifiable tracking of agricultural products
A computer-implemented system and method to collect and store data related to product stored in a container. In response to filling the container with the product, the following data are stored in at least one first record in an external database (such as a distributed ledger, e.g., blockchain): a product type of the first product; an amount of the first product filled into the first container; a unique identity of the first container; and a unique identity of a first user of the first container at the time of filling the first container with the first product. Data representing a unique identity of a container data module on the container are stored in the container data module. As the container moves, dispenses product, and undergoes changes in possession and ownership, data representing such events are stored in the distributed ledger and/or the container data module. As a result, a verifiable application/consumption record of the product within the container is generated.
1 . A method performed by at least one computer processor executing computer program instructions stored on at least one first non-transitory computer-readable medium, the method comprising:
(A) a first storage module receiving data representing a filling of a first container with a first product;
(B) the first storage module determining whether a network connection exists between the first storage module and an external database to determine that the external database is not accessible over a network;
(C) in response to determining that the external database is not accessible over the network, the first storage module storing, in a second non-transitory computer-readable medium, without accessing the network, data representing:
a product type of the first product;
an amount of the first product filled into the first container;
a unique identity of the first container; and
a unique identity of a first user of the first container at the time of filling the first container with the first product;
(D) after (B) and (C), the first storage module determining whether a network connection exists between the first storage module and an external database to determine that the external database is accessible over the network;
(E) in response to determining that the external database is accessible over the network, the first storage module storing the data in (C) in at least one first record in the external database; and
(F) dispensing at least some of the first product from the first container, and storing, in at least one second record in the external database, data representing the dispensing;
wherein the dispensing comprises consuming at least some of the first product at each of a plurality of locations L, and wherein (F) comprises:
for each of the plurality of locations L, storing, in the data representing the dispensing:
(1) data representing an amount of the first product consumed from the first container at location L; and
(2) data representing the location L,
wherein the external database comprises a distributed ledger.
2 . The method of claim 1 , further comprising:
(G) based on the data stored in (C), establishing the provenance of the first product.
3 . The method of claim 2 , wherein (G) comprises establishing the provenance of the first product based on the data stored in the external database in (C).
4 . The method of claim 1 , wherein (E) further comprises:
storing, in the at least one first record in the external database, data representing a unique identity of a first owner of the first container at the time of filling the first container with the first product.
5 . The method of claim 1 , wherein (E) further comprises:
storing, in the at least one first record in the external database, data representing a first location of the first container at the time of filling the first container with the first product.
6 . The method of claim 1 , wherein (E) further comprises:
storing, in the at least one first record in the external database, data representing a first time of filling of the first container with the first product.
7 . The method of claim 1 , wherein (E) further comprises:
storing, in the at least one first record in the external database, data representing a unique identity of a first possessor of the first container at the time of filling the first container with the first product.
8 . The method of claim 7 , further comprising:
(G) storing, in at least one third record in the external database, data representing a third possessor of the first container, wherein the first possessor differs from the third possessor.
9 . The method of claim 1 , further comprising:
(G) in response to filling the first container with the first product, storing, in an electronic memory on the container, at least one of:
the product type of the first product;
the amount of the first product filled into the first container;
the unique identity of the first container; and
the unique identity of the first user of the first container at the time of filling the first container with the first product.
10 . The method of claim 9 , wherein the container data module comprises the electronic memory.
11 . The method of claim 9 , further comprising:
(H) before (G), wirelessly receiving, at an RFID tag on the first container, a signal representing the data stored in (C).
12 . The method of claim 5 , further comprising:
(G) storing, in at least one third record in the external database, data representing a second location of the first container, wherein the first location differs from the second location.
13 . The method of claim 1 , wherein the data representing the dispensing comprises data representing an amount of the first product dispensed from the first container.
14 . The method of claim 1 , wherein the data representing the dispensing comprises data representing an amount of the first product remaining in the first container after the dispensing.
15 . The method of claim 1 , wherein the data representing the dispensing comprises data representing a type of the first product dispensed from the first container.
16 . The method of claim 1 , wherein the data representing the dispensing comprises data representing a unique identity of a possessor of the first container at the time of the dispensing.
17 . The method of claim 1 , wherein the data representing the dispensing comprises data representing a unique identity of an owner of the first container at the time of the dispensing.
18 . The method of claim 5 , wherein the data representing the dispensing comprises data representing a second location of the first container at the time of the dispensing, wherein the second location differs from the first location.
19 . The method of claim 1 , wherein the data representing the dispensing comprises data representing a rate at which the first product was dispensed from the first container.
20 . The method of claim 1 , further comprising:
(G) determining, based on the at least one first record in the external database and the at least one second record in the external database, whether a criterion for a carbon credit has been satisfied; and
(H) generating output indicating whether the criterion for the carbon credit has been satisfied.
21 . The method of claim 1 , further comprising:
(G) before (A), filling the first container with the first product in a tamper-evident manner.
22 . The method of claim 1 , further comprising:
(G) after transferring at least some of the first product from the first container to a second container, storing, in at least one third record in the external database, data representing the transfer.
23 . The method of claim 1 , wherein (E) comprises storing the data in the external database in an encrypted form.
24 . The method of claim 1 , wherein the first product comprises a fertilizer.
25 . The method of claim 1 , wherein the first product comprises a pesticide.
26 . The method of claim 1 , wherein the first product comprises nitrogen-fixing microbes.
27 . The method of claim 1 , wherein the first product comprises seed.
28 . The method of claim 1 , wherein the first product comprises petroleum-based fuel.
29 . The method of claim 1 , wherein the first product comprises an agricultural crop input product.
30 . The method of claim 1 , wherein the distributed ledger comprises a blockchain, and wherein the at least one first record comprises at least one first block in the blockchain.
31 . A system comprising at least one first non-transitory computer-readable medium having computer program instructions stored thereon, the computer program instructions being executable by at least one computer processor to perform a method, the method comprising:
(A) a first storage module receiving data representing a filling of a first container with a first product;
(B) the first storage module determining whether a network connection exists between the first storage module and an external database to determine that the external database is not accessible over a network;
(C) in response to determining that the external database is not accessible over the network, the first storage module storing, in a second non-transitory computer-readable medium, without accessing the network, data representing:
a product type of the first product;
an amount of the first product filled into the first container;
a unique identity of the first container; and
a unique identity of a first user of the first container at the time of filling the first container with the first product;
(D) after (B) and (C), the first storage module determining whether a network connection exists between the first storage module and an external database to determine that the external database is accessible over the network;
(E) in response to determining that the external database is accessible over the network, the first storage module storing the data in (C) in at least one first record in the external database; and
(F) dispensing at least some of the first product from the first container, and storing, in at least one second record in the external database, data representing the dispensing;
wherein the dispensing comprises consuming at least some of the first product at each of a plurality of locations L, and wherein (F) comprises:
for each of the plurality of locations L, storing, in the data representing the dispensing:
(1) data representing an amount of the first product consumed from the first container at location L; and
(2) data representing the location L,
wherein the external database comprises a distributed ledger.