Persons A, B and C put x€, y€ and z€ in a pot, respectively. Suppose that anyone can make a withdrawal from the pot as long as they prove they have such a right and that the y€ that B deposited is addressed to me. Is there a way for me to prove cryptographically that I am entitled to that amount without revealing that its origin was B?

  • $\begingroup$ How / by who are you entitled to get the money? I see a few problems with this, even simple practical ones: if B just put 251.93 in the pot and you take the same amount then it would be rather obvious to an observer what would be going on. $\endgroup$
    – Maarten Bodewes
    May 26, 2019 at 20:04
  • 3
    $\begingroup$ Not sure I understand the question, but perhaps you should see how Zcash works. $\endgroup$
    – forest
    May 27, 2019 at 0:43
  • $\begingroup$ @Fiono Didn't you mean to say, "...and that the x€ that A deposited..." instead of "...and that the x€ that B deposited..."? $\endgroup$
    – Patriot
    May 27, 2019 at 2:08

1 Answer 1


How about the following, not practical, but proof of viability with lot's of usage of Secure-Multi-Party-Computation) :

A,B,C generate using secure multi-party-computation: a joint private/public key, none of them have the private key individually only together. Also a simple symmetric key shared between them (each with one shard).

The initial balance sheet is encrypted with the shared symmetrical key.

When someone wants to give money to someone, they sign a statement saying so with their own personal private key, and then encrypt the signed transfer order with the shared public key. When this encrypted transfer order is presented, together they may apply secure multi party computation, to verify it, verify balance, approve/reject the order and produce new encrypted balance(Possibly also provide ZKP of correctness of the process).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.