Path implements spec:CommitmentPath. A path is the additional information provided to the verification function.
Prefix implements spec:CommitmentPrefix. Prefix represents the common "prefix" that a set of keys shares.
Proof implements spec:CommitmentProof. Proof can prove whether the key-value pair is a part of the Root or not. Each proof has designated key-value pair it is able to prove. Proofs includes key but value is provided dynamically at the verification time.
Root implements spec:CommitmentRoot. A root is constructed from a set of key-value pairs, and the inclusion or non-inclusion of an arbitrary key-value pair can be proven with the proof.