Bitcoin Forum
May 09, 2016, 01:30:32 AM *
News: New! Latest stable version of Bitcoin Core: 0.12.1 [Torrent]
 
  Home Help Search Donate Login Register  
  Show Posts
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 [32] 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 ... 362 »
621  Bitcoin / Bitcoin Discussion / Re: Blockchain split of 4 July 2015 on: July 06, 2015, 06:53:35 PM
The market has proven to be self correcting.  When GHash got 49%, action was taken, now
its down to 10% or something.

IIRC, GHash actually got more than 50%. 

The community can be sure that they got down to 10% by turning off 80% of their equipment, all for the good of the community. They would never think of moving that equipment to other pools. [/sarcasm]
622  Bitcoin / Bitcoin Discussion / Re: Blockchain split of 4 July 2015 on: July 06, 2015, 06:49:11 PM
So basically, we should wait for the transactions to get a confirmation other than from Antpool or f2pool to safely get the bitcoins in the wallet?
If Antpool and/or f2pool finds blocks in a chain its not safe anymore? Did someone actually get a loss from this incident?

Some pools apparently monitor other pools and "steal" the hash of their last mined block even before the block has propagated to the relay nodes.  Since they don't have the block, not even the header, they cannot validate it immediately as they start mining on top of it.

I have read that those two pools and also BTC-China use this trick.  I don't know whether others do the same, but since it gives them several seconds of advantage in the race for the next block, we must assume that every miner will do it if they can.  And the shortcut usually works; it failed this time only because of the version switch.  Therefore, the miners will not stop doing that, in spite of having lost 9 block rewards altogether (half of which they would have lost anyway).
623  Bitcoin / Bitcoin Discussion / Re: Blockchain split of 4 July 2015 on: July 06, 2015, 01:22:42 PM
They were cheating the system. Bitcoin has one variable that can't be predicted - human behavior. The system will always be flawed as long as someone sees an advantage in doing the wrong thing. Bitcoin isn't a worldwide corporation but it's players must act as if it were. Independent global actors must each do their part correctly and for the good of the whole except all of them are motivated differently. The problem with a system controlled by no one and everyone is the old adage, what's best for me is what's best.

Sorry, that was not the idea.  Players were supposed to behave in certain ways because of the economic incentives built into the protocol, not because of "the good of the whole".   If players find that it is more advantageous to them to behave in ways that are bad for the system, that is a flaw of the protocol, not a fault of the players.
624  Economy / Speculation / Re: Wall Observer BTC/USD - Bitcoin price movement tracking & discussion on: July 06, 2015, 12:13:34 PM
http://www.reuters.com/article/2015/07/03/us-eurozone-greece-bitcoin-idUSKCN0PD1B420150703?

The Greeks are buying bitcoins to protect themselves from a monetary crash according to Reuters.


yes, greece is very interested in btc right now.
if you didnt check it out yet, take a look at the google trend for bitcoin in greece, it has just reached a new ATH  http://www.google.com/trends/explore#q=bitcoin&geo=GR



Indeed, but I don't quite understand, why Portugal is NOSE DIVING!!!?Huh

http://www.google.com/trends/explore#q=bitcoin&geo=PT&date=1%2F2012%2043m&cmpt=q&tz=Etc%2FGMT-5%3A30

Try adding some other term, like "paypal".  It looks like a general treend of google usage, or just a glitch.
625  Bitcoin / Bitcoin Discussion / Re: Blockchain split of 4 July 2015 on: July 06, 2015, 12:07:07 PM
I have a hard time believing that F2pool and AntPool did this by accident.

However I also cant see their profit motive in this case since everyone knew what was happening.

It seems they just wasted time/money on the wrong chain with no benefit.

What am I missing?

According to this reddit comment, F2Pool did not even have the header of the invalid block B when they started mining on top of it.  The big pools monitor the instructions that other pools send to their members, to catch the hash of a recently mined block even before that block gets to the relay nodes.  They just did not notice (or had no way of knowing) that the hash came from a pool in the 5% that was still running v2, and therefore was likely to be invalid.
626  Bitcoin / Bitcoin Discussion / Re: Blockchain split of 4 July 2015 on: July 06, 2015, 11:59:24 AM
On a different note, here's one proposed solution for SPV nodes that does not require us to wait for 30 confirmations. Please comment on its correctness.

