ECO ID Card Datenbank — Merkle Tree Verifizierung auf KC Chain
Ab dem 14. August 2026 wurde das ECO ID Card System mit einer Merkle Tree Datenbank und KC Chain-Integration aufgerĂĽstet. Alle ECO ID Cards werden nun in einer PostgreSQL-Datenbank gespeichert, kryptografisch als einzelner 32-Byte Merkle Root zusammengefasst und auf der KC Chain-Blockchain verankert.
Was hat sich geändert?
Das ursprüngliche ECO ID System (9. August) registrierte jeden Zertifikats-Hash einzeln auf der CC Chain. Mit bis zu 8 Milliarden potenziellen Karten skaliert dieser Ansatz nicht. Das neue System verwendet einen Merkle Tree, um alle Kartendaten in einen einzigen On-Chain-Root-Hash zu komprimieren — unbegrenzte Skalierbarkeit bei kryptografischer Verifizierbarkeit.
Schlüsselupgrade: Statt jede Karte einzeln on-chain zu speichern (teuer, langsam), speichern wir einen einzigen 32-Byte Merkle Root, der alle Karten zusammenfasst. Jeder kann eine Karte verifizieren, indem er einen Merkle Proof liefert — kein On-Chain-Lookup pro Karte nötig.
Wie der Merkle Tree funktioniert
Root (32 Bytes, auf KC Chain) ├── Hash(L1 + L2) │ ├── Hash(Leaf1) → Karte 1 │ └── Hash(Leaf2) → Karte 2 └── Hash(L3 + L4) ├── Hash(Leaf3) → Karte 3 └── Hash(Leaf4) → Karte 4
Leaf = SHA-256(ipv6 | wallet_address | cert_hash)
Jeder Karten-Leaf ist ein SHA-256-Hash aus drei Kernfeldern. Interne Knoten hashen ihre Kinder zusammen (sortiert für Determinismus). Der Root wird on-chain gespeichert. Um eine Karte zu verifizieren, liefert man ihren Leaf und die Geschwister-Hashes entlang des Pfads zum Root — einen Merkle Proof.
Was wird wo gespeichert?
| Speicher | Was | Größe |
|---|---|---|
| PostgreSQL (TH-ubu-1) | Vollständige Kartendaten | ~2-3 TB für 8B Karten |
| KC Chain (on-chain) | 32-Byte Merkle Root + Historie | 32 Bytes + ~32 KB |
| Browser (Benutzer) | ECDSA P-256 privater SchlĂĽssel | ~64 Bytes |
So beantragst du eine ECO ID Card
1 ECO ID-Panel öffnen
Klicke auf den ECO ID-Button in deiner rechten Seitenleiste im Spiel.
2 SchlĂĽssel & CSR generieren
Klicke auf ECO ID beantragen, dann auf Schlüssel & CSR generieren. Dein Browser erstellt ein ECDSA P-256-Schlüsselpaar. Der private Schlüssel verlässt niemals dein Gerät.
3 Goldenen Botschafter finden
Teile deine User-ID mit einem Goldenen Botschafter. Er signiert sie mit seinem Ethereum-Wallet per personal_sign. Nur Goldene Botschafter (ernannt) können bürgen — gewählte Botschafter nicht.
4 Einreichen
Gib die Wallet-Adresse des Botschafters und die Signatur ein. Klicke auf Einreichen & Signieren. Die ECO CA signiert dein Zertifikat.
5 Karte registriert
Deine Kartendaten (IPv6, Wallet-Adresse, Cert-Hash) werden in PostgreSQL gespeichert. Der Merkle Tree wird neu berechnet und der Root auf die KC Chain ĂĽbertragen.
FĂĽr Goldene Botschafter: FĂĽr einen Spieler bĂĽrgen
Goldene Botschafter (ernannt) sehen einen zusätzlichen Bereich im ECO ID-Panel: “Für Spieler bürgen”. Gewählte Botschafter haben diese Funktion nicht.
- Frage den Spieler nach seiner User-ID (UUID)
- Gib sie ein und klicke auf Mit Wallet signieren
- Kopiere die Signatur und teile sie mit dem Spieler
Wichtig: Mit deiner Signatur bĂĽrgst du kryptografisch fĂĽr diesen Spieler. BĂĽrgte verantwortungsvoll.
Verifizierungsablauf
- Verifizierer hat: IPv6, Wallet-Adresse, Cert-Hash
- Gesendet an Merkle Service
/verify - Service berechnet Leaf, durchsucht Merkle Tree
- Merkle Proof wird generiert
- Proof wird gegen On-Chain-Root verifiziert
- Gültig + Root übereinstimmt → Karte authentisch
Technische Details
- Browser: Web Crypto API, ECDSA P-256. Privater SchlĂĽssel in IndexedDB.
- ECO CA: HSM-gestĂĽtzt (Nitrokey HSM2). Signiert Zertifikat, gibt PEM + SHA-256-Hash zurĂĽck.
- Merkle Service: Node.js auf TH-ubu-1 (:9200). PostgreSQL, Merkle Tree, On-Chain-Updates.
- On-Chain:
ECOIDRegistry.updateEcoIdMerkleRoot()auf KC Chain (Chain ID 90603). - Vertrag:
0x23Fc8E33F7762268800739aE1ccB3EAF8A1435bA - On-chain: 32-Byte Merkle Root, Update-Zähler, Root-Historie (bis 1000).
- Nicht on-chain: Persönliche Daten, private Schlüssel, Zertifikate.
Häufige Fragen
Kann ich eine zweite ECO ID bekommen? Nein. Eine ECO ID pro Benutzer.
Was, wenn ich meinen privaten SchlĂĽssel verliere? Dein Zertifikat bleibt gĂĽltig, aber du kannst die Inhaberschaft nicht mehr beweisen. Ein Widerrufsprozess wird in einem zukĂĽnftigen Update verfĂĽgbar sein.
Muss der Botschafter aus meinem Land sein? Nein — jeder Goldene Botschafter (ernannt) kann für jeden Spieler bürgen. Hinweis: Gewählte Botschafter können NICHT für ECO ID Cards bürgen — nur Goldene Botschafter haben diese Befugnis.
Sind meine persönlichen Daten auf der Blockchain? Nein. Nur ein 32-Byte Merkle Root wird on-chain gespeichert.
Wie lange ist das Zertifikat gĂĽltig? 10 Jahre ab Ausstellungsdatum.
Server
- Welt: https://world.getplasma.org
- Indien: https://in.getplasma.org
- USA: https://us.getplasma.org
- Singapur: https://sg.getplasma.org