GNU Taler: Principi di progettazione
Durante la progettazione di GNU Taler, avevamo in mente i seguenti principi di progettazione:
1. Software libero
GNU Taler deve essere un software libero. Per i commercianti, il software libero impedisce il blocco del fornitore, il che significa che i commercianti possono facilmente scegliere un altro fornitore di servizi per elaborare i loro pagamenti. Per i governi, il software libero significa che GNU Taler non può compromettere la sovranità imponendo restrizioni. E per gli operatori di un Taler Exchange, la trasparenza è fondamentale per soddisfare il principio di Kerckhoff e instaurare la fiducia del pubblico.
I clienti traggono vantaggio dal software libero perché chiunque è libero di modificare il supporto software del portafoglio per piattaforme aggiuntive. Il codice sorgente deve essere disponibile e semplificare la verifica dell'assenza di funzionalità ostili agli utenti come il monitoraggio o il tracciamento.
2. Proteggi la privacy degli acquirenti
La privacy è più significativa quando è garantita tramite misure tecniche, anziché mere politiche. Senza uno strato tecnico che fornisce privacy per impostazione predefinita, le transazioni finanziarie rivelano livelli non necessari di dati personali o privati. Ciò sarebbe particolarmente vero quando si effettuano micropagamenti per pubblicazioni online. Pertanto, GNU Taler deve proteggere la privacy degli acquirenti per evitare di facilitare il controllo totalitario sulla popolazione. Dati privati limitati, come l'indirizzo di spedizione per una consegna fisica, potrebbero dover essere raccolti in base alle esigenze aziendali e protetti secondo le leggi. In questo caso, GNU Taler deve abilitare la cancellazione di tali dati non più necessari.
3. Auditabilità: Consentire allo Stato di tassare il reddito e reprimere le attività commerciali illegali
Poiché un sistema di pagamento deve essere conforme alle leggi locali per poter funzionare legalmente, GNU Taler deve essere progettato per soddisfare questi requisiti. GNU Taler deve fornire una traccia di controllo per gli investigatori che operano secondo la legge. Inoltre, riteniamo che la riscossione delle tasse sia vantaggiosa per la società e un'equa tassazione richiede trasparenza sul reddito. Pertanto, GNU Taler deve consentire alle autorità di monitorare le entrate.
4. Prevenire le frodi nei pagamenti
GNU Taler deve limitare i rischi più comuni di frode nei pagamenti. Dobbiamo seguire le migliori pratiche nella progettazione del software, linee guida di progettazione di terze parti che impediscono confusione e interfacce utente fuorvianti, e dobbiamo fare in modo che altri ispezionino il nostro codice disponibile pubblicamente. Inoltre, GNU Taler deve fornire ampie prove crittografiche per tutti i processi chiave per consentire a tutte le parti di attribuire con precisione un cattivo comportamento.
5. Raccogliere le informazioni minime necessarie
La protezione dei dati personali degli acquirenti ha una priorità particolare come parte del principio #2. Tuttavia, anche altre parti - come i commercianti - devono disporre della protezione dei dati. In generale, GNU Taler deve raccogliere le informazioni minime necessarie: i dati che non vengono raccolti o non vengono più memorizzati non possono essere compromessi.
6. Essere utilizzabile
GNU Taler deve essere utilizzabile dagli utenti non esperti, compresi gli utenti finali di un wallet GNU Taler, i venditori che vogliono accettare pagamenti usando GNU Taler, e gli sviluppatori di applicazioni di terze parti per l'e-commerce e altre piattaforme. GNU Taler deve seguire le migliori pratiche per le linee guida per l'usabilità e inserire il feedback degli esperti e degli utenti. Il software Free/Libre richiede anche la documentazione Free/Libre per consentire scelte informate. GNU Taler deve fornire Interfacce di Programmazione delle Applicazioni (API) ben documentate per permettere integrazioni senza attriti tra GNU Taler e altri progetti.
7. Essere efficiente
GNU Taler deve essere progettato per essere efficiente. In parole povere, l'efficienza significa meno cose da interrompere e più transazioni al secondo, e abbassa il nostro impatto ambientale. Per GNU Taler l'efficienza è importante anche per i micro-pagamenti. Pertanto, certe misure economiche costose, come il proof-of-work, non devono essere usate da GNU Taler.
8. Progettazione tollerante ai guasti
Malware, errori di immissione da tastiera, difetti di funzionamento del computer, guasti. Le cose vanno male. GNU Taler deve essere progettato per sopportare il malfunzionamento di sistemi e componenti individuali. Qualora il sistema possa continuare a funzionare con sicurezza, continuerà a farlo. Se deve interrompere un'operazione, altre operazioni non devono essere scollegate senza motivo. Qualora il sistema smettesse di funzionare, deve farlo nella maniera giusta. GNU Taler deve avere un piano di ripristino da malware che danneggiano i segreti più importanti.
9. Favorire la concorrenza
Deve essere relativamente facile per i concorrenti implementare alternative interoperabili. Le barriere per questo nei sistemi finanziari tradizionali sono piuttosto elevate e fuori dal nostro controllo. Tuttavia, GNU Taler deve ridurre al minimo l'onere tecnico per l'ingresso di nuovi concorrenti nel mercato e abilitare un insieme diversificato di operatori, rompendo l'attuale sistema in cui solo poche aziende globali dominano il mercato. Un esempio di una progettazione giusta è dividere l'intero sistema in componenti piccoli che possono essere utilizzati, sviluppati e migliorati in modo indipendente, invece di avere un sistema completamente monolitico.