Stack Exchange has vote locking:
This feature should be removed. Instead, if an upvote is revoked enough time later, no reputation is changed (the poster keeps the reputation the upvote originally conferred and the voter keeps the penalty for any downvote given).
There isn't a very good explanation for why it exists: Why do votes get locked?. The best answer is to prevent tactical downvoting, but vote locking isn't an effective defense against this (permanently losing 1 reputation to gain the 10s of reputation from extra upvotes seems well worth it).
There seems to be a category of other problems, such revenge un-upvoting (where a user revokes their upvotes of a specific other user's posts) related to the change in reputation from revoking upvotes. This is why I suggest not having reputation change after a vote has stood for long enough. This would also help against tactical downvoting as the downvote becomes non-refundable after a certain amount of time.
Locked votes cause a number of other problems:
The world changes. An answer that was right five years ago may no longer be right today. I should be able to change my vote to a more current answer if I revisit the question.
It prevents people from changing their vote after working with an answer and seeing the full consequences of its proposed solution.
It works very poorly with the trending votes feature currently being A/B tested because it prevents you from asserting that your vote on a question is still current.
Comments to a post can change the meaning without an edit, but don't allow for changing of votes (only editing the post allows for it).
Locked votes likely causes extraneous edits to posts just so votes can be recast.
Note: in response to feedback, I have edited this proposal to include a provision for locking the reputation from votes.
Note to moderators: I believe this question is sufficiently different from Can we get rid of locked votes or have a longer grace period? that question is more specifically about extending the grace period because you may discover that an answer is bad after working with it (point #2 above). This question is about a broader class of issue.