Bitcoin Forum

Bitcoin => Mining => Topic started by: [Tycho] on May 08, 2011, 09:50:09 PM



Title: [BOUNTY] Bitcoin blockchain monitoring site
Post by: [Tycho] on May 08, 2011, 09:50:09 PM
There is concern among bitcoiners, that pool with >50% power can exploit the network with double spending transactions. I think that someone should make a service for monitoring blockchain forks and double spending attempts. I'm pledging 50 BTC for such service; if you are concerned with this problem too, add up your pledge.

To receive award this service should provide at least

1) Real time list of blocks, including orphaned ones
2) Real time list of transactions with double spend attempts


Title: Re: [BOUNTY] Bitcoin blockchain monitoring site
Post by: Miner-TE on May 08, 2011, 09:54:57 PM
I'll pledge 5 BTC.


Title: Re: [BOUNTY] Bitcoin blockchain monitoring site
Post by: shackleford on May 08, 2011, 09:58:37 PM
+5 btc


Title: Re: [BOUNTY] Bitcoin blockchain monitoring site
Post by: Veldy on May 09, 2011, 01:01:57 AM
There is concern among bitcoiners, that pool with >50% power can exploit the network with double spending transactions. I think that someone should make a service for monitoring blockchain forks and double spending attempts. I'm pledging 50 BTC for such service; if you are concerned with this problem too, add up your pledge.

To receive award this service should provide at least

1) Real time list of blocks, including orphaned ones
2) Real time list of transactions with double spend attempts

The whole point is not to have a centralized authority and this sounds like it is creating one.  Doing so will destroy the very nature of bitcoin.  Instead, pools and miners need to do what they have to to make the scenario impossible [assuming Slush comes up to full capacity, work needs to be done such that at LEAST no two pools add up to much more than 50% of the computational power of the network].  If pool operators and miners don't have the will power to do this, then bitcoin is at risk.


Title: Re: [BOUNTY] Bitcoin blockchain monitoring site
Post by: bitlotto on May 09, 2011, 01:05:35 AM
Wouldn't it be better to add the feature to the Bitcoin software itself? (Not sure how possible this is) Otherwise, people will have to always check the site to verify. Perhaps the software could highlight the transaction in red if the money is being spent in two diverging block chains? That way the person getting the money will know and wait until it's not red before accepting it as valid.



Title: Re: [BOUNTY] Bitcoin blockchain monitoring site
Post by: Veldy on May 09, 2011, 01:25:53 AM
Wouldn't it be better to add the feature to the Bitcoin software itself? (Not sure how possible this is) Otherwise, people will have to always check the site to verify. Perhaps the software could highlight the transaction in red if the money is being spent in two diverging block chains? That way the person getting the money will know and wait until it's not red before accepting it as valid.

It takes awhile to invalidate a block [hence why Slush, BTCMine and other pools wait for 120 confirmations before payout].  Nobody would know which block is correct for a little while and in a large P2P network, the evidence of double spending [versus a timing error causing the occasional invalid block show up] may not be obvious until a period of time goes by [and the fraudulent block probably wouldn't hit the network for quite awhile after the original good block as it has to be recreated with a longer chain than the original is getting in confirmations over the same period of time (which is why > 50% power is required)].  In short, I do not think it is possible.  What is possible is for the market to prevent the ability for such an attack by means of creating more pools, securing pools, and for pools to willingly not become TOO large (meaning, willing to risk the bitcoin market for personal profit motive ... perhaps not the issue today, but now the warning is out that it can and essentially did happen, but without this attack actually occurring fortunately ... but it sure is an example of a potential dry run).


Title: Re: [BOUNTY] Bitcoin blockchain monitoring site
Post by: Ulysses on May 09, 2011, 02:30:37 AM
Veldy, if two pools can collude, than so can three, four and more. This risk is inherent to bitcoin design. The only solution to this problem is monitoring and notifying miners in case when pools start to double spend.


Title: Re: [BOUNTY] Bitcoin blockchain monitoring site
Post by: Veldy on May 09, 2011, 02:38:19 AM
Veldy, if two pools can collude, than so can three, four and more. This risk is inherent to bitcoin design. The only solution to this problem is monitoring and notifying miners in case when pools start to double spend.

Yes they can, but it becomes more and more difficult.  Further, I think it unlikely that the pool operators will be in on the collusion as it is clear to me that they would be the most heavily scrutinized after an attack.  Thus, an external attacker would have to compromise several pools if they are all smaller rather than one large pool.


Title: Re: [BOUNTY] Bitcoin blockchain monitoring site
Post by: Veldy on May 09, 2011, 02:44:23 AM
Veldy, if two pools can collude, than so can three, four and more. This risk is inherent to bitcoin design. The only solution to this problem is monitoring and notifying miners in case when pools start to double spend.

It appears to me that by the time double spending is detected you have two problems.  Somebody has already lost their money and it is already too late.  I am confident that an attack would be executed in seconds with the initial spend and the blocks in the pool (s) wouldn't be dispensed until the new chain was longer than the original ... so by the time it is detected it is too late.


Title: Re: [BOUNTY] Bitcoin blockchain monitoring site
Post by: Ulysses on May 09, 2011, 03:05:41 AM
It appears to me that by the time double spending is detected you have two problems.  Somebody has already lost their money and it is already too late.  I am confident that an attack would be executed in seconds with the initial spend and the blocks in the pool (s) wouldn't be dispensed until the new chain was longer than the original ... so by the time it is detected it is too late.

You can't do it instantly, the attacker have to recreate all the confirmed blocks. If the sum is so large, that you are afraid of double spend - than wait for enough blocks. E.g. 6 blocks = 2 hours with 50% of network.

In my opinion, monitoring for such block forks is much more important, than trying to impose cartel agreement of not having more than 50% on pool operators. If we could have such warning in clients, than it would be even better. Maybe such monitoring service should provide the API and charge a small use fee?


Title: Re: [BOUNTY] Bitcoin blockchain monitoring site
Post by: Veldy on May 09, 2011, 03:09:55 AM
It appears to me that by the time double spending is detected you have two problems.  Somebody has already lost their money and it is already too late.  I am confident that an attack would be executed in seconds with the initial spend and the blocks in the pool (s) wouldn't be dispensed until the new chain was longer than the original ... so by the time it is detected it is too late.

You can't do it instantly, the attacker have to recreate all the confirmed blocks. If the sum is so large, that you are afraid of double spend - than wait for enough blocks. E.g. 6 blocks = 2 hours with 50% of network.

In my opinion, monitoring for such block forks is much more important, than trying to impose cartel agreement of not having more than 50% on pool operators. If we could have such warning in clients, than it would be even better. Maybe such monitoring service should provide the API and charge a small use fee?

Its the recreated block that is actually bad, but it won't appear good until it is recreated as a longer chain than the original.  The original can be spent immediately.


Title: Re: [BOUNTY] Bitcoin blockchain monitoring site
Post by: goatpig on May 09, 2011, 03:13:11 AM
It appears to me that by the time double spending is detected you have two problems.  Somebody has already lost their money and it is already too late.  I am confident that an attack would be executed in seconds with the initial spend and the blocks in the pool (s) wouldn't be dispensed until the new chain was longer than the original ... so by the time it is detected it is too late.

You can't do it instantly, the attacker have to recreate all the confirmed blocks. If the sum is so large, that you are afraid of double spend - than wait for enough blocks. E.g. 6 blocks = 2 hours with 50% of network.

In my opinion, monitoring for such block forks is much more important, than trying to impose cartel agreement of not having more than 50% on pool operators. If we could have such warning in clients, than it would be even better. Maybe such monitoring service should provide the API and charge a small use fee?

It isn't so much to double spend but to hurt the Bitcoin network as a whole. I think the attack on Gox is proof enough that some people out there are willing to hurt this network.

Also, pledging 10 BTC.


Title: Re: [BOUNTY] Bitcoin blockchain monitoring site
Post by: grantbdev on May 09, 2011, 03:28:29 AM
I agree that this information should be freely available to the public.


Title: Re: [BOUNTY] Bitcoin blockchain monitoring site
Post by: grndzero on May 09, 2011, 04:01:54 AM
http://www.bitcoinmonitor.com/ is almost as close as you can get to a real time network monitor, theoretically the data gathering processes behind it would be a great place to start ...

Is orphaned block information even broadcast on the network, or is it something that is just dropped when nodes receive new block chain information?

The double spend part I have no clue how to detect.


Title: Re: [BOUNTY] Bitcoin blockchain monitoring site
Post by: Raulo on May 09, 2011, 10:43:51 AM
Is orphaned block information even broadcast on the network, or is it something that is just dropped when nodes receive new block chain information?

This type of forks is easy to detect. Every time it happens, bitcoin deamon prints "REORGANIZE" is debug.log. There is one every a few thousand blocks due to coincidental finding two blocks at roughly the same time.  After that miners try to add to the chain they received first. If the one that won the race is not the one you have stored as the longest in memory, the chain reorganizes. For those who has the other chain, nothing will be printed in debug.log because no reorganization takes place.

Quote
The double spend part I have no clue how to detect.
You need to look if the forked chain contains the transactions that are inconsistent with the previous chain.

Since the client requires 5 confirmations, any shorter than 5 fork cannot reverse any confirmed transactions. So detecting large forks is the very first step in finding potential problems.

I have never seen a fork longer than 1 on mainnet (I have seen some on testnet) and it is very rare by accident. I remember that on IRC someone claimed that after the very first slashdoting in July last year, the blocks were generated so quickly (and the network was smaller), there were quite a few longer than 1 accidental chain splits.


Title: Re: [BOUNTY] Bitcoin blockchain monitoring site
Post by: grndzero on May 09, 2011, 10:58:52 AM

This type of forks is easy to detect. Every time it happens, bitcoin deamon prints "REORGANIZE" is debug.log. There is one every a few thousand blocks due to coincidental finding two blocks at roughly the same time.  After that miners try to add to the chain they received first. If the one that won the race is not the one you have stored as the longest in memory, the chain reorganizes. For those who has the other chain, nothing will be printed in debug.log because no reorganization takes place.

 If he's asking for a program that to show all orphaned blocks on the network, will a program be able to see all orphaned block behavior on the network or only the behavior of the local node that it's pulling data from?

You need to look if the forked chain contains the transactions that are inconsistent with the previous chain.

Since the client requires 5 confirmations, any shorter than 5 fork cannot reverse any confirmed transactions. So detecting large forks is the very first step in finding potential problems.

I have never seen a fork longer than 1 on mainnet (I have seen some on testnet) and it is very rare by accident. I remember that on IRC someone claimed that after the very first slashdoting in July last year, the blocks were generated so quickly (and the network was smaller), there were quite a few longer than 1 accidental chain splits.

It sounds like a supernode could accomplish this without too much trouble since it has multiple connections to have the most up to date block chain info and can listen to all transactions like bitcoinmonitor does. Someone would just have to develop the code to identify the forks?


Title: Re: [BOUNTY] Bitcoin blockchain monitoring site
Post by: Raulo on May 09, 2011, 11:36:07 AM
If he's asking for a program that to show all orphaned blocks on the network, will a program be able to see all orphaned block behavior on the network or only the behavior of the local node that it's pulling data from?

Only local. But any "evil forks" has to be distributed in order to make sense. Any node that has a "good" chain will detect injection of longer "evil" chain because it will trigger reorganization. The only thing that cannot be easily detected are dying forks. A fork that is growing independently but is outrun by the main chain because such fork may never reach your node. 


Quote
It sounds like a supernode could accomplish this without too much trouble since it has multiple connections to have the most up to date block chain info and can listen to all transactions like bitcoinmonitor does. Someone would just have to develop the code to identify the forks?

It is possible. I remember theymos (owner of blockexplorer) stated he had plans to incorporate blocks forks. The only problem is that because it is so rare, it is quite difficult to debug the code. You can create forks on testnet but it is also quite troublesome.


Title: Re: [BOUNTY] Bitcoin blockchain monitoring site
Post by: OverQuantum on May 18, 2011, 06:49:29 PM
1) Real time list of blocks, including orphaned ones
I think, this could be also useful also estimating - how blocks to wait for considering transaction fixed in block chain.
Ex. if statistics shows, that one block is orphaned with 1% probability, 2 blocks with 0.01%, 3 blocks with 0.0001%, so it does not require to wait 4th block if you are not afraid of <0.0001% probability.


