4
$\begingroup$

Taking a combination of world events like thunders, astronomical imagery, vote outcomes, stock index values and deriving the id of source of truth from hashed combination of them could be used instead of proof of work algorithm. Why isn't it used?

$\endgroup$
  • $\begingroup$ The good thing with a proof of work is that you can verify it on your own though. Hard to know world events without trusting anybody $\endgroup$ – Florian Bourse Apr 24 '18 at 13:15
  • $\begingroup$ I looked into pulsars as a source for this. It's theoretically possible to use multiple overlapping pulsar waveforms as a random source but the equipment required to make observations is costly and cumbersome, which is very problematic. $\endgroup$ – Adam Ierymenko May 15 '18 at 18:57
8
$\begingroup$

A true source of randomness or a Common Reference String (CRS) as it's referred to in cryptography, could potentially be used in some cases in the place of Proof-of-Work, although as forest pointed out it isn't immediately clear how to achieve this or whether it is possible, especially in settings such as blockchains where something closer to a Random Oracle (RO) is needed. However, it may be possible to substitute the two in settings such as Proof-of-Stake, like Ouroboros is doing. In the latter case, because of the design of the system, a CRS is not really needed – the participants can generate their randomness locally.

However, for the sake of argument, I will now describe some reasons for which using the types of events you mentioned as a CRS is inappropriate for designing cryptographically secure decentralized systems.

  1. Public verifiability. It is easy for any machine to locally verify proof of work in polynomial time. If you give a piece of proof of work to a mobile phone or a laptop, they can check to make sure it has been computed correctly. However, they cannot do so for thunders, unless they constantly monitor the earth. Public verifiability means that anyone can verify, even after the fact.

  2. Consensus. Participants can easily agree on whether a piece of proof-of-work is correct. The condition is clear and well-defined. However, for real world events, this may not be so. For instance, there are weird physical phenomena which may be considered thunder by some scientists and not by others, or a thunder may be captured by one observer, but not by others, even if they are actively monitoring for such events. This disagreement can break consensus protocols which require that all participants agree.

  3. Sustainability. Proof-of-work is a system which will continue to work ad infinitum, because it is based on a mathematical formula. Systems such as stock indices may not. Stock exchanges close down and indices are redefined or sunset. While these events may be rare, if we are building the economy of the future which we want to last for more than a hundred years, we want a system that can continue to function regardless of such changes. If these changes do happen and we rely on them instead of proof-of-work, we would have to redefine our systems every time a change happened, and such a redefinition would require making difficult consensus decisions (which can lead to forks in the case of blockchains).

  4. Centralization. It is difficult to define an objective source of truth for the values of these events. If the source of truth is defined as, say, the stock exchange website, then the central party that runs the website can manipulate the values that are displayed there. This makes the system prone to centralized manipulation. For instance, a court can order the exchange website to display false data in order to subvert the system.

  5. Distribution. It is difficult to say what kind of distribution is followed by various sources of randomness such as the stock market. The fact that the stock market is just a random walk is controversial, and using this hypothesis to ensure our economy's future is an incorrect approach, especially because we cannot quantify it and prove our claims. While there exist ways to extract good randomness from skewed randomness, some quantification of the entropy in the source is needed, for which we also have a limited understanding.

  6. Manipulation. This is related to the last two points above. Some of the systems you are proposing may be possible to manipulate by participants, given enough incentives. For example, if I am a rich investor, I could buy or sell a particular stock to change the value of the index, skewing the randomness in a particular predictable manner. If this artificial biasing is something I can use in my favour to make more money than I need to invest to cause the skewing, then it may be rational to act in that manner. It is difficult to give a game theoretic argument that such acts are impossible. With proof-of-work, the outcome cannot be artificially manipulated.

$\endgroup$
  • $\begingroup$ Ad 1. let's forget the thunders, although I can think of a consensus algorithm, that solves this problem. $\endgroup$ – Matthias Danetzky Apr 24 '18 at 8:15
  • $\begingroup$ How would you publicly verify the stock market prices from, say, a smartphone? $\endgroup$ – dionyziz Apr 24 '18 at 8:23
  • $\begingroup$ Ad2. Consensus protocol is an algorithm, that has to bee agreed upon, therefore it is open to discussion. What I mean is that it does not need to be rigid. For example - if 80% of participants agree - then OK. Ad 3. again - a matter of algorithm and voting. From time to time a new source of random truth will be discovered proposed to the network and accepted. Also other sources might get voted out. Ad4 Ad5 Ad6 We should use as many sources as possible add them and hash. $\endgroup$ – Matthias Danetzky Apr 24 '18 at 8:27
  • $\begingroup$ I think it is not about verification of one stock market. it should be the verification of as many of them as possible. And then it can be done via on-line services $\endgroup$ – Matthias Danetzky Apr 24 '18 at 8:29
  • $\begingroup$ @MatthiasDanetzky You bring up many issues. I will answer them in separate comments. (1) Regarding the use of online services for checking the stock market. This brings in a centralized trusted third party, which can be subpoenaed by a court. Even if we use multiple parties here, it still forms a "cothority" (collaborative authority) and all of them could be subpoenaed. This may be OK for some systems depending on your threat model, but is a weaker result than a completely decentralized system. $\endgroup$ – dionyziz Apr 24 '18 at 11:44
4
$\begingroup$

You are misunderstanding what a proof-of-work algorithm is designed to accomplish. It's designed to provide an economic disincentive to repeating the process many times (e.g. sending an email or visiting a website). Real-world values on the other hand have the distinct property of being difficult to predict in advance, making it useful for proving that a given document was not created before a certain date (for example). There is no way to use that property in a proof-of-work system.

$\endgroup$
  • 1
    $\begingroup$ You are absolutely right. Unfortunately the proof-of-work is what is used to choose the miner in the blockchain and I didn't know of any other easy to understand name for the 'miner choice' problem. $\endgroup$ – Matthias Danetzky Apr 24 '18 at 8:32

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.