Bitcoin Forum
April 25, 2024, 02:23:45 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: [FALSE ALARM] Security issues in the console client plus use of recovery tools  (Read 1576 times)
NASDAQEnema (OP)
Full Member
***
Offline Offline

Activity: 182
Merit: 100


View Profile
January 09, 2012, 02:56:32 AM
Last edit: January 10, 2012, 11:26:49 PM by Gavin Andresen
 #1

Bitcoin console client and storage needs fixing:

One of the odd things about wallets is that you can send more than what you have in an account to an address you already have as long as you do not send it to the outside world.

Having said that, it would be possible then to:
1. Get coins out of nowhere!
- send 1000 BTC from one account to an address in the same wallet.
- use extractKeys to get the private key for that address
- use pywallet GUI to add the 1000 BTC address to a new wallet

2. Intentionally remove coins out of the BTC economy!
- do #1
- start bogus investment service
- repeat #1 a la Madoff
- receive new investments
- wait until investment is 10x original amount
- destroy wallet containing the address with negative amount of coins
- send original coins back to the address with negative amount of coins
- send rest of coins to the same address
- microwave the hard drive and then hit it with a sledge hammer

3. Increase the number of bitcoins in your wallet
- do #1
- sell bitcoins at an upward ramp of prices in increasing quantities
- do #1 again
- sell bitcoins at a large quantity at a fixed price forcing the price downward
- do #1 again
- sell bitcoins at a downward ramp of prices in increasing quantities
- do #1 again
- sell bitcoins at a large quantity blocking any attempts to increase the price
- watch people panic
- buy coins as they fall
- do #1 again
- sell more to make it a steady drop
- buy like crazy up to a price point
- sell like crazy to drive the value of your coins way up
- return all the extra coins to the black hole in your wallet.

There must be a way to prevent the client or blockchain from storing negative numbers.

I sincerely hope this post makes fiat trained speculators' heads explode. Lulz.

If you feel Universe has trolled you exclusively, please donate to Emergency Butthurt Support Fund:
1Jv4wa1w4Le4Ku9MZRxcobnDFzAUF9aotH
Proceeds go to Emergency Butthurt Escape Pod none of you will be allowed to use. If you have read this far, you must pay Emergency Butthurt Internet Tax.
1714011825
Hero Member
*
Offline Offline

Posts: 1714011825

View Profile Personal Message (Offline)

Ignore
1714011825
Reply with quote  #2

1714011825
Report to moderator
1714011825
Hero Member
*
Offline Offline

Posts: 1714011825

View Profile Personal Message (Offline)

Ignore
1714011825
Reply with quote  #2

1714011825
Report to moderator
1714011825
Hero Member
*
Offline Offline

Posts: 1714011825

View Profile Personal Message (Offline)

Ignore
1714011825
Reply with quote  #2

1714011825
Report to moderator
"In a nutshell, the network works like a distributed timestamp server, stamping the first transaction to spend a coin. It takes advantage of the nature of information being easy to spread but hard to stifle." -- Satoshi
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714011825
Hero Member
*
Offline Offline

Posts: 1714011825

View Profile Personal Message (Offline)

Ignore
1714011825
Reply with quote  #2

1714011825
Report to moderator
1714011825
Hero Member
*
Offline Offline

Posts: 1714011825

View Profile Personal Message (Offline)

Ignore
1714011825
Reply with quote  #2

1714011825
Report to moderator
istar
Hero Member
*****
Offline Offline

Activity: 523
Merit: 500


View Profile
January 09, 2012, 08:08:44 AM
 #2

Would this really be possible in the network.

Any comments?

Bitcoins - Because we should not pay to use our money
scintill
Sr. Member
****
Offline Offline

Activity: 448
Merit: 252


View Profile WWW
January 09, 2012, 08:38:43 AM
 #3

Would this really be possible in the network.

Any comments?

I don't think so. You could probably fool your client(s) into thinking you have more coins than you do, but the network won't let you clone bitcoins or anything like that.

It is also well known that bitcoins can be effectively lost, by destroying/losing wallets, or even making an incorrect transaction on the network (like sending to an invalid address, or to one that nobody has in their wallet)

1SCiN5kqkAbxxwesKMsH9GvyWnWP5YK2W | donations
gmaxwell
Moderator
Legendary
*
expert
Offline Offline

Activity: 4158
Merit: 8382



View Profile WWW
January 09, 2012, 08:42:06 AM
 #4

