GNU Taler: Princípios de conceção
Ao conceber o GNU Taler, tivemos em mente os seguintes princípios de conceção:
1. Software Livre/Libre
O GNU Taler tem de ser Software Livre/Libre. Para os comerciantes, o Software Livre/Libre evita a dependência de um fornecedor, o que significa que os comerciantes podem facilmente escolher outro fornecedor de serviços para processar os seus pagamentos. Para os países, o software Livre/Libre significa que o GNU Taler não pode comprometer a soberania impondo restrições ou requisitos. E, para os operadores de Exchange, a transparência é crucial para satisfazer o princípio de Kerckhoffs e para estabelecer a confiança do público.
Os clientes beneficiam do Software Livre/Libre porque qualquer pessoa é livre de modificar o software da carteira para suportar plataformas adicionais. O código-fonte tem de estar disponível e tornar fácil verificar que estão ausentes funcionalidades hostis ao utilizador, como o rastreamento ou a telemetria.
2. Proteger a privacidade dos compradores
A privacidade é mais significativa quando é garantida através de medidas técnicas, por oposição a meras políticas. Sem uma camada técnica que assegure a privacidade por defeito, as transações financeiras revelam níveis desnecessários de dados pessoais ou privados. Isto seria especialmente verdade ao efetuar micropagamentos de publicações online. Assim, o GNU Taler tem de proteger a privacidade dos compradores para evitar facilitar um controlo totalitário sobre a população. Poderá ser necessário recolher dados privados limitados, como a morada de envio para uma entrega física, de acordo com as necessidades do negócio, e protegê-los de acordo com as leis locais. Neste caso, o GNU Taler tem de permitir a eliminação desses dados assim que deixem de ser necessários.
3. Auditabilidade - permitir que o Estado tribute o rendimento e reprima as atividades comerciais ilegais
Uma vez que um sistema de pagamento tem de cumprir as leis locais para operar legalmente, o GNU Taler tem de ser concebido para cumprir estes requisitos. O GNU Taler tem de fornecer uma trilha de auditoria para os investigadores que atuam ao abrigo da lei. Além disso, consideramos a cobrança de impostos benéfica para a sociedade, e uma tributação justa exige transparência dos rendimentos. Assim, o GNU Taler tem de permitir que as autoridades acompanhem os rendimentos.
4. Prevenir a fraude nos pagamentos
O GNU Taler tem de mitigar as fontes mais comuns de fraude nos pagamentos. Temos de seguir as melhores práticas na conceção de software, as diretrizes de design de terceiros que evitam interfaces de utilizador confusas e enganadoras, e temos de permitir que outros inspecionem o nosso código publicamente disponível. Além disso, o GNU Taler tem de fornecer provas criptográficas extensas para todos os processos-chave, de modo a permitir que todas as partes atribuam com precisão os comportamentos indevidos.
5. Recolher a informação mínima necessária
A privacidade dos compradores tem prioridade especial enquanto parte do princípio n.º 2. No entanto, outras partes - como os comerciantes - também têm de ter proteção de dados. De um modo geral, o GNU Taler só deve recolher a informação mínima necessária: os dados que não são recolhidos ou que já não são armazenados não podem ser comprometidos.
6. Ser utilizável
O GNU Taler tem de ser utilizável por clientes não especializados, incluindo os utilizadores finais de uma carteira GNU Taler, os comerciantes que pretendem aceitar pagamentos com o GNU Taler e os programadores de aplicações de terceiros para comércio eletrónico e outras plataformas. O GNU Taler tem de seguir as diretrizes de usabilidade das melhores práticas e incorporar o feedback de especialistas e utilizadores. O software Livre/Libre exige também documentação Livre/Libre para permitir escolhas informadas. O GNU Taler tem de fornecer Interfaces de Programação de Aplicações (APIs) bem documentadas, de modo a permitir integrações sem atritos entre o GNU Taler e outros projetos.
7. Ser eficiente
O GNU Taler tem de ser concebido para ser eficiente. Muito simplesmente, eficiência significa menos coisas que possam falhar, e significa mais transações por segundo e menor impacto ambiental. A eficiência é também fundamental para que o GNU Taler possa ser usado em micropagamentos. Por conseguinte, certas primitivas dispendiosas, como o proof-of-work, não devem ser usadas pelo GNU Taler.
8. Conceção tolerante a falhas
Operadores maliciosos, erros de digitação, falhas informáticas, gremlins. As coisas correm mal. O GNU Taler tem de ser concebido para tolerar a falha de componentes e sistemas individuais. Sempre que o sistema possa continuar a funcionar em segurança, continuará a funcionar em segurança. Sempre que tenha de interromper uma operação, outras operações não devem ser desnecessariamente colocadas offline. Sempre que os sistemas falhem, devem falhar de forma controlada. O GNU Taler tem de ter um plano para recuperar de operadores maliciosos que comprometam segredos fundamentais.
9. Fomentar a concorrência
Deve ser relativamente fácil para os concorrentes implementarem alternativas interoperáveis. As barreiras a isto nos sistemas financeiros tradicionais são bastante elevadas e estão fora do nosso controlo. No entanto, o GNU Taler tem de minimizar o esforço técnico necessário para que novos concorrentes entrem no mercado. O GNU Taler tem de permitir um conjunto diversificado de operadores, quebrando o sistema atual em que apenas algumas empresas globais dominam o mercado. Um exemplo de uma opção de conceção que apoia isto é dividir todo o sistema em componentes mais pequenos que podem ser operados, desenvolvidos e melhorados de forma independente, em vez de ter um sistema completamente monolítico.