Let us assume that an "invalid chain" cannot be more than 50 blocks.

Step 1. We boot our SPV node "now", several days after the July 4 fork.
Step 2. We receive the mth block, say b_m. We ensure that b_m is version 3 block.
Step 3. We need to ensure that at least 50 previous blocks before b_m were also correct. We download those blocks (not just the headers).
  That is blocks b_{m-50}, b_{m-49}... b_{m-1}. Then we ensure that all were version 3, have correct signatures, etc, and correctly validate the next block (via the prevBlockHash).
Step 4. We can start counting b_m as a block of a valid chain if above checks pass.
Step 5. For any further received blocks, we follow steps 2, 4, 5 (skipping steps 1 and 3), since we have already validated 50 blocks before the "boot" block. Hence we validating only with block b_{m-1} is sufficient.

You are proposing is to modify the client so that it would do what a full node would do, only truncated to that last 50 nodes.

Just checking the version tag is not enough. This hacked client app must also know that the BIP66 rule became active at a certain block b_{n}.  Otherwise it would have to keep fetching blocks until it finds a "95% majority" event, or reaches a block before the v3 software was published.
627  Bitcoin / Bitcoin Discussion / Re: Blockchain split of 4 July 2015 on: July 06, 2015, 05:06:51 AM
So, I dunno, you're probably right bitcoin's usefullness and popularity are also just "urban legends".  But I'll have to double check that tomorrow after I buy some stuff for my house on overstock.com using bitcoin.

You mean: after you sell some of your bitcoins for dollars through BitPay, and buy some stuff on overstock.com using those dollars.  Wink
628  Economy / Speculation / Re: Wall Observer BTC/USD - Bitcoin price movement tracking & discussion on: July 06, 2015, 04:08:46 AM
The deadline for filing claims against the MtGOX bankruptcy has been extended:

https://www.mtgox.com/img/pdf/20150706_deadline.pdf [ scroll down for the English translation ]
Quote
The bankruptcy trustee decided that the deadline for filing bankruptcy claims using the Online Method will be 12 noon on July 29, 2015 (Japan time).
629  Economy / Speculation / Re: Wall Observer BTC/USD - Bitcoin price movement tracking & discussion on: July 06, 2015, 04:06:36 AM
Mr. Gabriel, the German economics minister said “But it must be crystal clear what is being decided. It is, at the core, yes or no to remaining in the eurozone.”
https://upload.wikimedia.org/wikipedia/commons/thumb/7/7a/Groutite-114104.jpg/608px-Groutite-114104.jpg

What you want to say Prof. Stolfi ?

Only that "crystal clear" can be black and opaque as coal.  Which is actually what "crystal clear" usually means in politics and economy...

(Uh, ok, and coal can be clear and transparent as diamond, alright.)
630  Bitcoin / Bitcoin Discussion / Re: Blockchain split of 4 July 2015 on: July 06, 2015, 03:54:48 AM
Thanks @Cryddit for the replies! You write:

F2Pool and AntPool were not running correct software.   They had taken correct software and then deliberately modified it to make it wrong.  

Well, it is debatable whether it can be called "wrong".  It is more risky for the miner, and not what the bitcoin devs think that the miner should do, and not as helpful to the system as the others would think.  But miners have no obligation to behave in any particular way.  Each miner has the right to run whatever software he wants and output any blocks he wants.  The economic incentives are supposed to lead him, through self-interest, to behave in a way that is best for the system.  If the incentives are right but the miner doesn't act in his best interests, it is his problem, not anyone else's.  But if the incentives actually encourage a behavior that is bad for the system, it is a flaw of the protocol.

When they opted for "SPV mining", it was because they thought it would increase their revenue. In this case it didn't, but maybe it paid off overall.  Perhaps they overreacted to that incident that made them disable the verification code (when they lost ~6000 USD in an orphaned block because of a few seconds of delay); or perhaps "SPV mining" indeed saved them from several other incidents. 

Anyway, it should be their problem to figure that out and do what they think is best for them.  Their losses in that chain should not be of concert to anyone... except that there were many v2 nodes and clients out there that got confused because, by their criteria, the 'bad' chain was fully valid and was the longest chain. 

