distributed virtual bank

Adam Back aba at dcs.ex.ac.uk
Tue Aug 26 16:07:31 PDT 1997

An application I have put a bit of thought into is the idea of
creating a distributed banking system.  That is not offline, but not a
single centralised trusted bank either.  Ideally it is a system where
all nodes are equivalent, and k of n of those nodes have to collude
before they can compromise the operation of the bank.

This is related to the encrypted computation idea where I can ask you
to perform a computation for me, but you won't know the operands, and
I can recover the answer with a final transformation.  There are a few
such protocols around to compute certain functions.

This would be a distributed system, the nodes in the network would be
able to simulate a virtual CPU by exchanging messages and computing
encrypted functions.  The program you run on the virtual CPU is the
bank software.

One approach would be to simulate the CPU by using the exchange of
encrypted communications to simulate circuit functions in the CPU.
Hopefully there would be more efficient methods of performing this
securely distributed computation.

People would trust the bank by virtue of their belief that it would be
too difficult for an attacker to compromise or acheive sufficent
collusion to overcome the n of k threshold.

The bank would live in the network in this virtual CPU.  Individual
nodes may come and go, yet the secured software entity which is the
bank and it's account information would live on.

Comments on how feasible it would be to design such a system with
current crypto techniques?

Have *you* exported RSA today? --> http://www.dcs.ex.ac.uk/~aba/rsa/

print pack"C*",split/\D+/,`echo "16iII*o\U@{$/=$z;[(pop,pop,unpack"H*",<>

More information about the cypherpunks-legacy mailing list