the rule is not activated for batch validation. The
RegulatoryDepartmentMSP organization enables the
rule causing it to pass to the state Enabled (step 6).
The RegulatoryDepartmentMSP organization
then associates the ProducerMSP, ManufacturerMSP,
DelivererMSP and RetailerMSP organizations with
the roles of Producer, Manufacturer, Deliverer
and Retailer respectively (step 7). In this way the
ProducerMSP and ManufacturerMSP organizations
can request the registration for a primary and derived
product respectively. Moreover the DelivererMSP
organization can buy and resell batches from and to
other organizations and the RetailerMSP organization
can only buy batches.
After having gained the role of Producer, the Pro-
ducerMSP organization requests the registration of
the products orangeX and sugarX associated with the
product types orange and sugar respectively (step 8).
This products are initially in the state Pending and
after the RegulatoryDepartmentMSP organization ac-
cepts the registration requests they pass to the state
Unblocked (step 9). In the same way the Manufactur-
erMSP organization, after having gained the role of
Manufacturer, requests the registration of the product
orange-juiceX associated with the product orange-
juice (step 10). This product is initially in the state
Pending and after the RegulatoryDepartmentMSP or-
ganization accepts the registration request it pass to
the state Unblocked (step 11).
The ProducerMSP organization then registers two
batches associated with the products orangeX and
sugarX respectively (step 12). These batches are ini-
tially in the state Unblocked. The ManufacturerMSP
organization submits a transfer request for the two
batches causing them to pass to the state Pending (step
13). After the ProducerMSP organization accepts the
transfer requests, the ManufacturerMSP organization
becomes the new owner of the two batches and these
return to the state Unblocked (step 14). The Manufac-
turerMSP organization can then register a batch asso-
ciated with the product orange-juiceX, using the new
acquired batches which pass to the state Processed
(step 15). In the registration operation the Manufac-
turerMSP organization specify a value for the temper-
ature parameter compatible with the range specified in
the rule associated with the product type orange-juice.
The DelivererMSP organization then submits a
transfer request for the new registered batch and the
ManufacturerMSP organization accepts the request
causing the DelivererMSP organization to become the
new owner (step 16). Finally in the same way the
RetailerMSP organization submits a transfer request
for the same batch and the DelivererMSP organiza-
tion accepts the request causing the RetailerMSP or-
ganization to become the new owner (step 17).
The realization of the use case, demonstrates that
the proposed system supports all the basic lifecycle of
an agri-food product, from its origin to the end con-
sumer. The simple rules implemented, also show the
flexibility of the framework to add any kind of rule at
runtime in order to cope with specific quality control
strategies needed by any of the organization involved
in the supply chain.
5 CONCLUSIONS
In this work we proposed a complete model of a
blockchain-based agri-food supply chain traceability
system, also providing a prototype implementation.
The use of blockchain technology eliminates the need
for supply chain members to trust a single entity to
manage supply chain activities and store traceabil-
ity information. Furthermore, this fully distributed
approach solves the problems of limited scalability
and single point of failure. The proposed system al-
lows to automate supply chain management opera-
tions and maintain traceability information in a se-
cure and immutable way. Moreover, the possibility
to add rules at runtime allows the implementation of
product-specific quality control mechanisms in a flex-
ible way. Finally, the system provides a complete
view of the different phases of harvesting, process-
ing and distribution to which batches of product are
subject allowing to reconstruct the entire life cycle of
each batch and obtain provenance information.
REFERENCES
Androulaki, E., Barger, A., Bortnikov, V., Cachin, C.,
Christidis, K., De Caro, A., Enyeart, D., Ferris,
C., Laventman, G., Manevich, Y., Muralidharan, S.,
Murthy, C., Nguyen, B., Sethi, M., Singh, G., Smith,
K., Sorniotti, A., Stathakopoulou, C., Vukoli
´
c, M.,
Cocco, S. W., and Yellick, J. (2018). Hyperledger fab-
ric: A distributed operating system for permissioned
blockchains. In Proceedings of the Thirteenth EuroSys
Conference, EuroSys ’18.
Antonucci, F., Figorilli, S., Costa, C., Pallottino, F., Raso,
L., and Menesatti, P. (2019). A review on blockchain
applications in the agri-food sector. Journal of the Sci-
ence of Food and Agriculture, 99(14):6129–6138.
Biswas, K., Muthukkumarasamy, V., and Lum, W. (2017).
Blockchain based wine supply chain traceability sys-
tem. In Future Technologies Conference (FTC 2017),
pages 56–62.
Bosona, T. and Gebresenbet, G. (2013). Food traceability as
an integral part of logistics management in food and
An Agri-Food Supply Chain Traceability Management System based on Hyperledger Fabric Blockchain
657