GNU Taler: Ontwerpprincipes

Bij het ontwerpen van GNU Taler hadden we de volgende principes in gedachten:

1. Vrije software

... op het gebied van computers betekent vrijheid het niet gebruiken van propriëtaire software

GNU Taler moet vrije software zijn. Voor verkopers voorkomt vrije software vendor lock-in, wat betekent dat verkopers gemakkelijk een andere dienstverlener kunnen kiezen om hun betalingen te verwerken. Voor landen betekent vrije software dat GNU Taler de soevereiniteit niet kan compromitteren door beperkingen of vereisten op te leggen. En voor exchange-exploitanten is transparantie cruciaal om te voldoen aan het principe van Kerckhoffs en om publiek vertrouwen te vestigen.

Klanten profiteren van vrije software omdat iedereen vrij is om de portemonnee-software aan te passen om aanvullende platforms te ondersteunen. De broncode moet beschikbaar zijn en het gemakkelijk maken om te verifiëren dat gebruikersvijandige functies zoals tracking of telemetrie afwezig zijn.

2. Bescherm de privacy van klanten

U verdient wat privacy

Privacy is het meest betekenisvol wanneer deze via technische maatregelen wordt gegarandeerd, in tegenstelling tot louter beleid. Zonder een technische laag die privacy-by-default biedt, onthullen financiële transacties onnodige hoeveelheden persoonlijke of privégegevens. Dit zou vooral gelden bij het doen van microbetalingen voor onlinepublicaties. GNU Taler moet daarom de privacy van kopers beschermen om te voorkomen dat totalitaire controle over de bevolking wordt gefaciliteerd. Beperkte privégegevens, zoals het verzendadres voor een fysieke levering, moeten mogelijk worden verzameld volgens zakelijke behoeften en worden beschermd volgens de lokale wetgeving. In dat geval moet GNU Taler het verwijderen van dergelijke gegevens mogelijk maken zodra deze niet langer nodig zijn.

3. Controleerbaarheid - de staat in staat stellen inkomen te belasten en illegale bedrijfsactiviteiten aan te pakken

Witwassen van geld

Aangezien een betalingssysteem moet voldoen aan de lokale wetgeving om legaal te kunnen functioneren, moet GNU Taler zo zijn ontworpen dat het aan deze vereisten voldoet. GNU Taler moet een audittrail bieden voor onderzoekers die onder de wet opereren. Bovendien beschouwen wij het heffen van belastingen als gunstig voor de samenleving, en eerlijke belastingheffing vereist inkomenstransparantie. GNU Taler moet autoriteiten dus in staat stellen inkomen te volgen.

4. Voorkom betalingsfraude

Phishing-aanval

GNU Taler moet de meest voorkomende bronnen van betalingsfraude beperken. We moeten best practices in softwareontwerp volgen, ontwerprichtlijnen van derden die verwarring en misleidende gebruikersinterfaces voorkomen, en we moeten anderen onze publiek beschikbare code laten inspecteren. Bovendien moet GNU Taler uitgebreid cryptografisch bewijs leveren voor alle belangrijke processen om alle partijen in staat te stellen wangedrag nauwkeurig toe te schrijven.

5. Verzamel alleen de nodige informatie

Privacy by design, privacy by default, conform de Algemene Verordening Gegevensbescherming (AVG)

De privacy van kopers krijgt bijzondere prioriteit als onderdeel van principe #2. Andere partijen - zoals verkopers - moeten echter ook gegevensbescherming hebben. Over het algemeen mag GNU Taler alleen de minimaal noodzakelijke informatie verzamelen: gegevens die niet worden verzameld of niet langer worden opgeslagen, kunnen niet worden gecompromitteerd.

6. Wees bruikbaar

Met één klik betalen. Eenvoudig voor kinderen.

GNU Taler moet bruikbaar zijn voor niet-deskundige klanten, waaronder eindgebruikers van een GNU Taler-portemonnee, verkopers die betalingen met GNU Taler willen accepteren, en externe applicatieontwikkelaars voor e-commerce en andere platforms. GNU Taler moet best practices voor bruikbaarheid volgen en feedback van experts en gebruikers verwerken. Vrije software vereist ook vrije documentatie om geïnformeerde keuzes mogelijk te maken. GNU Taler moet goed gedocumenteerde Application Programming Interfaces (API’s) bieden om wrijvingsloze integraties tussen GNU Taler en andere projecten mogelijk te maken.

7. Wees efficiënt

Energie-efficiëntie

GNU Taler moet zo zijn ontworpen dat het efficiënt is. Heel eenvoudig: efficiëntie betekent minder dingen die kapot kunnen gaan, en het betekent meer transacties per seconde en een lagere milieu-impact. Efficiëntie is ook cruciaal om GNU Taler te kunnen gebruiken voor microbetalingen. Daarom mogen bepaalde dure primitieven, zoals proof-of-work, niet door GNU Taler worden gebruikt.

8. Fouttolerant ontwerp

Reddingsboeien

Kwaadwillende exploitanten, vergissingen, computerstoringen, gremlins. Er gaan dingen mis. GNU Taler moet zo zijn ontworpen dat het uitval van afzonderlijke componenten en systemen kan verdragen. Waar het systeem veilig kan blijven draaien, zal het veilig blijven draaien. Waar het een operatie moet stilleggen, mogen andere operaties niet nodeloos offline worden gehaald. Waar systemen falen, moeten ze gracieus falen. GNU Taler moet een plan hebben om te herstellen van kwaadwillende exploitanten die kerngeheimen compromitteren.

9. Concurrentie bevorderen

Een concurrerende markt

Het moet relatief gemakkelijk zijn voor concurrenten om interoperabele alternatieven uit te rollen. De barrières hiervoor in traditionele financiële systemen zijn nogal hoog en buiten onze controle. GNU Taler moet echter de technische last voor nieuwe concurrenten om de markt te betreden minimaliseren. GNU Taler moet een diverse set exploitanten mogelijk maken en zo het huidige systeem doorbreken waarin slechts enkele wereldwijde bedrijven de markt domineren. Een voorbeeld van een ontwerpkeuze die dit ondersteunt, is het opsplitsen van het hele systeem in kleinere componenten die onafhankelijk kunnen worden geëxploiteerd, ontwikkeld en verbeterd, in plaats van één volledig monolithisch systeem te hebben.