Auction sniping (bidding within the last minute or two) is often considered a problem, especially in high profile auctions like those put on by ASICMINER. Personally, I enjoy the thrill of those auctions, but a lot of people do not, and I agree that it is not ideal.
One solution is extending the bidding by a certain amount of time each time a bid is placed, if the bid is placed close to auction closing (typically up to a maximum date/time). This is a viable solution, but can cause the auction to drag out for too long.
A thought occurred to me. What if the end time is left unknown to all except the auctioneer? I will show an example:
This auction will end on May 5th, 00:00:00 UTC, +- 1 hour.
SHA-256 hash of real ending time: 22948fb57ed49f3f351873d6c6ecc19e2051168d8a6e5e7db52f0fdc46e2c221
The actual end-date for the auction is left unknown to all bidders, but they know that it will be within an hour of the specified time. At May 5th, 01:00:00 UTC (the maximum closing time) the auctioneer will officially announce the real ending time, like so:
Real ending time: secretsalt May 4th, 23:35:13
All bids posted after that time are invalid. All participants can verify that the real ending time posted matches the one originally established, by checking its hash. The ending time cannot be guessed beforehand, thanks to the secretsalt.
With this system, it's impossible to snipe, since the ending time is not known. Unlike the extension method, the auction still has a fixed length. And my guess is that the uncertainty is also likely to drive bids higher than usual.
Thoughts?