Los bericht bekijken
Oud 1 april 2019, 09:47   #11
patrickve
Secretaris-Generaal VN
 
patrickve's schermafbeelding
 
Geregistreerd: 24 februari 2009
Locatie: Grenoble, Frankrijk
Berichten: 115.911
Standaard

Citaat:
Oorspronkelijk geplaatst door maddox Bekijk bericht
Als het te programmeren is, dan is de uitslag ook te programmeren.
In principe kan het zo gemaakt worden, dat elke burger elke stem publiek kan verifieren en natellen, zonder te weten wie nu wat gestemd heeft, en op een manier dat hij - tenminste als hij begaafd genoeg is, en dat is het probleem - niet afhankelijk is van gelijk wie om dat na te gaan.

In de praktijk, spijtig genoeg, is nog niet 1% van de bevolking in staat om dat te doen wegens technisch niet genoeg onderlegd om zelfs maar het principe te begrijpen. Je moet daarvoor immers wat cryptografische noties kennen en kunnen programmeren.

Maar, met die caveat van te domme bevolking, is het wel mogelijk om een waterdicht cryptografisch systeem op te zetten waar het onmogelijk is om fraude te plegen zonder dat de burger het ziet.

Het gaat in grote lijnen als volgt:
- elke burger moet een uniek prive/publiek sleutelpaar hebben, waarvan enkel de burger de prive sleutel kent (dus zelf genereert), en waarvan de overheid garandeert dat de publieke sleutel aan een fysische burger toekomt. Die lijst van burgers/publieke sleutels moet openbaar gemaakt worden.

Het bovenstaande is een staatsmonopolie, maar nodig omdat de staat tenslotte de enige entiteit is die burgers als staatsburgers kan erkennen. De staat moet dus wel expliciet zeggen wie nu een staatsburger is, dat verbinden aan die persoon zijn publieke sleutel, en die lijst openbaar maken. Elke burger kan zichzelf op die lijst herkennen. Natuurlijk kan niemand beletten dat de staat "spook-burgers" uitvindt, maar dat is bij ELKE verkiezing zo. Aangezien "burgerschap" door staten wordt toegekend, is dat een inherente zwakte aan elk democratisch systeem natuurlijk.

Eigenlijk is die lijst, toegankelijk voor iedereen, de hoeksteen.

Een eerste, niet-anonieme versie, van het stemmen gaat dan als volgt: een stem uitbrengen bestaat er gewoon in om als burger het "stemformulier" af te laden van de openbare stemsite, uw stem in te vullen, en het resultaat met uw prive-sleutel te tekenen. Iedereen kan dan nagaan, met uw publieke sleutel, dat je die stem hebt uitgebracht, en niemand kan die in uw naam produceren. Maar nu moet je je getekende stemformulier nog "openbaar maken".

Naïef gezien zou je dat opladen aan de staatsserver, maar die zou selectief enkel maar getekende stemmen kunnen aanvaarden die hem goed uitkomen. Het kan dus niet dat je die stem direct oplaadt. Het moet via een netwerk gaan, zodat meerdere burgers uw stem zien. Men kan dat doen door een P2P netwerk aan te leggen. Elke burger die meedoet, sluit zijn applicatie aan op een P2P netwerk. Dat P2P netwerk verspreidt uw stem en verzamelt alle stemmen die langs komen. Op die manier verzamelt elke deelnemer in principe alle stemmen die langskomen.

Nadien moet men de legaliteit van elke stem nagaan. Wat is een legale stem ? Een legale stem is
- een stem die getekend werd door een van de deelnemers op de openbare lijst van kiezers (kan nagegaan worden met publieke sleutel)
- een juist stemformulier bevat met een juist ingevulde stem (kan gemakkelijk nagegaan worden)
- geen twee verschillende stemmen met dezelfde handtekening (kan ook nagegaan worden)

Indien twee verschillende stemmen, wordt die kiezer gewoon gebannen: zijn X stemmen zijn dan ongeldig.

Alle deelnemers van het P2P netwerk (waaronder de staat computer(s)) hebben nu dus alle stemmen, en kunnen dus alle resultaten zien. Niemand kan dus stemmen "wegdoen" want het is onmogelijk om die van het P2P netwerk te halen of tegen te houden. Niemand kan in de plaats van iemand anders stemmen.

Het nadeel is dat zo een systeem dus niet anoniem is. Maar daar bestaat een oplossing voor, die cryptografisch ingewikkeld is, maar die "ring signature" heet. Het laat U toe om uw prive sleutel te "mengen" met een aantal publieke sleutels van anderen. Zonder uw prive sleutel kunnen mensen enkel maar nagaan dat het getekend werd door EEN VAN die mensen waaronder jij, maar ze weten niet wie. Men kan wel nagaan of een prive sleutel twee keer gebruikt werd in zo een systeem. Monero is een crypto currency die dat systeem gebruikt, dat werkt dus.

Doe dus hetzelfde als hierboven maar met ring signaturen, en men heeft nu anonimiteit ingevoerd in de verkiezing.

Tenslotte, men dient enkel maar de principes en de berekeningswijzen te publiceren. Het is niet nodig om software te publiceren. Iedereen kan die (in principe) schrijven en dus kan men ook niet "tricheren" met de software, want als velen hun eigen software schrijven, zou de fraude onmiddellijk opvallen, omdat die eigen software natuurlijk de frauduleuze schema's van anderen niet zal implementeren.
patrickve is offline   Met citaat antwoorden