Go to file
Jeffrey Burdges 33edef30ac
Errata: Statement about BOLT corrected
Discussion :

Christian & Florian,

This is about the UI paper in SPACE, not the protocol paper with real
crypto discussions.  And the text in question never existed in the
protocol paper.

Ian,

I'm the member of our team who looked into BOLT the most, mostly looking
to see if any of the ideas helped us.  I might manage to reconstruct
more details later, but right now my description there sounds bizarre
and wrong.

In Taler, our denomination key expirations limit the exchange's
liability to double its deposits, even in the case that its private keys
are all compromised and used to create unbacked coins.  In practice,
offline ecash schemes lack this limit due to their decreased ability to
rotate denomination keys.

I do not see why I wrote that BOLT lacked this property:  If I recall,
both BOLT payment channel types are created with fixed initial value
commitments.  In particular, intermediaries have already committed the
maximum funds they could transfer to each merchant.

That would prevent unbacked transfers in the payment channel, and thus
limit liability, even when the intermediary gets compromised.  There is
an anonymity cost if BOLT's approach limits the number of users in
payment channels with each intermediary of course.

I do not know if a compromised BOLT intermediary could complete payments
to merchants while refunding customers, but even if so that's still not
the sort of "unlimited" liability you get in offline ecash schemes.
It's just the sort of 2x limit on liability that Taler provides.

In BOLT, the x would be value committed to outgoing channels, while in
Taler x is value deposited by customers, so I suppose the intermediary
could technically be robbed of their money without seeing any incoming
money.  That's not "unlimited" though.  It's limited by the
intermediary's commitments to the network.

I doubt I even thought about it this deeply though when I wrote that.  I
think once-upon-a-time I wanted to express some vague concern around
intermediaries and anonymity sets in BOLT, but never thought about it
clearly, and later managed to confuse myself with conventional ecash
issues when discussing related work with Christian while we were writing
this usability paper.

Sorry for writing what appears to be nonsense!
Jeff

On Mon, 2017-08-28 at 21:10 +0200, Christian Grothoff wrote:
>
> -------- Forwarded Message --------
> Subject:      bolt attack?
> Date:         Mon, 28 Aug 2017 18:49:43 +0000
> From:         Ian Miers <imiers@cs.jhu.edu>
> To:   christian@grothoff.org <christian@grothoff.org>
>
>
>
> Hi,
> Someone pointed me at a copy of your  Taler paper from 2016 and pointed
> out  that  it  describes Bolt  saying there  "are numerous seemingly
> fragile aspects of the BOLT protocol, including aborts deanonymizing
> customers, *intermediaries risking unlimited losses,* and theft if a
> party fails to post a refute message in a timely fashion."
>
> The unlimited loss to intermediaries  comment  surprised both them and
> me.  Are you referring to some specific attack or an issue involving
> timeouts and  delays?
>
> Thanks,
> Ian
2017-08-29 13:41:16 +02:00
.vscode crypto for refreshing 2016-10-12 23:30:10 +02:00
articles Errata: Statement about BOLT corrected 2017-08-29 13:41:16 +02:00
contrib re-add files from old wallet repo to contrib/ 2016-03-01 14:25:13 +01:00
decl add README for decls 2017-05-24 16:18:58 +02:00
doc moving content for wallet devs into doc/ 2017-05-31 15:19:40 +02:00
emscripten Simplify loading of the emscripten lib. 2017-05-27 18:43:34 +02:00
img misc. text fixes 2016-10-03 17:43:51 +02:00
node_modules node_modules 2017-08-14 05:02:09 +02:00
selenium fix #5112 2017-07-19 22:05:45 +02:00
src fix build system / types 2017-08-14 04:59:43 +02:00
tooling convert tests to ava tests 2017-05-27 19:20:27 +02:00
web-common@ebf2b43fb0 fix 'make dist', add changelog, version numbers for 0.3 2017-06-06 14:20:41 +02:00
.gitignore warn about incompatible versions on withdraw 2017-06-04 20:16:09 +02:00
.gitmodules make help local 2016-10-03 16:35:13 +02:00
AUTHORS authors file 2016-02-29 18:04:08 +01:00
ChangeLog fix 'make dist', add changelog, version numbers for 0.3 2017-06-06 14:20:41 +02:00
configure configure error message 2017-05-23 13:18:23 +02:00
COPYING add license 2016-03-15 20:12:35 +01:00
gulpfile.js do not swallow errors 2017-07-20 04:16:50 +02:00
INSTALL install file 2016-03-18 15:50:24 +01:00
Makefile set production flag for libraries when building production build 2017-05-29 12:48:37 +02:00
manifest.json fix 'make dist', add changelog, version numbers for 0.3 2017-06-06 14:20:41 +02:00
package.json fix build system / types 2017-08-14 04:59:43 +02:00
README Finally give in and use React, minor tweeks. 2016-11-13 08:16:52 +01:00
tsconfig.json implement returning coins to user's account 2017-08-14 04:16:12 +02:00
tslint.json lint for unused variables, fix query bug detected by this 2017-05-29 18:27:50 +02:00
webpack.config.js fix build system / types 2017-08-14 04:59:43 +02:00
yarn.lock fix build system / types 2017-08-14 04:59:43 +02:00

GNU Taler WebExtension Wallet
=============================

Cross-browser GNU Taler wallet written for the WebExtensions API.


Installation
============

Run `./configure && make' to create an archive
containing the extension in ./build/taler-wallet-$VERSION.zip

Dependencies
============

See thirdparty/README for a list of dependencies that are checked into this
repository as a git subtree.

This project also has the following third-party runtime dependencies, which
are checked in compiled or minified form:
- React (Facebook Inc., BSD License)


Emscripten compiled dependencies:
* libgnunetutil
* libgnunetjson
* libgcrypt
* libunistring


Documentation
=============

See the documentation at http://doc.taler.net/dev-wallet-wx.html