2
$\begingroup$

I would like to have these features and want to ask if it is theoretically possible:

a) There is custom software running on nodes in a blockchain style
b) A secret is kept in the blockchain that needs to be released at some point in time (let's say this can be the height of the blockchain).
c) No node and no one can see the whole secret before time since he would need access to all the nodes.
d) The time-lock can be extended by consensus of the network

Questions:

  1. What happens when a node goes offline? The secret is not complete then.

  2. How is the initial split is happening so the whole secret is not visible at any point in time? A client maybe that knows all the nodes and sends them a piece?

$\endgroup$
  • 1
    $\begingroup$ You realize that blockchains, as implemented in Bitcoin, are public data structures, right? If you put something in it, everyone knows it. Is there a specific reason to want to use blockchain? $\endgroup$ – mikeazo Aug 17 '16 at 11:56
  • $\begingroup$ @mikeazo IIRC you can do some witness encryption magic to store secret information on the blockchain and release it at a time of your choice. (I can't find the relevant paper links though at the moment) $\endgroup$ – SEJPM Aug 17 '16 at 12:11
  • $\begingroup$ @SEJPM, that would be interesting if it is automatically released. $\endgroup$ – mikeazo Aug 17 '16 at 12:14
  • $\begingroup$ @mikeazo yes it is part of the mix of the story I want to create. I want a blockchain so that anyone can participate, it is decentralized and hard to take down (most important thing). But also I need these features with time-release. I have been looking at time-release posts but they all seem to propose an encryption that will take X cpu cycles to solve while it maybe be done like that when there is consensus that it should be released(decrypted). $\endgroup$ – arisalexis Aug 17 '16 at 12:22
  • 3
    $\begingroup$ @mikeazo did you (and the OP) have a look at these two papers? "How to Build Time-Lock Encryption" by Jager and "Extractable Witness Encryption and Timed-Release Encryption from Bitcoin" by Liu, Kakvi and Warinschi $\endgroup$ – SEJPM Aug 17 '16 at 12:42
1
$\begingroup$

I understand what you are thinking, but you are mixing concepts. Just try to put the public parts of your schema at the blockchain... For instance, if you want to implement a PKI scheme without central authority (CA), you could by placing the public certificate at the blockchain. That way by being at the blockchain it is "compliant" with the decentralized CA...

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.