Pages:
Author

Topic: Why doesn't bitcoin have a "freeze" function? - page 7. (Read 1596 times)

sr. member
Activity: 1036
Merit: 350
-snip-


Electrum has that function; but it's more of a "coin-control" feature than safety.
Because it's possible client side - freeze an address or UTXO from being spent (though that client) but it wont stop anyone who already got your private keys from spending your coins.

It won't? That's terrible! Well that's not going to work!

You can freeze your outputs with specific time parameters, so that the outputs in that specific address can't be spent until the time has elapsed.

I know but the problem is, when I need to use my money I need to use it. I can't really afford to always wait for days or weeks for something to get unlocked. I might be able to wait for hours or a couple days at most but then once I use what I need, I need to be able to freeze my address again until the next time comes around. The truth is though sometimes I might even need to use my money on the spur of the moment without any waiting at all!




I don't think a nTimeLock parameter would help the OP, at least not alone. From what I can tell, the OP wants the ability to "freeze" his coin as a security measure. If the OP's private keys are stolen, the attacker could simply wait for the time lock to expire. Also, the OP would be unable to spend his coin at an arbitrary time.


On point. The part about spending my money at an "arbitrary time" thanks for bringing that up too.





The "freeze" feature as described by the OP is really more of a loss prevention measure for the bank as the bank is the one who will be on the hook if there is an unauthorized transaction.

Well I don't know about that but what I do know is it give me an incredible peace of mind knowing that because I clicked the freeze button, there is no transactions being done with my card. But the moment I need to, I can just click on unfreeze and do my business and then freeze it again, making it impervious to the outside world even if they know my card number and such. that's security, I tell you!

Now there is that matter of what would happen if I lost my credit card and someone else found it and I didn't even know about it. Well, I'll be happy to explain what would happen in that case too. You see, they wouldn't be able to use it even though they had it in their physical possession. Even with the 4 digit code number on the back of the card it would do them no good. Because when they tried to go to an atm machine or buy something, it would get declined period the end. And when I got around to noticing that someone had stolen my card, I could just call the bank and get a new one sent out, credit line transfers over to the new card. You can't beat that! I'm sure bitcoin will get to that level at some point. which will be cool. maybe that's part of taproot, not sure! there's alot of taproot experts out there, and i wouldn't put it past them to understand how that could work with this. Lips sealed






A 2 of 2 multisig doesn't "freeze" anything, you will need both keys at all times to be able to spend coins from the created address. Additionally "freezing" usually requires a time component where user locks up their coins for a certain period of time which is not possible with multisig.

You see I was thinking of making my friend an authorized cardholder but I told them you can't just spend money without my approval. They said they would always ask me before they tried to do any transactions. So I ordered them a credit card with their name on it the funny thing is it had my account number on it! Same credit card number as my credit card. I guess theyre really serious about me being on the hook for anything my friend would spend with their card. What I figured out though is, I would probably have the ability to "freeze" their card and keep it in that state until they came to me and asked for permission to use it and then I woud unfreeze it so they could buy what we  agreed on but the thing is, how do I know how much they are going to spend? That's the real problem. I'm on the hook for whatever they decide to spend when its in the unfrozen state. After a bit of thinking about it, I came to the realization that it would simply be easier for me to just keep my credit card to myself and if I want to buy them something I can do it that way.




You can have signed transaction that will allow for example to send coins only to selected address. You can make some such transactions upfront, sign it with your "freeze key" and then pick one of them, sign it with your "real key" and broadcast. Also, multisig can be combined with locktime if needed.


That's the problem with my credit card company though. When my card is in the frozen state, I can't even create transactions that a vendor would broadcast at a later time. Can you imagine that? They wouldn't even just take down my card information and give me 30 minutes to get home to my ultrasecure desktop airgapped computer to unfreeze my credit card. How dare they?

 

Quote
Additionally "freezing" usually requires a time component
There is some weird and inefficient way to "freeze" coins without any timelock, for example someone can start with some public key, add some nonce, and increment it until hitting some target. Then, it is possible for example to store that key in some safe place, but store only the starting point in the wallet. In this way, it is possible to unlock the key after redoing all computations, which takes time, so it is guaranteed that for example you need 2^48 operations to recover your key.


Yeah I tried that method with my credit card actually and it didn't work here's what happened. I put my credit card in a glass bottle and buried it in my garden. That way no one could ever use it, except me, right? Problem is someone somehow got ahold of my credit card number and used it to subscribe to some porn website. The credit card company was familiar with the porn website and contacted them to see if it was really me. Turns out, they don't know who it was but they can't prove it was me so I got my money back. But I sure am glad that my credit card company implemented this "freeze" feature because now I don't have to go digging it up in the garden everytime I want to use it.

Oh and I finally found out how someone got ahold of my card number too, they were just rummaging through some trash and found an old credit card statement it wasn't even the statement for my credit card though can you believe that? But the account numbers were close and they made a mistake typing in the card number off the trash they found and that typo ended up being bad news for me but as I said, the credit card company made me whole again. So it's all good.

