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

Anonymous transactions with blind signatures #19

Closed
xekoukou opened this issue Jun 23, 2015 · 6 comments
Closed

Anonymous transactions with blind signatures #19

xekoukou opened this issue Jun 23, 2015 · 6 comments
Labels
CAP Represents an issue that requires a CAP. help wanted Open especially for those who want to write a CAP/SEP! needs draft This an issue that has no corresponding draft, and as such has not entered the CAP/SEP process.

Comments

@xekoukou
Copy link

(With the blind signature implementation I have in mind, this doesnt work inside stellar, rather it works as a service from gateways, but I am putting it here, because someone might find a solution)

Blind signatures is a way to anonymously transfer credit from one account to another when both accounts trust the node that has issued the credits.

Stellar needs to implement the blind signature scheme for this to work.

How does a blind signature work?

Let U,Ua, Tu, where U is the user account that trusts Tu and Ua is the anonymous account of the user that trusts Tu.

An anonymous transfer from U to Ua happens in this way:
Ua requests a deposit slip of a sum X from stellar.
The stellar network encrypts a unique random number R and sends it to Ua.
Ua gives it to U.
U multiplies it with a specific type of random number and blinds it.
U sends it to stellar.
The ledger removes X credit from the U account and signs the blind deposit slip.
U knows R.
U gives R to Ua.
Ua gives R to stellar and the stellar ledge adds X credit to the Ua account.

For technical information, look at this: https://en.wikipedia.org/wiki/Anonymous_Internet_banking

How can one perform an anonymous transaction with blind signatures?

Let S, Sa, Ts, where S is the sender account that trusts Ts and Sa is the anonymous account of the sender that trusts Ts.
Let R, Ra, Tr, where R is the receiver account that trusts Tr and Ra is the anonymous account of the sender that trusts Tr.

The sender sends anonymously credit from S to Sa.
The sender uses the stellar network to transfer credit to the Ba account.
The recipient sends anonymously credit from Ba to B.

@codeck
Copy link

codeck commented Jan 19, 2016

the proposing protocol update is related.
stellar/stellar-core#846 stellar/stellar-core#965

@Ratniex
Copy link

Ratniex commented Feb 1, 2018

@xekoukou Where does the network get the number R? If network creates it then it is public.

@xekoukou
Copy link
Author

xekoukou commented Feb 1, 2018

@Ratniex Sorry , I do not remember. You can though find information at the wikipedia article.

@theaeolianmachine theaeolianmachine added needs draft This an issue that has no corresponding draft, and as such has not entered the CAP/SEP process. help wanted Open especially for those who want to write a CAP/SEP! and removed incomplete labels Mar 11, 2019
@theaeolianmachine
Copy link
Contributor

@xekoukou — with both of the referenced stellar core issues closed, is it possible to do this now (I say this only minimally looking at the proposal). Mostly looking to determine what's next — if you're still interested a CAP proposal would be a great way to get this moving.

@theaeolianmachine theaeolianmachine added the CAP Represents an issue that requires a CAP. label Mar 11, 2019
@xekoukou
Copy link
Author

I am currently not working on stellar. You can take over the issue, close it etc.

@theaeolianmachine
Copy link
Contributor

Thanks! Given a lack of activity for some time, will close it out but keep the labels for discoverability for others.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CAP Represents an issue that requires a CAP. help wanted Open especially for those who want to write a CAP/SEP! needs draft This an issue that has no corresponding draft, and as such has not entered the CAP/SEP process.
Projects
None yet
Development

No branches or pull requests

5 participants