So, I insist that the devs deserve a fat slice of the blame: for not having a delay after the "95% majority" event, and because they choose to do a riskier manoeuver (allow v3 nodes and miners interact with v2 clients) for PR reasons (to keep clients unaware of the change, and let them run the v2 version even after it went into effect).
631  Bitcoin / Bitcoin Discussion / Re: Blockchain split of 4 July 2015 on: July 06, 2015, 03:15:49 AM
Thanks @knightdk again for the reply. You write:

Well forcing everyone to upgrade defeats the purpose of a soft-fork. The idea behind a soft-fork is that the new rules are still valid under the old rules. This makes soft-forks much easier to carry out and they are backwards compatible. What you are suggesting would be to make every soft-fork a hard-fork, which requires that everyone must upgrade otherwise they will be left off of the network. This is much more difficulty to carry out and I think such hard-forks have and will have the delay, alerts sent out, and monitoring of the situation before and after the fork.

[ ... ]

As I said above, [ rejecting connections from outdated players ] makes it a hard-fork, which is much more dangerous than a soft-fork and much more difficult to do. Also, disconnecting and alienating all nodes running v2 would disconnect more than 1/6 of the network. According to getaddr.bitnodes.io, it appears that more than 1000 nodes out of 6000-ish nodes are running old software, be it Core 0.9.5 or earlier or other old software. This would lose a significant portion of the network, and probably break Bitcoin's credibility.

In understand that clients don't need to update if a soft fork only makes the rules for blocks more restrictive.  However, if it makes the rules for transactions more restrictive too, then the clients must update anyway, otherwise their transactions will be rejected (except by nodes and miners who are still running the old version, which may cause those transactions to be confirmed and then unconfirmed).  isn't that so? Isn't that the case of BIP66?

