projectAvatar is a workflow and proof-of-concept for generating, customizing, and cryptographically proving digital ownership of a unique avatar image. This project combines a real-world photograph with an AI-generated avatar, producing provenance and ownership proofs that are publicly verifiable. The resulting avatar can be used across digital platforms, with all steps and proofs documented and linked for transparency.
- Motivation
- Process Summary
- Repository Structure
- Cryptography and Proofs
- Decentralized Storage & CID
- Digital Ownership and Provenance Verification
- References & Related Links
In the digital era, avatars represent our identities across platforms. Ensuring that your avatar is unique, verifiably owned by you, and its origin is provable, is essential for digital sovereignty. This project demonstrates a transparent, reproducible process for creating, proving, and sharing such an avatar.
-
Image Preparation
- Start with a real-world image (
AnwaarAli2025.jpg
). - Generate an AI-based avatar (
avatar.png
) using ChatGPT or a similar tool.
- Start with a real-world image (
-
Combining & Hashing
- Concatenate the two images into a single binary (
combined.bin
) on the Linux command line. - Generate a SHA-256 checksum of
combined.bin
using check256sum.
- Concatenate the two images into a single binary (
-
Proof Generation
- Save the hash proof in
proofs/avatar_proof.sha256
. - Sign the hash using a cryptographic wallet, storing the signed message in
proofs/signed.json
.
- Save the hash proof in
-
Decentralized Storage
- Upload the avatar to Storacha (a decentralized storage platform).
- Access the avatar publicly via its Storacha Root CID.
projectAvatar/
├── proofs/
│ ├── avatar_proof.sha256 # SHA-256 checksum of combined images
│ └── signed.json # Signed hash using Ethereum wallet
├── avatar.png # AI-generated avatar image
├── AnwaarAli2025.jpg # Real-world source image
└── README.md # Documentation (this file)
The project leverages cryptographic tools to establish and verify digital ownership:
-
SHA-256 Hashing:
The concatenated binary file (combined.bin
) is hashed using SHA-256. The output, as seen inavatar_proof.sha256
:d1d0d05f3c6b5383b07225abf346c94c64bccb58d75df2ac934ba8dff54ec4f5 combined.bin
-
Digital Signature:
The hash is signed using an Ethereum wallet, producing a verifiable signature. The signed message, wallet address, and other metadata are stored insigned.json
:{ "address": "0x48e15850438A513F64E5317705e47567a49248b2", "msg": "d1d0d05f3c6b5383b07225abf346c94c64bccb58d75df2ac934ba8dff54ec4f5 combined.bin", "sig": "0x66902c819f99a050cf2728a6565d0e4d5184164b3c4a69f80bdd1f50f7fefc4e7a77930138e741a33f9d021622026867102fa0e03aeba64358fa5961233e23571b", "version": "2" }
-
Verification:
Anyone can independently verify:- The SHA-256 hash of
combined.bin
matches the recorded hash. - The signature was generated by the listed Ethereum address.
- The avatar image on Storacha matches the original by downloading and hashing.
- The SHA-256 hash of
[IMPORTANT]: Always verify signatures using a trusted Ethereum tool (Etherscan or MyEtherWallet), and check the hash using sha256sum
or equivalent.
-
What is Storacha?
Storacha is a decentralized storage platform, similar to IPFS. Files are uploaded and addressed by their content, not location. -
CID (Content Identifier):
A CID is a unique identifier generated by hashing the file's content. It guarantees that the file retrieved is exactly as uploaded, enabling trustless, tamper-proof storage. -
Accessing the Avatar:
- Storacha Root CID:
bafybeihnq2yd56hdvjwbh6krb6rmfuprnecepxcwpt6litgn3xcfr7ngeu
- Direct Link: View the avatar on Storacha
Anyone can fetch the avatar from this link or using the CID via any IPFS-compatible gateway.
- Storacha Root CID:
Digital Ownership is the ability to prove, beyond dispute, that you own a specific digital asset. This is achieved via:
- Content Hashing: Uniquely identifies the content regardless of filename or storage location.
- Cryptographic Signatures: Only the owner of a private key (e.g., an Ethereum wallet) can generate a valid signature, which can be publicly verified.
- Decentralized Storage: The asset is accessible globally and is tamper-evident, thanks to content addressing (CID).
Provenance Verification refers to tracing the history and origin of a digital asset. In this project, provenance is established by:
- Documenting the process (real image → AI avatar → combined hash).
- Publishing all steps, hashes, and signatures in this repository.
- Hosting the final asset on a decentralized, content-addressed platform (Storacha).
- projectAvatar GitHub Repository
- Storacha Decentralized Storage
- Storacha Root CID Viewer
- IPFS Documentation
- Ethereum Message Signing
- sha256sum Linux Command
- check256sum on GitHub
This README was generated using github copilot spaces with minimal human interaction.