Etlase2
|
|
April 15, 2013, 03:47:21 AM |
|
I'm ignoring the timestamps in the blockchain, as I said. No, you're making up reasons for why they are not reliable because they do not facilitate your argument. I dunno who you're arguing with there, I have a tendency to be facetious in the face of excessively poor arguments. Sergio's claim that he had some multiple of the hashpower required for diff 1 and but mystically the network stayed at diff 1 because??? That was not Sergio's claim, his claim was that Satoshi mined the majority of the bitcoins from blocks 1 to 36k. He did make a big mistake in misunderstanding the difficulty though. It does not, however, discredit some of the other arguments made that I've been making since 2011. Sure, even if it was 100 machines worth that would have been true regardless— even if it took a sold 100 machines to get there.. And?
And you've spent a lot of time arguing that CPUs were so unbelievably slow "back in the day", even using anecdotal arguments that are likely unprovable to lend weight to your claims. But we know this propaganda works well, don't we? your awful post4 posts later Dude, you just dont get it.. look at the times.. blocks where slow back then.. I think I read somewhere that it took satashi a couple of days to get the first block!!!
|
|
|
|
gmaxwell
Staff
Legendary
Offline
Activity: 4284
Merit: 8808
|
|
April 15, 2013, 03:56:43 AM Last edit: April 15, 2013, 04:14:08 AM by gmaxwell |
|
Gmaxwell and DeathAndTaxes have many BTC. They are here from long ago. [...] So I understand why Gmaxwell and DeathAndTaxes and now zemario responded so emotionally to this thread.
I can't speak for DeathAndTaxes, but it's not true for me. In fact, I don't currently own a single coin that was created prior to the date you registered on the forum (June 16, 2011) what little I'd mined before then and hadn't lost I've long since sold. In general I'm unimpressed by your ad hominem, but I suppose I must reply to it before it gets repeated as fact in some future thread. I responded here because your posts don't make sense and because they don't fit the history as I and many others experienced it. Not because I don't want people to think Satoshi made a pretty penny— I sure hope he did: Bitcoin is a beautiful invention. But since I have not a single BTC, nor any other virtual coin, I have nothing to loose, nor anything to win. Everything I do here, I do it because I like to. Not because of money, not to become rich. You certainly don't shy away from promoting your name or your company, or shy from making sweeping claims that might get you press... Even in this thread— I don't see a quest for knowledge. You didn't ask a question, you didn't seek people's experiences. You made a bunch of easily falsifiable assumptions (which you didn't bother to try to falsify) in order to justify a headline grabbing assertion. I could speculate about your motivations, but I don't need to— your conclusions here are incorrect no matter what motivated you to draw them.
|
|
|
|
gmaxwell
Staff
Legendary
Offline
Activity: 4284
Merit: 8808
|
|
April 15, 2013, 04:00:22 AM |
|
No, you're making up reasons for why they are not reliable because they do not facilitate your argument.
I am? Can you cite one of those reasons? As far as I can tell I simply asserted it— it's obvious enough. We can't tell if the timestamps are reliable or not. That's part of the purpose of having the headline in the genesis block. For all any of us know someone forked and replaced the first 50 blocks, or any of a zillion other things. Who knows. You've totally missed the point, but I can't figure out why. We don't know who created blocks past the first one or two. I suggested ignoring them because it gets us squarely in the realm of what we know for sure... But don't— if you like. if it suits your particular obsessions. There weren't any conclusions being drawn from it. And you've spent a lot of time arguing that CPUs were so unbelievably slow "back in the day", even using anecdotal arguments that are likely unprovable to lend weight to your claims. And they were, compared to current software on current hardware Sergio spent a lot of time here arguing about numbers like 7.5MH/s on a single desktop. It's _laughable_.
|
|
|
|
Etlase2
|
|
April 15, 2013, 04:48:56 AM |
|
We can't tell if the timestamps are reliable or not. Over what range would you feel comfortable assessing the hashing power of the network? 100 blocks? 1,000? From blocks 1-1,000, there was a duration of 10 days, 3 hours, 40 minutes, and 18 seconds. 14,620 minutes. That's 14.62 minutes per block, or an equivalent of 4-5Mh/s. You know what, forget it. Sergio derailed this thread from the start with the sensationalist headline and a poorly spoken OP. The pseudonymity of bitcoin allows you guys to counter virtually everything in regards to how much limited cryptocurrency is in the hands of a very small group of people and encourage everyone to rush headlong into this wonderful new system. And they were, compared to current software on current hardware Sergio spent a lot of time here arguing about numbers like 7.5MH/s on a single desktop. It's _laughable_.
Again with the sleight of words. He did not ever argue 7.5Mh/s on a single desktop. It is not unfathomable for the person or group that is satoshi to have multiple and likely high-end machines. Plus it would make sense to have several locations operating for better network boostrapping. This is common sense. If bitcoin was mined at a rate of approximately 4 contemporary PCs, occam's razor would suggest that satoshi was running it mostly by himself, unless you want to argue that the creator may just well have abandoned mining. The distinction here is you are trying encourage the thinking of perhaps 40-50 PCs mining, oh so decentralized, when the reality was more likely 4-5 PCs. Hard to prove though! Especially with your 47kh/s anecdote.
|
|
|
|
mrb
Legendary
Offline
Activity: 1512
Merit: 1028
|
|
April 15, 2013, 05:06:55 AM Last edit: April 15, 2013, 06:15:31 AM by mrb |
|
And they were, compared to current software on current hardware Sergio spent a lot of time here arguing about numbers like 7.5MH/s on a single desktop. It's _laughable_.
Time to end this debate with cold hard facts. I just benchmarked bitcoin 0.3.24 (where the CPU mining code is identical to bitcoin 0.1.0, as both are based on crypto++), and a measly entry-level 2-core 2.5 GHz Athlon X2 4850 (released in March 2008) can reach 2.40 Mhash/s. Therefore a 4-core 2.4 GHz Phenom X4 9750 (released in March 2008, about $200, way less than many other much more expensive desktop processors which went up to $1000) can do almost 5.0 Mhash/s (it scales linearly with the number of cores). Finally, the overall hashrate of the network throughout 2009 was 5 Mhash/s, so it is not unreasonable that a single PC with a quad-core CPU such as the Phenom X4 9750 could have accounted for the majority of the network hashrate.
|
|
|
|
Etlase2
|
|
April 15, 2013, 05:20:44 AM |
|
(where the CPU mining code is identical to bitcoin 0.1.0, as both are based on crypto++), Do you have solid proof that this is the case? That nothing was tweaked to improve the speed of CPU generation? No one should be in the habit of taking someone's word for it.
|
|
|
|
mrb
Legendary
Offline
Activity: 1512
Merit: 1028
|
|
April 15, 2013, 06:09:21 AM |
|
Do you have solid proof that this is the case? That nothing was tweaked to improve the speed of CPU generation? No one should be in the habit of taking someone's word for it.
Yes. Bitcoin 0.1.0 does the double hash here: loop { BlockSHA256(&tmp.block, nBlocks0, &tmp.hash1); BlockSHA256(&tmp.hash1, nBlocks1, &hash); if (hash <= hashTarget)
And BlockSHA256 converts to the correct endianness, and calls the crypto++ routine CryptoPP::SHA256::Transform. As to Bitcoin 0.3.24 the double hash is: for (;;) { // Crypto++ SHA-256 // Hash pdata using pmidstate as the starting state into // preformatted buffer phash1, then hash phash1 into phash nNonce++; SHA256Transform(phash1, pdata, pmidstate); SHA256Transform(phash, phash1, pSHA256InitState);
// Return the nonce if the hash has at least some zero bits, // caller will check if it has enough to reach the target if (((unsigned short*)phash)[14] == 0) return nNonce;
And SHA256Transform merely calls memcpy to init the state, and calls the same crypto++ routine: CryptoPP::SHA256::Transform. Because it is the same, I do not expect any significant performance difference between 0.1.0 and 0.3.24. I have a mirror of the 0.1.0 code if you want to try compiling it: http://www.zorinaq.com/pub/
|
|
|
|
AlphaWolf
Full Member
Offline
Activity: 217
Merit: 120
Presale is live!
|
|
April 15, 2013, 06:16:12 AM |
|
gmaxwell, a respected and very highly knowledgeable member of the bitcoin community, just made the argument for Satoshi's initial hashing power being in the order of 14kh/s because of the length of time between blocks 0 and 1. As if he created the genesis block
I was actually taking Sergio's dopey argument and substituting in the data we actually had, I never said it was a good argument. I also said _lower bound_, which you deceptively omitted in your repetition there. I also gave a much higher number which was my measurement with contemporary hardware in software, which you've helpfully omitted. Why does gmaxwell says such an erroneous fact about hashing rate in 2009 ? Maybe he had a Commodore 64 back in 2009. See http://www.cryptopp.com/benchmarks.html. At the bottom of the page says it was last edited on 2009. The CPU is a Intel Core 2 1.83 GHz. The performance is 3.4 MHash/sec (111 MiB/sec) So who's making FUD ? Because I actually tested the openssl code in the reference software on a PIII that I had been using at the time and got somewhere around ~47KH/s. I'd offer to run it again but I've since moved across the country and no longer have any old computers. But heck, you won't even try the actual software— you keep _miscalculating_ (SHA256 processes 512 bytes at a time, 111 MiB/sec ~= 113KH/s of SHA256^2) based on unrelated software (and even then, it doesn't sound too inconsistent with my figures)! What the heck! Are you allergic to actually using a computer? I'll ask again since it went ignored: I'm with you that the OP is off on his assessment... but in what way was a P3 "contemporary" to any period of Bitcoin's history? I have a stock 3.2 GHz P4 purchased from Dell in 2005. Prescott core, so a "later" model P4. It can do > 1000KH/s, and it was already obsolete by the time Bitcoin came around four years later. Hell, the Core 2 Quad Q9550 came out in Q1 of 2008, and it easily gets well over 10 MH/s. I'll grant you that the old client was poorly optimized, etc... But P3's were long obsolete even by 2009 standards, so it's rather misleading to claim those results as "contemporary".
To expound upon that... the last PIII was made in 2003. P4's started shipping in November 2000, and were beginning to be replaced by Pentium D's in 2005, of which the last was shipped in August 2008. The "Core 2" family started shipping in 2006, and the first Core i7 shipped in November 2008. So I ask again... in what way was your 4x obsolete PIII in any way "contemporary" to any period of Bitcoin's history? "I used it" doesn't count. I still use my 8 year old P4 as bitcoind node (which is how I could test its hashrate)... but I don't think anyone would argue it is "contemporary".
|
|
|
|
deepceleron
Legendary
Offline
Activity: 1512
Merit: 1036
|
|
April 15, 2013, 06:31:36 AM |
|
I do not expect any significant performance difference between 0.1.0 and 0.3.24. I have a mirror of the 0.1.0 code if you want to try compiling it: http://www.zorinaq.com/pub/Please don't expect. Run bitcoin-0.1.0 on a private network. You don't need to compile it, run bitcoin.exe. You need two bitcoin machines with different IP addresses, and an IRC server that pretends to be freenode. See how much of your quad core it uses. See how long it takes to mine 10 blocks. It won't prove or debunk any argument, because the argument itself is ludicrous, but then you will know. While we are posting code, net.cpp: //// todo: start one thread per processor, use getenv("NUMBER_OF_PROCESSORS") void ThreadBitcoinMiner(void* parg) { vfThreadRunning[3] = true; CheckForShutdown(3); try { bool fRet = BitcoinMiner();
|
|
|
|
Point at Infinity
Newbie
Offline
Activity: 7
Merit: 0
|
|
April 15, 2013, 07:27:01 AM |
|
I would also not assume that the timestamps on the pre-public blocks are accurate— all we really know for sure was that there were at least two blocks created between 03/Jan/2009 and 11/Jan/2009. Rounding that down to 7 days suggests a lower bound hashrate of 14 KH/s. Even if Satoshi had more computing power he might have simply been borrowing it for testing.
The debug.log posted by Hal on the sourceforge list on 10/Jan lists blocks up to 49. There's posts by two more people in January.
|
|
|
|
mrb
Legendary
Offline
Activity: 1512
Merit: 1028
|
|
April 15, 2013, 07:33:21 AM |
|
deepceleron: are you saying bitcoin 0.1.0 launched 1 miner thread per socket instead of 1 per core? If that is the case, for all we know, Satoshi may have been running, say, 4 instances of bitcoin on a quad-core machine. Or maybe he was running 4 Bitcoin VMs. These multiple instances must have been needed by him anyway, if only to test the network code.
The bottom line is that I showed a single $200 processor released in 2008 was able to account for 5 Mhash/s with the crypto++ code used back then. So if there were other users, either they were mining with extremely weak processors (10-year-old Pentium III), or they were not mining 24/7.
|
|
|
|
|
Etlase2
|
|
April 15, 2013, 08:11:44 AM |
|
Also this graph http://bitcoin.sipa.be/speed-ever.png shows wild fluctuations of the hashrate in 2009. Seems unlikely it was only one person mining. From the steps it almost looks like you could see single computers going offline / online. I'm not sure how you conclude that it was unlikely that only one person was mining. There are two dips that look as if Satoshi's power was cut off due to the massive amount of electricity he used mining. Or perhaps he contemplated the failure of his plot for world domination and had two periods of despondency. Before the teeth sink in--I am joking.
|
|
|
|
hobbes
|
|
April 15, 2013, 08:15:24 AM |
|
Also this graph http://bitcoin.sipa.be/speed-ever.png shows wild fluctuations of the hashrate in 2009. Seems unlikely it was only one person mining. From the steps it almost looks like you could see single computers going offline / online. I'm not sure how you conclude that it was unlikely that only one person was mining. There are two dips that look as if Satoshi's power was cut off due to the massive amount of electricity he used mining. Or perhaps he contemplated the failure of his plot for world domination and had two periods of despondency. Before the teeth sink in--I am joking. It is a logarithmic scale. I see at least five different hash rate levels. Maybe somebody can plot the 2009 hashrate estimate / block times as a linear diagram.
|
|
|
|
Etlase2
|
|
April 15, 2013, 08:32:03 AM |
|
It is a logarithmic scale. I see at least five different hash rate levels. Maybe somebody can plot the 2009 hashrate estimate / block times as a linear diagram.
:shrug: The dips would require more investigation, but I see that about 90% of those coins were mined within a hashrate factor of 2-3. The first chunk appears to be mined at around 5-6Mh/s, then the rest is 2-3Mh/s, save the dips. Additionally, variance is a b*tch sometimes.
|
|
|
|
Sergio_Demian_Lerner (OP)
|
|
April 15, 2013, 11:38:25 AM |
|
I've changed my mind. Well, a bit.
I try to skip "proofs" relating to comments, remembrances, e-mails, stories, private conversations, chats, etc.
I only speak the language of the block chain.
The ExtraNonces fields are incraesing too slowly to be one computer.
The deltas of the ExtraNonces fields in the first 10 blocks tell me that each block was approximately 4 ExtraNonces apart from the predecessor (ExtraNonce starts with one) .
One possibility it that there were 16 independent threads running on 16 cores.
If the average block time is 8 minutes, a single thread would have required 8*16 = 128 minutes to do 32 zero bits. 32-5-7= 20 bits. --> 1 Mhashs/sec
So there were probably eight Intel CORE 2 duos, running two thread each.
All started at almost exactly at the same time (I would say no more than 16 minutes apart).
PS: Regarding my computations on Crypto++ performance, I was taking into account that the webpage says only one core was used, and Bitcoin could use two cores simultaneously. But obviously I was mistaken by a factor of 2X because of the double-hash thing.
|
|
|
|
johnyj
Legendary
Offline
Activity: 1988
Merit: 1012
Beyond Imagination
|
|
April 15, 2013, 12:42:15 PM |
|
I just looked at the first 20 blocks, none of them has the same generation address, is it always generate a new address for each found block?
And as I understand, in early days of bitcoin client, there is no pre-generated addresses in wallet, how the coin generation payment is done at that time?
|
|
|
|
Sergio_Demian_Lerner (OP)
|
|
April 15, 2013, 01:33:51 PM |
|
The relation between 6 minutes and 6 days is 11 bits. The relation between 32 zero bits and 43 zeros bits is 11 bits.
So blocks 1-10 match EXACTLY the same hashing power as the genesis block.
The genesis block has a 4 ExtraNonce value, approximately equal to the blocks 1-10 ExtraNonce deltas.
So THE SAME mining computers that mined the genesis block probably mined blocks 1-10.
People tend to explain PoW in the genesis block as "just luck".
I don't believe in luck. I can't believe in luck, since I have some cryptography background.
The whole mystery of ExtraNonces mismatches is solved.
Obviously the 16 threads/core configuration is not the only possible one, there may have been more PCs, each one slower. I'm sure that in the ExtraNonce fields there is enough statistical information to tell how many. Too many (>50) is not very probable, since they ought to be connected and started mining in a short time interval (2 minutes or so).
|
|
|
|
deepceleron
Legendary
Offline
Activity: 1512
Merit: 1036
|
|
April 15, 2013, 04:20:09 PM Last edit: April 15, 2013, 04:42:38 PM by deepceleron |
|
The relation between 6 minutes and 6 days is 11 bits. The relation between 32 zero bits and 43 zeros bits is 11 bits. So blocks 1-10 match EXACTLY the same hashing power as the genesis block. People tend to explain PoW in the genesis block as "just luck". I don't believe in luck. I can't believe in luck, since I have some cryptography background.
This is nonsense. It takes no extra time to randomly find a <0000000ffff hash that is equivalent to difficulty 1, 2, or 2000. Anything may come out of the hasher as the first hash you get. There is no "six days of hashing", that is just a stupid idea. The genesis block has a 4 ExtraNonce value, approximately equal to the blocks 1-10 ExtraNonce deltas. So THE SAME mining computers that mined the genesis block probably mined blocks 1-10. The whole mystery of ExtraNonces mismatches is solved.
This is nonsense, as I described before, this likely means only that 2^32 * (ExtraNonce - previousExtraNonce ) + nonce hashes were performed after genesis mining start before a block solution was created. Any computer that starts Bitcoin 0.1.0 mining increments its nonce+extranonce in the same deterministic way absent any network block or transaction messages. There is no connection between the genesis creator and the rest of the blockchain. Obviously the 16 threads/core configuration is not the only possible one, there may have been more PCs, each one slower. I'm sure that in the ExtraNonce fields there is enough statistical information to tell how many. Too many (>50) is not very probable, since they ought to be connected and started mining in a short time interval (2 minutes or so).
Lets look at how many Bitcoin clients there actually were then: When Hal posted his crash debug log (cleverly pointed out by non-noob member Point at Infinity) containing the same first 49 blocks as we have now, it showed no timewarping or forking was done. Block 49's Timestamp is 2009-01-10 18:56:42; the email list message time is 2009-01-10 19:13. Block finding rate is similar before and after this point. What it also shows is the number of Bitcoin clients listening in IRC for peers. Each Bitcoin has it's own 14 character "u" nick in the #bitcoin channel in 0.1.0 (you'll still find these in that channel from time to time). Who was in that channel? Three people were in the channel: Hal, another Bitcoin 0.1.0, and a listener. List of nicks in #bitcoin channel:IRC :lem.freenode.net 353 uCeSAaG6R9Qidrs @ #bitcoin :uCeSAaG6R9Qidrs x93428606 @u4rfwoe8g3w5Tai IRC :lem.freenode.net 366 uCeSAaG6R9Qidrs #bitcoin :End of /NAMES list. More info about those users?:(format RPL_WHOREPLY "<channel> <user> <host> <server> <nick> ( "H" / "G" > ["*"] [ ( "@" / "+" ) ] :<hopcount> <real name>")First nick to join channel (had channel ops): Bitcoin 0.1.0 user u4rfwoe8g3w5Tailem.freenode.net 352 uCeSAaG6R9Qidrs #bitcoin n=u4rfwoe8 h-68-164-57-219.lsanca54.dynamic.covad.net irc.freenode.net u4rfwoe8g3w5Tai H@ :0 u4rfwoe8g3w5TaiSecond nick to join channel: x93428606 (not bitcoin, connecting by Tor)lem.freenode.net 352 uCeSAaG6R9Qidrs #bitcoin i=x9342860 gateway/tor/x-bacc5813d7825a9a irc.freenode.net x93428606 H :0 x93428606Third nick to join channel: Hal's Bitcoin, uCeSAaG6R9Qidrslem.freenode.net 352 uCeSAaG6R9Qidrs #bitcoin n=uCeSAaG6 226-132.adsl2.netlojix.net irc.freenode.net uCeSAaG6R9Qidrs H :0 uCeSAaG6R9QidrsThere is no evidence either way that bitcoin #1 was satoshi. To receive the first bitcoin transaction, Satoshi would not even need to run Bitcoin, just giving an address would be sufficient. I am done responding to this thread, since my previous analysis is not interpreted correctly and there is no hypothesis here. Satoshi is bitrich, you aren't.
|
|
|
|
Sergio_Demian_Lerner (OP)
|
|
April 15, 2013, 07:44:48 PM |
|
This is nonsense. It takes no extra time to randomly find a <0000000ffff hash that is equivalent to difficulty 1, 2, or 2000. Anything may come out of the hasher as the first hash you get. There is no "six days of hashing", that is just a stupid idea.
I really can't understand your message. Either you cannot explain yourself or we speak different languages. Can anybody explain in plain English deepceleron sentence? Have you understood my message? I'm not taking about the hash digest itself, just the work done to find it. Obviously the hash digest has not statistical information be can feasibly extracted.
|
|
|
|
|