Title: Re: [BOUNTY] Bitcoin blockchain monitoring site
Post by: Raulo on May 19, 2011, 06:54:15 AM
I think, this could be also useful also estimating - how blocks to wait for considering transaction fixed in block chain.
Ex. if statistics shows, that one block is orphaned with 1% probability, 2 blocks with 0.01%, 3 blocks with 0.0001%, so it does not require to wait 4th block if you are not afraid of <0.0001% probability.

No, it won't. Currently orphaned blocks are accidental due to (almost) simultaneous finding a new block by two miners. Waiting for confirmations is to make sure there are no intentional chain splits. Intentional chain splits are possible with small probability even for an attacker that have <50% of hashspeed. And you won't know it until it's tried. If you have 10% of hashspeed, you will get  two blocks in a row with 1% probability. So you can reverse 1-confirmation transactions once in 100 blocks if you try. Current orphanage rate shown that nobody tried it yet but does not tell you how probable is that someone will try it.


Title: Re: [BOUNTY] Bitcoin blockchain monitoring site
Post by: rezin777 on May 20, 2011, 08:48:34 PM
A different solution to this problem?

http://forum.bitcoin.org/index.php?topic=9137.0 (http://forum.bitcoin.org/index.php?topic=9137.0)


Title: Re: [BOUNTY] Bitcoin blockchain monitoring site
Post by: piuk on January 26, 2012, 10:50:09 AM
I know this bounty is old, but I think blockchain.info meets the requirements to claim it.