I believe that [ the "SPV mining hypothesis ] has been both confirmed and proved by F2Pool and AntPool.

Indeed, I see the quote in other posts.
632  Bitcoin / Bitcoin Discussion / Re: Blockchain split of 4 July 2015 on: July 06, 2015, 03:06:23 AM
so much for the security advantage of bitcoin
because of massive hashrate
compared to altcoins.....

another urban legend
to make bitcoin look superior busted

No matter how big the army, it cannot defend the country from an internal war.
633  Bitcoin / Bitcoin Discussion / Re: Blockchain split of 4 July 2015 on: July 06, 2015, 12:12:47 AM
Thanks for the replies, @knightdk.  You write:

The devs deserve a fat slice of the blame for not programming a reasonable delay (say, 2 weeks) between the "95% majority" event and the activation of the BIP66 rule.  That delay would have given a chance for the remaining v2 miners and nodes, as well as more v2 clients, to upgrade to v3.  (Using blockchain voting to trigger protocol changes also seems a terrible idea, but that is another discussion.)
I don't think that a delay would have made a difference. BIP66 has been public for months, and so has the clients supporting it. Really the only way I think that the remaining miners would switch is after they realize that their v2 blocks are no longer being accepted because who likes change?

I doubt that 1% of the bitcoiners out there know what a BIP is.

I doubt that 0.1% of the bitcoiners out there knew that a soft fork due to BIP66 was due to happen this year.

A 2-week delay would have allowed the devs to send an alert to all nodes and miners still runing v2 to upgrade immediately or risk being cut off from the network and having their feet eaten by the boogeyman while they sleep.

A 2-week delay would also allow any v3 nodes that were turned off to catch up with the blockchain, and determine whether BIP66 was already in force of not.

The core devs or F2Pool's own devs may also deserve another fat slice of the blame, for the v3 software allowing v3 miners and nodes to receive blocks from v2-running miners and nodes after BIP66 was activated.
Can't really stop the reception of blocks, but F2Pool's own devs do deserve a lot of the blame for having SPV Mining that did not validate the blocks at all.

After BIP66 became active, any v3-running miner, node, or client should have ignored (or have disconnected from) any nodes that it knew were still running version v2.

More generally, the core devs approach to protocol changes seems to be like that of an airline that lets a plane take off with a known engine malfunction, and tries to fix it during flight -- because it does not want to alarm or inconvenience the passengers, or get bad exposure in the news...

And, AFAIK, "SPV mining" is only the most likely theory, not confirmed or proved yet.
634  Economy / Speculation / Re: Wall Observer BTC/USD - Bitcoin price movement tracking & discussion on: July 05, 2015, 11:21:56 PM
Mr. Gabriel, the German economics minister said “But it must be crystal clear what is being decided. It is, at the core, yes or no to remaining in the eurozone.”

635  Bitcoin / Bitcoin Discussion / Re: Blockchain split of 4 July 2015 on: July 05, 2015, 10:19:53 PM
I am still trying to understand what actually happened.

What I have read is that BTCNuggets, a miner that was still running v2 software, mined a block B'(N) that was valid by v2 criteria but invalid by v3 criteria. Somehow F2Pool, a miner that was running v3 software, received the header of this block and successfully mined a block B'(N+1) that was valid under v3 rules (empty, in fact) except for having an invalid parent.  As luck would have it, they also mined another (empty) block B'(N+2) with B'(N+1) as parent.  Then AntPool, who was running v3 software too, mined B'(N+3) on top of B'(N+2).  And so on; this was the 'bad' branch.

Meanwhile, other miners running v3 software either did not see block B'(N), or saw it and detected that it was not v3-valid; so they ignored it and eventually mined a block B''(N) that was v3-valid.  Several v3 miners solved additional v3-valid blocks B''(N+1), B''(N+2), etc. on top B''(N).  This was the 'good' branch.

For a while, the bad branch was ahead of the good one, in terms of total work.  Fortunately the devs and other bitcoin hackers were watching the blockchain to monitor the onset of BIP66, spotted the problem immediately, alerted F2Pool and AntPool that they were mining a v3-invalid chain, and sent out an alert recommending a 30-confirmation (5 hour) wait for important transactions.

Is this a correct summary of the events?

Some of the many questions that remain:

* How many blocks were actually mined on the bad branch (starting form B'(N)) before it was abandoned?

* Were F2Pool, AntPool, and the other pools that mined on the bad chain running modified versions of the v3 core? If so, what were the modifications?

* Did F2Pool realize that the BIP66 rules had already started to apply when they received B'(N) from BTCNuggets? (Say, perhaps it had counted only 949 v3 blocks, or had its counter reset recently, etc.)

* How did F2Pool get the header of the invalid block B'(N): directly from BTCNuggets, from a v2-running relay node, or from a v3-running relay node?

* In the standard version of the v3 core software, do miners get the whole parent node and verify its validity?

* Could there be an off-by-one bug in the v3 core software, that would have resulted in F2Pool verifying B'(N) with pre-BIP66 rules instead of BIP66 rules?  (Note that a v3-valid node *can* have a v3-invalid parent, if the parent was mined before BIP66 went into effect.)

* If F2Pool knew that BIP66 had kicked in, and got B'(N) from a v2-running miner or node: why was it still accepting transactions, blocks, and block headers from v2-running players, without checking whether such data was v3-valid?

* If F2Pool knew that BIP66 had kicked in, and got B'(N) from a v3-running node: which node was that, and why did it forward the v3-invalid node B'(N) to F2Pool?

* If a miner receives a block B(M), how many blocks B(M), B(M-1), B(M-2) etc. should it validate on its own before daring to mine B(M+1) on top of it?

* Suppose that a miner receives block B(M) and starts validating it, while in parallel mining a new block B(M+1) on top of it; and happens to solve B(M+1) before the validation of B(M) is complete.  Should it broadcast B(M+1), or wait until the verification of B(M) is complete?

The devs and others have been quick to blame F2Pool, and even AntPool, for the incident.  But, depending on the answers to the above questions, other players may be to blame too.

The devs deserve a fat slice of the blame for not programming a reasonable delay (say, 2 weeks) between the "95% majority" event and the activation of the BIP66 rule.  That delay would have given a chance for the remaining v2 miners and nodes, as well as more v2 clients, to upgrade to v3.  (Using blockchain voting to trigger protocol changes also seems a terrible idea, but that is another discussion.) EDIT: Such a delay would have also reduced the risk of a fork being triggered by off-by-one bugs and network delays.

The core devs or F2Pool's own devs may also deserve another fat slice of the blame, for the v3 software allowing v3 miners and nodes to receive blocks from v2-running miners and nodes after BIP66 was activated.

BTCNuggets deserved their slice of the blame for not upgrading to v3.

EDIT: repaced some "v3 rules" by "BIP66 rules"
636  Bitcoin / Bitcoin Discussion / Re: Blockchain split of 4 July 2015 on: July 05, 2015, 12:57:48 AM
As far as I understand, the incident had some consequences:

* several miners lost the rewards that they mined (at least 6 blocks, maybe more).
* there was a signficant risk of double-spends, since many ciients were watching the bad chain.
* at least one transaction (the one that triggered the fork) was undone after >6 confirms.
* a warning was broadcast telling everybody to wait for 30 confirmations (5 hours).

The incident was not as bad as it could have been because Greg Maxwell and other ore devs were carefully watching the blockchain as the BIP66  triggered the switch from version v2 to version v3 of the protocol, and they immediately spotted the fork.  They soon contacted the mining pools that were mining on the wrong chain.

The fork was started by miner BTCNuggets, that was still running v2 and issued a block N with a transaction that was invalid under version v3.  Miner F2Pool, that was already running v3, saw that block and successfully mined another block N+1 on top of it, not realizing that N was invalid.  Other v3 miners like AntPool added N+2, N+3, etc. on top of F2Pool's block N+1.  Meanwhile some v3 miners did not see the block N issued by BTCNuggets, or noticed that it was invalid under v3 rules and rejected it; so they created their own block N and kept mining that branch.  Until the miners were alerted, the bad branch was longer, so it was accepted by all v2 clients and maybe by v3 clients that did not check all blocks.

Blame is being thrown at the miners, especially F2Pool for mining block N+1 on top of a block N that was produced by a v2 miner, without checking the validity of that block.  The blame may be partly deserved if F2Pool got the block directly from BRCNuggets or from any intermediate relay node still running v2.

However, methinks that the blame should fall on the developers.  After the BIP66 change went into effect, every v3 player (client, node, or miner) should have dropped all links to other v2 players.  Letting v2 and v3 players communicate was begging for this accident to happen.

If F2pool got that block through an intermediate v3 node, the blame should fall on that node.

Miners should not be required to validate the blocks that they receive.  It is their right to decide whether to validate them, or to trust that the sender did so.  Note that the miner that started mining block N+3 on top of N+2 would have had to check also blocks N+1 and N to discover that N+2 was invalid.

Was the incident serious? Suppose that a trash basket caught fire in a gunpowder factory, but it was quickly put out.  was that incident serious?
637  Economy / Speculation / Re: Wall Observer BTC/USD - Bitcoin price movement tracking & discussion on: July 04, 2015, 12:33:37 PM
Right. If bitcoin can survive the scorn and ridicule of a Brazilian professor, it can survive this little kerfuffle.

I don't know about bitcoin itself, but the bitcoiners' faith in it can survive anything.  Cheesy

Quote
This will just be used as ammo in the argument against larger blocks (rightly so, imo)

Indeed, it has already been used...

However the problem is not the block size per se, but miners skipping the validation of the previous block in order to save a few milliseconds. It is roughly the same reasoning that results in empty blocks being mined while the queues are full.  Bigger blocks will make these "optimizations" more tempting, but they are tempting enough even with 1 MB blocks. 

Ideally, the protocol should force the miners to validate the previous block(s), and take as many transactions from the queues as possible.  Then the block size would not matter, for this issue at least.
638  Bitcoin / Bitcoin Discussion / Re: WARNING: blockchain split on: July 04, 2015, 10:59:23 AM
Did anybody else notice that (at the time of writing this) the 3 biggest pools have exactly 51% of the total hashrate between them?
I do not think it is relevant. Just an observation.

The top 4-5 Chinese pools have a lot more than 50%.
639  Bitcoin / Bitcoin Discussion / Re: WARNING: blockchain split on: July 04, 2015, 10:58:17 AM
I love how the problem was essentially fixed by the time I found this thread. The tech community is so efficient

It was solved promptly because Greg Maxwell (@nullc) and perhaps other devs were awake and carefully watching the blockchain for the BIP66 activation.  They spotted the problem right away and promptly warned the SPV miners.  

Had the devs been sleeping or busy at the time, the accident would have been nastier.
640  Economy / Speculation / Re: Wall Observer BTC/USD - Bitcoin price movement tracking & discussion on: July 04, 2015, 10:18:27 AM
Not to ruin the plot... but it's over already. The panic was less than impressive.

Of course.  It was just an accident, some core devs were awake watching anxiously the onset of BIP66, the two pools involved cooperated promptly, etc..  

That was not an attack: someone just sneezed. See, the building stopped shaking already.
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 [32] 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 ... 362 »
Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!