Blockchain linking algorithm Why does new block include only parent's block hash instead of hash of it's all previous blocks calculated using e.g. merkle tree algorithm?
Because the parent hash is already based on the previous parent hash, and so on, it effectively does include all of them. A merkle tree is a commitment to all of them, this does the same thing. It would just make generating the block header harder before the miner can even start mining, so there would be no benefit.