aboutsummaryrefslogtreecommitdiff
path: root/developers.html
diff options
context:
space:
mode:
Diffstat (limited to 'developers.html')
-rw-r--r--developers.html92
1 files changed, 75 insertions, 17 deletions
diff --git a/developers.html b/developers.html
index e876c9ba..55f9a13e 100644
--- a/developers.html
+++ b/developers.html
@@ -159,7 +159,7 @@
159 <h2 lang="en">Discussion</h2> 159 <h2 lang="en">Discussion</h2>
160 <h2 lang="de">Diskussion</h2> 160 <h2 lang="de">Diskussion</h2>
161 <h2 lang="fr">Discussion</h2> 161 <h2 lang="fr">Discussion</h2>
162 <h2 lang="it">Discurssione</h2> 162 <h2 lang="it">Discussione</h2>
163 <p lang="en">We have a mailinglist for developer discussions. 163 <p lang="en">We have a mailinglist for developer discussions.
164 You can subscribe to it or read the list archive at 164 You can subscribe to it or read the list archive at
165 <a href="http://lists.gnu.org/mailman/listinfo/taler">http://lists.gnu.org/mailman/listinfo/taler</a>.</p> 165 <a href="http://lists.gnu.org/mailman/listinfo/taler">http://lists.gnu.org/mailman/listinfo/taler</a>.</p>
@@ -180,13 +180,15 @@
180 <h2 lang="en">Regression Testing</h2> 180 <h2 lang="en">Regression Testing</h2>
181 <h2 lang="de">Regressionstests</h2> 181 <h2 lang="de">Regressionstests</h2>
182 <h2 lang="fr" note="outdated"></h2> 182 <h2 lang="fr" note="outdated"></h2>
183 <h2 lang="it" note="outdated"></h2> 183 <h2 lang="it">Test delle regressioni</h2>
184 <p lang="en">We have <a href="http://www.buildbot.org/">Buildbot</a> automation tests 184 <p lang="en">We have <a href="http://www.buildbot.org/">Buildbot</a> automation tests
185 to detect regressions and check for portability at 185 to detect regressions and check for portability at
186 <a href="http://buildbot.taler.net/">buildbot.taler.net</a>.</p> 186 <a href="http://buildbot.taler.net/">buildbot.taler.net</a>.</p>
187 <p lang="de" note="outdated"></p> 187 <p lang="de" note="outdated"></p>
188 <p lang="fr" note="outdated"></p> 188 <p lang="fr" note="outdated"></p>
189 <p lang="it" note="outdated"></p> 189 <p lang="it">E' disponibile un <a href="http://www.buildbot.org/">Buildbot</a>
190 dedicato a test automatici per individuare regressioni e controllare la portabilità, alla
191 pagina <a href="http://buildbot.taler.net/">buildbot.taler.net</a>.</p>
190 </div> 192 </div>
191 <div class="col-lg-4" note="not yet operational"> 193 <div class="col-lg-4" note="not yet operational">
192 <h2 lang="en">Code Coverage Analysis</h2> 194 <h2 lang="en">Code Coverage Analysis</h2>
@@ -198,19 +200,23 @@
198 at <a href="http://lcov.taler.net/">lcov.taler.net</a>.</p> 200 at <a href="http://lcov.taler.net/">lcov.taler.net</a>.</p>
199 <p lang="de" note="outdated"></p> 201 <p lang="de" note="outdated"></p>
200 <p lang="fr" note="outdated"></p> 202 <p lang="fr" note="outdated"></p>
201 <p lang="it" note="outdated"></p> 203 <p lang="it">I test effettuati sul software Taler subiscono la misurazione della loro "copertura"
204 da <a href="http://ltp.sourceforge.net/coverage/lcov.php">LCOV</a>; inoltre, tali risultati sono
205 disponibili alla pagina <a href="http://lcov.taler.net/">lcov.taler.net</a>.</p>
202 </div> 206 </div>
203 <div class="col-lg-4"> 207 <div class="col-lg-4">
204 <h2 lang="en">Performance Analysis</h2> 208 <h2 lang="en">Performance Analysis</h2>
205 <h2 lang="de" note="outdated"></h2> 209 <h2 lang="de" note="outdated"></h2>
206 <h2 lang="fr" note="outdated"></h2> 210 <h2 lang="fr" note="outdated"></h2>
207 <h2 lang="it" note="outdated"></h2> 211 <h2 lang="it">Analisi delle prestazioni</h2>
208 <p lang="en">We use <a href="http://gnunet.org/gauger">Gauger</a> for performance 212 <p lang="en">We use <a href="http://gnunet.org/gauger">Gauger</a> for performance
209 regression analysis of the Mint backend 213 regression analysis of the Mint backend
210 at <a href="http://gauger.taler.net/">gauger.taler.net</a>.</p> 214 at <a href="http://gauger.taler.net/">gauger.taler.net</a>.</p>
211 <p lang="de" note="outdated"></p> 215 <p lang="de" note="outdated"></p>
212 <p lang="fr" note="outdated"></p> 216 <p lang="fr" note="outdated"></p>
213 <p lang="it" note="outdated"></p> 217 <p lang="it">Le prestazioni della zecca (Mint) sono misurate attraverso
218 <a href="http://gnunet.org/gauger">Gauger</a>, e i risultati disponibili alla pagina
219 <a href="http://gauger.taler.net/">gauger.taler.net</a>.</p>
214 </div> 220 </div>
215 </div> 221 </div>
216 222
@@ -218,14 +224,16 @@
218 <h2 lang="en" id="overview">Taler system overview</h1> 224 <h2 lang="en" id="overview">Taler system overview</h1>
219 <h2 lang="de">Das Taler-System im &Uuml;berblick</h1> 225 <h2 lang="de">Das Taler-System im &Uuml;berblick</h1>
220 <h2 lang="fr" note="outdated"></h2> 226 <h2 lang="fr" note="outdated"></h2>
221 <h2 lang="it" note="outdated"></h2> 227 <h2 lang="it">Schema generale del sistema Taler</h2>
222 <p lang="en">The Taler system consists of protocols and free software 228 <p lang="en">The Taler system consists of protocols and free software
223 implementations between a number of actors as illustrated in the 229 implementations between a number of actors as illustrated in the
224 illustration on the right. Typical transactions involve the following steps: 230 illustration on the right. Typical transactions involve the following steps:
225 </p> 231 </p>
226 <p lang="de" note="outdated"></p> 232 <p lang="de" note="outdated"></p>
227 <p lang="fr" note="outdated"></p> 233 <p lang="fr" note="outdated"></p>
228 <p lang="it" note="outdated"></p> 234 <p lang="it">Taler usa software libero per realizzare i protocolli finalizzati alla
235 comunicazione tra i vari partecipanti come illustrato nella figura a destra.
236 La tipica transazione nel modello Taler si compone dei seguenti passaggi:</p>
229 <p> 237 <p>
230 <img src="images/system.svg" alt="system overview" style="float: right; margin: 50px 5px 5px 5px;" width="50%"> 238 <img src="images/system.svg" alt="system overview" style="float: right; margin: 50px 5px 5px 5px;" width="50%">
231 <ol> 239 <ol>
@@ -236,7 +244,12 @@
236 creates a reserve at the mint.</li> 244 creates a reserve at the mint.</li>
237 <li lang="de" note="outdated"></li> 245 <li lang="de" note="outdated"></li>
238 <li lang="fr" note="outdated"></li> 246 <li lang="fr" note="outdated"></li>
239 <li lang="it" note="outdated"></li> 247 <li lang="it">Un cliente chiede alla sua <b>banca</b> di trasferire
248 fondi dal suo conto a quello della zecca Taler (in alto a destra).
249 La causale di questo trasferimento includerà l'informazione necessaria,
250 generata dal portafoglio elettronico (<b>wallet</b>) compatibile col
251 sistema Taler, ad autenticare il cliente alla zecca (nota anche come "mint").
252 Nella terminologia adeguata, si dirà che il cliente ha creato una riserva.</li>
240 <li lang="en">Once the mint has received the transfer, it allows the 253 <li lang="en">Once the mint has received the transfer, it allows the
241 customer's electronic wallet to <b>withdraw</b> electronic coins. 254 customer's electronic wallet to <b>withdraw</b> electronic coins.
242 The electronic coins are digital representations of the original 255 The electronic coins are digital representations of the original
@@ -248,7 +261,15 @@
248 charge for the service).</li> 261 charge for the service).</li>
249 <li lang="de" note="outdated"></li> 262 <li lang="de" note="outdated"></li>
250 <li lang="fr" note="outdated"></li> 263 <li lang="fr" note="outdated"></li>
251 <li lang="it" note="outdated"></li> 264 <li lang="it">In seguito alla ricezione del trasferimento da parte della
265 zecca, il cliente potrà <b>ritirare</b> i suoi gettoni elettronici</li>.
266 Tali gettoni sono rappresentazioni digitali dell'ammonto che il cliente
267 ha trasferitto alla zecca. E' fondamentale notare che in questo processo
268 la zecca non apprende nessun "numero seriale" dei gettoni coinvolti, in
269 modo tale da non poter a posteriori associare un certo cliente ad un certo
270 acquisto. Taler non interferisce dunque né con la valuta né con l'ammonto
271 presente nella riserva. L'unica modifca apportata da Taler alla riserva è
272 la sottrazione da questa della tariffa del servizio.
252 <li lang="en">Once the customer has the digital coins in his wallet, 273 <li lang="en">Once the customer has the digital coins in his wallet,
253 the wallet can be used to <b>spend</b> the coins with merchant 274 the wallet can be used to <b>spend</b> the coins with merchant
254 portals that support the Taler 275 portals that support the Taler
@@ -265,11 +286,25 @@
265 change).</li> 286 change).</li>
266 <li lang="de" note="outdated"></li> 287 <li lang="de" note="outdated"></li>
267 <li lang="fr" note="outdated"></li> 288 <li lang="fr" note="outdated"></li>
268 <li lang="it" note="outdated"></li> 289 <li lang="it">Con i gettoni elettronici nel portafogli, il cliente
269 <li lang="en">Merchants receiving digital coins <b>deposits</b> 290 può <b>spendere</b> presso tutti i venditori che accettano Taler tra
291 i loro sistemi di pagamento, e che sono disponibili a finalizzare l'operazione
292 con la stessa zecca che ha dato i gettoni al cliente (freccia in basso).
293 Tecnicamente, ciò comporta la creazione di un certificato firmato d'ambo le parti:
294 dal venditore e dalla chiave corrispondente al gettone speso (vale la pena
295 notare che un gettone, altro non è, che una coppia di chiavi pubblica e
296 privata). Assumendo che i tribunali accettino firme elettroniche, un cliente
297 può utilizzare tale certificato per mostrare i suoi termini esatti e che
298 egli ha pagato la somma dovuta. Ancora, il cliente non viene mai a conoscenza degli
299 estremi bancari del negoziante e, allo stesso modo, Taler non richiede che il
300 negoziante debba conoscere l'identità del cliente. Naturalmente, il cliente
301 può anche spendere una frazione di uno dei suoi gettoni, grazie alla facoltà
302 che Taler ha di restituire il cambio.
303 </li>
304 <li lang="en">Merchants receiving digital coins <b>deposit</b>
270 the respective receipts that resulted from the contract signing 305 the respective receipts that resulted from the contract signing
271 with the customer at the mint to redeem the coins. 306 with the customer at the mint to redeem the coins.
272 The deposit step does not reveal the learn the details of the 307 The deposit step does not reveal the details of the
273 contract between the customer and the merchant or the identity 308 contract between the customer and the merchant or the identity
274 of the customer to the mint in any way. However, the mint 309 of the customer to the mint in any way. However, the mint
275 does learn the identity of the merchant via the provided bank 310 does learn the identity of the merchant via the provided bank
@@ -281,7 +316,14 @@
281 illegal contracts).</li> 316 illegal contracts).</li>
282 <li lang="de" note="outdated"></li> 317 <li lang="de" note="outdated"></li>
283 <li lang="fr" note="outdated"></li> 318 <li lang="fr" note="outdated"></li>
284 <li lang="it" note="outdated"></li> 319 <li lang="it">Contemporaneamente alla firma dei
320 contratti viene creata una ricevuta che il negoziante può <b>depositare</a>
321 alla zecca al fine di riavere indietro il corrispettivo in denaro
322 del gettone che ha ricevuto dal cliente. Il deposito non mette la zecca
323 nelle condizioni di apprendere i dettagli del contratto tra il negoziante
324 e il cliente, né l'identità stessa del cliente. Ad ogni modo, la zecca
325 potrà (e dovrà) conoscere l'identità del negoziante, dal momento che
326 essa necessità dei suoi estremi bancari necessari a finalizzare il processo.</li>
285 <li lang="en">Finally, the mint transfers funds corresponding to 327 <li lang="en">Finally, the mint transfers funds corresponding to
286 the digital coins redeemed by the merchants to the merchant's 328 the digital coins redeemed by the merchants to the merchant's
287 <b>bank</b> account. The mint may combine multiple small 329 <b>bank</b> account. The mint may combine multiple small
@@ -291,7 +333,12 @@
291 individual claims that were deposited.</li> 333 individual claims that were deposited.</li>
292 <li lang="de" note="outdated"></li> 334 <li lang="de" note="outdated"></li>
293 <li lang="fr" note="outdated"></li> 335 <li lang="fr" note="outdated"></li>
294 <li lang="it" note="outdated"></li> 336 <li lang="it">Infine, la zecca trascferirà fondi della stessa cifra dei
337 gettoni riscattati dal negoziate verso il conto in <b>banca</b> di quest'
338 ultimo. Nulla impedisce alla zezza di combinare molteplici piccole transazioni
339 in un unico bonifico verso il conto del negoziante. Il negoziante può in ogni momento
340 interrogare la zecca sullo stato dei bonifici che egli ha diritto a ricevere.
341 </li>
295 <li lang="en">Most importantly, the mint keeps cryptographic 342 <li lang="en">Most importantly, the mint keeps cryptographic
296 proofs that allow it to demonstrate that it is operating 343 proofs that allow it to demonstrate that it is operating
297 correctly to third parties. The system requires an external 344 correctly to third parties. The system requires an external
@@ -301,7 +348,12 @@
301 in circulation.</li> 348 in circulation.</li>
302 <li lang="de" note="outdated"></li> 349 <li lang="de" note="outdated"></li>
303 <li lang="fr" note="outdated"></li> 350 <li lang="fr" note="outdated"></li>
304 <li lang="it" note="outdated"></li> 351 <li lang="it" note="outdated">E' importante notare che la zecca mantiene
352 prove crittografiche che le permettono di dimostrare la sua buona fede
353 verso terze parti. Nell'architettura di Taler è prevista la presenza di un
354 <b>ispettore</b> esterno, come ad esempio un apparato statale del fisco,
355 che controlla costantemente i database della zecca per verificare che il suo
356 bilancio corrisponda sempre alla quantità di gettoni ancora in circolazione.</li>
305 <li lang="en">Without the auditor, the mint operators could 357 <li lang="en">Without the auditor, the mint operators could
306 steal funds they are holding in reserve. Customers and merchants 358 steal funds they are holding in reserve. Customers and merchants
307 cannot cheat each other or the mint. If any party's computers 359 cannot cheat each other or the mint. If any party's computers
@@ -310,7 +362,13 @@
310 have in circulation during the period of the compromise.</li> 362 have in circulation during the period of the compromise.</li>
311 <li lang="de" note="outdated"></li> 363 <li lang="de" note="outdated"></li>
312 <li lang="fr" note="outdated"></li> 364 <li lang="fr" note="outdated"></li>
313 <li lang="it" note="outdated"></li> 365 <li lang="it">L'assenza di taler ispettore metterebbe i gestori della zecca
366 nelle condizioni di appropriarsi del denaro presente nelle sue riserve.
367 Clienti e negozianti non hanno la possibilità di frodarsi a vicenda, né
368 di frodare la zecca. Se il computer di qualcuna delle parti viene compromesso,
369 la perdita finananziaria non tocca le altre parti ed è proporzionale ai fondi
370 che tale computer ha in circolazione durante il periodo della compromissione.
371 </li>
314 </ol> 372 </ol>
315 </p> 373 </p>
316 </div> 374 </div>