Description
We currently let each node configure where it retrieves SNP collateral from, with a list of endorsement servers. ACI also provides the collateral at a well-known file location. We should add an option to fetch collateral from there, as its likely the easiest and cheapest way to get it.
There is a risk that this collateral is incorrect, out-dated relative to the retrieved attestation. In that case we need some fall-back path to the existing endorsement servers.
This involves flipping the attestation order - we retrieve the attestation first and then the collateral. With the attestation in-hand, we can extract the TCB and determine locally whether the collateral "should" verify us, attempting to fetch fresher collateral if not. This is different from the current server loop, which retries for various connectivity/timeout errors, but expects that the first collateral it receives should be "correct" for the soon-to-be-retrieved attestation.
Activity