Naslovnica/Glasanje na lancu (Gnosis)/Pregled i odluke
Glasanje na lancu (Gnosis)

Pregled i odluke

MaksimirGlasanjeV1: plan, odluke, stanje, otvorena pitanja

docs/blockchain/README.md

# Glasanje javnosti na Gnosis Chainu

Sažetak sesije, zamke i otvorene stavke: 2026-09-26-glasanje-onchain.md.

Status 26. 9. 2026.: MaksimirGlasanjeV1 je prošao 6 krugova audita (47 testova, 100 % pokrivenosti, 23/23 mutanta ubijena, 800 fuzz koraka), radi na Chiadu (testnet) i prošao je E2E kroz stvarni kod relayera. Na Gnosis mainnet još nije deployan. Web još nije spojen; plan spajanja s fazom 1 je u 08 i implementiran je (lokalno + Chiado, 26. 9.; produkcija čeka ok). Web ostaje Vite + Worker (Astro je odbačen, odluka).

Faza 1 (glasanje-kako-radi.md) drži listiće u Postgresu, a operater baze vidi sve. U V1 glasačev preglednik izrađuje ZK dokaz za svaki listić. Ugovor ga provjerava i broji uživo, a relayer na Cloudflare Workeru samo plaća gas za gotov paket. Glasač ne treba novčanik ni xDAI.

# Dokumenti

# Dokument Sadržaj
6 06-kontrola-glasaca.md glasač ima kontrolu nad svojim glasom: tko drži koji ključ, tko što može i ne može, granice, dokazi s Chiada
8 08-integracija-s-fazom-1.md plan spajanja s fazom 1: redoslijed (Chiado → Gnosis), registrar, relayer, web, dan prijelaza, izvor rezultata, /g/<id>, povratak, E2E, otvorena pitanja
7 07-verzioniranje.md V1, V2, V3… bez proxyja, zamrznut izvor, selidba listića samo uz glasačev dokaz
1 01-arhitektura.md ugovor V1 funkciju po funkciju, poruke, zbroj, prijelaz s faze 1
2 02-relayer-i-gas.md zašto ne Safe/Gelato sponzorstvo, relayer, izmjereni gas, faucet
3 03-deploy-runbook.md Chiado (napravljeno) i Gnosis (sljedeće), korak po korak
4 04-web-i-baza.md što treba u webu i u domovina-api (registrar); redoslijed i prijelaz su u 08
ADR adr/0001 ključ glasača: 24 riječi za oporavak + passkey (PRF) za svakodnevno otključavanje
R istrazivanja/ EIP-7702 + passkey na Gnosisu umjesto Safea (provjereno na lancu)
A audit/ audit: metode, checklista napada, nalazi i popravci, krugovi
5 05-sljedece-faze.md anonimni upis, ZK-JWT bez registrara, MACI, vlastiti krug

# Sažetak odluka

Odluka Izbor Zašto
Mreža Gnosis Chain (100), test na Chiadu (10200) EVM, gas u xDAI, cijene u djelićima centa; Semaphore v4 je već na obje
Listić Semaphore ZK dokaz iz preglednika, poruka = hash listića + revizija + ugovor relayer ne može ništa promijeniti; operater ne zna čiji je koji listić
Zbroj na lancu, uživo (results()) provjerljiv bez nas
Pravo glasa registrar (domovina.ai) potpisuje EIP-712 Register(commitment) nakon eOsobne, jednom po osobi jedino mjesto povjerenja; ne može glasati ni vidjeti listiće
Gas vlastiti relayer (Cloudflare Worker) bez ikakve uloge u ugovoru Safeovo sponzorstvo vrijedi samo za Safe račune; paket može poslati i bilo tko drugi
Nadogradnja bez proxyja; V2, V3… kao novi ugovori, selidba uz glasačev dokaz vlasnik ne može promijeniti pravila postojećih listića
Izvor zamrznut: chain/contracts/v1/ + manifest + CI + verificiran uz adresu ono što je deployano ostaje čitljivo zauvijek
Osobni podaci nikad na lancu samo commitmenti, nullifieri, bodovi i dokazi

# Što je gotovo

Dio Mjesto Provjera
Ugovor V1 chain/contracts/v1/MaksimirGlasanjeV1.sol 47 testova s pravim Groth16 dokazima; 100 % naredbi, grana, funkcija i linija; 23/23 mutanta ubijena; audit
Klijent (kripto u pregledniku) chain/client/ isti hash poruke kao ugovor (test); grupa s lanca uz provjeru korijena
Relayer web/worker/relayer/ (ruta /relayer/<chainId>/… Workera maksimir) 8 testova, pravi tok na Chiadu
Spajanje s fazom 1 08: baza i registrar (domovina-api), web tok, snapshot v3, verify --chain E2E u pregledniku 33/33 na Chiadu; SQL 15, Deno 7, Python 9 testova
Vlasnik na Chiadu Safe 2/3 0x2B7C…64e9 1 potpis i stari vlasnik odbijeni, 2 potpisa rade
Deploy + manifest chain/scripts/deploy-v1.ts deployments/chiado/v1.json
Zamrznut izvor chain/scripts/check-frozen.mjs, .github/workflows/chain.yml isprobano u oba smjera: nepromijenjen izvor prolazi, jedna promjena pada
Faucet bez preglednika chain/scripts/faucet-chiado.mjs 0,001 xDAI stiglo iz prvog pokušaja
Chiado E2E chain/scripts/e2e-chiado.ts registracija, listić, izmjena, objava; tri podmetanja odbijena

Gnosis V1 (26. 9. 2026.): 0x812960FA1120121DEd82A8806aECE93dcf49E869, vlasnik Safe 2/3 0xfb1b…c576, izvor Sourcify exact_match, tag glasanje-v1-gnosis.

Chiado V1: 0xe7903145c8F2401fC16D78d9788D34beE0c3e029 (verificiran izvor). Testni deployer i sponzor: 0x408d…d30C.

# Što preostaje

  1. Odluke (vidi niže).
  2. Registrar u domovina-api: edge funkcija koja nakon eOsobne potpisuje Register jednom po osobi (04).
  3. Gnosis mainnet: commit, deploy, verifikacija, git tag glasanje-v1-gnosis, Worker (03).
  4. Web (Vite + Worker): ključ, dokaz, relayer, rezultati s lanca (04, 08).
  5. Prijelaz s faze 1: faza 1 se zamrzava uz završni OTS snapshot, listići se prenose uz glasačev ključ, a glasanje se nastavlja na lancu (08).

# Otvorena pitanja za Matiju

  • Vlasnik: novi Safe 2/3 s istim potpisnicima kao MPT Safe?
  • Javnost listića tijekom glasanja: u V1 je svaki listić javan pod nullifierom čim je predan. To je cijena zbroja provjerljivog uživo. Alternativa je da relayer skuplja pakete i šalje ih u satnim serijama, što smanjuje povezivanje po vremenu. Vidi 06.
  • Izgubljen ključ: listić ostaje zamrznut, bez oporavka preko nas. Je li to prihvatljivo?
  • Kompajler: V1 je na solc 0.8.28 (Chiado). Prije mainnet deploya može se prijeći na najnoviji 0.8.x, ali to znači novi Chiado deploy. Vidi 03.