petertodd / timelock

Timelock encryption incentivised by Bitcoin

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Show "Public Key" with bitcoin address

felipelalli opened this issue · comments

I don't know if it is possible, but now to get the "Public Key" you have to unlock. It can be useful if you'll use timelock in a multi-sign address.

Oh, you actually tried to use it?!

I'm not gonna lie - this was basically a one-off proof-of-concept; to use it in production it really should get a rewrite.

@petertodd I use it. :) Thank you. In my tests everything always worked nice. The only thing is missing to me is the public key.

Interesting! What do you use it for?

Decrease the liquidity of funds that I will keep in the long term.

Oh, via timelock encryption of private keys? Why not use CHECKLOCKTIMEVERIFY for that instead?

And actually, you can use nLockTime in your case too.

Actually the only reason I do not use this is because I do not trust future versions of bitcoin (in very long term) will be fully compatible with the generated tx. Forks, forks, forks. I think is safer to keep the real private key instead a tx. See the case of BCash, for example: I guess if I kept the tx with nLockTime instead the original private key I'd lost that free lunch. Am I wrong?

Nope, you're not wrong at all when you take forks into account.

Also, for your use-case we can make timelock a bit simpler: you really just need to dedicate as little as a single core to it to keep it generating a timelock chain some amount of time into the future, and you don't even really need the BTC part of it, strictly speaking.

I should do a rewrite of timelock at some point! :)

Thank you for your answer. If you do, please tell me! :) Now I have to spend the same amount of unlock time to lock. Or there is another way?

@felipelalli If my understanding of the the timelock algo is correct, we could truncate the first few bits off the IV, which would force the third-party unlocker to search through ~50% of the possible IVs before being able to claim the bounty (giving the creator an advantage).

The downside with this approach is that this extra difficulty can be easily parallelized. Please let me know if I'm misunderstanding the timelock algo.