Would this really be possible in the network.Any comments?
No.
The parent post is borderline-gibberish that betrays fundamental misunderstandings of Bitcoin on several levels.
Yes, using editing tools you can make your wallet display crazy stuff. No, the crazy stuff has no influence on the outside world.  No, it's not a "security issue"— if you don't want your software displaying crazy stuff don't use recovery tools to twiddle with the non-user-serviceable parts. It's actually unlikely that the crazy values can will actually cause the loss of bitcoin, but not impossible (e.g. if you delete the private keys).
Any negative numbers are meaningless in the context of the whole system Bitcoin tracks coins (transactions) not balances, and it certainly doesn't track bitcoind _account_ balanaces which are a purely local book-keeping function.
As far as the rest goes— Yes, you can remove coins from Bitcoin forever but you don't need his elaborate series of steps. Just send coins to a wallet which has no backups and destroy the wallet data and the coins are lost.  Yippie! more scarcity for everyone else.
NASDAQEnema (OP)
Full Member
***
Offline Offline

Activity: 182
Merit: 100


View Profile
January 09, 2012, 05:31:52 PM
 #5

Would this really be possible in the network.Any comments?
No.
The parent post is borderline-gibberish that betrays fundamental misunderstandings of Bitcoin on several levels.

Let's establish a standard test then.

I create a wallet with 0 BTC. This is the source.
I create two accounts.
I transfer 1 BTC from one account to another.
I take the private key from the address holding the BTC using extractKeysFromWallet.
I add the private key to a new wallet containing 0 BTC. This is the carrier.
I then spend the 1 BTC to another wallet. This is the destination.

That concludes our test of the Emergency Butthurt Awareness System.

Quote
Yes, using editing tools you can make your wallet display crazy stuff. No, the crazy stuff has no influence on the outside world.

I'm not editing any values. I'm using the console client to create an address with 1BTC.

Quote
No, it's not a "security issue"— if you don't want your software displaying crazy stuff don't use recovery tools to twiddle with the non-user-serviceable parts. It's actually unlikely that the crazy values can will actually cause the loss of bitcoin, but not impossible (e.g. if you delete the private keys).

Not using anything to edit. Just moving atomic objects around.

Quote
Any negative numbers are meaningless in the context of the whole system Bitcoin tracks coins (transactions) not balances, and it certainly doesn't track bitcoind _account_ balanaces which are a purely local book-keeping function.

I know that. What I will test is a transaction from one account to another. If I can spend it from another wallet, Bitcoin is in trouble.

Quote
As far as the rest goes— Yes, you can remove coins from Bitcoin forever but you don't need his elaborate series of steps.

If I pulled a Madoff with this and destroyed a wallet containing coins others trusted me with we'd have serious issues. This is not preventable on a small scale, but if this attack works I would be able to do it in such a way that it destroyed the faith anyone had in the system.

Quote
Just send coins to a wallet which has no backups and destroy the wallet data and the coins are lost.  Yippie! more scarcity for everyone else.

And loss of faith. Unfortunately most wouldn't see such an attack as equivalent to what the Fed does daily.

If you feel Universe has trolled you exclusively, please donate to Emergency Butthurt Support Fund:
1Jv4wa1w4Le4Ku9MZRxcobnDFzAUF9aotH
Proceeds go to Emergency Butthurt Escape Pod none of you will be allowed to use. If you have read this far, you must pay Emergency Butthurt Internet Tax.
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
January 09, 2012, 05:50:29 PM
 #6

I know that. What I will test is a transaction from one account to another. If I can spend it from another wallet, Bitcoin is in trouble.

No it isn't.  Despite all your obfuscate by extracting keys it is no different then this.

Take wallet which has 1 BTC.

Make a copy and install it on another machine = 1 BTC.

Wow I just doubled my money right?  Of course not.  As soon as you spend the 1 BTC from one wallet the value of the other will go to zero.  If you try to spend from both wallets the network will reject one as a double spend.

Your "attacks" are nonsense.
BurtW
Legendary
*
Offline Offline

Activity: 2646
Merit: 1130

All paid signature campaigns should be banned.


View Profile WWW
January 09, 2012, 05:57:54 PM
 #7

It is so much easier to pull a "I have a lot of BTC in my wallet" scam.  Just get the source, code it up so you can give yourself and display any number of BTC to any account, let's say 100,000.  I have 100,000 BTC in my wallet, yippee!

Of course the rest of the network will not accept your BTC.

I destroyed a few satoshi just the other day when I sent some BTC to the following public addresses:

Code:
11When1DieBuryMeDeepLayTwoXVEY5jv 
11SpeakersAtMyFeetAPairofXXTyrHor
11HeadphonesonMyHeadAndXXXXYUSvnd
11ALwaysPLayTheGratefuLDeadWdq4Xo

Very easy to destroy BTC.

Our family was terrorized by Homeland Security.  Read all about it here:  http://www.jmwagner.com/ and http://www.burtw.com/  Any donations to help us recover from the $300,000 in legal fees and forced donations to the Federal Asset Forfeiture slush fund are greatly appreciated!
NASDAQEnema (OP)
Full Member
***
Offline Offline

Activity: 182
Merit: 100


View Profile
January 09, 2012, 06:01:26 PM
 #8

I know that. What I will test is a transaction from one account to another. If I can spend it from another wallet, Bitcoin is in trouble.

No it isn't.  Despite all your obfuscate by extracting keys it is no different then this.

Take wallet which has 1 BTC.

Make a copy and install it on another machine = 1 BTC.

Wow I just doubled my money right?  Of course not.  As soon as you spend the 1 BTC from one wallet the value of the other will go to zero.  If you try to spend from both wallets the network will reject one as a double spend.

Your "attacks" are nonsense.

That's not what I'm proposing.

The original wallet does not spend anything. It only transfers within. Once. I really don't think this is going to trigger the double spend filter. No double spend is occurring, the transactions are in series from address to address.

Of course this brings up an after the fact faith buster double spend alarm attack.

I'll attempt this as long as everyone here agrees that it will be for 1 BTC, all documented, and afterwards the 1 BTC will be destroyed.

If you feel Universe has trolled you exclusively, please donate to Emergency Butthurt Support Fund:
1Jv4wa1w4Le4Ku9MZRxcobnDFzAUF9aotH
Proceeds go to Emergency Butthurt Escape Pod none of you will be allowed to use. If you have read this far, you must pay Emergency Butthurt Internet Tax.
BurtW
Legendary
*
Offline Offline

Activity: 2646
Merit: 1130

All paid signature campaigns should be banned.


View Profile WWW
January 09, 2012, 06:03:19 PM
 #9

This is dumb.  Just do it.  If you can then you can.  But you can't.

And just so you can rest easy.  You can send your ill gotten extra BTC to any one of the addresses I show above and Jerry will get them in heaven.

Our family was terrorized by Homeland Security.  Read all about it here:  http://www.jmwagner.com/ and http://www.burtw.com/  Any donations to help us recover from the $300,000 in legal fees and forced donations to the Federal Asset Forfeiture slush fund are greatly appreciated!
ArtForz
Sr. Member
****
Offline Offline

Activity: 406
Merit: 257


View Profile
January 09, 2012, 06:22:13 PM
 #10

Yep, another case of not understanding how bitcoin works.
I've watched people come up with the same or similar bullshit "attacks" several dozen times in the last 18 months.
I'm pretty sure there's even a FAQ entry for it on the wiki.
But hey, you don't have to trust anyone, just read the whitepaper, read the source code, think for a bit, if you still don't believe it *try it*
... and please post after you realize how clueless you've made yourself look.

bitcoin: 1Fb77Xq5ePFER8GtKRn2KDbDTVpJKfKmpz
i0coin: jNdvyvd6v6gV3kVJLD7HsB5ZwHyHwAkfdw
NASDAQEnema (OP)
Full Member
***
Offline Offline

Activity: 182
Merit: 100


View Profile
January 09, 2012, 06:48:01 PM
 #11

After discussion in irc, it is indeed impossible,

What needs to be clarified is the fact that every end point transactions are backtraced to the originating block.

A lot of people miss that. Even when you mention the word confirmation. People think of it as a receipt at the checkout counter, not an actual trace of all transactions involving a given coin.

If you feel Universe has trolled you exclusively, please donate to Emergency Butthurt Support Fund:
1Jv4wa1w4Le4Ku9MZRxcobnDFzAUF9aotH
Proceeds go to Emergency Butthurt Escape Pod none of you will be allowed to use. If you have read this far, you must pay Emergency Butthurt Internet Tax.
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
January 09, 2012, 06:54:41 PM
 #12

That's not what I'm proposing.

The original wallet does not spend anything. It only transfers within. Once. I really don't think this is going to trigger the double spend filter. No double spend is occurring, the transactions are in series from address to address.

Of course this brings up an after the fact faith buster double spend alarm attack.

I'll attempt this as long as everyone here agrees that it will be for 1 BTC, all documented, and afterwards the 1 BTC will be destroyed.

Transfer = spend = transaction 

Period.

If you transfer coins from address A to address B but don't replicate that transaction to the network then any transaction from B will be rejected as invalid (it has invalid inputs because B has no value).

If you transfer coins from address A to address B AND DO replicate that transaction to the network then any transaction from A will be rejected as invalid (it has invalid inputs because A has no value).

You don't need anyone's permission.  Nobody cares.  Keep the BTC and make it 100K BTC if you want you can't have two transactions for the same coins on the network.

Even in a double spend only one transaction is accepted the coins aren't doubled the thief merely gains 2x the non-Bitcoin value.
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
January 09, 2012, 06:56:17 PM
 #13

After discussion in irc, it is indeed impossible,

What needs to be clarified is the fact that every end point transactions are backtraced to the originating block.

A lot of people miss that. Even when you mention the word confirmation. People think of it as a receipt at the checkout counter, not an actual trace of all transactions involving a given coin.

Well no transactions don't need to be backtraced to the origination block.  There are mechanism for pruning the blockchain.  Your "attack" would fail even if you only looked at the most recent block the inputs were involved in.
jake262144
Full Member
***
Offline Offline

Activity: 210
Merit: 100


View Profile
January 10, 2012, 11:10:47 PM
 #14

Bitcoin console client and storage needs fixing...

Haven't you misteken wallet.dat for a Diablo II savegame??

This is sooo NOT how Bitcoin works, it's not even funny.
The network will laugh at your attempt at duping.
The client will show the correct values when it receives the next block. I imagine it'll be chuckling as well.

You really should get yourself up to speed on Bitcoin internals before spreading FUD with such astounding authority.
BurtW
Legendary
*
Offline Offline

Activity: 2646
Merit: 1130

All paid signature campaigns should be banned.


View Profile WWW
January 10, 2012, 11:14:39 PM
 #15

After discussion in irc, it is indeed impossible,

What needs to be clarified is the fact that every end point transactions are backtraced to the originating block.

A lot of people miss that. Even when you mention the word confirmation. People think of it as a receipt at the checkout counter, not an actual trace of all transactions involving a given coin.
He admitted he made a mistaken.  I have made many as I learned exactly how it all worked.  We all have made at least one.

Our family was terrorized by Homeland Security.  Read all about it here:  http://www.jmwagner.com/ and http://www.burtw.com/  Any donations to help us recover from the $300,000 in legal fees and forced donations to the Federal Asset Forfeiture slush fund are greatly appreciated!
gmaxwell
Moderator
Legendary
*
expert
Offline Offline

Activity: 4158
Merit: 8382



View Profile WWW
January 10, 2012, 11:23:31 PM
 #16

Haven't you misteken wallet.dat for a Diablo II savegame??
OMG! is that why it's called Diablo miner???

He admitted he made a mistaken.  I have made many as I learned exactly how it all worked.  We all have made at least one.

Indeed, I probably had two dozen "oh heck yea, this breaks it! ... oh wait" moments while learning about it, reading the papers, reading the source, etc. I had the good sense, however, to not go all high and mighty on the forums until I had at least half a clue.  Listen before you speak is reasonable standard of behavior, and it's not wrong to hold people to it via an occasional bit of mockery when it results in a mock-worthy event.
FWIW, it's also good to point out testnet.  The OP claimed hesitance in attacking bitcoin proper: Thats a good thing, since it's a system many people use. But we have testnet mode specifically for this purpose.  You can test on testnet without fear of upsetting/hurting anyone and without losing much of value if you end up burning coins.   Bitcoin can be started in testnet mode with the -testnet parameter.
jake262144
Full Member
***
Offline Offline

Activity: 210
Merit: 100


View Profile
January 10, 2012, 11:24:25 PM
 #17

Burt, it's not the mistake that's bugging me, it's the tone of his post that drives me up the wall.

OP is astoundingly authoritative in his tone for someone not having actually tried this attack.
I request the title be changed to something less alarming.
We have non-techie users here too and I'd hate for them to get confused and going on a linking spree:

OMG, we're doomed: https://bitcointalk.org/index.php?topic=57244.0
The sky is falling, run! https://bitcointalk.org/index.php?topic=57244.0
Bitcoin is broken!!!  https://bitcointalk.org/index.php?topic=57244.0
I told you Bitcoin wouldn't work. https://bitcointalk.org/index.php?topic=57244.0



OMG! is that why it's called Diablo miner???
Shhh, don't tell anyone Smiley
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!