If you give the keys to a loved one, then you are trusting them not to lose or expose them. BTCapsule doesn’t require your loved one to remember a password. The year that you choose is the password, and when it arrives, they have access to your keys.
How does program knows the exact year that was selected before?
There is a big chance of getting around this if time is based on operating system, or any outside time calculation.
I know there are programs that can hack and change time for specific application to unlock it or remove some restrictions.
This was usually used before to use trial program version without any restrictions forever, and someone could create crack for your program.
I have updated my OP to explain where the time comes from. It doesn’t come from the OS because that can easily be changed.
BTCapsule creates two encrypted text files called year.txt and keys.txt that are stored in the same folder. The year.txt is encrypted, so that nobody can change the year after it’s created. When you run the program a second time, it checks to see if these files exists, decrypts the year.txt, checks the year, and then encrypts it again.
You can move the keys.txt to another thumb drive so that it is never online. This allows BTCapsule to check the year.txt file online, and generate another encrypted file called offline.txt that can be used to decrypt your private keys without the internet.
This is entirely based on trust, and has multiple completely unnecessary points of failure. There is zero benefit over a timelocked transaction. I wouldn't touch it.
I can't say anything more than that I think the same, and that this kind of idea is problematic in itself if we know what kind of sensitive information is involved. Perhaps, in a technical sense, this idea could be refined to be more decentralized, and one of the things would be to add more sources of UTC time and not rely on just one source.
I have added more sources of UTC time, and posted them here for everyone to see. I’m actually glad this was brought up, because I found pool.ntp.org which is a semi-decentralized time protocol. I have also added a method to protect the private keys from ever needing to be exposed to the internet.
It's an interesting way to guarantee some kind of "inheritance" to a particular family member. But devices such as flash drives can be lost or damaged due to incorrect storage, oxidation, and other external and unpredictable factors. As said before, we can't just store it in one place, we must have copies and use other ways to keep this information safe as well.
Yes, I did not create BTCapsule to be a hardware wallet. So long as the user is still alive, they would still have access to their actual wallet and the responsibility to secure their Bitcoin. If they later decide they don’t want to leave their Bitcoin to whoever possesses the BTCapsule, they can simply move their Bitcoin to another wallet.
I realize thumb drives are not the best, and that is why BTCapsule doesn’t have a license key that makes it dependent on a single device. I was thinking we may not even have USB in the future, so BTCapsule can be moved and copied wherever it’s needed. If the future brings us unrecognizable technology, I figure it won’t be too hard to find an old laptop if it means you’ll have access to Bitcoin. I have an old NES game system, so even if technology changes, we can still find and use what we need from the past.
You can type anything into the text field to try it out, and when you feel comfortable, you can delete the generated files and start over.
You can never feel confident in a closed-source environment. I can't know whether your program does what you're confusedly saying or whether it checks for my keys' balance until I deposit some good amount, or even if it spies on my whole computer. And there's absolutely no reason to trust you. Not only because I don't trust strangers who try to have their closed-source software installed in the place I keep my money, but because you haven't shown you have a technical competence of the subject either.
I have been looking into open source, and I’m wondering if you would be willing to tell me which open source model you would like to see. I found this website that goes over the various models:
https://www.karllhughes.com/posts/open-source-companiesI believe in capitalism, and would love to use the money I make to constantly upgrade BTCapsule and make it a better product. I also want to make wise business decisions, and if open source would offer the trust needed to sell my product, then I would be willing to do that. However, there is also a concern with security. I have read this other article that describes the problems with making software open source:
https://www.writeclick.co.il/practical-strategies-for-securing-open-source-code/I could make the basic code open source, and then offer to sell my program with the extra security features I have added; but then it seems like those who do not trust anything that is closed source wouldn’t trust to buy my upgraded option anyway. Would you agree?
[moderator's note: consecutive posts merged]