Skip to content

Instantly share code, notes, and snippets.

@aeyakovenko
Created April 4, 2018 18:06
Show Gist options
  • Save aeyakovenko/c780dfa95a8708af457eba9892a31e04 to your computer and use it in GitHub Desktop.
Save aeyakovenko/c780dfa95a8708af457eba9892a31e04 to your computer and use it in GitHub Desktop.
// E (enterprise TTP server), A (alice), B (bob), L (ledger), Eb (mirror account for Bob)
// So A and B generate their respective G’s with E, the enterprise server thats handling the accounts.
E <-> A: create Ga
E <-> B: create Gb
// I don’t think there is a way for us to convert between Ga and Gb, so for A to transfer to B, it will send money to Eb,
// basically a mirror account for B that will use Ga as the base
A -> L: from: A, to:Eb output Ga^10
// E can then decrypt and encrypt the value with Gb
E -> L: from:Eb, to:B output Gb^10
At the end of the "game" E can reveal the keys, and everyone can validate that log(Ga^10) == log(Gb^10) in their respective bases
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment