Bitcoin Forum
May 07, 2024, 07:15:05 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2] 3 »  All
  Print  
Author Topic: My Bitcoin-QT blockchain died.  (Read 6836 times)
soy (OP)
Legendary
*
Offline Offline

Activity: 1428
Merit: 1013



View Profile
March 20, 2017, 04:16:50 PM
 #21




If the solo miner (or pool) receives a valid solved block from a peer, then they add it to their blockchain, remove all the confirmed transactions from their memory pool and start the whole process over again from the beginning building a new list of unconfirmed transactions to confirm.



Making a list of unconfirmed transactions - are the same unconfirmed transactions transmitted to every full node?  Since different pools will pick different unconfirmed transactions for the list which they will crunch, it would seem like that would dictate all partially solved blocks be dumped lest an unconfirmed transaction will be in multiple blocks or else that's acceptable.  Or since once a block is solved then all inputs are dumped by everyone and restarted with new unconfirmed transactions.  Those unconfirmed transactions in the solved block are now considered confirmed?  Then subsequent confirmations are due to the solved block passing checks.  So, what's to prevent a pool from ignoring solved blocks except for its solution.  Wouldn't that increase their take of solved blocks?
1715066105
Hero Member
*
Offline Offline

Posts: 1715066105

View Profile Personal Message (Offline)

Ignore
1715066105
Reply with quote  #2

1715066105
Report to moderator
1715066105
Hero Member
*
Offline Offline

Posts: 1715066105

View Profile Personal Message (Offline)

Ignore
1715066105
Reply with quote  #2

1715066105
Report to moderator
The forum was founded in 2009 by Satoshi and Sirius. It replaced a SourceForge forum.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715066105
Hero Member
*
Offline Offline

Posts: 1715066105

View Profile Personal Message (Offline)

Ignore
1715066105
Reply with quote  #2

1715066105
Report to moderator
DannyHamilton
Legendary
*
Offline Offline

Activity: 3388
Merit: 4623



View Profile
March 20, 2017, 05:32:31 PM
 #22

If the solo miner (or pool) receives a valid solved block from a peer, then they add it to their blockchain, remove all the confirmed transactions from their memory pool and start the whole process over again from the beginning building a new list of unconfirmed transactions to confirm.

Making a list of unconfirmed transactions - are the same unconfirmed transactions transmitted to every full node? 

They might be, but there is no guarantee that they will be.

It doesn't matter.  The solo miner (or pool) just chooses from the list of unconfirmed transactions that they have.

Since different pools will pick different unconfirmed transactions for the list which they will crunch, it would seem like that would dictate all partially solved blocks be dumped lest an unconfirmed transaction will be in multiple blocks or else that's acceptable.

There is no such thing as a "partially solved block".  A block is either solved, or not solved.

Or since once a block is solved then all inputs are dumped by everyone and restarted with new unconfirmed transactions.

Correct.  When a miner (or pool) received a solved block, they remove all the transactions that are in that block from their list of unconfirmed transactions.  Then they build a new list, build a new block header, and start the process of trying all the nonce values again.

Those unconfirmed transactions in the solved block are now considered solved?

The block is solved.  The transactions are confirmed.

Then subsequent confirmations are due to the solved block passing checks.

No.  subsequent "confirmations" just means that additional blocks have been added to the blockchain on top of the block that first confirmed the transaction.  Each new block added to the blockchain is called a "confirmation" for ALL transactions that are already in the blockchain.

Since the blockchain is currently 458142 blocks long, this means that the very first transaction that paid Satoshi Nakamoto the block reward from the very first block now has 458142 "confirmations".

So, what's to prevent a pool from ignoring solved blocks except for its solution.  Wouldn't that increase their take of solved blocks?

Each block references the block before it with a hash of that block (see my list of what's in the header).  That's what turns a collection of blocks into an actual blockCHAIN.  All nodes and all other miners will use the longest chain (technically they use the chain with the most proof-of-work, but effectively that typically means the chain with the most solved blocks). If they receive more than one chain of the same length, then they use the first one that they receive.

Lets imagine that you have a blockchain that is 3 blocks long:
Block_A -> Block_B -> Block_C

All the miners and pools (including you) are building a Block_D that has in the header a "Double sha256 hash of Block_C".

Now lets say you receive a Block_D from your peers (lets call it Block_D1 so we don't get confused later).  All the other miners and nodes on the network have now added Block_D1 to their blockchain.
Block_A -> Block_B -> Block_C -> Block_D1

The entire network is now working on Block_E

Meanwhile, you choose to ignore it and continue to work on your own Block_D (lets call it Block_D2 so we don't get confused later).

Now lets say you get very lucky and solve Block_D2 before anybody else on the entire network solves Block_E.

Now there are two competing blockchains:
Block_A -> Block_B -> Block_C -> Block_D1
Block_A -> Block_B -> Block_C -> Block_D2

The whole network is all building Block_E using the hash of Block_D1
You (and maybe a few miners that had network issues and failed to hear about Block_D1 are building your own Block_E using the hash of Block_D2

Since the entire rest of the global network has MUCH more hash power than you and your few peers, AND they have been working on their Block_E longer than you, there is a very good chance that they are going to solve a Block_E that uses the hash of Block_D1 long before you are going to solve a Block_E that uses the hash of Block_D2.  This means you will now have to ignore BOTH the Block_D AND the Block_E that the rest of the network is using. None of the network will ever accept your Block_E since they will already have a Block_E from their peers.  This will continue so long as you continue to ignore all the block that the rest of the network is using.

In other words, you will have created a FORK of the bitcoin blockchain that ONLY you know about, and that ONLY you are using.  Any bitcoins created in your fork will not be recognized as valid in the fork that everybody else is using.  Sure, you'll have lots of soyBitcoins, but nobody accepts soyBitcoins and they don't have any value.  You've wasted a lot of money on mining equipment and electricity to create a fork that nobody else wants to use.  That's going to get very expensive, and is a pretty big waste of money with no purpose.  If you had instead started working on Block_E when everyone else did then you might have solved that block first and received actual bitcoins on the blockchain that everybody uses. This would have been a much better use of your time and money.

Which would you prefer, spend a lot of money mining a bunch of worthless forked chain coins that nobody will see as valid and will be unspendable on the real blockchain, or spend that money mining actual bitcoins on the actual blockchain that you can spend and use and have actual value.

Now, there is an exception to this scenario.  If you control more hash power than the entire rest of the world combined, then you will be able to add blocks to your chain faster than the world can add blocks to their chain.  In this case, your chain will always be longer and the entire world will use your chain.  You will get ALL of the block rewards, and have exclusive control over which transactions get confirmed. This is commonly called a 51% attack (since the rest of the world controls 49% or less of the hash power and you control 51% or more.  Its a VERY expensive attack to acquire that much hash power, and then you risk everyone abandoning the bitcoin concept entirely, so you may spend a LOT of money and still not profit from it.
soy (OP)
Legendary
*
Offline Offline

Activity: 1428
Merit: 1013



View Profile
March 20, 2017, 05:46:17 PM
 #23

You had me at each additional block adds a confirmation to those before.  No additional work being done on transactions in that block.  This was the first I encountered that explanation.  Thanks DannyHamilton.
soy (OP)
Legendary
*
Offline Offline

Activity: 1428
Merit: 1013



View Profile
March 25, 2017, 03:42:20 PM
 #24

Well, the blockchain got as far as February 2017 while reindexing, a little over a month to go.  Then, apparently, there was an unexpected termination last night.  I've restarted, again, reindexing the blockchain from 4+ years.  Second or third time this year.

I suspect one not only needs a fully dedicated system but also have that fully dedicated system on an uninterruptible power supply.  If it wasn't a hickup in power then somebody got in a did me dirty interrupting the process without proper shutdown.  I had carefully shut down the process earlier in the week for a Windows update and changed the reboot for updates to no.

I bet this kind of malfunction causes quite a few early users, like those who earned bitcoins with USB single ASCI devices and put them in Bitcoin-QT wallets, then lost their blockchains but figured they could just rebuild at some later date, to later get frustrated and abandon them. 

Who benefits from lost bitcoins?  They add a false stability to a small degree I suppose.  Might be problematic for regulators (the taxman) if considered more than dust.

soy
Jet Cash
Legendary
*
Offline Offline

Activity: 2702
Merit: 2456


https://JetCash.com


View Profile WWW
March 25, 2017, 04:59:30 PM
 #25



Correct.  When a miner (or pool) received a solved block, they remove all the transactions that are in that block from their list of unconfirmed transactions.  Then they build a new list, build a new block header, and start the process of trying all the nonce values again.


and the block they had been trying to solve is aborted. How many blocks are aborted in the average day compared with the number of orphaned blocks?

Offgrid campers allow you to enjoy life and preserve your health and wealth.
Save old Cars - my project to save old cars from scrapage schemes, and to reduce the sale of new cars.
My new Bitcoin transfer address is - bc1q9gtz8e40en6glgxwk4eujuau2fk5wxrprs6fys
soy (OP)
Legendary
*
Offline Offline

Activity: 1428
Merit: 1013



View Profile
March 25, 2017, 07:26:19 PM
 #26

So, my Bitcoin-QT started again, I look some hours later and although last I looked it was down to 3 years, it was back to processing blocks on disk 4 years 25 weeks.

I understand pruning is now possible.  Is it possible to prune before the entire blockchain is downloaded?  I'm surprised some developers of this pos haven't been taken behind the stores and stomped.
soy (OP)
Legendary
*
Offline Offline

Activity: 1428
Merit: 1013



View Profile
March 25, 2017, 09:14:03 PM
 #27

Anyway to set this Bitcoin-QT to nothing in nothing out until at least it's up to its last previous state, around Feb. of this year?  It feels like I'm getting exploited to hell with gigabytes out and unnecessary repeats of 4 years worth of blocks to check.

One thing is for sure.  This Bitcoin-QT is about as far from eco-friendly as it can get.  Wasted energy.  btc=$946 and falling.
wmabern
Hero Member
*****
Offline Offline

Activity: 658
Merit: 500


Visualize whirledps


View Profile
March 26, 2017, 12:13:26 AM
 #28

So, my Bitcoin-QT started again, I look some hours later and although last I looked it was down to 3 years, it was back to processing blocks on disk 4 years 25 weeks.

I understand pruning is now possible.  Is it possible to prune before the entire blockchain is downloaded?  I'm surprised some developers of this pos haven't been taken behind the stores and stomped.

No, not as far as I know (which isn't too far! LOL)
You must download the entire blockchain before you are able to prune it.

I've been running Core and wallet 13.0 / QT 5.6.1 on an HP laptop with two 1 terabyte disks and 16GB RAM for many months. It is all fed from my network which includes other laptops, all television, and four S9 miners, three S7 miners over GB modem/router/switches. My download speed from cable provider is 60MG/s. Not sure of upload. But I usually always have at least 20-30 peer connections.

I've had no problems after the initial download except once when the db became corrupted for some reason - probably Windows update. (Running Win10, which I have grown to dislike very much!)
The blockchain repaired itself in about a day and a half.

As mentioned before, whatever browser you are using has absolutely no effect on the Core/QT application, its installation and syncing up with the complete block chain.

If you are still having problems, stop all other tasks or application on the PC in question and don't surf the web while downloading the blockchain.

Not sure if I'm replying to the right person as I have a slight buzz from watching NCCAA Basketball all day long. (My Gamecocks are still in it!)  Grin

Best of luck with getting your Core up and running!!!  Smiley

BITMIXER.IO Gone Baby, Gone.. ;-)
Not any good sig campaigns out there that I want!
wmabern
Hero Member
*****
Offline Offline

Activity: 658
Merit: 500


Visualize whirledps


View Profile
March 26, 2017, 12:19:53 AM
 #29

How does Bitcoin Core fail? What do you do that causes it to fail?

I upgraded to 64-bit firefox and the BSOD that resulted caused an immediate shutdown of Bitcoin-QT.


But more full nodes would be better or not?  Do installations of Bitcoin-QT contribute to the confirmation process or not?

More full nodes are better, but they do not contribute to the creation of blocks (aka confirmations). More full nodes will not help confirmations be faster.

Unless the full node is solo mining I suppose but I'm not sure if Bitcoin-QT even does that anymore and the rarity of solo mining finding a block makes its effect negligible? 

So, Bitcoin-QT checks each block of the blockchain but doesn't discover new blocks unless mining and therefore doesn't contribute to block confirmation rate.

Reward only goes to the discover of the block or the pool.  I discovered a block for Slush soon after getting a KNC miner early on, the block worth $5k.

Would it be possible to program devices to only run confirmation on new blocks for a cut of the reward? 



No, the full Core node doesn't have the capability of mining anymore. Not sure of what version that was taken out. It was before my time in Running a Core full node.
Best wishes! Smiley

BITMIXER.IO Gone Baby, Gone.. ;-)
Not any good sig campaigns out there that I want!
DannyHamilton
Legendary
*
Offline Offline

Activity: 3388
Merit: 4623



View Profile
March 26, 2017, 12:50:38 AM
Last edit: March 26, 2017, 01:09:42 AM by DannyHamilton
 #30

Well, the blockchain got as far as February 2017 while reindexing, a little over a month to go.  Then, apparently, there was an unexpected termination last night.  I've restarted, again, reindexing the blockchain from 4+ years.  Second or third time this year.

I suspect one not only needs a fully dedicated system but also have that fully dedicated system on an uninterruptible power supply.  If it wasn't a hickup in power then somebody got in a did me dirty interrupting the process without proper shutdown.  I had carefully shut down the process earlier in the week for a Windows update and changed the reboot for updates to no.

I bet this kind of malfunction causes quite a few early users, like those who earned bitcoins with USB single ASCI devices and put them in Bitcoin-QT wallets, then lost their blockchains but figured they could just rebuild at some later date, to later get frustrated and abandon them.  

I haven't experienced the difficulties you describe, even with unexpected and uncontrolled shutdowns. Perhaps you should consider shutting down and creating a backup of the blockchain regularly. That way if you have a crash again you can restore and not have to start from the beginning again.

Who benefits from lost bitcoins?

Everyone that doesn't lose their bitcoins.  The exchange rate between bitcoins and anything you may want to exchange them for depends on the supply of those bitcoins and the demand for them.  If bitcoins are permanently lost, then the supply shrinks. This drives the exchange rate up at any given demand to maintain balance.

and the block they had been trying to solve is aborted. How many blocks are aborted in the average day compared with the number of orphaned blocks?

More likely than not, the block they were working on was unsolvable.  Most blocks that most miners are working on are.

Another way to look at it is that EVERY hash is effectively a brand new block. Therefore there are 0 blocks ever "aborted" (aside from computer crashes that prevent the completion of computing a single hash).

I understand pruning is now possible.  Is it possible to prune before the entire blockchain is downloaded?

Yes.

I'm surprised some developers of this pos haven't been taken behind the stores and stomped.

It's open source.  There's nothing preventing you (or anyone you hire) from doing a better job if you don't like the job the current participants are doing. The software is free.  You've gotten more than you paid for.  If you've chosen to exchange cash for bitcoins, then can I suggest caveat emptor.

No, not as far as I know (which isn't too far! LOL)
You must download the entire blockchain before you are able to prune it.

This is not true.  Pruning occurs as the blockchain downloads.
wmabern
Hero Member
*****
Offline Offline

Activity: 658
Merit: 500


Visualize whirledps


View Profile
March 26, 2017, 01:09:48 AM
 #31

No, not as far as I know (which isn't too far! LOL)
You must download the entire blockchain before you are able to prune it.
This is not true.  Pruning occurs as the blockchain downloads.
[/quote]

Thanks for clarification. As I said, I didn't know too far!
I have always had the full blockchain and never have pruned it or needed to. So I was assuming that you must have the entire blockchain available before you are able to prune it.
I stand corrected. (Which is quite often! Smiley )

BITMIXER.IO Gone Baby, Gone.. ;-)
Not any good sig campaigns out there that I want!
soy (OP)
Legendary
*
Offline Offline

Activity: 1428
Merit: 1013



View Profile
March 26, 2017, 03:21:52 PM
 #32

Okay, thanks.  I had been having problems with Google Calendar opening by Task Scheduler in the mornings.  Yesterday I unscheduled it.  Should have had an easier time but when I got on this AM there was the BSOD.  Perhaps because I failed to close Google News last night.  Restarted today and thankfully it went back to processing at 2 years 4 weeks behind.

So, it is possible to prune before the chain finishing?  I'll give it a try.  Thanks.
soy (OP)
Legendary
*
Offline Offline

Activity: 1428
Merit: 1013



View Profile
March 26, 2017, 03:32:45 PM
 #33

To be honest I'm skeptical.  So prune=550 will only keep about 2 days of the blockchain on he drive.  At 2 years 4 weeks behind I suspect all this does is chop off work that has been completed while new stuff is added to the other end.  No difference in the time it should take to get a functioning wallet.
wmabern
Hero Member
*****
Offline Offline

Activity: 658
Merit: 500


Visualize whirledps


View Profile
March 26, 2017, 03:47:13 PM
 #34

To be honest I'm skeptical.  So prune=550 will only keep about 2 days of the blockchain on he drive.  At 2 years 4 weeks behind I suspect all this does is chop off work that has been completed while new stuff is added to the other end.  No difference in the time it should take to get a functioning wallet.

That's what I was thinking, that you have to download the data in order to get to the last 550MB. Else how would it know that it is only going to keep approximately the last 2 days worth of the blockchain. It may discard all the data up until the last few days, but it still - in my thinking - has to go through the previous data.

From my understanding, a pruned node is not considered a full node and is unable to serve up historical blocks to other nodes. "Keeping all blocks is a service to the network, as you'll be able to provide all blocks for synchronizing nodes or requests of thin clients."

However it works and whether it will take just as long to get it downloaded and pruned or not, good luck with it. Smiley

BITMIXER.IO Gone Baby, Gone.. ;-)
Not any good sig campaigns out there that I want!
soy (OP)
Legendary
*
Offline Offline

Activity: 1428
Merit: 1013



View Profile
March 26, 2017, 03:53:00 PM
 #35

I agree.  And since drive space isn't an issue, 2TB drive, next time it shuts down I'll restart without the -prune.  The prune switch seems to make no difference in network traffic judging by a glance at the debug network traffic.
wmabern
Hero Member
*****
Offline Offline

Activity: 658
Merit: 500


Visualize whirledps


View Profile
March 26, 2017, 03:57:14 PM
 #36

I agree.  And since drive space isn't an issue, 2TB drive, next time it shuts down I'll restart without the -prune.  The prune switch seems to make no difference in network traffic judging by a glance at the debug network traffic.

If there was a way and I knew how to do it, I'd let you sync off my blockchain. I usually always have 20-30 peers syncing, giving to and taking from my blockchain. I have no issues with network traffic.

BITMIXER.IO Gone Baby, Gone.. ;-)
Not any good sig campaigns out there that I want!
wmabern
Hero Member
*****
Offline Offline

Activity: 658
Merit: 500


Visualize whirledps


View Profile
March 26, 2017, 04:56:13 PM
 #37

Hey, just thought of something. Sometimes malicious users will insert viruses or malware in the blockchain. Perhaps you are getting some of that crap and your anti-virus is flagging it and causing the Core node to stop syncing.
Not sure how Core or AV applications handle that.

I do recall I had to allow an exception for QT through my firewall port. But I have other apps that will prevent any malicious code from running. Anyway, from what I understand, malicious code in the blockchain can't infect your machine.

Just an idea.  Cool

Also, if you haven't already done so, I would suggest reading this page https://bitcoin.org/en/full-node# and see if  there is anything that you are overlooking or answers to possible problems.
Good luck!

BITMIXER.IO Gone Baby, Gone.. ;-)
Not any good sig campaigns out there that I want!
DannyHamilton
Legendary
*
Offline Offline

Activity: 3388
Merit: 4623



View Profile
March 26, 2017, 05:01:46 PM
 #38

At 2 years 4 weeks behind I suspect all this does is chop off work that has been completed while new stuff is added to the other end.  No difference in the time it should take to get a functioning wallet.

Correct.  You'll still need to download the entire blockchain, and it won't speed up the process. It will just delete the completed work as new blocks are added to the other end, so it will use less drive space.

It doesn't wait until the entire blockchain has been downloaded and stored on the drive before it starts pruning the completed stuff.
DannyHamilton
Legendary
*
Offline Offline

Activity: 3388
Merit: 4623



View Profile
March 26, 2017, 05:03:19 PM
 #39

I agree.  And since drive space isn't an issue, 2TB drive, next time it shuts down I'll restart without the -prune.  The prune switch seems to make no difference in network traffic judging by a glance at the debug network traffic.

I'm not certain, but I suspect that once you have pruning turned on, it may start over downloading from the beginning again if you turn it off (since those early blocks may already have been pruned).
wmabern
Hero Member
*****
Offline Offline

Activity: 658
Merit: 500


Visualize whirledps


View Profile
March 26, 2017, 05:05:02 PM
 #40

I agree.  And since drive space isn't an issue, 2TB drive, next time it shuts down I'll restart without the -prune.  The prune switch seems to make no difference in network traffic judging by a glance at the debug network traffic.

I'm not certain, but I suspect that once you have pruning turned on, it may start over downloading from the beginning again if you turn it off (since those early blocks may already have been pruned).

Yes, I know for a fact that you will have to re-download the entire blockchain if you turn off pruning.

BITMIXER.IO Gone Baby, Gone.. ;-)
Not any good sig campaigns out there that I want!
Pages: « 1 [2] 3 »  All
  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!