1

To prove that something happened after some time in a distributed way, just refer to something publicly know just before. Is that right? (Though I wonder how to make the time granularity smaller.)

What about to prove that something happened before some time in a distributed way ? How to make it more accurate, for example, an hour, a minute, a second, a milli-second?

Edit: To prove that you survives after a particular time, you just need to take a photo with a sheet of newspaper. It proves that you have lived some day after that newspaper was printed, though it cannot be certain which day.

It is quite distributed since you do not have to go for a notary office, etc., which is much more centralized, and is used widely therefore by those who have to refute rumors without having to go public.

It obsessed me how to do it conversely, that is, to prove that something exists or happens before a particular time. Go for a notary office is a centralized method to timestamp, which is able to prove something happens between two moments.

But to do it in a distributed way, it is best to do it yourself or with strangers anonymously. For example, buying a random newspaper is something that you can do with strangers anonymously.


Okay, let me explain the problem I am trying to solve, and hope you all may figure out if I went to the wrong direction. It is, though, something that is not quite relevant to the question itself, which is just a small, single link inside the chain, and that I didn't intend to talk about before. Here it goes.

I want to allow people to post messages publicly to a certain domain (a distributed storage system, details irrelevant) without further verification and any centralized service provider. (limited, once for all verification in Beta stage of the project is okay). But spamming will occur.

IP examination is not acceptable, since IP should not be collected, and not possible distributedly. I haven't found distributed CAPTCHA solution.

Proof of work won't work, since attackers can gather more CPU, GPU, and RAM, and create much more users and messages than normal people do, as do in bitcoin. Mutual random authentication between users will not work either.

I may limit user generation by introducing to the protocol invitation and collective punishment to the invitor and invitees, and give users quota per year.

So I have to prove that message is posted this very year, and people right now do not use quota from last year, one hundred years ago, or next year.

closed as unclear what you're asking by Steffen Ullrich, techraf, S.L. Barth, Matthew, Rory Alsop Aug 22 '16 at 10:42

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • It's hard to deduce what you really mean? You mean some sort of mad science? – Aria Aug 21 '16 at 23:17
  • 1
    @Aria It is no mad science. See the links listed at en.wikipedia.org/wiki/Timestamp#See_also – Schezuk Aug 21 '16 at 23:53
  • Perhaps you mean "Is there a service such that, provided a piece of your work, you could have a set minimum number of random - verified human - individuals to digitally witness and anonymously timestamp, effectively keeping an exact copy for later reference/proof?" – dotproi Aug 22 '16 at 0:10
  • The best case is to self service and retrieve evidences from outside the system, as "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks" did in Bitcoin. The second best case would be to prove untrusted anonymous witnesses in the system to be trustworthy with algorithms, I think. @dotproi – Schezuk Aug 22 '16 at 0:24
  • 1
    @dotproi Well, I need to restrict that users in a distributed system post messages within a small quota (the only method I have yet figured out to control spamming without censoring). But I have to stop them forging messages to be created in the past to obtain yearly quota, or stop them storing quota for the next year. – Schezuk Aug 22 '16 at 0:46
2

This has been discussed in more detail here:

In short, get a digitally-signed timestamp from several Time Stamping Authorities (RFC 3161) or post a hash of the data on a cryptocurrency's blockchain.

If you're talking about a physical event that needs to be timestamped, you have to turn it into data first. For example, you can take a video of the event and timestamp that video using the above methods as soon as possible.

  • I am trying to figure out how to timestamp with a FEW UN-trusted parties (therefore not TSA or Blockchain). Postdating is able to be avoided since no one can send a message to others than its accomplice until that very date the message claims arrives. But I have no idea how to avoid pre-dating without the involvement of a trusted authority or without witnessing by the whole network yet. – Schezuk Aug 24 '16 at 15:10
  • @Schezuk Well, you have to have some witness. If you use the blockchain, you don't have to trust any of the involved parties. – Navin Aug 25 '16 at 8:35
  • Without witness, you can still prove something happens after any particular time by referring in signature any consensus which occurs regularly and is un-manipulable, that is, of which outcome is unpredictable and cannot be regretted, no matter the consensus at first widely known or not. People can refer, cannot predict. The problem is fore-dating. – Schezuk Aug 25 '16 at 10:55
  • Blockchain is a FSM which overlays on a global network of connectivity, a luxury in many cases; and requires that its current status be available to every party involved to generate the next status, which limits its application; let alone being vulnerable of 51% attack, no matter private imitators or the public one, whose computing power is already controlled by a small group of miners. – Schezuk Aug 25 '16 at 10:55
  • 1

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