GNU Taler: Principy návrhu
Při navrhování GNU Taler jsme měli na paměti následující principy návrhu:
1. Svobodný software
GNU Taler musí být svobodný software. Obchodníkům svobodný software brání v uzamčení na jednoho dodavatele, což znamená, že obchodníci si mohou snadno zvolit jiného poskytovatele služeb pro zpracování svých plateb. Pro země znamená svobodný software to, že GNU Taler nemůže ohrozit svrchovanost vnucením omezení nebo požadavků. A pro provozovatele exchange je transparentnost klíčová pro naplnění Kerckhoffsova principu a pro vybudování důvěry veřejnosti.
Zákazníci těží ze svobodného softwaru, protože kdokoli může volně upravovat software peněženky tak, aby podporoval další platformy. Zdrojový kód musí být dostupný a musí umožňovat snadné ověření, že chybí funkce nepřátelské vůči uživateli, jako je sledování nebo telemetrie.
2. Chránit soukromí kupujících
Soukromí má největší smysl, pokud je zaručeno technickými opatřeními, na rozdíl od pouhých zásad. Bez technické vrstvy poskytující soukromí jako výchozí nastavení odhalují finanční transakce zbytečné množství osobních nebo soukromých dat. To by platilo zejména při provádění mikroplateb za online publikace. GNU Taler proto musí chránit soukromí kupujících, aby neusnadňoval totalitní kontrolu nad obyvatelstvem. Omezená soukromá data, jako je dodací adresa pro fyzické doručení, může být nutné shromažďovat podle obchodních potřeb a chránit podle místních zákonů. V takovém případě musí GNU Taler umožnit smazání takových dat, jakmile již nejsou potřebná.
3. Auditovatelnost – umožnit státu zdanit příjem a zakročit proti nezákonným podnikatelským aktivitám
Protože platební systém musí pro legální provoz dodržovat místní zákony, musí být GNU Taler navržen tak, aby tyto požadavky splňoval. GNU Taler musí poskytovat auditní stopu pro vyšetřovatele jednající v souladu se zákonem. Dále považujeme vybírání daní za přínosné pro společnost a spravedlivé zdanění vyžaduje transparentnost příjmů. GNU Taler proto musí orgánům umožnit sledování příjmu.
4. Předcházet platebním podvodům
GNU Taler musí zmírnit nejčastější zdroje platebních podvodů. Musíme dodržovat osvědčené postupy při návrhu softwaru, pokyny pro návrh od třetích stran, které brání zmatení a zavádějícím uživatelským rozhraním, a musíme nechat náš veřejně dostupný kód kontrolovat ostatními. GNU Taler musí dále poskytovat rozsáhlé kryptografické důkazy pro všechny klíčové procesy, aby všechny strany mohly přesně přiřadit nesprávné chování.
5. Shromažďovat minimum nezbytných informací
Soukromí kupujících má zvláštní prioritu v rámci principu #2. I ostatní strany – jako obchodníci – však musí mít zajištěnu ochranu dat. GNU Taler musí obecně shromažďovat pouze minimum nezbytných informací: data, která nejsou shromážděna nebo již nejsou uložena, nelze kompromitovat.
6. Být použitelný
GNU Taler musí být použitelný pro zákazníky bez odborných znalostí, včetně koncových uživatelů peněženky GNU Taler, obchodníků, kteří chtějí přijímat platby pomocí GNU Taler, a vývojářů aplikací třetích stran pro e-commerce a další platformy. GNU Taler musí dodržovat osvědčené pokyny pro použitelnost a zohledňovat zpětnou vazbu od odborníků a uživatelů. Svobodný software vyžaduje rovněž svobodnou dokumentaci, aby umožnil informovaná rozhodnutí. GNU Taler musí poskytovat dobře zdokumentovaná aplikační programovací rozhraní (API), aby umožnil bezproblémovou integraci mezi GNU Taler a dalšími projekty.
7. Být efektivní
GNU Taler musí být navržen tak, aby byl efektivní. Zcela jednoduše řečeno, efektivita znamená méně věcí, které se mohou pokazit, a znamená více transakcí za sekundu a nižší dopad na životní prostředí. Efektivita je rovněž klíčová pro to, aby se GNU Taler dal používat pro mikroplatby. Proto GNU Taler nesmí používat určité nákladné primitivy, jako je proof-of-work.
8. Návrh odolný vůči chybám
Zlovolní provozovatelé, překlepy, počítačové závady, šotci. Věci se kazí. GNU Taler musí být navržen tak, aby toleroval selhání jednotlivých komponent a systémů. Tam, kde může systém bezpečně pokračovat v běhu, bude bezpečně pokračovat. Tam, kde musí nějakou operaci zastavit, nesmějí být zbytečně staženy offline ostatní operace. Tam, kde systémy selžou, musí selhat elegantně. GNU Taler musí mít plán, jak se zotavit z případu, kdy zlovolní provozovatelé kompromitují klíčová tajemství.
9. Podporovat konkurenci
Pro konkurenty musí být relativně snadné nasadit interoperabilní alternativy. Překážky pro to jsou v tradičních finančních systémech poměrně vysoké a mimo naši kontrolu. GNU Taler však musí minimalizovat technickou zátěž pro vstup nových konkurentů na trh. GNU Taler musí umožnit pestrou škálu provozovatelů a rozbít současný systém, kde trhu dominuje jen několik globálních společností. Příkladem rozhodnutí při návrhu, které to podporuje, je rozdělení celého systému na menší komponenty, které lze provozovat, vyvíjet a vylepšovat nezávisle, namísto jednoho zcela monolitického systému.