Orphaned Block tracking:

http://blockchain.info/orphaned-blocks

Live list of unconfirmed transaction, if any double spends are detected they will be marked.

http://blockchain.info/unconfirmed-transactions (available in JSON with ?format=json)

https://i.imgur.com/uQTX0.png

Double spend list:

http://blockchain.info/double-spends

Thanks


Title: Re: [BOUNTY] Bitcoin blockchain monitoring site
Post by: [Tycho] on January 26, 2012, 11:45:16 AM
Hello.
Do any of pledgers have any other opinion about if this solution meets requirements and should be awarded ? Looks like it does.


Title: Re: [BOUNTY] Bitcoin blockchain monitoring site
Post by: piuk on January 26, 2012, 02:44:50 PM
Tycho, When I initially made the double spend page there was only one transaction, now there are 4. Is that you testing it?

I PM'd the other bounty contributors, but I don't think they are active anymore.



Title: Re: [BOUNTY] Bitcoin blockchain monitoring site
Post by: [Tycho] on January 26, 2012, 02:51:57 PM
Tycho, When I initially made the double spend page there was only one transaction, now there are 6. Is that you testing it?
No, I'm not.
I think that it's some broken client or attack against some broken client.

You can try to monitor for transactions with multiple instances of same input, that's what happens too, as my monitoring nodes show.
I heard that there was some old client storing them in memorypool or doing something else.

