aboutsummaryrefslogtreecommitdiff
path: root/developers.html
blob: 5e5a5313b1024071cef5808661391e368b69e296 (plain) (blame)
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
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
<!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&uuml;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&uuml;gbar und jeder ist
	     eingeladen unsere Referenzimplementierung in eigene Projekte zu
	     &uuml;bernehmen. Die unterschiedlichen Komponenten Talers sind unter
	     verschiedenen Lizenzen erhältlich. Die M&uuml;nzanstalt f&auml;llt unter
	     Affero GPLv3+, Referenzcode, welcher die Integration mit
	     H&auml;ndlerplattformen demonstriert, l&auml;uft unter LGPLv3+ und die
	     Geldb&ouml;rsen sowie weitere Software auf Seiten der Endkunden
	     verwenden Apache-/Mozilla- &auml;hnliche GPLv3+. Wir sind offen
	     f&uuml;r konstruktive Vorschl&auml;ge und freuen uns &uuml;ber
	     Beitr&auml;ge, welche zur weiten Verbreitung dieser freien Bezahlplattform
	     f&uuml;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&auml;nge mit Taler auch in
	     restriktiven Netzwerkumgebungen funktionieren k&ouml;nnen, verwendet
	     Taler ein REST-basiertes Protokoll &uuml;ber HTTP oder HTTPS. Talers
	     Sicherheit h&auml;ngt nicht von der Verwendung von HTTPS ab, aber
	     die Verwendung von HTTPS auf Seiten der H&auml;ndler sollte aus
	     Konsistenzgr&uuml;nden und aufgrund der besseren Privatsph&auml;re,
	     die HTTPS gegen&uuml;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&auml;chlich von einer
	     Forschergruppe bei Inria und der Technischen Universit&auml;t
	     M&uuml;nchen entwickelt. Trotzdem sind Beitr&auml;ge von jedem
	     wilkommen. Unser Git-Repository kann man sowohl &uuml;ber Git als
	     auch &uuml;ber HTTP klonen, indem man auf <tt>git.taler.net</tt> mit
	     dem entsprechenden Repository-Namen zugreift. Eine Liste von
	     &ouml;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&auml;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&uuml;rze hier verf&uuml;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">Discussione</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&uuml;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="row">
        <div class="col-lg-4">
          <h2 lang="en">Regression Testing</h2>
	  <h2 lang="de">Regressionstests</h2>
	  <h2 lang="fr" note="outdated"></h2>
	  <h2 lang="it">Test delle regressioni</h2>
          <p lang="en">We have <a href="http://www.buildbot.org/">Buildbot</a> automation tests
            to detect regressions and check for portability at
            <a href="http://buildbot.taler.net/">buildbot.taler.net</a>.</p>
          <p lang="de" note="outdated"></p>
          <p lang="fr" note="outdated"></p>
          <p lang="it">E' disponibile un <a href="http://www.buildbot.org/">Buildbot</a>
	  dedicato a test automatici per individuare regressioni e controllare la portabilità, alla
	  pagina <a href="http://buildbot.taler.net/">buildbot.taler.net</a>.</p>
        </div>
        <div class="col-lg-4" note="not yet operational">
          <h2 lang="en">Code Coverage Analysis</h2>
	  <h2 lang="de" note="outdated"></h2>
	  <h2 lang="fr" note="outdated"></h2>
	  <h2 lang="it">Analisi della copertura del codice</h2>
          <p lang="en">We use <a href="http://ltp.sourceforge.net/coverage/lcov.php">LCOV</a> to
            analyze the code coverage of our tests, the results are available
            at <a href="http://lcov.taler.net/">lcov.taler.net</a>.</p>
          <p lang="de" note="outdated"></p>
          <p lang="fr" note="outdated"></p>
          <p lang="it">I test effettuati sul software Taler subiscono la misurazione della loro "copertura"
	  da <a href="http://ltp.sourceforge.net/coverage/lcov.php">LCOV</a>; inoltre, tali risultati sono
	  disponibili alla pagina <a href="http://lcov.taler.net/">lcov.taler.net</a>.</p>
        </div>
        <div class="col-lg-4">
          <h2 lang="en">Performance Analysis</h2>
	  <h2 lang="de" note="outdated"></h2>
	  <h2 lang="fr" note="outdated"></h2>
	  <h2 lang="it">Analisi delle prestazioni</h2>
          <p lang="en">We use <a href="http://gnunet.org/gauger">Gauger</a> for performance
            regression analysis of the Mint backend
            at <a href="http://gauger.taler.net/">gauger.taler.net</a>.</p>
          <p lang="de" note="outdated"></p>
          <p lang="fr" note="outdated"></p>
          <p lang="it">Le prestazioni della zecca (Mint) sono misurate attraverso
	  <a href="http://gnunet.org/gauger">Gauger</a>, e i risultati disponibili alla pagina
	  <a href="http://gauger.taler.net/">gauger.taler.net</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 &Uuml;berblick</h1>
        <h2 lang="fr" note="outdated"></h2>
        <h2 lang="it">Schema generale del sistema Taler</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">Taler usa software libero per realizzare i protocolli finalizzati alla
	comunicazione tra i vari partecipanti come illustrato nella figura a destra.
	La tipica transazione nel modello Taler si compone dei seguenti passaggi:</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">Un cliente chiede alla sua <b>banca</b> di trasferire
	     fondi dal suo conto a quello della zecca Taler (in alto a destra).
	     La causale di questo trasferimento includerà l'informazione necessaria,
	     generata dal portafoglio elettronico (<b>wallet</b>) compatibile col
	     sistema Taler, ad autenticare il cliente alla zecca (nota anche come "mint").
	     Nella terminologia adeguata, si dirà che il cliente ha creato una riserva.</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">In seguito alla ricezione del trasferimento da parte della
	     zecca, il cliente potrà <b>ritirare</b> i suoi gettoni elettronici</li>.
	     Tali gettoni sono rappresentazioni digitali dell'ammonto che il cliente
	     ha trasferitto alla zecca. E' fondamentale notare che in questo processo
	     la zecca non apprende nessun "numero seriale" dei gettoni coinvolti, in
	     modo tale da non poter a posteriori associare un certo cliente ad un certo
	     acquisto. Taler non interferisce dunque né con la valuta né con l'ammonto
	     presente nella riserva. L'unica modifca apportata da Taler alla riserva è
	     la sottrazione da questa della tariffa del servizio.
             <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">Con i gettoni elettronici nel portafogli, il cliente
	     può <b>spendere</b> presso tutti i venditori che accettano Taler tra
	     i loro sistemi di pagamento, e che sono disponibili a finalizzare l'operazione
	     con la stessa zecca che ha dato i gettoni al cliente (freccia in basso).
	     Tecnicamente, ciò comporta la creazione di un certificato firmato d'ambo le parti:
	     dal venditore e dalla chiave corrispondente al gettone speso (vale la pena
	     notare che un gettone, altro non è, che una coppia di chiavi pubblica e
	     privata). Assumendo che i tribunali accettino firme elettroniche, un cliente
	     può utilizzare tale certificato per mostrare i suoi termini esatti e che
	     egli ha pagato la somma dovuta. Ancora, il cliente non viene mai a conoscenza degli
	     estremi bancari del negoziante e, allo stesso modo, Taler non richiede che il
	     negoziante debba conoscere l'identità del cliente. Naturalmente, il cliente
	     può anche spendere una frazione di uno dei suoi gettoni, grazie alla facoltà
	     che Taler ha di restituire il cambio.	     
	     </li>
             <li lang="en">Merchants receiving digital coins <b>deposit</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 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">Contemporaneamente alla firma dei
	     contratti viene creata una ricevuta che il negoziante può <b>depositare</a>
	     alla zecca al fine di riavere indietro il corrispettivo in denaro
	     del gettone che ha ricevuto dal cliente. Il deposito non mette la zecca
	     nelle condizioni di apprendere i dettagli del contratto tra il negoziante
	     e il cliente, né l'identità stessa del cliente. Ad ogni modo, la zecca
	     potrà (e dovrà) conoscere l'identità del negoziante, dal momento che
	     essa necessità dei suoi estremi bancari necessari a finalizzare il processo.</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">Infine, la zecca trascferirà fondi della stessa cifra dei
	     gettoni riscattati dal negoziate verso il conto in <b>banca</b> di quest'
	     ultimo. Nulla impedisce alla zezza di combinare molteplici piccole transazioni
	     in un unico bonifico verso il conto del negoziante. Il negoziante può in ogni momento
	     interrogare la zecca sullo stato dei bonifici che egli ha diritto a ricevere.
	     </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">E' importante notare che la zecca mantiene
	     prove crittografiche che le permettono di dimostrare la sua buona fede
	     verso terze parti. Nell'architettura di Taler è prevista la presenza di un
	     <b>ispettore</b> esterno, come ad esempio un apparato statale del fisco,
	     che controlla costantemente i database della zecca per verificare che il suo
	     bilancio corrisponda sempre alla quantità di gettoni ancora in circolazione.</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">L'assenza di taler ispettore metterebbe i gestori della zecca
	     nelle condizioni di appropriarsi del denaro presente nelle sue riserve.
	     Clienti e negozianti non hanno la possibilità di frodarsi a vicenda, né
	     di frodare la zecca. Se il computer di qualcuna delle parti viene compromesso,
	     la perdita finananziaria non tocca le altre parti ed è proporzionale ai fondi
	     che tale computer ha in circolazione durante il periodo della compromissione.
	     </li>
           </ol>
         </p>
       </div>
      <!--# include file="common/footer.inc" -->
    </div> <!-- /container -->
  </body>
</html>