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

Scriptable JoinSplit outputs #608

Open
ebfull opened this issue Jan 15, 2016 · 4 comments

Comments

Projects
None yet
6 participants
@ebfull
Copy link
Contributor

commented Jan 15, 2016

We could place a CScript commitment in our "pour outputs" such that the spender must satisfy it. The script would become public at the point of send, but it would allow us to create cool constraints -- perhaps even timelocked funds (#344) or something else.

It might make sense to integrate this with our cryptographic binding scripts into a single system.

@nathan-at-least

This comment has been minimized.

Copy link
Contributor

commented Jan 26, 2016

In a conversation @daira and I realized we don't understand how this would work. The transaction creator can already put standard scriptPubKey constraints on all of the TxOut values. What does it mean to have a condition on a vpub_out? That's internal to a transaction.

@ebfull

This comment has been minimized.

Copy link
Contributor Author

commented Jan 26, 2016

I may want to send money to someone contingent not only on them having the zcash private key, but also satisfying a CScript. The bucket will contain not only v but also a hash of the script they must satisfy, and the spender would need to know that script and provide it alongside a script which satisfies it.

This is just a way of crafting scriptPubKey and scriptSig onto our pours (but without confidentiality guarantees). As an example, right now you can't do zero-knowledge contingent payments without using cleartext transactions.

@ebfull

This comment has been minimized.

Copy link
Contributor Author

commented Jan 26, 2016

There may be a tricky way to implement this without a circuit change, and it might even be possible in a softfork. I would encourage a "maybe in 1.0" until I've taken some time to consider it.

@daira daira added this to the Feb 15 milestone Feb 3, 2016

@daira daira added the maybe in 2.0 label Mar 16, 2016

@daira daira changed the title Scriptable pour outputs Scriptable JoinSplit outputs Apr 8, 2016

@daira daira removed this from the Feb 15 milestone Sep 30, 2016

@daira daira added the NU3 wishlist label Jun 1, 2017

@mdr0id mdr0id removed the documentation label Apr 23, 2018

@zookozcash

This comment has been minimized.

Copy link

commented Feb 15, 2019

Isn't this an older variant of p2vk?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.