UPD: Also it may be caused by people restoring their wallets from backups or using wallet.dat copy accidentally.
What we should especially care for is double-spend attempts in orphaned branches.


Title: Re: [BOUNTY] Bitcoin blockchain monitoring site
Post by: piuk on January 26, 2012, 03:02:54 PM
Probably just accidental:

http://blockchain.info/tx-index/14760752/2c412e1ab2c66590f9be8d43e4d787eeaca167cec9a6a5f57651482ef2e737aa?show_adv=true
http://blockchain.info/tx-index/14760749/5a875fe607947f5d914eb5ef2ba7c7f6fb2319ceb77485297a7df520ccf7def0?show_adv=true

Two very similar, but with one different output address. The value probably isn't high enough to be malicious.

http://blockchain.info/tx-index/13084119/c407cc2973c191e50f6ef01630b417d0814e5030f493629c062a5852e94b8bd0

Is the only double spend between different orphaned branches in the entire database. I imported the blockchain from bitcoinchart's dump which contains orphaned blocks from way back in 2010, so it looks like there hasn't been any successful double spend attempts of any value.


Title: Re: [BOUNTY] Bitcoin blockchain monitoring site
Post by: [Tycho] on January 26, 2012, 03:13:59 PM
Would be nice if you can add info about which blocks they belong and which one is orphaned.


Title: Re: [BOUNTY] Bitcoin blockchain monitoring site
Post by: Miner-TE on January 26, 2012, 03:31:04 PM

I PM'd the other bounty contributors, but I don't think they are active anymore.



You are correct,  I haven't been active but I am a man of my word.  Where shall I send my 5 BTC?


Title: Re: [BOUNTY] Bitcoin blockchain monitoring site
Post by: [Tycho] on January 26, 2012, 03:34:35 PM
I PM'd the other bounty contributors, but I don't think they are active anymore.
Post a fresh address here, so award can be sent and checked by people.


Title: Re: [BOUNTY] Bitcoin blockchain monitoring site
Post by: piuk on January 26, 2012, 03:49:34 PM
Would be nice if you can add info about which blocks they belong and which one is orphaned.

Added.

You are correct,  I haven't been active but I am a man of my word.  Where shall I send my 5 BTC?

Thats great, Thank you to the both of you.

New Address 1JArS6jzE3AJ9sZ3aFij1BmTcpFGgN86hA (https://blockchain.info/address/bc5725777dff15ce051e79873e2670174180cd34)


Title: Re: [BOUNTY] Bitcoin blockchain monitoring site
Post by: [Tycho] on January 26, 2012, 04:12:02 PM
New Address 1JArS6jzE3AJ9sZ3aFij1BmTcpFGgN86hA (https://blockchain.info/address/bc5725777dff15ce051e79873e2670174180cd34)
My pledge is paid (50 BTC).


Title: Re: [BOUNTY] Bitcoin blockchain monitoring site
Post by: piuk on January 26, 2012, 05:13:33 PM
Received, cheers Tycho.


Title: Re: [BOUNTY] Bitcoin blockchain monitoring site
Post by: goatpig on January 27, 2012, 01:41:15 AM
New Address 1JArS6jzE3AJ9sZ3aFij1BmTcpFGgN86hA (https://blockchain.info/address/bc5725777dff15ce051e79873e2670174180cd34)

paid my 10 BTC pledge


Title: Re: [BOUNTY] Bitcoin blockchain monitoring site
Post by: Miner-TE on January 27, 2012, 03:33:48 AM
Just sent my 5 BTC.


Title: Re: [BOUNTY] Bitcoin blockchain monitoring site
Post by: shackleford on January 27, 2012, 04:51:42 AM
Sent and thanks


Title: Re: [BOUNTY] Bitcoin blockchain monitoring site
Post by: piuk on January 27, 2012, 11:50:44 AM
Thank You to everyone that honoured the bounty. All payments have been received.

Next on my TODO list is to make an API call that merchants can use.