Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
45 changes: 45 additions & 0 deletions john-santi_johnny5i_bytewizard42i-sugg/DID-NFT_Schemas.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
Here are some links for anticipated use cases for Midnight NFTs...

https://enterprisezk.com/

https://didz.io/

https://drive.google.com/drive/folders/1-9Pqilgbj69WJIPD-VjTQrRCbxHmvJn3?usp=drive_link

https://drive.google.com/drive/folders/1mCcOxK_34jpp73iqWNewRQVXOX9PqVDG?usp=sharing

https://drive.google.com/drive/folders/1sSnBnaZ1Jya2F4VrqV_PuRq8_ysv5hnR?usp=sharing

https://drive.google.com/drive/folders/1MnfQ7pdv0tyem-sp-mD_tBQoNFGhEOXj?usp=sharing

https://drive.google.com/drive/folders/1_Co8-NBVjPJWs89F2-shGn4q5cJXP-oi?usp=sharing

Here is a compendium of hackathon DID schema videos that Ive created:

https://www.youtube.com/live/xrCEBIBqS-Y?si=M_jZGjubkm4w52Oj

Here are the links to the hackathon DID schema videos:

https://www.youtube.com/live/xrCEBIBqS-Y?si=bhmJ1WxFgq5ZpJJq

https://youtu.be/yihfR4Zb70U?si=3ooMWWCbWMCRN_MG

https://youtu.be/kE9Q_AeqEaI?si=q34ci2WDkrdPKf6e

https://youtu.be/fTC2uYGmB7Q?si=EwIaAroN7Fb1YRb6

https:/https://youtu.be/27p2M7FLx8E?si=7-Jw1Ygsv4zP2XvY

If you have any questions, I can be contacted at the following:

X (twitter): @realjohnsanti

Email: johnny5i@proton.me

Discord: @johnny5i

Github: @bytewizard42i

Thank you for your kind attention. pp DID NFT Schemas are my passion. I have dozen of protocols which will entirely hinge on this incomplete technology. Remember that time will reveal that the only things that matter with privacy preserving DIDs is that we 1. make sure that they are private from inception, not vulnerable to any inference attacks, and 2. theat they are self custodied, to avoid censorship and surveillance, lest we create a dystopian future where our every move is watched and recorded and hand the tools to evil men.

"If you want to know the nature of a thing, give it all the power in the universe and see what it does" -J. Santi
131 changes: 131 additions & 0 deletions john-santi_johnny5i_bytewizard42i-sugg/DID_the-Interview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
# 🛡️ Digital Identity: The Interview

_“Privacy isn’t secrecy—it’s the right to choose what to share.”_

