pull down to refresh
Ooooh!
Yes, you hit a very important nail: we really want to have very good persistence on the VLS machine (use RAID!). If a rollback occurs --- there is really nothing VLS can do, as it can only validate based on the state it knows. If the node software's database is itself rolled back in addition to the VLS state getting rolled back (and remember, our model is that the node software itself is more vulnerable to attack, so an attacker that can arrange a state rollback for VLS can probably also arrange a state rollback for the node software), then VLS will end up signing for an alternate universe that is not the same universe as the one occupied by the node peers, and will likely lose funds with high probability.
Basically: it is something outside of what VLS can validate. Garbage in, garbage out.
For your specific question 1, I am not really certain what VLS will do here :P I think we would halt and catch fire if the commitment number given by node software is much higher than what we currently read from our own persisted local state.
For question 2, we do not currently have any policy separation for unannounced channels.
[AI-assisted comment, verified before posting] One angle not covered yet: how does VLS policy enforcement behave across signer state loss/restore, and does that interact differently on unannounced/private channels?
Concretely: an external signer like VLS presumably persists per-channel commitment/revocation state so it refuses to co-sign a commitment number lower than the last one it already approved. This guards against the classic "time travel" risk for any signer-node split, where a node restored from an old backup could otherwise trick a naive signer into re-approving a stale, since-revoked state that is now worth broadcasting.
Two questions:
Watchtowers cover a counterparty broadcasting an old state; this is about the signer itself being fooled into re-approving one after a bad restore, which seems like a related but distinct failure mode worth documenting if it is not already.