[moderator's note: consecutive posts merged]
hero member
Activity: 667
Merit: 1529
Quote
A 2 of 2 multisig doesn't "freeze" anything, you will need both keys at all times to be able to spend coins from the created address.
You can have signed transaction that will allow for example to send coins only to selected address. You can make some such transactions upfront, sign it with your "freeze key" and then pick one of them, sign it with your "real key" and broadcast. Also, multisig can be combined with locktime if needed.

Quote
Additionally "freezing" usually requires a time component
There is some weird and inefficient way to "freeze" coins without any timelock, for example someone can start with some public key, add some nonce, and increment it until hitting some target. Then, it is possible for example to store that key in some safe place, but store only the starting point in the wallet. In this way, it is possible to unlock the key after redoing all computations, which takes time, so it is guaranteed that for example you need 2^48 operations to recover your key.

If all computations are linearly dependent, so you have to calculate step N to make it possible to calculate step N+1, then you have to do all computations upfront. But if opcodes like OP_CAT or OP_SUBSTR could be used, then it is possible to do that kind of timelock without setting any time.

That kind of "pseudo-locktime" better fits locktime encrypted files (so that they can be decrypted only after doing some computations), but you can use the same technique for locking coins, signed transactions or any other blockchain-related data you want. More about that: https://www.gwern.net/Self-decrypting-files
legendary
Activity: 2394
Merit: 5531
Self-proclaimed Genius

I don't think this solves the OP's problem.
Yes, that's what the first part of my reply is all about: there's a client with freeze feature but it doesn't fit OP's use-case.
jr. member
Activity: 31
Merit: 26
The wallet of a centralized exchange can be frozen, so the bitcoins in the wallet will also be frozen.

However, because of the anonymity of the blockchain and the characteristics of distributed accounting, the Bitcoin of the cold wallet cannot be frozen unless someone else uses illegal means to force you to surrender your private key.

Why is there a Bitcoin slogan: Your money is your money. Bitcoin makes us truly masters and free.

legendary
Activity: 3444
Merit: 10558
You can always lock your funds using 2-of-2 multisig, where the first key is your real public key and the second key controls your freeze/unfreeze options. Then you need both to spend any funds.
A 2 of 2 multisig doesn't "freeze" anything, you will need both keys at all times to be able to spend coins from the created address. Additionally "freezing" usually requires a time component where user locks up their coins for a certain period of time which is not possible with multisig.
copper member
Activity: 1624
Merit: 1899
Amazon Prime Member #7
You can freeze your outputs with specific time parameters, so that the outputs in that specific address can't be spent until the time has elapsed.
I don't think a nTimeLock parameter would help the OP, at least not alone. From what I can tell, the OP wants the ability to "freeze" his coin as a security measure. If the OP's private keys are stolen, the attacker could simply wait for the time lock to expire. Also, the OP would be unable to spend his coin at an arbitrary time.

Your security should be guaranteed by how you handle your keys and your security habits.
This is an important point. Bitcoin (and altcoins) is much less forgiving than the traditional banking system. With the banking system, if someone obtains your credit card information, you will typically not be on the hook for unauthorized transactions. The "freeze" feature as described by the OP is really more of a loss prevention measure for the bank as the bank is the one who will be on the hook if there is an unauthorized transaction.


I don't think this solves the OP's problem.

You can always lock your funds using 2-of-2 multisig, where the first key is your real public key and the second key controls your freeze/unfreeze options. Then you need both to spend any funds.
This is probably the closest thing to a solution for the OP. Although an alternative would be to just have one key and keep that key secure.
hero member
Activity: 789
Merit: 1909
You can always lock your funds using 2-of-2 multisig, where the first key is your real public key and the second key controls your freeze/unfreeze options. Then you need both to spend any funds.
legendary
Activity: 2394
Merit: 5531
Self-proclaimed Genius
-snip-


Electrum has that function; but it's more of a "coin-control" feature than safety.
Because it's possible client side - freeze an address or UTXO from being spent (though that client) but it wont stop anyone who already got your private keys from spending your coins.

I don't think it's possible to freeze coins in the blockchain unless those are locked using a script that can be frozen/unfrozen any time which I don't think we have (please inform me if there's one).
legendary
Activity: 2954
Merit: 4158
You can freeze your outputs with specific time parameters, so that the outputs in that specific address can't be spent until the time has elapsed.

If your idea is to freeze your Bitcoins as and when you like as a security measure, that doesn't really improve your privacy significantly. Your security should be guaranteed by how you handle your keys and your security habits.
sr. member
Activity: 1036
Merit: 350
I was trying to make a payment using my credit card last night and it was being declined and I was like what the heck. So I thought maybe they close my account since it been over  a year since I used it. Instead of calling, I logged into my account online to see if maybe it would be of any help in seeing if my account is having a problem, well it looked fine like it is still open. Hmm. Now I'm thinking I need to call them because I don't know what the heck is going on why it is being declined. But then I see a button at the top of the screen that says "Your account is frozen, you can unfeeze it by clicking this button." Then I remembered I had frozen the account by clicking the freeze button a year or so ago so that no one can do any activity on my account not even me! Well I guess it worked fine!

But now I needed to unfreeze my account so I can do a transaction I need so I click on unfreeze and bada bing bada boom, I tried doing the transaction again and it worked. If I wanted to I could click the freeze button again and put my card back into a deep freeze so that no one can use it even if they know the credit card #, expiration date and special number on the back of the card (call it a private key if you like). That's pretty amazing tech, don't you guys think?

I forgot to re-freeze my card so hopefully no one has used it in the last 24 hours or so that I don't know about!
Pages:
Jump to: