Projekt GNU zaprezentował wydanie wolnego systemu płatności elektronicznych GNU Taler 0.8. Cechą systemu jest to, że kupujący mają zapewnioną anonimowość, podczas gdy sprzedawcy nie są anonimowi, co zapewnia przejrzystość raportowania podatkowego, tj. system nie pozwala na śledzenie informacji o tym, gdzie użytkownik wydaje pieniądze, ale dostarcza narzędzia do śledzenia wpływów (nadawca pozostaje anonimowy), co rozwiązuje problemy związane z audytem podatkowym w BitCoin. Kod został napisany w Pythonie i jest udostępniany na licencjach AGPLv3 i LGPLv3.
GNU Taler nie tworzy własnej kryptowaluty, lecz działa z już istniejącymi walutami, w tym z dolarami, euro i bitcoinami. Wsparcie nowych walut można uzyskać poprzez założenie banku, który pełni rolę gwaranta finansowego. Model biznesowy GNU Taler oparty jest na realizacji operacji wymiany — pieniądze z tradycyjnych systemów płatniczych, takich jak BitCoin, Mastercard, SEPA, Visa, ACH i SWIFT, zamieniane są na anonimowe pieniądze elektroniczne w tej samej walucie. Użytkownik może przekazywać pieniądze elektroniczne sprzedawcom, którzy następnie mogą w punkcie wymiany zamienić je z powrotem na prawdziwe pieniądze, reprezentowane przez tradycyjne systemy płatności.
Wszystkie transakcje w GNU Taler są chronione przy użyciu nowoczesnych algorytmów kryptograficznych, które pozwalają zachować integralność nawet w przypadku wycieku prywatnych kluczy klientów, sprzedawców i punktów wymiany. Format bazy danych umożliwia weryfikację wszystkich dokonanych transakcji oraz potwierdzenie ich spójności. Potwierdzeniem płatności dla sprzedawców jest kryptograficzny dowód przelewu w ramach umowy zawartej z klientem oraz kryptograficznie podpisane potwierdzenie posiadania środków w punkcie wymiany. GNU Taler składa się z zestawu podstawowych komponentów, które zapewniają logikę dla działania banku, punktu wymiany, platformy handlowej, portfela i audytora.
W nowym wydaniu wprowadzono zmiany przygotowane w celu wyeliminowania wad wykrytych w wyniku audytu bezpieczeństwa bazy kodu. Audyt został przeprowadzony w 2020 roku przez firmę Code Blau i sfinansowany w ramach grantu przyznanego przez Komisję Europejską w ramach programu rozwoju nowej generacji technologii internetowych. Po przeprowadzeniu inspekcji wydano zalecenia dotyczące wzmocnienia izolacji kluczy prywatnych i podziału przywilejów, poprawy dokumentacji kodu, uproszczenia skomplikowanych konstrukcji, przeglądu metod obsługi wskaźników NULL, inicjalizacji struktur oraz wywołań zwrotnych.
Główne zmiany:
- Wzmocniono izolację kluczy prywatnych, które teraz są obsługiwane za pomocą osobnych plików wykonywalnych taler-exchange-secmod-*, uruchamianych pod innym użytkownikiem, co pozwala oddzielić logikę pracy z kluczami od procesu taler-exchange-httpd, obsługującego zewnętrzne zapytania sieciowe.
- Wzmocniono izolację wrażliwych parametrów konfiguracyjnych punktów wymiany (giełd).
- W implementacji portfela (Wallet-core) dodano wsparcie dla tworzenia kopii zapasowych i odzyskiwania.
- W portfelu zmieniono wygląd wyświetlania informacji o transakcjach, historii, błędach oraz operacjach oczekujących na wykonanie. Zwiększono stabilność działania portfela oraz komfort pracy. Udokumentowano API portfela, które teraz jest wykorzystywane we wszystkich interfejsach użytkownika.
- W wersji portfela opartej na technologii WebExtension, przeznaczonej do użycia w przeglądarkach, dodano wsparcie dla przeglądarki GNU IceCat. Znacznie ograniczono uprawnienia potrzebne do działania portfela opartego na WebExtension.
- Dla punktów wymiany i rynków udostępniono możliwość określenia własnych warunków świadczenia usług.
- Do backendu dodano opcjonalne narzędzia do inwentaryzacji dla organizacji pracy rynków.
- Umowa umożliwia wyświetlanie szkiców obrazów produktu.
- W katalogu F-Droid znajdują się aplikacje na Androida do obsługi handlu (point-of-sale) i pracy kasy, używane do organizacji sprzedaży na rynkach.
- Udoskonalono realizację procesu zwrotu środków.
- Uproszczono i poprawiono HTTP API dla rynków. Ułatwiono tworzenie frontendów dla rynków, dodano możliwość generowania gotowych stron HTML przez backend do pracy z portfelem.
Źródło: opennet.ru
