Recently I updated to version 0.10, but that wasn't an easy process. It took too long to go over my old blockchain and make it compatible with the new client, so I aborted that (iirc there was no progress report, and the whole thing was indistinguishable from frozen). Then I tried re-downloading the blockchain from scratch. That was taking days too, and progressively slowing down, so I aborted that too. Eventually I just got a brand new node running in a faster computer and transplanted its blockchain into mine, so now I have the updated version running fine.
I was told that the reason it was taking so long for my computer to verify the blockchain was that it had a spinning disc which had to be queried continuously to verify all the ring signatures on the blockchain. That agrees with my experience of syncing the new node in just a few hours, as opposed to days in my old machine.
In any case, my question is: wouldn't it be possible and/or desirable to at least partially do away with that verification process? I mean, isn't that the whole point of using a hashed linked list as our blockchain in the first place, to produce an immutable record of what was already verified in the past? Couldn't we make it so that new nodes only verify (at least at a first moment) that the blocks and hashes that they receive match what the network has told them is the chain with the greatest work invested into it, and perhaps they only have to verify, say, the last month's worth of ring signatures?