Ecash and lightning via ZKCP

If you want to transfer the tokens, you just do a regular ecash transfer (generate a new blinded value and pay the mint to sign it by spending your existing coin) – the “issuing new ecash” part only reveals blinded values (A and B) to the mint, then the unblinded value (C, K) is what’s used later to authorise transfers.

Maybe I’m misunderstanding something; but:

  • transfering a token to a new user means telling the mint “here’s C_1,K_1 please mark that as spent, and issue me a new blind signature for A_2
  • re-minting the same token with a different r means you’ll end up with the same signature pair C, K; but because the mint tracks spent coins, you’ll only be able to spend it once, despite having paid twice to have it minted, meaning the mint will end up with more bitcoin backing its issued coins than there are coins to be redeemed

Nice!

1 Like