W3C home > Mailing lists > Public > public-credentials@w3.org > November 2020

looking for help with/guidance for a schema.org proposal

From: Jarno van Driel <jarnovandriel@gmail.com>
Date: Thu, 5 Nov 2020 14:06:14 +0100
Message-ID: <CADK2AU04mgyTwezZNeYtwW7OF2AFbZ9nYSJ3-rcAgE+-h=vWvA@mail.gmail.com>
To: public-credentials@w3.org
Hi folks,

I'm one of the editors of a recent schema.org proposal for time-stamping
content via blockchain <https://github.com/schemaorg/schemaorg/issues/2756> and
am hoping you can provide us (the authors of the proposal) with some
help/guidance as to how this proposal might be realized such that it:

   - allows everyday publishers to publish markup to:
      - timestamp their content in a 'simple' yet verifiable manner
      - optionally provide the content used (a Key) for generating a
      transaction hash
      - optionally provide the content used for generating a transaction
      hash of previous editions of the content (via a Key that refers to its
      previous edition)
   - *doesn't conflict *with the (enormous) amount of work this group has
   already done

Prior to posting the schema.org proposal Manu Sporny was so kind to provide
us with some resources that he recommended we should read (about
merkle-proof, opentimestamps, chainpoint and hash-links) though after we
posted the proposal it became clear we hadn't succeeded in preventing
conflicts with MerkleProof2019 (and possibly also with other parts of the
work this group has done).

So over the last 4-5 days I've taken a real deep dive into the Security
Vocabulary <https://w3c-ccg.github.io/security-vocab/> only to end up
feeling completely overwhelmed by it and subsequently have come to a halt
in working on our schema.org proposal as I realized we won't be able to get
this done without your input (because we're set on not getting into
conflict with your drafts).

The (maybe naive) objective of our proposal is to provide publishers with
an 'easy' solution to achieve the objectives I mentioned above and as such
provide validators with the minimum data they need (entry-points so to say)
to be to validate the timestamps (by getting the rest of the information
they need elsewhere).

Any help would be greatly appreciated!

--

The markup model for time-stamping content we've come up with thus far
looks like this:
{
  "@context":"https://schema.org",
  "@type":"Article",
  "name":"A time-stamped article",
  "mainEntityOfPage":"https://example.com/time-stamped-article/",
  "timestamp":
  {
    "@type":"BlockchainTransaction",

"identifier":"0fce9c929ef03838775703d4cf55b7b1bdd6a5cc3503a2606dbe3b6c0cf0a802",

"hash":"8A258E516081C36B866812E49495628CBDC1DD4126DB321A28AE95EE55B83BAB",
    "hashingKey":"
https://example.com/json/?key=8A258E516081C36B866812E49495628CBDC1DD4126DB321A28AE95EE55B83BAB
",
    "isPartOf":
    {
      "@type":"BlockchainBlock",

"identifier":"058ca16036c058217753b01200118f3ed92bfb2cee9a6c75bdb7bb1d110a767e",
      "blockHeight":3456789
    },
    "recordedIn":
    {
      "@type":"Blockchain",
      "name":"eos",
      "network":"mainnet",

"identifier":"aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906"
    }
  }
}

The markup model for the Key looks like this:
{
  "@context":"https://schema.org",
  "@type":"Key",
  "dateCreated":"2020-09-27T20:28:41+01:00",
  "isBasedOn":"https://example.com/time-stamped-article/",
  "encodingAlgorithm":"SHA-256",
  "encodingFormat":"text/html"
  "text":"<h1>Nunc eget lorem dolor sed</h1>\t\t\n\t\t\t<h2>Suspendisse sed
nisi lacus sed viverra tellus.</h2>\t\t\n\t\t\t<p>Non consectetur a erat
nam at lectus urna. Ut porttitor leo a diam sollicitudin tempor id
eu.</p>..."
}
Received on Thursday, 5 November 2020 13:06:41 UTC

This archive was generated by hypermail 2.4.0 : Thursday, 5 November 2020 13:06:42 UTC