QR CVIJET — kod koji plaća, dokazuje i raste
U sredini je srce: standardni QR koji čita svaki mobitel, a kad je to GiroCode, bankovna aplikacija iz njega sama složi nalog. Oko srca su latice: točke po suncokretovoj spirali koje nose potpisane podatke dokumenta i rastu sa svakom fazom (izdan → plaćen → proknjižen), bez promjene onoga što je već ispisano.
Prvi stvarni dokument s ovim kodom je račun Visković Bau br. 106 (27.9.2026.). Bankovna aplikacija složila je nalog, a naš čitač potvrdio potpis s pravog mobitela.
Četiri dimenzije jednog koda
Obični QR je ravna slika: modul je crn ili bijel i to je sve. CVIJET svakoj točki daje adresu u četiri dimenzije: gdje je u prostoru, u kojoj je fazi dokumenta i u kojem kadru putuje. Srce pritom nosi EHO-10 adresu dokumenta, pa kod sam kaže čiji je.
Prostor
Točka n stoji na kutu n·γ i polumjeru √(n+n₀), gdje je γ = π(3−√5) zlatni kut. Tako je raspored suncokreta: nigdje praznine, nigdje ponavljanja uzorka. Bit je točka ili praznina.
Rast
Svaka faza dokumenta je novi prsten s vlastitim Ed25519 potpisom, vezan sha256 lancem na prethodni. Stari prsteni se nikad ne mijenjaju, pa jednom ispisan kod ostaje valjan.
Vrijeme
Zapis veći od jedne slike putuje nizom kadrova (fontana k-od-n, 1 MB dokazan). Skener uživo spaja kadrove po broju točke n, jer srce u svakom kadru daje istu geometriju.
Srce = adresa
Standardni QR (ISO/IEC 18004). Može biti poveznica provjere ili GiroCode za plaćanje. U njemu je adresa dokumenta, a čitač provjerava da srce i prsteni pripadaju istom dokumentu.
Dodaj fazu — ništa staro se ne mijenja
Prikaz računa točke istom formulom kao pravi kod: zlatni kut i polumjer √(n+n₀) oko srca. Dodaj fazu dodaje prsten (zlatno), a sve što je već bilo ostaje na istom mjestu i s istim bitom. Kod QR-a bi svaka nova faza promijenila verziju i prepisala sve module.
Bitovi u prikazu su nasumični; u pravom kodu to su potpisani podaci faze (RS 35 % + Ed25519 + lanac).
Svaki kod je riješio problem svog vremena
Kodovi nisu nastali kao ukras, nego kao odgovor na konkretno ograničenje. Kad se ograničenje promijeni, otvara se prostor za novi kod.
Crtični kod (Woodland i Silver), patent: brzo čitanje robe na blagajni. Ograničenje: samo broj, jedna dimenzija.
UPC na blagajni u SAD-u: prvi skenirani proizvod. Standard za trgovinu, i danas u upotrebi.
Data Matrix i PDF417: dvodimenzionalni kodovi s ispravkom grešaka. Više podataka na manjem prostoru, ali trebaju poseban čitač.
QR (Denso Wave) za praćenje dijelova u tvornici automobila: brzo čitanje s bilo koje strane. Kod se ispiše jednom i nikad ne mijenja, jer se ni dio ne mijenja.
QR postaje ISO/IEC 18004; mobitel s kamerom postaje čitač u svakom džepu.
GiroCode (EPC069-12): QR s nalogom za SEPA plaćanje. Primatelj, IBAN i iznos čita bankovna aplikacija, ali ništa od toga nije potpisano.
EU digitalna COVID potvrda: CBOR + COSE potpis + Base45 u QR-u. Prvi masovni potpisani QR. Dokument je ipak statičan: nova činjenica znači novi kod.
Što danas postoji i gdje puca
Kod je slika, dokument živi
Račun ima faze: izdan, plaćen, proknjižen, storniran. QR jedne faze ne zna za sljedeću. Svaka promjena znači novi kod i nov ispis, a stari ispis ostaje zastario. Izmjereno: pri dodavanju faze QR prepisuje 100 % modula (v11→v15→v17→v20).
Plaćanje bez potpisa
GiroCode nosi IBAN i iznos kao običan tekst. Podmetnuti QR s tuđim IBAN-om (quishing) izgleda isto kao pravi. Bankovna aplikacija nema čime provjeriti izdavatelja.
Svaki kod svoj čitač
Plaćanje, provjera i arhiva su danas tri različita koda ili tri sustava. Korisnik ne zna koji skenirati, a stroj ne zna koji dokument čita.
Usporedba
| Svojstvo | QR / GiroCode | Data Matrix | EU potvrda (DCC) | QR CVIJET |
|---|---|---|---|---|
| Čita ga svaki mobitel bez aplikacije | da | ne (djelomično) | da (kao tekst) | da (srce) |
| Bankovna aplikacija složi nalog | da (GiroCode) | ne | ne | da — izmjereno, DKB |
| Kriptografski potpis izdavatelja | ne | ne | da (jedan) | da, po svakoj fazi |
| Zaštita od podmetnutog IBAN-a | ne | ne | — | da: IBAN potpisan, podmetnut → ALARM |
| Dokument raste bez novog ispisa | ne (100 % modula) | ne | ne | da (0 % promjene) |
| Lanac faza (izdan → plaćen → …) | ne | ne | ne | da (sha256 + Ed25519) |
| Zapis veći od jedne slike | Structured Append (16 simbola) | ograničeno | ne | kadrovi, 1 MB dokazan |
| Jedan kod za plaćanje, provjeru i arhivu | ne | ne | ne | da |
Jedinstvenost — i koji stari problem rješava
QR je 1994. nastao za dijelove u tvornici: dio se ne mijenja, pa ni kod ne treba mijenjati. Dokument se mijenja. CVIJET zato zadržava QR kao srce (radi na svakom mobitelu, danas) i dodaje ono što 1994. nije trebalo: rast bez preslaganja, potpis po fazi i lanac faza. GiroCode iz 2012. dao je plaćanje bez potpisa. CVIJET potpisuje baš ono što prevaranti mijenjaju, a to su IBAN i iznos.
Pošteno: EU potvrda već ima potpis u QR-u, a Structured Append već dijeli zapis na više simbola. Novo je spoj: standardno srce koje čita i banka, plus potpisani prsteni koji rastu, u jednom kodu.
Dokazi s pravih mobitela i iz laboratorija
| Test | Rezultat | n · 95 % CI · atom |
|---|---|---|
| Honor Lens (obični čitač QR-a) | srce pročitano točno: nalog + adresa dokumenta | n = 2 snimke (T, P) · c8447, c8485 |
| DKB bankovna aplikacija | nalog složen sam: iznos, primatelj, IBAN, banka, svrha | n = 2 (T, P) · c8447, c8484 |
| Redmi, fotografija cijelog koda | 3 od 4.000 bitova krivo · potpis faze valjan · OK | n = 1 fotografija · c8455 |
| Podmetnut IBAN / promijenjen iznos / krivi ključ | ALARM · ALARM · ALARM | n = 1 po napadu; krivi ključ u fuziji: 0 lažnih OK u 15 kadrova (≤ 3/15) · c8443, c8461 |
| Skener, pokret, račun snimljen iskosa 4K (novi čitač) | 0/6 → 6/6 | n = 6 · prije ≤ 3/6, poslije 95 % CI 61–100 % · c8466 |
| Točka/praznina vs velika/mala (poznata mjesta) | npr. 3 px/jed + 6 px pokreta: 29,4 % → 7,3 % krivih bitova | n = 3 kadra × 4.000 bitova · c8468 · ponavljanje s n = 30: H13 (c8535) |
| Crtice po spirali umjesto točaka | lošije pod pokretom (4 px pokreta: 0,0 % točke vs 32–37 % crtice) — odbačeno | n = 3 kadra × 4.000 bitova · c8461 |
| PDF računa 260–660 dpi (T i P) | 21/21 · 21/21 | n = 21 · 95 % CI 84–100 % · c8480 |
Kako čitati brojke: uzorci manji od 30 su orijentacijski, ne dokaz. Ponavljanje s n = 30 kadrova po uvjetu i 95 % intervalom pred-registrirano je u lancu kao H13 (c8535) prije mjerenja.



