Security concerns when downloading the block chain from a 3rd party source?

It takes very long until bitcoin-core has downloaded the whole block chain. So I decided to download the block chain files via a bittorrent published by this website:

After the download was finished I noticed that the md5 checksums of the files from the torrent were different then of the files from bitcoin-core.

Why could that be?

Are there any security related concerns of using a block chain from a 3rd party source?

How is a miner prevented from adding transactions without signatures to their block?

Consider I’m a miner. I mine on my own, I don’t mine in pools. I have power enough to find the hash, lets say, once per 2 years.

When I find the hash within those 2 years I send the block back to the network and since the hash is low enough the block would be accepted and added to the block-chain.

It’s up to miners (so me) to check the transaction signatures but the block AFAIK doesn’t contain the signatures. How can others within the network can be sure that all the transactions in my block which I calculated were signed?

If I was an evil miner, I could have added a transaction without a signature. How is this prevented? Am I the only one who checks the signatures within my block?

Thanks for explanation.

Can I retrieve missing Bitcoins that failed to process as Wallet is corrupt?

I have been using an old wallet until last year – Bitcoin Version v0.8.5-beta. QT Version 4.8.3.

I stopped using it as it has become corrupt. I had made several transactions that were not successful before I realized it was corrupt. They are showing in my transactions list as a question mark with 0 confirmations, however the transaction amount has been deducted from my wallet total.

I backed up the wallet.dat file after each transaction and overwrote the previous backup when I did this.

Can I retrieve the missing bitcoins?

Buy coins using a australian bank account from Germany

I am German living in Germany but do own an Australian bank account. I would like to use that money to buy bitcoins but somehow am not able to at the big exchange markets.
Whenever I identify myself it assignms me a German profile (which is fine) and only allows money transfer from european countries.

Is there a simple way to do this?
Sorry for this newbie question…

Cold storage, transferable to hardware wallet

As far as I understand, hardware wallets generate a deterministic key space using standard algorithms: starting with a (random) passphrase (and more security tokens?), they are able to rebuild the wallet.

I do not have a hardware wallet, nor do I plan to buy one at the moment, but I would like to keep the option open of transferring my wallet to a hardware wallet. Basically, I want a paper wallet transferable to a hardware wallet.

I assume that if I follow standard procedures to generate my paper wallet, I will be able to import it into any hardware wallet as long as it follows the relevant standards.

I have three questions:

  1. What standards should I be looking for?
  2. How can I generate such a paper wallet?
  3. What would be the best way to test my paper wallet? I am thinking on generating a test paper wallet and use a desktop wallet to verify that this can be imported. I assume that if a desktop wallet can import the paper wallet, a hardware wallet will be able to import it too. By “testing” I mean to generate the “first” key in the paper wallet and checking that it also exists in the desktop wallet too (once the wallet has been re-generated in the desktop wallet using the passphrase).

Where does the Bitcoin Core code serialize the number of transactions?

I’ve been studying the Bitcoin Core code, and I noticed that it uses a template READWRITE to serialize data structures for storing blocks. But it never seems to actually call “READWRITE(nTxs)”, the VARINT (CompactSize) that encodes the number of transactions. It reads the transactions to a vector (primitives/block.h), and it almost seems like it just magically knows how many txs there are. What gives?