Petso
  • WELCOME TO PETSO
    • Objective & Goals
    • Mission Statement
    • Statistics
    • Problem - What challenges are we addressing?
    • Benefits of a Blockchain-Enabled Pet App
    • Core Features and Functionalities
    • Privacy & Security
    • Expected Impact and Future Growth
    • Market & Customer Segment
    • Team
    • Roadmap & Milestones
    • Pet Ancestry Insights
    • Charity and Social Impact Initiatives (CSR)
    • Financials
    • Petso Revenue Model: Comprehensive Overview
    • Global Pet Registration and Information Sharing with Governments
  • Core Technology
    • Decentralized Identifier (DID)
    • Zero-Knowledge Proofs (ZKPs)
    • Artificial intelligence (AI)
    • Non-Fungible Token (NFT)
    • Blockchain and Digitisation: Transforming Tomorrow
    • Token & Reward System - Gamification
    • Staking, Governance & Voting
    • Voting Portal
  • Product Features
    • Birth Records & Ancestry DNA Data
    • Health Records and Tracking
    • Appointment Scheduling and Reminders
    • Health and Wellness Monitoring
    • Emergency Information
    • Ownership and Consent Management
    • Training and Behavioral Tracking
    • Social and Community Features
    • Educational Content and Resources
    • E-commerce and Product Recommendations - Marketplace
    • Integration with Wearable Devices
    • Pet AI Assistant
    • Pet Cemetery
    • Pet Investment Plan
    • Virtual Adoption
    • NFT-Driven Quest & Investor Reward Programme
  • Tokenomics
    • $PET Token Utility
    • $PET Token Allocations
    • $PET Token Analysis
    • Buy-Back and Reward Distribution Policy
  • Getting Started
    • Quickstart
    • Publish your docs
  • Basics
    • Editor
    • Markdown
    • Images & media
    • Interactive blocks
    • OpenAPI
    • Integrations
Powered by GitBook
On this page
  1. Core Technology

Decentralized Identifier (DID)

A Decentralized Identifier (DID) for pets within a blockchain-enabled app can be a transformative way to manage and secure the identity of pets. DIDs provide a tamper-proof digital identity for pets, enhancing ownership transparency, access to veterinary records, and tracking capabilities. Here’s an overview of core features that a pet DID system could include:


Core Information within a Pet DID

  1. Unique Identifier: Each pet receives a unique cryptographic DID that is immutable and verifiable.

  2. Pet Profile Data: Basic information such as name, breed, color, and microchip number (if applicable) is linked to the DID, ensuring quick identification.

  3. Owner & Transfer History: A record of past and current owners is maintained, creating a secure, auditable trail of ownership. Each owner is also assigned a DID that connects them to their pet, ensuring clarity on pet custody.

  4. Health & Vaccination Records: Comprehensive records of vaccinations, medical history, allergies, and medications are securely linked to the DID, ensuring continuity in care.

  5. Ancestry & DNA Data: Genetic information or lineage, if available, is linked for breeds that benefit from detailed ancestry, which can be valuable for breeders and pet enthusiasts.

  6. Activity & Certification History: If the pet has undergone training, received awards, or has special skills (such as service animals), these are included within the DID.


Detailed Features

1. Immutability and Security via Blockchain

  • How It Works: The pet’s DID is stored on a decentralized blockchain, ensuring its tamper-proof and permanent nature. Once recorded, no single entity can alter the data, and it remains secure even if the app changes ownership.

  • User Benefit: Pet owners gain peace of mind that their pet’s data is safely recorded and accessible at all times, providing security in case of disputes over ownership, health care, or transfers.

2. Ownership Transfer & Verification

  • Feature: Owners can transfer pet ownership by securely authorizing a DID transfer on the blockchain, which is visible in the ownership history.

  • How It Works: Ownership transfer is validated on the blockchain, where both parties authenticate their identities and sign off on the transfer, creating a trusted transfer protocol.

  • User Benefit: Ensures ownership clarity, especially valuable for breeders, adopters, and those who might transfer pet care responsibilities.

3. Secure and Verified Medical Record Access

  • Feature: Veterinarians, groomers, and trainers can securely access a pet’s medical and vaccination records through permissioned DID access.

  • How It Works: When visiting a new veterinarian, owners can grant temporary access to the pet’s health records via the app. The veterinarian’s access is logged and secure, ensuring that records remain private but easily accessible for authorized individuals.

  • User Benefit: Streamlines healthcare visits by enabling instant, verifiable access to vaccination history, reducing paperwork, and improving pet care.

