Jedan kod · tri posla

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.

QR CVIJET: QR srce u sredini, oko njega točke po suncokretovoj spirali
Demo kod (Demo GmbH, 1,00 €, „DEMO – nicht bezahlen") u obliku točka/praznina. Račun 106 je istog oblika; njegov kod ovdje namjerno nije objavljen.
Što je u njemu 4D

Č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.

x · y

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.

r

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.

t

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.

Isprobaj

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.

faza 1 · točaka 0

Bitovi u prikazu su nasumični; u pravom kodu to su potpisani podaci faze (RS 35 % + Ed25519 + lanac).

Povijest

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.

1949 – 1952

Crtični kod (Woodland i Silver), patent: brzo čitanje robe na blagajni. Ograničenje: samo broj, jedna dimenzija.

1974

UPC na blagajni u SAD-u: prvi skenirani proizvod. Standard za trgovinu, i danas u upotrebi.

1987 – 1991

Data Matrix i PDF417: dvodimenzionalni kodovi s ispravkom grešaka. Više podataka na manjem prostoru, ali trebaju poseban čitač.

1994

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.

2000-e

QR postaje ISO/IEC 18004; mobitel s kamerom postaje čitač u svakom džepu.

2012

GiroCode (EPC069-12): QR s nalogom za SEPA plaćanje. Primatelj, IBAN i iznos čita bankovna aplikacija, ali ništa od toga nije potpisano.

2021

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.

Sadašnjost

Š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.

Mi naspram drugih

Usporedba

SvojstvoQR / GiroCodeData MatrixEU potvrda (DCC)QR CVIJET
Čita ga svaki mobitel bez aplikacijedane (djelomično)da (kao tekst)da (srce)
Bankovna aplikacija složi nalogda (GiroCode)neneda — izmjereno, DKB
Kriptografski potpis izdavateljaneneda (jedan)da, po svakoj fazi
Zaštita od podmetnutog IBAN-anene—da: IBAN potpisan, podmetnut → ALARM
Dokument raste bez novog ispisane (100 % modula)neneda (0 % promjene)
Lanac faza (izdan → plaćen → …)neneneda (sha256 + Ed25519)
Zapis veći od jedne slikeStructured Append (16 simbola)ograničenonekadrovi, 1 MB dokazan
Jedan kod za plaćanje, provjeru i arhivuneneneda

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.

Izmjereno

Dokazi s pravih mobitela i iz laboratorija

TestRezultatn · 95 % CI · atom
Honor Lens (obični čitač QR-a)srce pročitano točno: nalog + adresa dokumentan = 2 snimke (T, P) · c8447, c8485
DKB bankovna aplikacijanalog složen sam: iznos, primatelj, IBAN, banka, svrhan = 2 (T, P) · c8447, c8484
Redmi, fotografija cijelog koda3 od 4.000 bitova krivo · potpis faze valjan · OKn = 1 fotografija · c8455
Podmetnut IBAN / promijenjen iznos / krivi ključALARM · ALARM · ALARMn = 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/6n = 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 bitovan = 3 kadra × 4.000 bitova · c8468 · ponavljanje s n = 30: H13 (c8535)
Crtice po spirali umjesto točakalošije pod pokretom (4 px pokreta: 0,0 % točke vs 32–37 % crtice) — odbačenon = 3 kadra × 4.000 bitova · c8461
PDF računa 260–660 dpi (T i P)21/21 · 21/21n = 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.

Oblik velika/mala točka
Velika/mala (prvi oblik)
Oblik točka/praznina, mala točka
Točka/praznina, mala točka (0,21 mm — pisač ju gubi)
Oblik točka/praznina, velika točka
Točka/praznina, velika točka (0,41 mm — za ispis)

Laboratorij s kriterijima napisanim prije mjerenja: 4D kod — laboratorijski dokaz · jezgra: EHO v2 · temelj: DokArh v5 kod.

Budućnost

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.

Provjeri sam — na pet nezavisnih čvorova

Ovaj zapis nije samo tvrdnja na stranici. Zapečaćen je i stoji na pet čvorova u različitim mrežama i kod različitih pružatelja — nijedan od njih nije nužan da bi se provjerio.

čvorpoveznica za provjerupravi atomizmišljen ID
EUgenesis.limit-connect.com/v/4bceb450ab…200 autentično404
ESno-limit.world/v/4bceb450ab…200 autentično404
DEsati.ink/v/4bceb450ab…200 autentično404
NEWfina-connect.online/v/4bceb450ab…200 autentično404
MARlimit-connect.com/v/4bceb450ab…200 autentično404

Stupac „izmišljen ID“ nije ukras. Da svih pet čvorova vraća „autentično“ na bilo što, poveznica ne bi ništa značila. Zato se svaki provjerava i s izmišljenim brojem — i svaki mora reći ne.

Puni otisak: 4bceb450ab6b573e5717104af6779cad2107f3f085c4571baf751363837dd57d

Pošteno o vremenu: novi atom ne osvane na svih pet istog trenutka — izmjereno kašnjenje od pečaćenja do prvog udaljenog čvora bilo je oko 6 minuta. Prije toga udaljeni čvor odgovara 404, i to je točan odgovor, ne kvar.