Introducing a way to send bitcoins to yourself or someone else in the future.
LBAAT.net (short for "little bit at a time") has developed the tools necessary to create a future bitcoin address with no known private key. This address can be funded immediately. However, coins can not be redeemed until the selected time, and only by the intended recipient. It is 100% secure in that at no point in time does LBAAT have the ability to create the private key.
Why would you wish to send coins into the future?* Forced savings. You suspect bitcoins may go to $1000 each, but don't want to find yourself 2 years from now having sold them all at $12.
* Monthly/weekly payments. You send coins to addresses that can not be redeemed by your service provider until the payment is due.
* Leave coins to your children and grandchildren for after your death.
* Give the gift of delayed bitcoins. A 1 BTC gift that can not be redeemed until next Christmas / Birthday.
* Authentication. Force users to send coins to themselves in the future in order to use your web services. For example, force a user to send 1 BTC to themselves tomorrow in order to sign your guest book.
Delayed MessagesUsing AES encryption, LBAAT.net makes it possible to post messages that can only be revealed at a specifc time in the future.
* Increased auction formats. Have everyone display their bids which can only be revealed at a certain time. Now host a blind auction, vickrey auction, and all-pay auction on the forums.
* Prove you know something now, but don't want to reveal until later. All messages are timestamped.
To redeem future bitcoins, you will need the aid of an EC calculator. LBAAT has javascript calculator that does the necessary calculations for you. This page was on the wonderful work of bitaddress.org. The EC calculator in Armory works great as well.
How does it work?Delayed, connected secrets make it possible to send bitcoins securely into the future. LBAAT.net releases a 32 byte secret every hour on the hour. We call these "timepoint secrets." All timepoint secrets are connected - the current 32 byte timepoint secret is the hash of the unknown timepoint secret one hour from now. If you have the current timepoint secret, all prior timepoint secrets can be generated, but not the next one.
What if the system is compromised?Because all timepoint secrets are connected, a compromised future secret will compromise all further secrets from that point. This is an incentive for LBAAT to secure its data. It will be easy to tell if the site has been compromised, as future addresses will be redeemed early. Even though a compromised future secret would lead to early redemption of coins, note that LBAAT never has access to any balance.
Generating a future address:By submitting a bitcoin public key, LBAAT.net will multiply that public key by the timepoint secret using EC math, which will result in another public key, and a bitcoin address is obtained. If you own the private key it is possible to verify the address by requesting the public part to the timepoint secret, and multiply this by your own private key using an EC calculator, as found in Armory.
Revealing the private key:When the timepoint secret has been revealed, multiply this secret by your private key to reveal the private key to the bitcoin address in question. LBAAT has created an on off-line javascript calculator created with the code from
bitaddress.org. All calculations are done on the client side, no information is sent. Armory (
bitcoinarmory.com) is also capable of performing the calculatioins off-line.
What happens if you disappear? If the site is closed, we are prepared to provide the seed hash. With this seed, all secrets can be obtained. We also have prepared a 6 of 10 shared secret of this seed. 10 trusted members of the bitcoin community will have a code. If we disappear, the community can still revive the seed hash (details to follow).
I sent coins to a future address that I want now. Can I have the secret?No. Once a future secret is revealed, the system is compromised.
Do you have an API?Yes. Check out the How to Use page for documentation