in reply to Converting epoch times after 2038
How about trying Time::TAI64. I have not tried it myself but it looks interesting.
The only thing is that TAI does not use leap seconds. However this is not a big problem it would seem, neither for you or for astronomers who might use the attosecond based extension.
Perhaps so long as you set the date of a bond to be NOON every day or any other time but say 00:00:00 midnight, there will be no problem. TAI uses leap second tables (for those known in the past) but even so it would only be probably a few seconds difference over 50 years (see the cr.yp.to link below).