Laboratorij s kriterijima napisanim prije mjerenja: 4D kod — laboratorijski dokaz · jezgra: EHO v2 · temelj: DokArh v5 kod.
Kamo ide — i što je još neprovjereno
Ograničenja iz 1994. više ne vrijede: svaki mobitel ima kameru od 50 MP i procesor dovoljno jak za potpis i ispravak grešaka u milisekundama. Kod više ne mora biti statična slika. Može biti dokument koji živi, a čitati ga mogu i mobitel, i stroj, i naočale u prolazu.
Srce s ispravkom M umjesto Q
Zašto: manja QR verzija (v9 → v7) ukrupnjuje srce i točke pri istom ispisu, a M je i preporuka standarda za GiroCode. Rizik: manje zalihe za mrlju preko srca. Izmjereno (c8480): Q 15/50 (95 % CI 19–44 %), M 18/50 (24–50 %), L 20/50 (28–54 %). Intervali se preklapaju — razlika NIJE dokazana. Pokus: ≥ 300 kadrova po razini + bankovna aplikacija.
Naočale čitaju u hodu
Zašto: srce daje geometriju u svakom kadru, a točke se spajaju po broju n, pa više kratkih pogleda može zamijeniti jedan oštar. Rizik: kadrovi naočala su mali i mutni, a greške mogu biti iste u svim kadrovima. Pokus: 20 kadrova s kamere naočala u hodu, zapis „čitanje = fuzija" u logu.
Boja kao peta dimenzija
Zašto: tri kanala (C, M, Y) = tri neovisna sloja točaka na istom mjestu, a crno srce ostaje za svaki mobitel. Rizik: pisači i rasvjeta mijenjaju boju; bijelo svjetlo i jeftin pisač mogu srušiti razliku. Pokus: ispis na uredskom pisaču + 3 mobitela, omjer grešaka po kanalu.
Kod koji se sam dopisuje na ekranu
Zašto: na zaslonu (e-račun, blagajna) prsten „plaćeno" može se pojaviti čim stigne potvrda, a ispisani dio ostaje isti. Rizik: SW cache i stari prikaz (Z51). Pokus: e-račun u pregledniku + potvrda plaćanja → novi prsten → provjera mobitelom.
Preporuka
Prvo isprobati točku/prazninu s velikom točkom na pravom pisaču i snimiti je s tri mobitela. To je najbliže kupcu, a sve ostalo gradi na tome.