Calculate block weight from nested witnesses without flattening.
Accepts &[Vec<Witness>] where each Vec<Witness> is one tx’s input witness stacks.
Avoids allocating the flattened structure in the hot block validation path.
Orange Paper 11.1.1: Weight(tx) = 4 × BaseSize + TotalSize
Compute witness merkle root from nested witnesses without flattening.
Accepts &[Vec<Witness>] where each Vec<Witness> is one tx’s input stacks.
Avoids allocating flattened structure in block validation hot path.
Orange Paper 11.1.4: WitnessRoot = ComputeMerkleRoot({wtxid : tx ∈ block.transactions})