Author

Topic: m of n collective wallets and services (Read 480 times)

sr. member
Activity: 333
Merit: 252
October 24, 2013, 01:54:51 PM
#1
here's a suggestion of how to drastically remove the need of  trust for online (collective) wallets.

Why:

Online collective wallets have the following advantages:
- mixing of users' coins
- free or cheap transactions between users, including
- microtransactions,
- off-chain (i.e., not polluting the bitcoin blockchain)
- ease of use
But they have the following big problem:
 * You need to trust the operator not to run away with your coins or to get hacked.

The following simple idea can remedy the latter drawback:

Instead of one server handling the user coins, several (say, n) online wallets pool together,
and every withdrawal has to be approved by m out of n of them.

In a bit more detail:
each user is identified by a public key, to which the private key is kept only in his
browser.  The public key is sent to n servers.
Every server keeps the ledger of all transactions of each user.
The user may chose one of the online wallets as his primary wallet; this wallet
will provide all the user interface to him, and will take any charges  that are applicable.
Any operation  the user wants to make is signed with his private key.
The signed request is sent to all the participating servers.
Deposit address for each user are "m of n" addresses.
So each withdrawal has to be signed by m of n servers.
The charges a users' primary server wants to apply follow the same process:
if they are internal, all servers put it in their books. If they are external (withdrawals)
m of n servers must sign the transaction. If the rules for the charges are agreed upon
in advance, keeping the books is straightforward.

Shall the user's primary server go offline/get hacked etc., he can still request
to withdraw his funds from the remaining servers, and they can process it (as long
as the number of online/not compromised servers is <= m)


From simple online wallets/mixers this can be potentially extended
to more advanced services such as banks, casinos, etc. with the same idea:
all participating servers keep the book for all users; withdrawals are m of n.


Jump to: