Skip to content

GreenTrace: A python Implementation of blockchain for 67-404 at CMUQ

Notifications You must be signed in to change notification settings

elsayedhazem/pyblockchain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

GreenTrace

The Problem

GreenTrace is a blockchain for all stakeholders in the recycling process which aims to address the lack of transparency and accountability in the recycling process, ensuring that recyclable materials are effectively processed and reused.

Despite the widespread public awareness and efforts towards recycling, there's a significant gap in tracking and verifying the actual recycling process. This gap leads to skepticism about the effectiveness of recycling companies and can hinder environmental sustainability initiatives.

With increasing environmental concerns and consumer demand for sustainable practices, there is a pressing need for transparent and verifiable recycling processes to ensure genuine environmental impact.

How Blockchain Technology is relevant

Blockchain can provide a transparent, immutable record of the recycling journey of materials. Its decentralized nature ensures that no single entity can manipulate the data, thus maintaining the integrity and trust in the recycling process. At the same time, its traceability allows tracking of materials from collection to processing and reuse, providing valuable data for improving recycling practices.

In turn this benefits recycling companies and consumers, as the decentralization implemented through blockchain Increases consumer trust in recycling efforts, knowing that there is a reliable record of the recycling process.

Key Challenges

Integration with Existing Waste Management Systems Convincing stakeholders, including waste management companies and consumers, to adopt this new system. Ensuring that the data entered onto the blockchain is accurate and representative of the true recycling processes.

How GreenTrace can approach them

Showcase pilot projects or case studies that clearly demonstrate the practical benefits of blockchain in recycling. Real-world examples and success stories can significantly increase confidence among potential adopters. Furthermore, collaborating with influential and respected entities in the waste management and environmental sectors to leverage their expertise and credibility in promoting the adoption of the system can incentivize adoption.

In turn, more technical resources will be dedicated to the decentralized project development - which will contribute to solving problem 1 by paving the way for robust APIs and system integrations.

As for problem 3, regular audits and compliance checks should be part of the system to ensure the data's integrity. These could be conducted by independent third-party entities to maintain objectivity Also, GreenTrace can implement strict protocols and guidelines for data entry, along with training programs for personnel involved in the process. This helps reduce human errors and ensures that the data reflects actual processes

Design and Implementation

The GreenTrace blockchain operates by recording a series of events, each encapsulating a specific action or milestone in the recycling process. Each block in the blockchain contains these events, ranging from the introduction of new materials and entities to detailed checkpoints tracking the journey and transformation of recyclable materials.

There are 4 types of events, and each event contains the respective variables: New Material Event - Happens the first time, let’s say alumninium cans are recycled

  • type: "new_material"
  • material_id: UUID for the new material.
  • material_reference: url to detailed, officially recoginzed information about the material (e.g., type, source, characteristics).

New Entity Event - Happens when an aluminium recycling company, or another stake holder joins the blockchain

  • type: "new_entity"
  • entity_id: UUID4 (e.g., recycling facility, transport company).
  • entity_reference: Description or reference information about the entity (e.g., name, location, type of operation)

New Process Event - Happens when a certain recycling process, like turning aluminium into sheets, is added to the chain for the first time

  • type: "new_process"
  • process_id: Unique identifier for the new process.
  • process_reference: Description or reference information about the process (e.g., sorting, shredding, melting).

Checkpoint Event (Main)

  • type: "checkpoint"
  • checkpoint_id: Unique identifier for the checkpoint.
  • original_product_upc: Universal Product Code (UPC) of the original product, if applicable.
  • Quantity: The number of items
  • Item_ref: Non-null If the item is not a product with a UPC
  • process_ids: List of process IDs that the material has undergone.
  • material_out_id: UUID for the output material from this checkpoint.
  • origin_checkpoint: UUID for the previous checkpoint.
  • destination_checkpoint: UUID for the next checkpoint.
  • entity_id: Identifier for the entity responsible for this checkpoint.
  • timestamp_in: Timestamp when the material arrived at this checkpoint.
  • timestamp_out: Timestamp when the material left this checkpoint.

Final Checkpoint Event

  • type: "checkpoint_final"
  • Origin_checkpoint: UUID for the last checkpoint before the product was finalized.
  • original_product_upc: Universal Product Code (UPC) of the original product.
  • final_product_upc: Universal Product Code (UPC) of the final recycled product.
  • process_ids: List of process IDs that the material has undergone to become the final product.
  • entity_id: Identifier for the entity responsible for the final product.
  • timestamp_in: Timestamp when the material arrived for final processing.
  • timestamp_out: Timestamp when the final product was completed.

On 3rd party apps

The system will use PoW and miners will be registered vendors who will be rewarded for selling products on the blockchain (this is an incentive for more participants to be on the block).

What will be very important for this project is the creation of 3rd party apps by the community that access this blockchain and then filter data by entities, dates, and products. The ideal contribution would be a client app which can scan a product by upc and then visualize the journey, and pull data from the entity_reference, process_reference fields.

About

GreenTrace: A python Implementation of blockchain for 67-404 at CMUQ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published