Reading through this question there's several mentions of optimistic concurrency being more costly during resolution because of aborting transactions:
Optimistic vs. Pessimistic locking
If you are executing a single update statement, usually you would craft the where clause to ensure no update is made if the is a conflict. I.e. you would include the original row state in the where clause. If someone else edited the row and there is a conflict, the update statement will simply update zero records, due to the where clause. You would not need to abort any transaction, because no change was made by your update. You would simply check the number of rows modified by the query(usually one or zero), and if it modified zero, you present the user with a resolution decision.
Unless you have multiple operations that must be atomic along with the update, I would not think you'd need a transaction for a single update with a where clause to support optimistic concurrency. But perhaps there is a nuance that I am missing.
Do you need a transaction for a single update statement with a well formed where clause selecting based on original row state(for optimistic concurrency)?