We have identified a major problem occurring in the Used Car Market => FRAUD.
EU report reveals 30-50% of imported used cars with altered odometers, causing an annual fraud impact of €8.9-9.6 billion.
This is the total amount allocated to [TRADYCAR] Eliminating Fraud from the Used Car Market and Adding Trusted Vehicle History with dNFTs.
We propose:
No dependencies.
Our Team embraces the principles of transparency and collaboration inherent in open source projects. While we believe in sharing the knowledge and advancements achieved during the development process, we have decided to retain control over the core codebase to maintain the integrity and security of the platform.
Consequently, the TradyCar project outputs will be shared with the community under a read-only license.
By adopting this approach, we strike a balance between openness and responsible development, ensuring that TradyCar remains a robust and trustworthy solution for all stakeholders involved.
SDG Goals
12 - Ensure sustainable consumption and production patterns
13 - Take urgent action to combat climate change and its impacts
SDG Subgoals
12.5 - By 2030, substantially reduce waste generation through prevention, reduction, recycling and reuse
12.7 - Promote public procurement practices that are sustainable, in accordance with national policies and priorities
Key Performance Indicator (KPI)
12.5.1 - National recycling rate, tons of material recycled
12.7.1 - Degree of sustainable public procurement policies and action plan implementation
-HOW WE SOLVE THIS?
We propose to solve the problems named before by utilizing Blockchain technology and the benefits it provides. Cardano Blockchain technology enables us to store a vehicle's previous history (such as services, repairs, insurance, pollution check events, etc.) in an immutable and transparent manner.
We have clear objectives and goals to which we aspire to reach, which are presented in the following points:
• We track and store a vehicle's previous history, and users can access this information anytime and free of charge. People need to have all the accurate information about the vehicle to make a fair purchasing decision.
• We establish a decentralized marketplace where users can bid on second-hand vehicles without intermediaries.
• We utilize dynamic NFTs to keep the vehicle's history updated. These NFTs contain updated hashes of the data stored on the IPFS.
• To protect the negotiation phase from fraud, we implement an Escrow contract that locks the NFT ownership until the buyer makes the payment and verification is completed. If the transaction is not successful, the NFT returns to the seller.
We can explain our product by dividing it into two parts or services offered:
=> Firstly, we have created a System that stores immutably the information of each vehicle.
For this, we use the benefits provided by blockchain technology and specifically dynamic NFTs. Using IPFS, which is nothing more than a decentralized storage service, we can create a secure and efficient system for tracking the ownership and the complete history of vehicles including Odometer data or accident data.
By associating a dynamic NFT with each vehicle, each User in the market could easily access, in a totally public and free way, verified information about each car they are interested in. Whether it is the owner tracking of that vehicle, vehicle mileage, maintenance, etc... everything is recorded and verified by the OEMs (official factory), or official mechanics of the brand.
=> As a second part of our service, we offer a Dapp that represents a MarketPlace that allows users to buy and sell vehicles directly by exchanging the associated NFTs. With this Dapp, we are able to connect the seller and buyer directly, eliminating the intermediaries. We also integrate an Escrow contract function, in which the NFT with the ownership of the physical car is blocked for a limited time until the buyer makes the payment and it is verified. Until this verification is passed, the Nft is not sent to the new owner.
MAIN GOAL
Our Proof of Concept is developed in Solidity, i.e. in the Ethereum Ecosystem. Our main goal is to leave this ecosystem and integrate this project into the Cardano ecosystem, since from the point of view of cybersecurity, among others, it is much more advanced than Ethereum.
Our main goal with this product/project would be to achieve a standard at European level (working together with the European government) to require manufacturers to apply the tracking application of the history of each car that we propose with our project, and all of that based in the Cardano ecosystem.
This would be a big step to put an end to fraud in the second hand market and more importantly to help the environment. This is because the fraud regarding the condition of the car, makes new users use a car that they think is in good condition, but in reality is polluting more than it should.
Other alternatives for our product would be to sell this set as a Saas to large manufacturers such as Mercedes, Volkswagen, Audi, etc ... or large companies that are leaders in the used car market, so our company would be responsible for the implementation and adaptation to each brand and their needs.
5. TECHNICAL OVERVIEW
The project comprises two Smart Contracts. The first Smart Contract is designed for dynamic NFTs, which are used to represent each vehicle and store the historical data associated with it. The second Smart Contract handles the marketplace functionality, allowing users to list their NFTs for sale or place bids as buyers.
Additionally, we have a front-end interface that enables customers, as well as official organizations, to interact with the Smart Contracts. This interface facilitates seamless communication and engagement with the system.
I. Dynamic Nft Contract Structure & Functionality
The NFT contract we have created includes:
1. Wallet addresses of entities (OEMs, Official Repair Shops, Owners) who have permission to add or modify information about the vehicle.
2. A data structure that holds valuable information about the car, including the odometer reading, manufacturer metadata, repair worklog, and a track record of accidents.
3. Enum of States, indicating the possible states that the NFT can have, such as "Reviewed," "UpdateRequired," or "UnderReview."
4. Functions required to create new NFTs, update the information in the data structure, and change the state of the NFT.
To ensure the accuracy and credibility of the information contained in each vehicle's NFT, the owner of the Smart Contract must be the OEM (Manufacturer), and only the owner of this Smart Contract has the right to mint new NFTs. The code specifies this condition to restrict the execution of new NFTs to the owner only.
The process of creating a new NFT is as follows:
• The manufacturer deploys the NFT Smart Contract and becomes the owner of that contract.
• The manufacturer creates a new vehicle and initiates the creation of a new NFT.
• To create the NFT, the manufacturer sends the main information of the vehicle (VIM, Model, color, Date of production, etc.) to IPFS to obtain a URI. This information cannot be modified.
• The IPFS URI is stored in the "Vehicle Struct," specifically in the "ManufacturingMetaData" section.
• The other sections of the Struct are initialized to 0 (in the case of "odometer") or left empty (in the case of other sections).
• The Odometer, Repair/Inspection Log, and Accidents Tracking sections will be updated by authorized entities.
• Once the vehicle is sold for the first time, the OEM is responsible for transferring the ownership of the NFT to the buyer's address.
• The OEM also assigns the authorized entities/wallet addresses that are allowed to update the vehicle's information.
During the update process, we leverage the full potential of the Dynamic NFT. It only stores IPFS URIs in the Vehicle Struct, meaning that heavy data is not stored on the blockchain but rather on IPFS.
Thanks to this design, using functions included in the NFT code such as updateOdometer() or updateRepairLog(), which can only be executed by authorized entities, we can modify the IPFS URI stored in the NFT to a new one with updated and verified information from the OEM or official repair shop.
The process of updating an NFT is as follows:
• The owner takes the car for an official inspection.
• The relevant inspection is carried out.
• The OEM or official repair shop sends the updated odometer reading, repair log, and accident tracking information to IPFS.
• Once the new IPFS URI with the updated information is created, the functions updateOdometer(), updateRepairLog(), and updateAccidentTracking() are executed.
• These functions allow for the replacement of the old URI with the new one.
• This way, the NFT of the car is updated and tamper-proof.
Note: Nowadays, cars have high computing capabilities. Data such as the odometer reading could be automated, allowing the car itself to interact with the contract to update the odometer value. Alternatively, a layer of data security could be built to verify that the information provided by the official entity matches the data stored by the car itself, thus preventing potential intentional fraud.
II. MarketPlace Contract Structure & Functionality
This contract enables users to sell their vehicles by listing them in the Marketplace smart contract. For this purpose, the smart contract includes typical functions found in this type of contracts, along with the addition of a "Escrow contract" system: listItem(), makeOffer(), cancelItem(), or returnItem().
The interaction with the MarketPlace smart contract works as follows:
• The user intends to list their NFT/car for sale.
• The user executes the listItem function, which adds a new item to the list of vehicles for sale.
• The item includes the NFT's ID associated with it, the seller's address, the price set by the seller, the selling status (open to bids or not), and the buyer's address (if any).
• Once created, buyers who wish to purchase a vehicle make their offers by calling the makeOffer function.
• Sellers can reject or accept the bids by calling the rejectOffer or acceptOffer functions, respectively.
• The acceptOffer function changes the state from Open to Closed.
• Subsequently, the NFT is automatically sent from the seller to the MarketPlace smart contract and locked there until the buyer completes the payment.
• Once the payment is confirmed, the NFT is sent from the MarketPlace smart contract to the buyer's address.
• If the payment is not completed, the returnItem function transfers the NFT back to the seller and resets the item struct as open to bids.
The success of our project/solution TradyCar can bring significant value to the Cardano community in several ways, for instance:
Quantitative and qualitative metrics can be employed to measure the impact of Our Project on the Cardano community:
To share the outputs and opportunities of our project effectively, we could ensure regular updates with the Cardano community and beyond through key social media channels like Twitter, Reddit, and the official Cardano forums. Share noteworthy project milestones, highlight new partnerships, and communicate any positive developments to keep the community informed and engaged with our progress.
It is time to talk a little about me and why I am the right person to lead this project.
My name is Alejandro G. and I am a freelance blockchain developer with great experience in the sector. I've been working for more than two years in different projects based on Ethereum, Polygon or Arbitrum.
A year ago I became interested in the Cardano blockchain and the benefits it offered me compared to Ethereum, such as high security when developing the source code, avoiding bugs that are very common in Ethereum. Also, very low fees in comparison with ETH. For this reason, I acquired several certificates from the Emurgo Academy, as well as from the Cardano foundation.
This project that I propose to you today, has been weighed and designed entirely by myself.
In the white paper that I add as a link, I explain in detail the architecture of the project and even the structure and functions that each Smart Contract must incorporate.
Therefore I am in the best position to lead this project and make it real. Obviously, I'm going to need human resources to be able to provide the high standard I'm looking for.
Project Initiation and Definition of Final Design Architecture
The primary goal of Milestone 1 is to establish the essential foundational elements necessary for the successful launch and implementation of the project.
Outputs
Those are the key activities included in the first phase:
Acceptance criteria
Evidence of Milestone completion
Verification of milestone achievement will be confirmed when community members can access and review the technical paper on Notion.
Timeline: 1 month
Smart Contract Implementation and System Testing
The primary goal of Milestone 2 is to develop, implement, and test the backend systems, including the smart contracts, to ensure they operate seamlessly and meet project specifications.
Outputs
Acceptance criteria
Evidence of Milestone completion
Milestone achievement will be verified when both the GitHub repository and the walkthrough video are publicly released and available for review by community members.
Timeline: 2 month
UI/UX Design
The primary goal of Milestone 3 is to develop a UI/UX Design together with an expert in the field to meet our expectations for the project.
Outputs
Milestone 3 includes the following key activities:
Acceptance criteria
The production-ready UI/UX design is finalized, published, and accessible to the community for review.
Evidence of Milestone Completion
The Figma files and the video walk-through are publicly available, and community members can review them.
Timeline: 0.5 month
Front-End Development Using Next.js 14
The primary goal of Milestone 3 is to develop the front-end interface of the project using Next.js 14, ensuring that it aligns with the previously established UI/UX designs and integrates seamlessly with the backend systems from earlier milestones.
Outputs
Those are the key activities included in the third phase:
Acceptance criteria
Evidence of Milestone Completion
Milestone achievement will be verified when community members can view the source code of the front-end on GitHub and community members can view the video walk-through of these functions on YouTube.
Timeline: 2 month
Platform Launch with Alpha Release
Outputs:
Acceptance criteria
Community members are able to access the platform live and test all functionalities of the service.
Evidence of Milestone Completion
Milestone achievement will be confirmed when community members can actively access the Dapp live and fully utilize all its functionalities.
Timeline: 0.5 Months
Close-out report and close-out video.
Once our project is launched, including the alpha phase testing, we will have reached the final launch phase.
Outputs
Final Milestone involves the following key activities:
Acceptance criteria
The following items are publicly available for the community to review.
Evidence of Milestone completion
Timeline: 1 Month
What happen next?
In this phase, our first and main goal will be to make our system become a standard for the automotive market at European level. For this purpose, meetings will be arranged with members of the European Parliament to show our system that guarantees to eliminate the fraud that we are suffering today, also clearly benefiting the fight against climate change.
Other alternatives for our product would be to sell this set as a Saas to large manufacturers such as Mercedes, Volkswagen, Audi, etc ... or large companies that are leaders in the used car market, so our company would be responsible for the implementation and adaptation to each brand and their needs.
Head of the project & FullStack Blockchain Developer ⇒ Alejandro G. Martin: https://www.linkedin.com/in/alejandro-guindo-mart%C3%ADn-973ab2246/
Plutus Developer ⇒ We are currently in the process of selecting a developer specialized in Plutus for this project. Unfortunately, we are not yet able to provide the name of the winning candidate.
As third party: Legal support company to comply with the legality of our service in Europe.
Our team roles and responsibilities for the project are:
=> Blockchain Development - Alejandro G. and (Plutus Developer)
=> Frontend Development - Alejandro G.
Milestone 1: Project Initiation and Definition of Final Design Architecture
The allocated budget will be utilized to hire an expert developer in Plutus and Haskell to research and help to define the final architecture of the project.
Milestone 2: Smart Contract Implementation and System Testing
This allocation is primarily dedicated to the design and development of both smart contracts, covering expenses related to coding, testing, and initial debugging.
Milestone 3: UI/UX Design
This budget is allocated to engage a skilled UI/UX designer who will develop high-quality Figma designs for our project.
Milestone 4: Front-End Development
This budget is specifically designated for the comprehensive design and development of the front-end using React and Next.js technologies.
Milestone 5: Platform Launch with Alpha Release
This allocation primarily funds a developer tasked with launching the platform in an alpha production state. Additionally, it covers reviewing feedback from alpha testers and implementing necessary corrections to the app.
Final Milestone: Close-out report and close-out video.
The Final Milestone encompasses drafting a comprehensive project close-out report and producing a close-out video. To enhance the project's visibility, a targeted marketing campaign will also be included in this final stage.
TOTAL COSTS (Estimated): USD$104.000 (237.000 ADA at current values)
We've calculated the projected costs by taking into consideration standard rates associated with software development projects. This estimation carefully considers both the time requirements and the level of expertise needed for each phase. Additionally, we've accounted for potential expenses related to unforeseen complications or delays that may arise throughout the development and testing processes.
The success of our project/solution TradyCar can bring significant value to the Cardano community in several ways, for instance: