Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Review UTXO based Credit Notes RFC #115

Closed
clevinson opened this issue Oct 21, 2020 · 6 comments
Closed

Review UTXO based Credit Notes RFC #115

clevinson opened this issue Oct 21, 2020 · 6 comments

Comments

@clevinson
Copy link
Member

Review Credit Notes RFC from @robert-zaremba

https://docs.google.com/document/d/14___kg4DWpd5QMWNKdCqFbMzUMac4qQo3GaSwMjZyi8/edit

@clevinson clevinson assigned clevinson and aaronc and unassigned clevinson Oct 21, 2020
@clevinson clevinson changed the title UTXO based Credit Notes RFC Review UTXO based Credit Notes RFC Oct 22, 2020
@aaronc
Copy link
Member

aaronc commented Oct 28, 2020

So my high-level thought on all of this is that at some point we're going to need to interface with IBC transfer which uses balances and denoms. I'm not sure I see the concrete advantages of this UTXO approach over the existing account/balance approach Cosmos uses and if we do something different we will need to write the interoperability layer (i.e. IBC transfer).

Also, how exactly would the UTXO model provide more privacy? It seems like everything is still traceable without something like ZKP or Monero. Couldn't a method like that provide privacy for an account/balance model too?

I will summarize the current design in a separate issue so that it's easy to find and up to date, and we can compare.

@aaronc
Copy link
Member

aaronc commented Oct 28, 2020

See #117.

@robert-zaremba
Copy link
Collaborator

Re privacy:
All efficient solutions I know use kind of a note / utxo system to achieve a privacy (even the zcash ZKP).
If we limit only for amount hiding, then there are much simpler and very efficientmechanisms, like things related to tapproot or pedersen commitments.

Using x/bank would probably require TEE (what Enigma is doing) or MPC like Nucypeher (which will be very slow). I'm not aware about other efficient trustless methods without escaping accounting system like x/bank.

@robert-zaremba
Copy link
Collaborator

The benefit of the Credit Note is:

  • allows easily to trance every specific coin. I could answer that this note comes from Aaron, who had it from Alice and Bob. With accounting I can only say that I received this coin from Aaron, but then I can't identify which coin Aaron is sending me (I can only say from which vintage, without knowing if if is sending me a coin from Alice, or from Nicole).
  • aforementioned privacy

For x/banking advantages are:

  • most probably easier implementation
  • ready integration with IBC.

I don't know how extending x/banking impacts the IBC compatibility nor how difficult it is to add it to a new module.

@glandua
Copy link

glandua commented Nov 9, 2020

It seems like the key question to enable a clear assessment of the Credit Note as an option is an assessment of how much effort would be needed for IBC compatibility. How long would that assessment take? @robert-zaremba?

@robert-zaremba
Copy link
Collaborator

Shall we summarize the review and close the task?
I think the outcome is that the main features of Credit Notes (traceability of credit transfers and privacy extensions) are not needed. We didn't check on IBC compatibility, but we can follow how it's done in the banking module which should be similar to the current ecocredits.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants