Otvoreni protokol · eID → onchain · Faza 0: MVP

Jedna osoba.
Jedan onchain identitet.

Proof of Croatian Personhood — open-source protokol koji hrvatsku/EU eID prijavu pretvara u dokaz osobnosti na blockchainu. Jedna osoba može imati više novčanika, ali samo jedan identitet. Bez toga onchain demokracija ne radi.

eID izvor: Certilia (eIDAS High) OIB nikad onchain (GDPR) Open-source (Apache-2.0 / MIT) Gnosis Chain
airKUNA novčić
1 osoba = 1 identitet
jedinstvenost vezana za osobu (nullifier iz OIB-a), ne za novčanik — Sybil-otporno
27 zemalja EU
source-agnostično: Certilia danas → EUDI Wallet sutra (isti onchain sloj za cijelu EU)
0 OIB-a onchain
sirovi OIB nikad ne napušta backend; onchain ide samo nepovratan nullifier
Problem koji rješavamo

Onchain demokracija ne radi bez dokaza osobnosti

Građani dobivaju vrhunski digitalni identitet, a onchain svijet nema način da provjeri „ovo je jedna stvarna osoba". Dva jaza blokiraju legitimno glasanje i raspodjelu javnih sredstava.

flowchart TB A(["Jedna osoba
(napadač)"]):::person --> W1["Novčanik 1"]:::bad A --> W2["Novčanik 2"]:::bad A --> W3["Novčanik …1000"]:::bad W1 --> V{{"Glasanje · QF · DAO"}}:::warn W2 --> V W3 --> V H(["Poštena osoba
1 glas"]):::good --> V V --> R["Rezultat iskrivljen
napadač preglasa poštene"]:::bad classDef person fill:#fff,stroke:#002F6C,color:#002F6C,font-weight:600; classDef entity fill:#002F6C,stroke:#001631,color:#fff,font-weight:600; classDef bad fill:#C0181C,stroke:#7a1418,color:#fff,font-weight:600; classDef warn fill:#E3AF35,stroke:#9a6f1f,color:#3a2900,font-weight:600; classDef good fill:#1A7A3C,stroke:#0c3f23,color:#fff,font-weight:600;
Sybil napad. Bez dokaza osobnosti 1 čovjek = 1000 glasova → onchain glasanje, QF i DAO postaju nepouzdani.
flowchart TB U1(["Građanin"]):::person --> C U2(["Građanin"]):::person --> C U3(["Građanin"]):::person --> C C["Certilia / AKD
jedina točka istine · eIDAS High"]:::warn --> X{{"Može sam iskovati ili
uskratiti identitet"}}:::bad X -. "sve ovisi o jednom entitetu" .-> D["Nema decentraliziranog
povjerenja"]:::bad classDef person fill:#fff,stroke:#002F6C,color:#002F6C,font-weight:600; classDef entity fill:#002F6C,stroke:#001631,color:#fff,font-weight:600; classDef bad fill:#C0181C,stroke:#7a1418,color:#fff,font-weight:600; classDef warn fill:#E3AF35,stroke:#9a6f1f,color:#3a2900,font-weight:600; classDef good fill:#1A7A3C,stroke:#0c3f23,color:#fff,font-weight:600;
Centraliziran eID. Hrvatska ima vrhunski eID (Certilia MobileID, eIDAS High) — ali jedan entitet = jedna točka kvara.
Zašto postojeća rješenja ne valjaju: biometrija je privatnosti neprijateljska, društveni grafovi su podložni dogovaranju, a KYC jedne tvrtke stvara novog vratara. Trebamo dokaz koji je privatan, ukorijenjen u državnom eID-u i upotrebljiv na javnom lancu.
Rješenje

eID → soulbound token osobnosti

Protokol pretvara verificiranu eID prijavu u soulbound token (SBT) na Gnosisu. Jedinstvenost se ne veže za novčanik nego za osobu — pa jedna osoba može imati više Safe novčanika, ali samo jedan identitet.

flowchart LR E(["eID prijava
Certilia → EUDI"]):::person -->|"HMAC(OIB)"| N["nullifier
OIB nikad onchain"]:::good N -->|"jednom po osobi"| I["Jedan identitet
SBT (soulbound)"]:::good I --> W1["Safe 1"]:::entity I --> W2["Safe 2"]:::entity I --> W3["Safe 3"]:::entity W1 -->|"isti identitet"| V{{"1 osoba = 1 glas"}}:::good W2 --> V W3 --> V V --> OK["Sybil-otporno
glasanje radi"]:::good classDef person fill:#fff,stroke:#002F6C,color:#002F6C,font-weight:600; classDef entity fill:#002F6C,stroke:#001631,color:#fff,font-weight:600; classDef bad fill:#C0181C,stroke:#7a1418,color:#fff,font-weight:600; classDef warn fill:#E3AF35,stroke:#9a6f1f,color:#3a2900,font-weight:600; classDef good fill:#1A7A3C,stroke:#0c3f23,color:#fff,font-weight:600;
Vizija — riješeno. eID → jedan nepovratan identitet → koliko god novčanika, samo jedan glas.
1

Jedna osoba, jedan identitet

Iz OIB-a se izvede nullifier = HMAC(OIB, tajni pepper) — deterministički i nepovratan. Sto novčanika iste osobe → isti nullifier → ugovor odbija drugi mint. To je Sybil-otpornost.

OIB nikad onchain

Sirovi OIB nikad ne napušta backend ni u plaintext bazi. Onchain ide samo nepovratan nullifier. GDPR-first, usklađeno s eIDAS načelom minimizacije podataka.

Oporavak = eID

Izgubiš novčanik? Ponovni Certilia login → isti nullifier → prebaci identitet na novi Safe. Tvoj eID je tvoj recovery.

EU

Source-agnostično

Certilia danas, EUDI Wallet sutra. Isti onchain sloj radi za svih 27 zemalja EU čim EUDI zaživi (obavezno ~2026./2027.).

Composable

SBT na javnom lancu koristi bilo koji DAO, krug kvadratnog financiranja ili onchain glasanje — za razliku od permissioned EU EBSI-ja.

Privatno glasanje

MACI / Semaphore zk-nullifieri daju jedan-čovjek-jedan-glas bez povezivanja glasa s građaninom, uz otpornost na kupovinu glasova. (Faza 4.)

Kako radi

Od eID prijave do onchain SBT-a

Verificirana eID sesija se kriptografski dokaže, iz OIB-a se izvede nullifier, a ugovor iskuje osobni SBT — jednom po osobi.

flowchart LR A([Građanin]):::user --> B[eID prijava
Certilia MobileID
eIDAS High]:::eid B --> C[Verifier
dokaže sesiju,
izvede nullifier]:::verify C --> D["nullifier =
HMAC(OIB, pepper)
OIB ostaje offchain"]:::null D --> E[IdentityRegistry
MINT SBT]:::chain E --> F([Osobni SBT u
anchor Safeu]):::chain F -. "više novčanika
= isti identitet" .-> F classDef user fill:#fff,stroke:#002F6C,color:#002F6C,font-weight:600; classDef eid fill:#0A3B82,stroke:#001631,color:#fff,font-weight:600; classDef verify fill:#002F6C,stroke:#001631,color:#fff,font-weight:600; classDef null fill:#16653a,stroke:#0c3f23,color:#fff,font-weight:600; classDef chain fill:#C8912A,stroke:#9a6f1f,color:#fff,font-weight:600;
Plavo = eID / verifikacija · zeleno = nullifier (OIB nikad onchain) · zlatno = onchain SBT registar
Most eID → onchain

Pluggable verifier — biramo po fazi

Kako se eID sesija dokazuje ugovoru ima više izvedbi. Za MVP koristimo A/B — bez ikakve mreže potpisnika. Decentralizirana mreža je Faza 2, ne preduvjet za rad.

VerifierKakoDecentralizacijaFaza
A · zkTLS nad Certilia OIDCKlijent zk-dokaže da je Certilia potpisala njegov id_token; ugovor verificira dokazBez oraklske mreže; oslonac na Certilia PKIMVP
B · NFC eOI čipKlijent pasivno autenticira potpis izdavača čipa i lokalno izvede nullifierBez oraklske mreže; oslonac na državnu PKIMVP alt.
C · EIP-712 oraklOff-chain verifier validira id_token i potpiše atestaciju; ugovor provjeri potpisnikaJedan potpisnik = centralnoPrijelazno
D · M-of-N Android meshKao C, ali M nezavisnih Android nodeova (hardverska atestacija) supotpisujeVisoka — nitko sam ne kujeFaza 2
Pošteno o povjerenju: verifieri A/B daju Sybil-otpornost bez mreže jer se sama sesija kriptografski dokazuje (isti pristup kao dokazani World ID — razlika je izvor: hrvatski/EU eID umjesto biometrije). Android hardverska atestacija (mesh, Faza 2) korijeni u Googleu → to je trust-minimized, ne trustless; mitigacija je miješanje proizvođača. Ne obećavamo ono što nije izgrađeno.
Zašto javno dobro · zašto ITalk

Infrastruktura koju svi koriste, otvoreno od prvog dana

airKUNA (ITalk d.o.o.) gradi protokol kao 100% open-source javno dobro — ugovori, verifier node i dokumentacija. Regulirane funkcije (izdavanje eID-a, KYC) ostaju kod licenciranih (AKD/Certilia, kasnije EUDI).

  • Non-custodial software provider. ITalk piše softver koji svi koriste; ne drži tuđe identitete ni sredstva.
  • Usklađeno s EU strategijom. Nadopunjuje eIDAS 2.0 / EUDI Wallet onim self-sovereign, composable slojem na koji sama regulativa upućuje.
  • Ponovno upotrebljivo za sve — općine, udruge, zadruge, DAO-ovi, participativni proračuni.

Zašto baš mi · sve u produkciji, isprobaj

Certilia eID verifikacijadomovina.aipinka.io„Login with Certilia" (isti SSO backend)
EURe wallet + Safe/relayerpay.domovina.aioffline QR + PDF417 barkodovi
SMS out-of-band dokazsms.domovina.aiotp.domovina.aiotp koristi sms infrastrukturu
Javna GIS karta Hrvatskegis.domovina.aibrza WebGL karta: JLS, klubovi, stadioni, Pinka kampanje, zračne luke
ITalk d.o.o.Zagreb, osn. 2016.
Roadmap

Transparentno: gdje smo i kamo idemo

Faza 0 (MVP) je izgrađena i dokazana lokalno. Mreža potpisnika je Faza 2 — poboljšava decentralizaciju povjerenja, nije preduvjet.

0

MVP — nullifier registar + SBT + verifier A/B

IdentityRegistry + PersonhoodSBT (EIP-5484) + verifier A (zkTLS/Certilia) ili B (NFC eOI); mock issuer/verifier harness.

SADA
1

Drugi neovisni izvor + karta

Phone-SBT preko reverse-OTP (sms.domovina.ai) + credibility score; prvi pravi hrvatski-eID mintevi; nodeovi na javnoj karti.

PILOT
2

M-of-N Android verifier mesh

M zasebnih EIP-712 potpisnika (ne MPC) + DAO onboarding + statusi + slashing. Razmatra se Acurast kao substrat.

DECENTRALIZACIJA
4

zk anonimno glasanje

MACI / Semaphore — jedan-čovjek-jedan-glas bez povezivanja glasa s građaninom; pepper threshold-custody.

PRIVATNOST
5

EUDI Wallet izvor

SD-JWT VC / mDoc preko OpenID4VP — pan-EU. Isti onchain sloj, novi izvor identiteta za svih 27 zemalja.

PAN-EU
Što je već napravljeno

Nije samo ideja — MVP je izgrađen

Točnost iznad hypea: ovo je stvarno gotovo i dokazano lokalno. Ostalo je iskreno označeno kao „u planu".

Financiranje

Za što točno treba novac

Tražimo EU grantove i doprinose zajednice da protokol dovršimo kao javno dobro. Konkretni tragovi i iznosi — bez skrivanja.

Sada
EU NGI Pilots
~€60.000
Cascade financiranje, bez konzorcija. MVP: nullifier registar + SBT + verifier-A (zkTLS/Certilia), open-source.
Zatim
Gnosis / GnosisDAO grant
€25–100k
Deploy na mainnet, priprema audita, Safe/relayer integracija.
Zatim
Optimism RetroPGF · Octant · Gitcoin
retro
Nagrada za isporučeno javno dobro i stvarnu upotrebu.
Kasnije (pan-EU): Digital Europe / EUDI Large-Scale Pilot preko konzorcija (POTENTIAL / EWC / NOBID / DC4EU) — udio u konzorciju za EUDI Wallet izvor. Veći novac, dulji horizont.
Doprinesi ili se poveži

Gradimo dokaz osobnosti za EU demokraciju

Grant, partnerstvo, integracija ili tehnički doprinos — javi se. Kod je otvoren, roadmap je javan.

Kontakt za grantove i partnerstvo Whitepaper Sažetak (jedna stranica) Zamašnjak riznice

Onchain donacije (EURe / xDAI na Gnosisu) — uskoro. Do tada za doprinos javi se na [email protected].