Development of a Governance Concept.

This is a document part of the Food traceability Fund11 proposal milestone 1.

Food Traceability by Cardano Proposal funded Project Catalyst Fund 11

Development of a Governance Concept.

Cristian Rojas

Industrial Engineer, Latam Cardano Community and Intersect MBO Member , Project Catalyst Proposer crjarove@gmail.com

The governance concept establishes functions that define the administrative capabilities related to the supply chain structure within the dApp. It oversees all parties registered with the dApp in a party memory. These governance functions encompass the ability to add and remove parties, as well as to modify their administrative and operational rights concerning the structure and objects within the supply chain.

Adding Parties

According to the architectural requirements, it's crucial for the responsible authority (or authorities) to ensure the de-anonymization of each involved party and remove parties exhibiting negative behavior from the application to maintain the overall integrity of the traceability dApp. Therefore, the architecture's smart contract necessitates a governance concept, defining the logic for adding and removing parties. This study refers to this set of functions, summarizing structure-related functions as the governance set. The governance set also includes a data memory managing all parties registered with the dApp—the party memory. Before deploying the governance set, the code must contain or define an initial account administrator capable of adding further accounts to the party memory. In this architecture, as is typical for many dApps, the deploying account assumes the role of the initial administrator.

The GS1 Global Traceability Standard mandates linking each party involved in the chain of custody or ownership of a supply chain to a unique identifier and storing essential party-related data. Typically, this data includes contact information and descriptions of the respective supply chain roles. Blockchain technology, with its accounts consisting of a public and private key, already ensures the uniqueness of accounts and the traceability of each account's blockchain interaction.

However, as described by Kuhn et al., it's not only necessary to link each public key to data defining a supply chain party but also to present it understandably. dApps offer two potential solutions: either off-chain storage links data with the corresponding public key via the interface, or the smart contract stores the data on-chain. Since the de-anonymization of supply chain parties is a critical requirement of the traceability dApp, this architecture suggests storing crucial party-related data on-chain in the party memory of the governance set. On one hand, data such as contact information and role descriptions have relatively small storage requirements. On the other hand, this approach ensures an immutable link between public keys and party-related information, irrespective of the interface used.

Removing Parties

Removing data entries from the blockchain follows the standard smart contract logic. Consequently, removing a party involves updating the governance set and eliminating the respective party from the party memory. This modification impacts all blocks confirmed after the 'removal-transaction'. Although removed parties lose access to the dApp's functions in current blocks, historical blocks still validate their previous participation.

Editing Rights

Each party plays a specific role in the value-adding process of the supply chain, necessitating a clear delineation of rights. Smart contracts inherently enable the functional coupling of any function to specific requirements. The architecture proposed in this document suggests a rights distinction based on its general structure to minimize functional dependencies. Hence, the architecture segregates between administrative supply chain structure-related rights and operative object-related rights:

1. Structure-related rights: These rights empower parties to add or remove other parties and modify their rights as needed.

2. Object-related rights: These rights enable added parties to create and delete objects, execute a sequence of transactions, transformations, aggregations, and, if previously aggregated, perform disaggregations.

As explained before, following the deployment of the dApp, the deploying account assumes the role of the initial administrator and thus enjoys full access to all functions. Subsequently, the administrator retains the ability to adjust the rights of all involved parties as required.