Why do row-versioning isolations use a linked list of versions of record?
Why is there a need in a linked list, i.e. to link the changes of the same record?


The "current row" in the index or data page provides a pointer to only the most recent row version in the version store. A transaction that needs older versions needs a way to navigate to the exact version it should use. The linked list provides this mechanism.