Compact proofs: remove map keys from commitments and answers
The type of commitments and answers changes from string map to just a list.
The verifier needs to recalculate such keys in order to verify the identities. This is done in main_protocol, by extracting the relevant keys from the identities. Such keys are then passed through an argument to PolynomialCommitment.verify in order to preserve the Polynomial Commitment abstraction.