Author

Topic: puzzle; receive btc and make it spend-able only from different address (Read 1529 times)

full member
Activity: 140
Merit: 100
I just want to use single address forever, and spend using different keys every time.
You can do this with a 1-of-n multisig address, though I can't imagine why you would want to. What exactly do you hope to achieve?

This.  "Forever" is impossible. but you could make n large.

1) Create a multi-sig script with n (say 100) addresses.
2) Create a P2SH address from the hash of the script.
3) Coins send to the P2SH address can be spent by any one of the 100 addressess.

Scripts need to be deterministic and independent of other executions of the script so the script can't enforce that you use each address only once however you could choose to only use each address only once.

You can't update the addresses.  Adding or changing the set of addresses would result in a new script hash and thus new P2SH address.

closer, yet few things impossible as you said. Smiley
If you just want to send from a different address, simply send your BTC from constant address to a temporary one.
sr. member
Activity: 405
Merit: 255
@_vjy
I just want to use single address forever, and spend using different keys every time.
You can do this with a 1-of-n multisig address, though I can't imagine why you would want to. What exactly do you hope to achieve?

This.  "Forever" is impossible. but you could make n large.

1) Create a multi-sig script with n (say 100) addresses.
2) Create a P2SH address from the hash of the script.
3) Coins send to the P2SH address can be spent by any one of the 100 addressess.

Scripts need to be deterministic and independent of other executions of the script so the script can't enforce that you use each address only once however you could choose to only use each address only once.

You can't update the addresses.  Adding or changing the set of addresses would result in a new script hash and thus new P2SH address.

closer, yet few things impossible as you said. Smiley
legendary
Activity: 4542
Merit: 3393
Vile Vixen and Miss Bitcointalk 2021-2023
My aim is,

1. Use same address every time, a1
2. a1-primary-key can not be used to spend the funds from a1
3. I want to use new key every time to sign future trxns

Basically, a1 is just a dummy / constant address and fund from this address is controlled by another address..
Impossible by definition. As I explained earlier, an address specifies what key(s) can be used to spend coins sent to that address. By definition, if a key cannot be used to spend coins sent to a particular address, then that key is not (and never can be) related to the address in any way. If a particular key is one of the keys associated with an address, then it is (and always will be) able to spend coins sent to that address. That's how the key-address relationship works. It is also not possible for one address to "control" another (whatever that means).

If you want to require that a different key be used for every transaction (and you still haven't explained why you want to do this), you must create a new address for every time you get paid, and tell your payers to only send coins to your newest address and not re-use your old addresses. (This is the recommended method of using Bitcoin, as it allows you to label each address with the reason you expect to be paid there, so you can more easily tell who is paying you for what.)
legendary
Activity: 3682
Merit: 1580
I think foxpup gets you the closest but here are my suggestions.

If you want to forward bitcoins sent to an address automatically to another address you can do that with blockchain.info receive api:

http://blockchain.info/api/api_receive

Another thing you might want to look at is the scripting language built into the bitcoin protocol:

Script: https://en.bitcoin.it/wiki/Script
Examples: https://en.bitcoin.it/wiki/Contracts
donator
Activity: 1218
Merit: 1079
Gerald Davis
I just want to use single address forever, and spend using different keys every time.
You can do this with a 1-of-n multisig address, though I can't imagine why you would want to. What exactly do you hope to achieve?

This.  "Forever" is impossible. but you could make n large.

1) Create a multi-sig script with n (say 100) addresses.
2) Create a P2SH address from the hash of the script.
3) Coins send to the P2SH address can be spent by any one of the 100 addressess.

Scripts need to be deterministic and independent of other executions of the script so the script can't enforce that you use each address only once however you could choose to only use each address only once.

You can't update the addresses.  Adding or changing the set of addresses would result in a new script hash and thus new P2SH address.

However I have a feeling we are dealing with an x-y problem here
http://mywiki.wooledge.org/XyProblem
sr. member
Activity: 405
Merit: 255
@_vjy
What are you trying to achieve? Maybe if you told us your aim we could tell you how to do it.

My aim is,

1. Use same address every time, a1
2. a1-primary-key can not be used to spend the funds from a1
3. I want to use new key every time to sign future trxns

Basically, a1 is just a dummy / constant address and fund from this address is controlled by another address..
legendary
Activity: 3682
Merit: 1580
What are you trying to achieve? Maybe if you told us your aim we could tell you how to do it.
legendary
Activity: 4542
Merit: 3393
Vile Vixen and Miss Bitcointalk 2021-2023
I just want to use single address forever, and spend using different keys every time.
You can do this with a 1-of-n multisig address, though I can't imagine why you would want to. What exactly do you hope to achieve?

I can specify next-key with the current transaction, every time.
This is how change works normally. Though obviously if you want to spend your change with a different key or set of keys, it has to be sent to a different address. If you send change to the original address, or more coins are subsequently sent to your original address, they can only be spent with the same key you used originally (or any one of the original keys, if it is a 1-of-n address). That's inherent to the very definition of an address: an address specifies which key or keys may be used to spend coins sent to that address. Different key(s) == different address.
sr. member
Activity: 405
Merit: 255
@_vjy
Could it be doable with multi-sign addresses?

Yes, with 1-of-2 multi sign address.

But, every time this multi sign address also changes.. Sad
sr. member
Activity: 405
Merit: 255
@_vjy
A UTXO (unspent transaction output) is what you "receive" when you are sent BTC. It is intrinsically *tied* to the address it was sent from and can only be spent by signing a tx that includes this UTXO.

So if you had an equivalent amount of BTC in some other UTXO(s) then you could spend that (using the Coin Control patch) but if you never want to sign a tx with the original UTXO then you simply cannot spend it.

Perhaps you want to look into mixing?


I don't want to hide my identity, and in fact I want to make it visible to everyone. So, mixing is not a solution.

May be what I'm asking is technically impossible now.

I just want to use single address forever, and spend using different keys every time. I can specify next-key with the current transaction, every time.
legendary
Activity: 1511
Merit: 1072
quack
Could it be doable with multi-sign addresses?
sr. member
Activity: 405
Merit: 255
@_vjy
legendary
Activity: 4542
Merit: 3393
Vile Vixen and Miss Bitcointalk 2021-2023
I'd like to lock a dollar bill in box 1, forbid unlocking and opening the box, and spend it by opening box 2...

What you're asking is equally impossible for the same reason. You can't spend coins from any address other than the one that received them, and you can't move coins from one address to another without spending them using the first address's private key. That's the core fundamental of how Bitcoin transactions work.
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
A UTXO (unspent transaction output) is what you "receive" when you are sent BTC. It is intrinsically *tied* to the address it was sent from and can only be spent by signing a tx that includes this UTXO.

So if you had an equivalent amount of BTC in some other UTXO(s) then you could spend that (using the Coin Control patch) but if you never want to sign a tx with the original UTXO then you simply cannot spend it.

Perhaps you want to look into mixing?
donator
Activity: 1218
Merit: 1079
Gerald Davis
sr. member
Activity: 405
Merit: 255
@_vjy
How to do this?

I'd like to receive BTC to address1, forbid to spend from the corresponding key, and spend it using address2-private key. I'll be using address2 key pair only once, and for another transaction I want to use new address3 key pair, and so on..

I've asked this question before few months back, but this time I've just rephrased the same question.
Jump to: