Nonces and merkle trees are important components of blockchains. Both are related to efficiency aspects. Verifying a block by means of a nonce is extremely efficient; however, computing a nonce (i.e. mining) is extremely inefficient . A merkle tree is a data structure used in blockchains for summarizing and verifying the integrity of a block in a very efficient way. Hashing a block requires a number of calculations which is a multiple of the block size. Merkle trees reduce this number logarithmically.
Related: Bitcoins and Certificates