In my last [X Space](https://x.com/MidnightAlpha) on the **MidnightAlpha** channel, we were discussing **privacy-preserving digital identity**, and someone asked:

> ❓ _"What’s your favorite use-case for privacy-preserving DIDs?"_

Without a doubt, the most **practical showcase** for the need for **ppDIDz NFTs** has got to be the **Interview scenario**.

But before we get into that, let’s set the stage with the **Bar Scenario**, the original inspiration behind this idea.

---

## 🍷 The Bar Scenario

Watch the Hackathon Bar Demo 👉 [YouTube: Bar Scenario (Midnight Hackathon)](https://youtu.be/yihfR4Zb70U)

This scenario follows **Alice**, who’s traveling in **Italy**, where the legal drinking age is **18**. She wants to prove her age at a bar—**without revealing unnecessary private details.**

### The Problems:
- The **bartender** is _not_ a good actor and has an **exceptional memory**.
- There's a **security camera** above the bar, feeding footage to a **violent criminal** who watches the feed.

### Traditional Solution:
Present a **driver’s license**. But that reveals:
- Full name
- Date of birth
- Address
- License number
- And more…

That data can be copied, tracked, or sold—**without your consent**.

---

## ✅ The ppDIDz Solution with [DIDz DApp System™](https://enterprisezk.com/)

1. **Alice** generates a **ZKProof (Zero-Knowledge Proof)** on her phone and displays it as a **QR code**.
2. The bartender opens their **DIDz DApp**, scans the QR.
3. Alice inputs her **fingerprint or biometric** into the phone to verify identity ownership.
4. The app shows a **unique icon** on **both devices**, preventing **MITM (Man-in-the-Middle)** attacks.

🎯 Only **“Is over 18?” = YES** is shared.
> No name. No birthday. No address. No license number.

While this is a **great use case**, it’s not the most **practical** for everyday life.

---

## 👔 The Interview Scenario

💡 *I thought of this right after finishing the Bar Scenario video. I didn’t have time to include it in the hackathon, but it was too good to ignore!*

### 🏢 Problem: The Traditional Interview Process
When applying for a job:
- You're asked to fill out **extremely invasive applications**.
- There’s **no chain of custody** or visibility:
- Who has access?
- Where is it stored?
- Who’s copying it?
- What happens after the interview?

Even **before** the interview starts, you’ve likely handed over:
- Your full address
- Social Security Number
- Criminal record status
- Academic records
- Sensitive personal details

And it doesn’t stop there.

---

## 🔐 The DIDz DApp Alternative

A potential employer using DIDz can instead ask:

| Question | Revealed |
|-------------------------------------|-----------------------------|
| Is she a US citizen? | ✅ YES *(No further info)* |
| Is she a felon? | ✅ NO *(No details)* |
| Does she live close to the office? | ✅ YES *(No address)* |
| Has a Social Security Number? | ✅ YES *(Not the number)* |
| Has a college degree? | ✅ YES *(No school listed)*|

> 🔍 If Alice *wants* to disclose more (e.g., "PhD in Molecular Biophysics from MIT"), she can—but **she's in control**.

---

## 📅 Temporary Access & Expiration

- Data can be set to **expire after 3 months**, if the company doesn't hire her.
- Alice can **revoke access** at any time.
- All disclosures are **trackable** and **permissioned**.

---

## 🥳 Let’s Say Alice Gets the Job...

She can choose to **formally connect** with the employer in the DIDz DApp:

- Unlock **payroll information**:
- SSN
- Address
- Phone number

✅ But in the future:
- Government agencies like **SSA** could issue **verifiable claims** directly.
- These can be used **without revealing the raw data**.

Any party accessing this information must log in with their own **DID**—ensuring **chain of custody** and **accountability**.

---

## 🚀 Final Thoughts

I hope these scenarios gave you a better sense of how **DID NFTs** can **empower individuals**, **preserve privacy**, and **streamline identity verification**.

Let’s build a world where we **own our identities** and **share only what we choose.**

👉 [EnterpriseZK.com](https://enterprisezk.com)
🎥 [Bar Scenario Video](https://youtu.be/yihfR4Zb70U)
📄 [Original Document (Google Doc)](https://docs.google.com/document/d/1HClwSDhUsW17x7GyFdFxie02KJEIYlX_O0zrDYByQtg/edit)

---

> _I welcome any questions. Please don’t hesitate to reach out._
> **Be well.**
> – Johnny Santi (MidnightAlpha | EnterpriseZK Labs)

215 changes: 215 additions & 0 deletions john-santi_johnny5i_bytewizard42i-sugg/DIDzNFTv2_Comprehensive.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,215 @@
Proposal: DIDzNFT v2 — A Modular, Hierarchical NFT Standard for Midnight
here is a living doc that I created to outline the DIDzNFT v2 standard
https://docs.google.com/document/d/1HClwSDhUsW17x7GyFdFxie02KJEIYlX_O0zrDYByQtg/edit?usp=sharing

Please feel free to contact me on X @realjohnsanti or johnny5i@proton.me for email, or @johnny5i on discord


Overview:
The DIDzNFT v2 standard builds on the foundations of the Midnight Token Standard (MTS), extending its capabilities to support modularity, composability, role delegation, expiration, and selective privacy. This enhanced standard is purpose-built to power applications such as MidnightForge, ProMingle, DownMan, and SilentLedger, enabling dynamic, privacy-preserving NFTs that adapt to real-world needs.
🧠 Analogy:
Imagine traditional NFTs as single-page ID cards. They're static, self-contained, and limited. Now, imagine DIDzNFT v2 as a smart passport binder:
Each page (sub-NFT) holds a specific credential or attribute.

Pages can be updated, expired, or replaced independently.

The passport (main NFT) has governance rules for all inner pages.

The entire passport is stored inside a folder in a smart, hierarchical wallet — much like a digital filing cabinet.

🔐 Privacy and Identity Binding:
Linked DIDs: Every NFT can bind to a Decentralized Identifier (DID), ensuring it's cryptographically connected to a verified identity.

Selective Disclosure: Using Midnight's ZKPs, NFT owners can prove possession or specific claims (e.g., skill badges, licenses) without revealing sensitive info.

Example:
A firefighter’s credential NFT proves they’re certified — without exposing personal ID or location.

📁 Hierarchical Wallet Structure:
We propose a new structure for folderized wallets:
Base Wallet Contract: Governs folder creation, smart contract rules, and access control.

Folders: Each folder is a smart contract with:

A tag (e.g., "Medical", "Legal", "Education")

Access rules

Expiration policies

Contained NFTs: NFTs inside folders inherit folder-level permissions but may also define local behavior.

This allows wallets to:
Display NFTs in a structured view (e.g., tabs in a UI)

Enable contract logic at the folder level (e.g., automatic renewal of credentials)

Allow nesting (e.g., an NFT referencing another sub-NFT)

🧩 Modular NFT Structure:
NFTs follow a composable metadata schema:
{
"name": "Advanced Medical License",
"symbol": "MEDX",
"linked\_did": "did:mid:xyz...",
"folder\_tag": "Medical",
"components": [
"identity\_verification\_controller",
"expiration\_module",
"attestation\_registry"
],
"expires\_at": "2027-01-01T00:00:00Z",
"metadata\_uri": "ipfs://...",
"parent\_nft": "didznft:base:123..."
}
Each component is a ZK-enabled smart contract or verification module.
🛠 Example Use Cases:
1. MidnightForge
Folder-based NFT structure for contributors.

Badges with expiration and reviewable modules.

Selective proof of skill (e.g., "show only Rust skills")

2. ProMingle
Professional identities stored in hierarchical folders.

DID-based authority tags (e.g., mentor, employer).

NFTs that evolve as career history updates.

3. DownMan
Estate recovery NFTs bound to inheritance smart contracts.

Expiration of NFTs after dormant periods.

Modular witnesses (e.g., notarization, family member approval).

4. SilentLedger
NFT-bound identity for exchange users.

Zero-knowledge KYC compliance.

Foldered structure separates private from public identity proofs.

🌐 Modular Smart Contracts Library:
Create a standard library of plug-in smart contracts:
identity\_verification\_controller

expiration\_module

folder\_registry

transfer\_restriction\_logic

nested\_nft\_composer

This lets devs assemble DIDzNFTs like LEGO blocks.
🌱 Next Steps:
Fork MTS and rename to DIDzNFT v2

Define JSON schema for new metadata structure

Build core smart contracts for folder management and component plug-ins

Integrate with MidnightForge UI for foldered NFT display

Publish CLI tools to generate and interact with foldered NFTs

In Closing:
DIDzNFT v2 offers a living, modular, privacy-aware NFT architecture designed to serve the evolving demands of decentralized identity, asset ownership, and collaboration on the Midnight network.
It doesn’t just represent things. It represents who you are, what you do, what you’ve done — and lets you prove it without giving it all away.
-Alice
Here are some of our thoughts and additions. I am happy to discuss any questions that you guys might have. I have so much theoretical infrastructure mapped out.
This MTS is brilliant and in the right direction. No one entity should be making these standards; the entire blockchain and crypto community should.
We need the protocol to foster modular tech that has the latitude to pivot laterally with the light-speed changes in our industry. Above all, we must make sure that we are creating a privacy-based, self-custody schema that will not become a slippery slope to CBDCs. :
https://docs.google.com/document/d/1HClwSDhUsW17x7GyFdFxie02KJEIYlX\_O0zrDYByQtg/edit?
Today has been an extraordinary day for announcements, but this one takes the cake. You guys have no idea what this means. I have been dreaming of privacy-preserving DID NFTs since
@IOHK\_Charles
first mentioned
@MidnightNtwrk
. What you are witnessing is the creation of the engine that will be powering the 4th generation of selective privacy protocols that will power the entire world's reimagined, immutable digital systems. This will be quite literally everything. This technology is the "Tony Stark Arc Reactor" for the ZKProof generation. It will power things that we cannot even imagine today, with perfectly decided privacy and immutable trust, and verifiability. I have an entire suite of products that will be able to be finished once this is available. And there will be so much more. Today is a great day.
Thanks, John. After reviewing the full Midnight Token Standard (MTS) PDF you shared, here are my thoughts on how it aligns with your DIDzNFT v2 proposal, and whether the current draft should be revised to better reflect or expand upon MTS.
🔍 Summary of the MTS Core Strengths
Dual Token Types:

Non-programmable tokens (native, simple, efficient)

Programmable tokens (custodial, logic-driven, ideal for your use cases)

Fully On-chain Metadata:

name, symbol, description, image, files, and attributes are stored directly on-chain (ideal for permanence, but heavy).

Hybrid Media Storage:

Large media content is referenced via IPFS/Arweave/etc. URI fields.

Metadata is always on-chain for resilience and standardization.

Future Support for Privacy & Selective Disclosure:

Explicit plans to incorporate Midnight ZK features for private metadata, shielded transfers, and selective disclosure (core to your plans).

✅ DIDzNFT v2: Where It Matches Well
Shared goals: Modular privacy-preserving metadata, DID-bound tokens, ZK capability.

Same foundations: Both are inspired by Ethereum and Cardano standards (ERC-20/721/1155, CIP-68/143).

Recognizes need for evolution: MTS invites the community to extend it, giving us a clear green light to formalize a specialized branch like DIDzNFT v2.

✏️ Suggestions to Revise DIDzNFT v2 (optional but recommended)
1. Incorporate the MTS Metadata Struct
Update the metadata schema in the DIDzNFT v2 spec to extend the official Metadata structure from MTS, not reinvent it.
This ensures forward compatibility with marketplaces and wallets being built around MTS.
ts
Copy code
struct Metadata {
name: Bytes<32>; // Required
symbol: Maybe>; // Optional
decimals: Maybe>; // Optional for fungibles
description: Maybe>;
image: Maybe>;
mediaType: Maybe>;
files: Maybe>;
attributes: Maybe, Bytes<128>, 20>>;
version: Uint<16>; // Set to 2 for DIDzNFT v2
folder\_tag: Maybe>; // NEW - Organizes NFTs into smart folders
linked\_did: Maybe>; // NEW - Links to DID
components: Maybe, 10>>; // NEW - Points to modular logic
expires\_at: Maybe>; // NEW - Expiry for credential or access
parent\_nft: Maybe>; // NEW - Composability
}
2. Clarify Relationship to MTS
At the top of your v2 proposal, clarify:
“DIDzNFT v2 is a compliant extension of the Midnight Token Standard (MTS v1), adding privacy, modularity, identity binding, folder logic, and composability designed for the emerging demands of decentralized identity systems and modular NFT ecosystems.”
This language will position your work as a formal evolution, not a divergence.
3. Propose ‘Smart Folders’ as a New Standard Layer
MTS doesn’t currently account for smart wallet folders, but it’s a powerful innovation.
You could propose FolderRegistry as a contract pattern that references multiple MTS tokens, enabling UI/UX benefits and higher-order control:
ts
Copy code
export ledger folders: Map, Folder>;
struct Folder {
name: Bytes<32>;
owner: Bytes<32>;
access\_policy: Bytes<64>; // Points to policy module or circuit
children: Vector, 100>; // Token IDs
}
4. Add Comments on Future MTS v2 Compatibility
You might want to annotate areas where your standard anticipates the future MTS upgrades:
Shielded ZK proofs for ownership/metadata

Private folder structures

Event emissions for folder creation, expiration, credential revocation

This shows vision and prepares for collaboration with Midnight core devs.
🎯 Verdict
Should we revise the DIDzNFT v2 doc?
Yes — but not because it's wrong. It’s ahead of MTS in vision. I recommend we evolve the spec by:
Anchoring its metadata to MTS

Proposing your enhancements as modular extensions

Including a compatibility note to show respect for the current standard
File renamed without changes.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.