Thore Husfeldt

Archive for June 2013

E-rösta är en dålig idé

with 4 comments

(Ursprungligt publicerad 28 april 2013 på Sydsvenskan)

Det är en enorm skillnad mellan att shoppa, deklarera och sköta sina bankaffärer via nätet och att rösta i ett demokratiskt val. Det skriver Thore Husfeldt, professor i datalogi, och tar avstånd från vallagskommitténs förslag om e-röstning.
En majoritet i vallagskommittén har föreslagit att elektronisk röstning ska ske på försök i ett antal svenska kommuner under valet 2018. Allt annat på nätet sägs ju fungera utmärkt och smidigt, så varför ska vi inte e-rösta? Vi kan ju e-deklarera, e-handla och e-banka.

Och visst låter det bra.

Men det är en enorm skillnad mellan att shoppa, deklarera och sköta sina bankaffärer via nätet och att rösta i ett demokratiskt val.

Det är sällan vi dataloger avfärdar informationsteknologi. Men på den här punkten är vi överens:

Öppna och hemliga val är olämpliga föremål för digitalisering, oavsett om det skulle ske via internet eller med hjälp av maskiner i vallokalen.

Varför då? Det finns många anledningar, men låt mig redogöra för två:

Hemlighet och transparens.

Ta banktransaktioner – de går att sköta digitalt eftersom de inte är hemliga. Visst uppstår fel och problem, men både kund och bank får kvitton som de kan jämföra med kontoutdragen. Ingen behöver blint lita på att transaktionen lyckades, eftersom resultatet kan kontrolleras i efterhand. När ett fel uppstår, blir det upptäckt och kan åtgärdas.

Hemliga val är den diametrala motsatsen till banktransaktioner:

Väljaren får inget kvitto (annars vore valet inte fritt) och vallokalen får inget kvitto (annars vore valet inte anonymt).

Kritiken mot e-röstning är alltså domänspecifik och har ingenting med samhällets generella digitala kompetens att göra. Det finns gott om icke-hemliga val, till exempel när riksdagen voterar. Sådana val kan man digitalisera: små lampor i riksdagen visar varje ledamots röst och rösträkningen sker elektroniskt.

Den andra anledningen till att e-röstande är oacceptabelt i en demokrati är bristen på transparens.

Vi litar på nuvarande valsystem eftersom alla kan övertyga sig om att röstningen går rätt till. Hela processen är öppen och observeras av en rad individer: dig, mig, fru Svensson eller en valobservatör. Bland annat visar man upp den tomma valurnan på valmorgonen för att skydda processen mot i förväg påfyllda valurnor.

I många länder används rentav genomskinliga röstlådor – där kan man tala om bokstavlig transparens.

Men hur ser då den digitala motsvarigheten till denna kontroll ut?

Den är betydligt mer komplicerad, i själva verket omöjlig.

Förutsatt att e-röstsystemet använder öppen källkod kan i alla fall den teknologiska eliten, det vill säga ett mycket litet fåtal, läsa koden och se att det står set votecount = 0 på rad 541 548.

Men programvara är ett komplext system. Om jag skulle granska vore jag tvungen att läsa hela programmet för att försäkra mig om att rad 541 548 faktiskt utförs vid rätt tidpunkt, och att ingen annan rad ändrar votecount på något klurigt sätt.

Det är i stort omöjligt att granska så mycket kod. Men även om det vore möjligt, så beror e-röstningssystemets funktion på en massa annat: kompilatorer, operativsystem, drivrutiner, ända ner till hårdvaran.

Det handlar om miljontals rader kod, skriven av tiotusen människor i ett dussin programspråk. Några rader är 40 år gamla, andra ändrades igår. Många innehåller fel på grund av slarv eller illvilja. Varje rad kan ändra votecount.

En armé av dataloger skulle behöva decennier för att granska allt. Men även om vi hade lyckats, skulle vi inte ha någon garanti för att det är det granskade systemet som faktiskt används på valdagen. Det kan ha bytts ut natten innan.

Det är alltså inte så att bara experter kan observera och kontrollera ett elektroniskt val – inte ens experter kan det.

Inga tekniska framsteg kan ändra på detta. Tvärtom blir informationsteknologin mer och mer komplex och den digitala valurnan mer och mer ogenomskinlig.

Så e-röstning är som allt annat på nätet. Det är varken hemligt eller genomskådligt.

Written by thorehusfeldt

June 26, 2013 at 12:02

Posted in Exposition

Draft survey about graph colouring algorithms

with 3 comments

I’ve been quite busy writing up a survey of graph colouring algorithms. As an experiment, I’ve put up a draft of the manuscript on Bitbucket, including the source files.

KMS

The draft is available as a PDF document.
The sources can be inspected at the Bitbucket Git repository thusfeldt/graph-colouring-algorithms.

Even though the literature on graph colouring algorithms is vast, I was unable to find an earlier comprehensive survey. (In fact, the Wikipedia page Graph colouring, to which I have contributed quite a bit, is in pretty good shape.) Thus, I’ve found myself surveying results and techniques that are somewhat outside of my comfort zone, and made editorial choices about issues where I speak with little authority.

Thus, by making this draft available, I strongly invite comments of all kinds. Errors, miscalculations, sources of confusion, misunderstandings, criminal omissions of results or tacit assumptions, undue weight: Please tell me. Here or via email. If you’re really cool, use the issue tracker or fork the git repository, edit your change, and send me a pull request. (I dream of a distant future where all papers can be crowd-sourced and the original author just juggles diffs. I also dream of rolling pavements and flying cars, of course.)

I would especially like to hear comments from mathematicians and other researchers outside of theoretical computer science (what tacit assumptions have I forgotten to make explicit?), algorithms students at the beginning graduate level (is it understandable?), and graph colouring researchers (what favourite result of yours did I misunderstand or omit?).

Written by thorehusfeldt

June 18, 2013 at 13:52

Posted in Uncategorized