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

Implement Blind Transfers #77

Open
2 of 6 tasks
jhtitor opened this issue Apr 7, 2018 · 3 comments
Open
2 of 6 tasks

Implement Blind Transfers #77

jhtitor opened this issue Apr 7, 2018 · 3 comments

Comments

@jhtitor
Copy link
Contributor

jhtitor commented Apr 7, 2018

After shedding some tears, I've managed to get blind transfers working. Sadly, the whole affair is not a matter of a simple/single pull-request. (Although if you think otherwise, please take a look here)

Here's the breakdown:

  • PrivateKey class needs a few new crypto methods. graphene_pr64
  • PublicKey class needs a few new crypto methods (secp256k1 dependency there). graphene_pr66
  • Pedersen/Rangeproof commitments must be implemented. I've wrapped libsecp256k1-zkp from bitshares-core to do this. secp256k1prp (Ideally, a pure-python implementation is required)
  • Storage class must be expanded to keep the receipts/balances.
  • Few GrapheneObjects must be read from wire bytestream back into memory. graphene_pr65
  • Local fee calculator must be added. fee_calc
@xeroc
Copy link
Member

xeroc commented Apr 16, 2018

I've seen great progress here! Looking forward to the Pull Request

Unfortunately, GrapheneObjects where never meant to be read from wire format, However, we can surely patch something together to make this work for your. Please let me know what and how you need it.

@litepresence
Copy link

regarding the eliptical curve digital signature in pure-python, this might be a good repo to fork:

https://github.com/warner/python-ecdsa

@jhtitor
Copy link
Contributor Author

jhtitor commented Apr 23, 2018

@litepresence, thanks, I'll take a look.

I'm guessing tweak_add we need for PublicKey is already available in ecdsa/python-ecdsa.
Nope, not there. xeroc/python-graphenelib#66

However Pedersen/Rangeproof commitments are pretty unique and I've only seen them implemented in libsecp256k1-zkp, in C.

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

No branches or pull requests

3 participants