I am running Windows 7, and every time I open Bitcoin-Qt (v0.8.6-beta) during synchronization my CPU runs at around 95% according to the Windows Task Manager. As soon as synchronization is finished, the processor goes back to a normal 4-15% usage. What is Bitcoin-Qt doing that it needs so much processing power? Why is Bitcoin-Qt different from my other wallets, like elacoin, that do not use CPU when synchronizing?
When Bitcoin-qt synchronizes with the network, it is not only downloading blocks (lists of transactions) but also verifying them: checking cryptographic signatures, etc. This gives you independent verification that the blocks you've received are true and correct, and that you're not being sent fake data by some malicious peer on the network. However, it is computationally intensive, especially given the large volume of Bitcoin transactions, and I am not sure that Bitcoin-qt has highly optimized code. Other clients may do a reduced amount of verification, saving time and CPU, but at the expense of some security.
It verifies the blocks that it receives from network and you don't have locally, assuming you haven't modified the bitcoin.conf file for added functionality.
At the time of writing, Bitcoin has 280,032 blocks with 144 new blocks in average per day while Elacoin only 53,236 with 12 new blocks in average per day so it's totally normal that CPU will be utilized much less during Elacoin's synchronization.
Synchronization with the bitcoin networks need the full capability of the processor to complete the sync of your wallet with the btc network as soon as possible. That is why it is around 95%