📄 Whitepaper

Τεχνικό Λευκό Βιβλίο v1.0 — Ekklesia.gr

← Wiki Home

Πίνακας Περιεχομένων

  1. Περίληψη
  2. Το Πρόβλημα
  3. Αρχιτεκτονική Συστήματος
  4. Σύστημα Ταυτότητας
  5. Κύκλος Ζωής Νομοσχεδίου
  6. Αλγόριθμοι Ψηφοφορίας
  7. Ιδιωτικότητα & GDPR
  8. Στρατηγική Ανάπτυξης
  9. Δημοτική Διακυβέρνηση MOD-16
  10. TrueRepublic & Blockchain
  11. Οικονομικά
  12. Νομικό Πλαίσιο
  13. Αναφορές

1 Περίληψη

Η Ekklesia.gr είναι μια ανοιχτού κώδικα πλατφόρμα άμεσης ψηφιακής δημοκρατίας σχεδιασμένη αποκλειστικά για τον Έλληνα πολίτη. Συνδυάζει τρεις πυλώνες: Πολιτική Πυξίδα (VAA), Ψηφοφορία Πολιτών σε πραγματικά νομοσχέδια, και τον Δείκτη Απόκλισης που μετρά πόσο αντιπροσωπεύει η Βουλή τη λαϊκή βούληση.

Η πλατφόρμα χρησιμοποιεί κρυπτογραφία Ed25519 και Nullifier Hashes ώστε κανένα προσωπικό δεδομένο να μην αποθηκεύεται ποτέ. Κάθε πολίτης αποκτά ένα μοναδικό κρυπτογραφικό κλειδί χωρίς σύνδεση με την πραγματική ταυτότητά του.

Αποστολή: Κάθε Έλληνας πολίτης μπορεί να ψηφίσει σε κάθε νομοσχέδιο — ανώνυμα, ασφαλώς, δωρεάν.

2 Το Πρόβλημα

Η Ελλάδα κατατάσσεται σταθερά χαμηλά στους δείκτες εμπιστοσύνης προς το Κοινοβούλιο. Σύμφωνα με το Eurobarometer 2024, μόνο το 18% των Ελλήνων εμπιστεύεται τη Βουλή — το χαμηλότερο στην ΕΕ. Η αποχή στις εκλογές ξεπερνά το 40%.

Τα βασικά ελλείμματα:

Η Ekklesia.gr δεν αντικαθιστά τη Βουλή. Αυτή αποφασίζει — εμείς μετράμε πόσο αντιπροσωπεύει.

3 Αρχιτεκτονική Συστήματος

Η Ekklesia.gr χρησιμοποιεί monorepo αρχιτεκτονική με τρεις εφαρμογές:

┌─────────────────────────────────────────────────────┐ │ pnyx/ (Monorepo) │ ├─────────────┬──────────────┬────────────────────────┤ │ apps/api │ apps/web │ apps/mobile │ │ FastAPI │ Next.js 14 │ Expo (TODO) │ │ 13 endpts │ 5 pages │ │ ├─────────────┴──────────────┴────────────────────────┤ │ packages/crypto │ packages/db │ │ Ed25519 + Nullifier │ Alembic Migrations │ ├──────────────────────┴──────────────────────────────┤ │ PostgreSQL 15 │ Redis 7 │ Docker Compose │ └─────────────────┴───────────┴───────────────────────┘ Δεδομένα (Data Flow): Πολίτης → SMS OTP → Nullifier Hash → Ed25519 Key Πολίτης → Ψήφος + Υπογραφή → API → PostgreSQL API → Αποτελέσματα + Divergence → Web/Mobile
ΣτοιχείοΤεχνολογίαΡόλος
Backend APIPython FastAPIAsync, OpenAPI, 13 endpoints
DatabasePostgreSQL 15JSONB, GDPR-ready, 9 πίνακες
Cache/PubSubRedis 7WebSocket, real-time updates
Web ClientNext.js 14SSR, i18n el/en, Tailwind
Κρυπτογραφία (Beta)PyNaClEd25519, HMAC-SHA256
Κρυπτογραφία (V2)Rust + WASMBrowser-native, zero trust

4 Σύστημα Ταυτότητας

Το MOD-01 Identity είναι ο πυρήνας ασφαλείας. Κάθε πολίτης αποκτά ένα μοναδικό κρυπτογραφικό ζεύγος κλειδιών χωρίς να αποθηκεύεται ποτέ ο αριθμός τηλεφώνου ή οποιοδήποτε προσωπικό δεδομένο.

1

SMS OTP Επαλήθευση

Ο πολίτης εισάγει αριθμό κινητού → λαμβάνει 6ψήφιο κωδικό

2

Δημιουργία Nullifier

