An AEAD relies on no reuse of the same pair of key and nonce. Reusing the same key and nonce would be catastrophic.
TLS 1.3 uses the same key for multiple records, but constructs a nonce from a sequence number and a pseudorandom base value that is derived from the current traffic secret.
Using a sequence number ensures that the same nonce is never used twice with the same key. It also avoids the overhead of having to transmit a nonce over the wire, saving numerous octets per record.
The possibility of using just a sequence number was considered, but there was a concern raised that early plaintexts are often predictable. Having a fixed nonce might expose the protocol to pre-computation attacks (where, for example, the encrypted value of GET / HTTP/1.1\r\n
is stored against a large number of different keys). An unpredictable nonce makes it harder to mount that style of attack.
Such an attack is likely infeasible. 2128 is considered an impractically large table. Relying on a smaller table and the birthday paradox still means 264 entries and the same number of connections. An abundance of caution suggested that the modest cost of a defense was justified.