If you set up a time server on a local PC and register a redirect from the specified domains, will your capsule open?
I had no idea how to do this, but after many hours of learning, I successfully set up a local time server, edited my host file, and was able to unlock the keys by changing the system clock.
This has now been fixed. Please see the updated code at:
https://github.com/BTCapsule/BTCapsuleNow when requesting the date from time.google.com, BTCapsule checks the IP address. If the IP address in the host file is pointed to the localhost, BTCapsule alerts the user to enable their internet. If the IP address in the host file is pointed to the IP of time.google.com, and the computer is offline, the program fails to run.
I'm afraid that won't be enough. Anyone can set up a fake NTP server on any host, not just the local computer. In addition, it is possible to redirect Internet traffic without using the hosts file, for example, at the router level or by spoofing DNS records.
If someone sets up a fake NTP server, would they be able to replicate time.google.com’s IP address? Here is the code:
def get_ntp_time() -> datetime:
try:
ntp_pool = 'time.google.com'
ip = socket.gethostbyname(ntp_pool)
ip1 = ip[:-2]
ip2 = ip[:-3]
if (ip1 == "216.239.35" or ip2 == "216.239.35"):
call = ntplib.NTPClient()
response = call.request(ntp_pool, version = 3)
else:
canvas1 = tk.Canvas(root, width = 400,
height = 240,
bg = 'white',
highlightthickness=0
)
canvas1.pack()
canvas1.create_text(200,110,
width= 350,
fill="black",
font="Arial 10",
text="Please enable internet")
root.title('Bitcoin Time Capsule')
root.mainloop()
quit()
BTCapsule is a Bitcoin Time Capsule for your private keys. Enter a year and your private keys, and when the year arrives, your private keys will be available to whoever you give the program to. This is perfect for inheritance of Bitcoin, very easy to use, and allows you full access to your Bitcoin.
Good project, but the only way for me to use something like this, is to give a certain type of hint
[as opposed to entering my private key] that could "only" mean something to a specific person, and judging by the screenshots on your website, looks like it can be used for such a thing.
Yes, you can actually write whatever you want into the keys section. It’s technically just a time capsule software, but I love Bitcoin and what it stands for, so I chose to make it about Bitcoin.
Have you checked if the
year 2038 problem would affect the software in any way? Would there be any exploits based on that?
That's only about 16 years into the future.
Personally I would prefer a method that doesn't rely on software as there are just many things that could go wrong in the long term.
For example, can you still run a program from 16 years ago in your current laptop? Libraries, OS, programs, etc, move on with the times and it's difficult to run older software in modern devices.
I read about this problem, but I don’t see any reason why BTCapsule would be effected. My program doesn’t use Unix time. Any issues with 2038 would be managed by the NTP servers that BTCapsule calls, and that won’t be a problem:
https://unix.stackexchange.com/questions/272048/failure-of-ntpdate-if-the-system-is-set-to-a-date-beyond-2038
BTCapsule is a Bitcoin Time Capsule for your private keys. Enter a year and your private keys, and when the year arrives, your private keys will be available to whoever you give the program to. This is perfect for inheritance of Bitcoin, very easy to use, and allows you full access to your Bitcoin.
Nice move on listening to bitcointalk community and releasing your code with open source license, but I don't think you needed to create one more topic for BTCapsule.
I know few websites that are doing verification of open source bitcoin wallets, but you would need to find other people to review and audit your code.
Maybe you could contact someone like Andreas Antonopoulos or Jameson Lopp, and get their opinion about BTCapsule.
This would be good for getting more attention from more Bitcoiners, and they could make useful suggestions for improving your software.
Question for OP:
- Is it possible to test and see how BTCapsule works with Bitcoin testnet coins?
I’m glad I decided to make it open source. The suggestions I’ve received have already made BTCapsule much more secure. I would love to talk to prominent Bitcoiners about BTCapsule, and I’ve been trying through Twitter.
You shouldn’t have a problem using BTCapsule for testnet coins. You can write anything into BTCapsule, but I chose to make it about Bitcoin because I love Bitcoin.
[moderator's note: consecutive posts merged]