1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
|
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>GNU Taler - Taxable Anonymous Libre Electronic Reserves: Developers</title>
<meta name="description" content="">
<!--# include file="common/header.inc" -->
</head>
<body class="en" onLoad="loadLang();">
<div class="container">
<!--# include file="common/navigation.inc" -->
<!-- Jumbotron -->
<div class="jumbotron">
<h1 lang="en">Taler for developers</h1>
<h1 lang="de">Taler für Entwickler</h1>
<h1 lang="fr">Taler pour les développeurs</h1>
<h1 lang="it">Taler per programmatori</h2>
</div>
<!-- Example row of columns -->
<div class="row">
<div class="col-lg-6">
<h2 lang="en">Free</h2>
<h2 lang="de">Frei</h2>
<h2 lang="fr">Libre</h2>
<h2 lang="it">Free</h2>
<p lang="en">Taler is free software implementing an open protocol. Anybody is welcome to inspect our code and integrate our reference implementation into their applications.
Different components of Taler are being made available under different licenses. The Affero GPLv3+ is used for the Mint, the LGPLv3+ is used for reference
code demonstrating integration with merchant platforms, and licenses like Apache/Mozilla/GPLv3+ are used for wallets and related customer-facing software.
We are open for constructive suggestions for maximizing the adoption of this libre payment platform.</p>
<p lang="de">Taler ist freie Software, welche ein offenes Protokoll
implementiert. Der Code ist frei verfügbar und jeder ist
eingeladen unsere Referenzimplementierung in eigene Projekte zu
übernehmen. Die unterschiedlichen Komponenten Talers sind unter
verschiedenen Lizenzen erhältlich. Die Münzanstalt fällt unter
Affero GPLv3+, Referenzcode, welcher die Integration mit
Händlerplattformen demonstriert, läuft unter LGPLv3+ und die
Geldbörsen sowie weitere Software auf Seiten der Endkunden
verwenden Apache-/Mozilla- ähnliche GPLv3+. Wir sind offen
für konstruktive Vorschläge und freuen uns über
Beiträge, welche zur weiten Verbreitung dieser freien Bezahlplattform
führen.</p>
<p lang="fr">Taler est un logiciel libre exécutant un protocol ouvert.
Vous êtes les bienvenus pour inspecter notre code et intégrer nos
applications référence dans vos applications. Différents composants de
Taler sont disponibles sous plusieurs licences. L'Affero GPLv3+ est
utilisé pour la monnaie, le LGPLv3+ est utilisé pour le code référence
montrant l'intégration sur des plateformes machandes, et des licences
comme Apache/Mozilla/GPLv3+ sont utilisées pour les portefeuilles et
le lien client-logiciel orienté. Nous sommes ouverts à toute
suggestion constructive pour exploiter au maximum cette plateforme de
paiement libre.</p>
<p lang="it">Taler è un free software che utilizza un protocollo aperto. Chiunque
è benvenuto per esaminare il nostro codice e integrare le nostre implementazioni
di riferimento nelle loro applicazioni. Diversi componenti di Taler sono stati
resi disponibili sotto diverse licenze. Affero GPLv3+ è usata per la Mint, LGPLv3+
per il codice di riferimento che mostra l'integrazione con la piattaforma del
venditore, e licenze come Apache/Mozilla/GPLv3+ sono usate per i portafogli e i
relativi software di interfaccia dei clienti. Siamo aperti a suggerimenti costruttivi
per massimizzare l'adozione di questa piattaforma di pagamento free.</p>
</div>
<div class="col-lg-6">
<h2 lang="en">RESTful</h2>
<h2 lang="de">REST-basiert</h2>
<h2 lang="fr">Avec REST</h2>
<h2 lang="it">RESTful</h2>
<p lang="en">Taler is designed to work on the Internet. To ensure
that Taler payments can work with restrictive network setups, Taler
uses a RESTful protocol over HTTP or HTTPS. Taler's security does not
depend upon the use of HTTPS, but obviously merchants may choose to
offer HTTPS for consistency and because it generally is better for
privacy compared to HTTP. Taler uses JSON to encode structure data,
making it easy to integrate Taler with existing Web applications.
Taler's protocol is documented in detail <a href="http://api.taler.net/">here</a>.</p>
<p lang="de">Taler wurde zur Verwendung im Internet konzipiert. Um
sicherzustellen, dass Bezahlvorgänge mit Taler auch in
restriktiven Netzwerkumgebungen funktionieren können, verwendet
Taler ein REST-basiertes Protokoll über HTTP oder HTTPS. Talers
Sicherheit hängt nicht von der Verwendung von HTTPS ab, aber
die Verwendung von HTTPS auf Seiten der Händler sollte aus
Konsistenzgründen und aufgrund der besseren Privatsphäre,
die HTTPS gegenüber HTTP bietet, erfolgen. Da Taler
zur Kodierung von Datenstrukturen JSON verwendet, ist die
Integration von Taler in existierende Webapplikationen sehr
einfach. Das Taler-Protokoll ist im Detail <a href="http://api.taler.net/">hier</a>
dokumentiert.</p>
<p lang="fr">Taler est conçu pour fonctionner sur Internet. Afin de
s'asurer que les paiement Taler fonctionnent sur des installations
réseaux restrictives, Taler utilise le protocole RESTful sur HTTP ou
HTTPS. La sécurité Taler ne dépend pas de l'utilisation de HTTPS, mais
naturellement les commerçants voudront choisir HTTPS pour l'uniformité
et car c'est généralement meilleur pour la confidentialité comparé à
HTTP. Taler utilise JSON pour coder les données structure, rendant
Taler facile à intégrer avec des application Web existantes. Le
protocole Taler est documenté en détail <a href="http://api.taler.net/">ici</a>.</p>
<p lang="it">Taler è progettato per funzionare su Internet. Per assicurare che i
pagamenti in Taler possano funzionare con configurazioni di rete ristrette, Taler
usa un protocollo RESTful su HTTP o HTTPS. La sicurezza di Taler non dipende dall'uso
di HTTPS, ma ovviamente i venditori possono scegliere di offrire HTTPS per maggior
compattenza e perché è generalmente migliore per la privacy se paragonato a HTTP.
Taler usa JSON per codificare i dati di struttura, rendendo facile integrare Taler
con le già esistenti applicazioni web. Il protocollo usato da Taler è documentato
nel dettaglio <a href="http://api.taler.net/">qui</a>.</p>
</div>
</div>
<div class="row">
<div class="col-lg-4">
<h2 lang="en">Code</h2>
<h2 lang="de">Code</h2>
<h2 lang="fr">Code</h2>
<h2 lang="it">Codice</h2>
<p lang="en">Taler is currently primarily developed by a research team
at Inria and TU Munich. However, contributions from anyone are
welcome. Our Git repositories can be cloned using the Git and HTTP
access methods against <tt>git.taler.net</tt> with the name of the
respective repository. A list of public repositories can be found in
our <a href="http://www.git.taler.net/">GitWeb</a>.</p>
<p lang="de">Taler wird aktuell hauptsächlich von einer
Forschergruppe bei Inria und der Technischen Universität
München entwickelt. Trotzdem sind Beiträge von jedem
wilkommen. Unser Git-Repository kann man sowohl über Git als
auch über HTTP klonen, indem man auf <tt>git.taler.net</tt> mit
dem entsprechenden Repository-Namen zugreift. Eine Liste von
öffentlichen Repositories ist in unserem
<a href="http://www.git.taler.net/">GitWeb</a> zu finden.</p>
<p lang="fr">Taler est actuellement principalement développé par une
équipe de recherche à Inria et TU Munich. Néanmoins, les contributions
de tous sont les bienvenues. Notre Stockage Git peut être cloné en
utilisant les méthodes d'accès Git et HTTP sur <tt>git.taler.net</tt>
avec le nom du stockage respectif. Une liste des lieux de stockage
publics se trouve sur notre <a href="http://www.git.taler.net/">GitWeb</a>.</p>
<p lang="it">Attualmente Taler è principalmente sviluppato da un team di ricercatori
di Inria e TU Munich. Comunque, sono ben accetti contributi da parte di chiunque.
Le nostre repository di Git possono essere clonate applicando il metodo d'accesso di
Git e HTTP su questo link <tt>git.taler.net</tt>, con il nome della corrispettiva
repository. Una lista delle repository pubbiche può essere trovata al nostro
<a href="http://www.git.taler.net/">GitWeb</a>.</p>
</div>
<div class="col-lg-4">
<h2 lang="en">Documentation</h2>
<h2 lang="de">Dokumentation</h2>
<h2 lang="fr">Documentation</h2>
<h2 lang="it">Documentazione</h2>
<p lang="en">In addition to this website, the <a href="http://www.git.taler.net/">documented code</a>
and the <a href="http://api.taler.net/">API documentation</a>, we are in the process of
preparing a comprehensive design document which will be published here soon.</p>
<p lang="de">Zusätzlich zu dieser Webseite, dem <a href="http://www.git.taler.net/">dokumentierten Code</a>
und der <a href="http://api.taler.net/">API-Dokumentation</a>
bereiten wir ein umfassendes Design-Dokument vor, welches in
Kürze hier verfügbar sein wird.</p>
<p lang="fr">En supplément de ce site web, le
<a href="http://www.git.taler.net/">documented code</a> et l'<a href="http://api.taler.net/">API documentation</a>, nous
préparons un document exhaustif qui sera publié ici prochainement.</p>
<p lang="it">Oltre a questo sito, il <a href="http://www.git.taler.net/">codice documentato</a>,
e la <a href="http://api.taler.net/">documentazione API</a>, siamo preparando un
documento integrale di progettazione che sarà presto pubblicato qui.</p>
</div>
<div class="col-lg-4">
<h2 lang="en">Discussion</h2>
<h2 lang="de">Diskussion</h2>
<h2 lang="fr">Discussion</h2>
<h2 lang="it">Discurssione</h2>
<p lang="en">We have a mailinglist for developer discussions.
You can subscribe to it or read the list archive at
<a href="http://lists.gnu.org/mailman/listinfo/taler">http://lists.gnu.org/mailman/listinfo/taler</a>.</p>
<p lang="de">Wir haben eine Mailingliste für Diskussionen mit den Entwicklern.
Die Webseite der Liste zum eintragen als auch das Listenarchiv sind hier:
<a href="http://lists.gnu.org/mailman/listinfo/taler">http://lists.gnu.org/mailman/listinfo/taler</a>.</p>
<p lang="fr">Nous avons une liste pour le discours public des developers.
On peut s'inscrire ou lire les archives à
<a href="http://lists.gnu.org/mailman/listinfo/taler">http://lists.gnu.org/mailman/listinfo/taler</a>.</p>
<p lang="it">We have a mailinglist for developer discussions.
You can subscribe to it or read the list archive at
<a href="http://lists.gnu.org/mailman/listinfo/taler">http://lists.gnu.org/mailman/listinfo/taler</a>.</p>
</div>
</div>
<div class="col-lg-12">
<h2 lang="en" id="overview">Taler system overview</h1>
<h2 lang="de">Das Taler-System im Überblick</h1>
<h2 lang="fr" note="outdated"></h2>
<h2 lang="it" note="outdated"></h2>
<p lang="en">The Taler system consists of protocols and free software
implementations between a number of actors as illustrated in the
illustration on the right. Typical transactions involve the following steps:
</p>
<p lang="de" note="outdated"></p>
<p lang="fr" note="outdated"></p>
<p lang="it" note="outdated"></p>
<p>
<img src="images/system.svg" alt="system overview" style="float: right; margin: 50px 5px 5px 5px;" width="50%">
<ol>
<li lang="en">A customer instructs his <b>bank</b> to transfer funds
from his account to the Taler mint (top left). In the subject of
the transaction, he includes an authentication token from his
electronic <b>wallet</b>. In Taler terminology, the customer
creates a reserve at the mint.</li>
<li lang="de" note="outdated"></li>
<li lang="fr" note="outdated"></li>
<li lang="it" note="outdated"></li>
<li lang="en">Once the mint has received the transfer, it allows the
customer's electronic wallet to <b>withdraw</b> electronic coins.
The electronic coins are digital representations of the original
transfer. It is important to note that the mint does not learn
the "serial numbers" of the coins in this process, so it cannot
tell later which customer purchased what at which merchant.
The use of Taler does not change the currency or the
total value of the funds (except for fees which the mint may
charge for the service).</li>
<li lang="de" note="outdated"></li>
<li lang="fr" note="outdated"></li>
<li lang="it" note="outdated"></li>
<li lang="en">Once the customer has the digital coins in his wallet,
the wallet can be used to <b>spend</b> the coins with merchant
portals that support the Taler
payment system and accept the respective mint as a business
partner (bottom arrow). This creates a digital contract signed
by the customer's coins and the merchant. Assuming courts accept
cryptographic signatures, the customer can later use this digitally
signed contract in a court of law to prove the exact terms of
the contract and that he paid the respective amount. The customer
does not learn the banking details of the merchant, and Taler
does not require the merchant to learn the identity of the
customer. Naturally, the customer can spend any fraction of his
digital coins (the system takes care of customers getting
change).</li>
<li lang="de" note="outdated"></li>
<li lang="fr" note="outdated"></li>
<li lang="it" note="outdated"></li>
<li lang="en">Merchants receiving digital coins <b>deposits</b>
the respective receipts that resulted from the contract signing
with the customer at the mint to redeem the coins.
The deposit step does not reveal the learn the details of the
contract between the customer and the merchant or the identity
of the customer to the mint in any way. However, the mint
does learn the identity of the merchant via the provided bank
routing information. The merchant can, for example when
compelled by the state for taxation, provide information linking
the individual deposit to the respective contract signed by the
customer. Thus, the mint's database allows the state to enforce
that merchants pay applicable taxes (and do not engage in
illegal contracts).</li>
<li lang="de" note="outdated"></li>
<li lang="fr" note="outdated"></li>
<li lang="it" note="outdated"></li>
<li lang="en">Finally, the mint transfers funds corresponding to
the digital coins redeemed by the merchants to the merchant's
<b>bank</b> account. The mint may combine multiple small
transactions into one larger bank transfer.
The merchant can query the mint
about the relationship between the bank transfers and the
individual claims that were deposited.</li>
<li lang="de" note="outdated"></li>
<li lang="fr" note="outdated"></li>
<li lang="it" note="outdated"></li>
<li lang="en">Most importantly, the mint keeps cryptographic
proofs that allow it to demonstrate that it is operating
correctly to third parties. The system requires an external
<b>auditor</b>, such as a government-appointed financial regulatory
body, to frequently verify the mint's databases and check that
its bank balance matches the total value of the remaining coins
in circulation.</li>
<li lang="de" note="outdated"></li>
<li lang="fr" note="outdated"></li>
<li lang="it" note="outdated"></li>
<li lang="en">Without the auditor, the mint operators could
steal funds they are holding in reserve. Customers and merchants
cannot cheat each other or the mint. If any party's computers
are compromised, the financial damage is limited to the
respective party and proportional to the funds they
have in circulation during the period of the compromise.</li>
<li lang="de" note="outdated"></li>
<li lang="fr" note="outdated"></li>
<li lang="it" note="outdated"></li>
</ol>
</p>
</div>
<!--# include file="common/footer.inc" -->
</div> <!-- /container -->
</body>
</html>
|