4. Lost Pet Recovery with Geo-Location Triggers

  • Feature: In case of a lost pet, the DID can activate geo-location services or broadcast the pet’s details to registered shelters and vet clinics within a set area.

  • How It Works: Shelters or finders can verify the pet’s DID by scanning a QR code or microchip, which then alerts the owner or shelter network for recovery.

  • User Benefit: Increases chances of pet recovery by making identity verification instant and verifiable without compromising pet privacy.

5. Tokenized Rewards for Pet Health Updates

  • Feature: Pet owners receive token rewards for regularly updating health records, vaccinations, and activities.

  • How It Works: Users are incentivized to keep their pet’s DID up-to-date through token rewards, which can be redeemed for in-app services or discounts.

  • User Benefit: Encourages pet owners to keep profiles current, improving data accuracy and creating incentives for health updates.


Benefits of Pet DIDs

  • Transparency and Trust: Ensures pet details are accurate, up-to-date, and trustworthy, benefiting owners, breeders, and veterinarians.

  • Dispute Resolution: With clear ownership and transfer history, legal or adoption disputes can be resolved quickly and fairly.

  • Data Privacy: The DID architecture allows owners full control over data sharing and access, safeguarding sensitive pet data.

Implementing DIDs for pets within a blockchain app ensures robust security, streamlined access, and a better-connected ecosystem for pet owners, professionals, and communities. This promotes higher trust and simplifies record management across a pet’s lifetime.

Decentralized Identifiers (DIDs) Contract

An Ethereum-based smart contract to store DID data involves defining a simple contract that stores Decentralized Identifiers (DIDs) and associated information, such as public keys and service endpoints, for identity verification. Here’s an example of how such a smart contract could look, written in Solidity:

Basic Ethereum DID Smart Contract

This example includes functionalities for creating, updating, and retrieving DIDs on the Ethereum blockchain.

solidity

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

contract EthereumDIDRegistry {

struct DIDDocument {

string did; // DID string (e.g., did:ethr:0x123...)

string publicKey; // Public Key associated with the DID

string serviceEndpoint; // Service Endpoint, if any

uint256 lastUpdated; // Timestamp of the last update

}

// Mapping of owner addresses to their DID Document

mapping(address => DIDDocument) public didDocuments;

// Event for DID creation or update

event DIDRegistered(address indexed owner, string did, uint256 timestamp);

event DIDUpdated(address indexed owner, string did, uint256 timestamp);

// Function to create a new DID Document

function createDID(string memory _did, string memory _publicKey, string memory _serviceEndpoint) public {

require(bytes(didDocuments[msg.sender].did).length == 0, "DID already exists for this address.");

// Create and store the DID document

didDocuments[msg.sender] = DIDDocument({

did: _did,

publicKey: _publicKey,

serviceEndpoint: _serviceEndpoint,

lastUpdated: block.timestamp

});

emit DIDRegistered(msg.sender, _did, block.timestamp);

}

// Function to update an existing DID Document

function updateDID(string memory _publicKey, string memory _serviceEndpoint) public {

require(bytes(didDocuments[msg.sender].did).length != 0, "DID does not exist for this address.");

// Update the public key and service endpoint

didDocuments[msg.sender].publicKey = _publicKey;

didDocuments[msg.sender].serviceEndpoint = _serviceEndpoint;

didDocuments[msg.sender].lastUpdated = block.timestamp;

emit DIDUpdated(msg.sender, didDocuments[msg.sender].did, block.timestamp);

}

// Function to retrieve the DID Document by address

function getDID(address _owner) public view returns (string memory, string memory, string memory, uint256) {

DIDDocument memory document = didDocuments[_owner];

require(bytes(document.did).length != 0, "No DID registered for this address.");

return (

document.did,

document.publicKey,

document.serviceEndpoint,

document.lastUpdated

);

}

}

Explanation of Key Components

  1. DIDDocument Struct: Holds the DID metadata:

    • did: The identifier, typically in the format did:ethr:<address>.

    • publicKey: Stores the public key associated with the DID.

    • serviceEndpoint: Optional URI or endpoint where additional DID-related services can be accessed.

    • lastUpdated: Timestamp for tracking the last update.

  2. Mapping and Functions:

    • didDocuments: Maps an address to its DID document, allowing users to own and manage their unique DID records.

    • createDID: Allows a new DID to be registered with an associated public key and service endpoint.

    • updateDID: Allows updating the public key and service endpoint.

    • getDID: Fetches the DID document details by address.

  3. Events:

    • DIDRegistered: Emitted when a new DID is created.

    • DIDUpdated: Emitted whenever a DID document is updated.

This contract provides a simple and extensible foundation for managing decentralized identity documents on the Ethereum blockchain.

PreviousCore TechnologyNextZero-Knowledge Proofs (ZKPs)

Last updated 6 months ago