Merkle trees and the Taproot protocol