nullifier = SHA256(phone + SERVER_SALT) — μη αναστρέψιμο

3

Διαγραφή Τηλεφώνου

Ο αριθμός διαγράφεται αμέσως (gc.collect()) — ποτέ στη βάση

4

Δημιουργία Ed25519

Ζεύγος κλειδιών: Public Key → server, Private Key → μόνο στον πολίτη

5

Demographic Hash

SHA256(region + gender + SERVER_SALT) — k-ανωνυμία, χωρίς ταυτοποίηση

Ο server δεν γνωρίζει ποτέ ποιος είναι ο πολίτης. Γνωρίζει μόνο ότι υπάρχει ένας επαληθευμένος πολίτης πίσω από κάθε nullifier.

5 Κύκλος Ζωής Νομοσχεδίου

Κάθε νομοσχέδιο περνάει από 5 καταστάσεις:

ANNOUNCED
ACTIVE
WINDOW_24H
PARLIAMENT_VOTED
OPEN_END
ΚατάστασηΠεριγραφήΨηφοφορία
ANNOUNCEDΝέο νομοσχέδιο, AI συνοψίζει-
ACTIVEΠολίτες ψηφίζουνΑνοιχτή
WINDOW_24H24ώρο πριν την ψηφοφορία ΒουλήςΤελευταία ευκαιρία
PARLIAMENT_VOTEDΗ Βουλή ψήφισεΚλειστή
OPEN_ENDΑρχείο — Divergence Score ορατόΙστορικό

6 Αλγόριθμοι Ψηφοφορίας

VAA Matching (MOD-02)

Η Πολιτική Πυξίδα συγκρίνει τις απαντήσεις του πολίτη με τις θέσεις των κομμάτων:

# VAA Matching Algorithm — MOD-02 def compute_match(user_answers, party_positions): """ user_answers: {statement_id: -1|0|1} party_positions: {statement_id: -1|0|1} returns: float 0.0 — 1.0 (similarity) """ total, matched = 0, 0 for sid, user_val in user_answers.items(): if sid in party_positions: party_val = party_positions[sid] total += 1 if user_val == party_val: matched += 1 elif abs(user_val - party_val) == 1: matched += 0.5 return matched / total if total > 0 else 0.0

Divergence Score (MOD-05)

Ο Δείκτης Απόκλισης μετράει πόσο διαφέρει η ψήφος της Βουλής από τη βούληση των πολιτών:

# Divergence Score Algorithm — MOD-05 def divergence_score(citizen_yes_pct, parliament_yes): """ citizen_yes_pct: float 0-100 (% ΝΑΙ πολιτών) parliament_yes: bool (Βουλή ψήφισε ΝΑΙ;) returns: float -100 to +100 0 = πλήρης ευθυγράμμιση +100 = Βουλή ΝΑΙ, Πολίτες ΟΧΙ -100 = Βουλή ΟΧΙ, Πολίτες ΝΑΙ """ parl_val = 100.0 if parliament_yes else 0.0 return parl_val - citizen_yes_pct

Ψηφοφορία Πολιτών (MOD-04)

# Citizen Vote Verification — MOD-04 def verify_and_cast(nullifier_hash, bill_id, vote, signature_hex): """ 1. Verify Ed25519 signature (public key from identity_records) 2. Check UNIQUE(nullifier_hash, bill_id) — no double voting 3. Check bill.status in (ACTIVE, WINDOW_24H) 4. Insert citizen_votes row """ identity = db.get(nullifier_hash) # lookup public key verify_ed25519(identity.public_key_hex, message, signature_hex) assert not db.exists(nullifier_hash, bill_id) # no double assert bill.status in ("ACTIVE", "WINDOW_24H") db.insert(CitizenVote(...))

7 Ιδιωτικότητα & GDPR

Η Ekklesia.gr σχεδιάστηκε με αρχή Privacy by Design. Κανένα προσωπικό δεδομένο δεν αποθηκεύεται ποτέ στη βάση δεδομένων.

ΔεδομένοΑποθήκευσηΤεχνική
ΤηλέφωνοΠοτέ — διαγράφεται αμέσωςgc.collect()
Private KeyΜόνο στον πολίτηΜία φορά, δεν αποθηκεύεται
ΤαυτότηταNullifier HashSHA256 + salt
ΔημογραφικάDemographic Hashk-ανωνυμία (k≥5)
ΨήφοςΝαι — ανώνυμαNullifier + Ed25519 sig

GDPR Άρθρο 25: Privacy by Design — η Ekklesia.gr δεν επεξεργάζεται ποτέ προσωπικά δεδομένα, επομένως δεν υπόκειται σε DPIA.

8 Στρατηγική Ανάπτυξης

Η ανάπτυξη ακολουθεί τρεις φάσεις:

B

Beta (v0.3)

