No. Once a frame is corrupted, it is no longer recognizable as its original *intent*. (see below)
Right. So what happens if the address gets corrupted? Or the sequence number? Once it is corrupted, each successive node will pass along the corrupted version AS IF it was a regular message (best case, you can detect it as "corrupted" and remove it from the ring -- but you won't know how to decide *which* message was then "deleted")
But you don't know how any of these things will be "corrupted". You can only opt to remove a message that you are "suspicious of". And that implies that your error detection scheme is robust enough that *all* errors (signs of corruption) are detectable.
If you are setting out with the expectation that you *will* be operating with a real (non zero) error rate, what can you do to assure yourself that you are catching *all* errors?
Again, how do you know that the message isn't corrupted to distort the ACK and "whatever else"? I.e., so that the message is no longer recognizable as it's original form -- yet looks like a valid message (or *not*).
How do you know that this is not a case of the message arriving correctly but the ACK being corrupted?
All of these things are predicated on the assumption that errors are rare. So, the chance of a message (forward or ACK) being corrupted *and* a followup/reply being corrupted is "highly unlikely".
If you're looking at error rates high enough that you are trying to detect errors as significant as "19 bytes out of 60", then how much confidence can you have in *any* of the messages?