My project is facing timestamp manipulation in Solidity smart contracts, particularly in an auction system where bidding periods are defined by block timestamps.
The contract automates auction start and end times, but miners can adjust timestamps slightly within the allowed range.
This manipulation can unfairly extend the auction or cut it short, disrupting the fairness of the process and participant trust.
While the system is functional, this issue has made ensuring accuracy and fairness difficult.
Alternatives like using block numbers have been considered, but they introduce timing inconsistencies due to variable block intervals.
Adding external validators or complex checks could address this but may significantly increase gas costs, which the project aims to avoid.
Has anyone encountered and solved similar issues? What strategies or patterns can help resolve timestamp manipulation effectively without adding unnecessary complexity or inefficiency?