SMS Verify + VAA + CitizenVote + Divergence. 15 alpha testers. Κόστος ~0€.

A

Alpha (v1.0)

500+ χρήστες, 3 NGOs, gov.gr OAuth, MOD-16 Municipal. Κόστος ~300€/χρόνο.

V2

V2 (v2.0)

TrueRepublic Bridge, Rust+WASM Crypto, Mobile App, PnyxCoin. Κόστος ~1.200€/χρόνο.

9 Δημοτική Διακυβέρνηση MOD-16

Το MOD-16 επεκτείνει την πλατφόρμα σε 4 επίπεδα διακυβέρνησης, αντικατοπτρίζοντας τη δομή της ελληνικής αυτοδιοίκησης:

NATIONAL
REGIONAL (Περιφέρεια)
MUNICIPAL (Δήμος)
COMMUNITY (Κοινότητα)
ΕπίπεδοΠίνακαςΠαραδείγματα
NATIONALparliament_billsΝομοσχέδια Βουλής
REGIONALperiferiaΑττική, Κρήτη, Θεσσαλία
MUNICIPALdimosΑθήνα, Θεσσαλονίκη, Ηράκλειο
COMMUNITYcommunitiesΠλάκα, Εξάρχεια, Κολωνάκι

Κάθε απόφαση (Decision) ανήκει σε ένα επίπεδο. Οι πολίτες ψηφίζουν μόνο σε αποφάσεις που τους αφορούν γεωγραφικά.

10 TrueRepublic & Blockchain

Η TrueRepublic είναι μια Cosmos SDK blockchain σχεδιασμένη ειδικά για δημοκρατική διακυβέρνηση. Η Ekklesia.gr θα συνδεθεί μέσω MOD-08 Bridge στη φάση V2.

1

ZK-Proof Ψήφων

Κάθε ψήφος δημιουργεί ένα ZK-Proof που καταγράφεται στο blockchain χωρίς να αποκαλύπτει τον ψηφοφόρο

2

PnyxCoin (PNX)

Governance token — Liquid Democracy delegation, Community rewards

3

Αμετάβλητο Αρχείο

Divergence Scores + αποτελέσματα ψηφοφοριών μόνιμα στο blockchain

Η Bridge είναι ENV-activated (ENABLE_BRIDGE=true). Default: off. Ενεργοποιείται μόνο αφού η TrueRepublic blockchain είναι σε mainnet.

11 Οικονομικά

Η Ekklesia.gr σχεδιάστηκε να είναι σχεδόν δωρεάν. Χρησιμοποιεί αποκλειστικά ελεύθερο λογισμικό και δωρεάν υπηρεσίες.

ΦάσηΚόστος/ΧρόνοΛεπτομέρειες
Beta~0€GitHub Pages, free tier DB, 15 testers
Alpha~300€VPS, SMS κόστος (~0.04€/SMS), domain
V2~1.200€Blockchain nodes, WASM CDN, scaling

Η πλατφόρμα είναι MIT Licensed — ελεύθερη για όλους. Κανένα subscription, κανένα paywall, κανένα advertisement.

12 Νομικό Πλαίσιο

Η Ekklesia.gr λειτουργεί ως πλατφόρμα δημόσιας γνώμης (opinion platform) — δεν αποτελεί δεσμευτικό δημοψήφισμα.

Η Ekklesia.gr δεν συλλέγει, δεν επεξεργάζεται και δεν αποθηκεύει προσωπικά δεδομένα. Η μόνη 'ταυτότητα' είναι ένα SHA256 hash.

13 Αναφορές

  1. Eurobarometer 2024 — Trust in National Parliaments, European Commission
  2. Bernstein, D.J. et al. — Ed25519: High-speed high-security signatures, 2012
  3. GDPR — Regulation (EU) 2016/679, European Parliament
  4. eIDAS — Regulation (EU) No 910/2014, Electronic Identification
  5. Ν. 4624/2019 — Ελληνικός Νόμος Προστασίας Δεδομένων
  6. Ν. 3852/2010 (Καλλικράτης) — Νέα Αρχιτεκτονική Αυτοδιοίκησης
  7. Cosmos SDK — Application-specific Blockchain Framework, Interchain Foundation
  8. Sasson, E.B. et al. — Zerocash: Decentralized Anonymous Payments, 2014
  9. Sweeney, L. — k-Anonymity: A Model for Protecting Privacy, 2002
  10. TrueRepublic — Governance Blockchain for Direct Democracy, Vendetta Labs, 2026
  11. FastAPI — Modern Python Web Framework, Tiangolo, 2019
  12. Next.js 14 — React Framework for Production, Vercel, 2024
  13. PyNaCl — Python Binding to libsodium, 2013

📄 Community Πηγαίος κώδικας στο GitHub →