<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A WebProtege Plugin for Attesting to the Provenance of Ontologies on the Ethereum Blockchain</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Simon Curty</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>org Fill</string-name>
          <email>hans-georg.fillg@unifr.ch</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>l S. Gon</string-name>
          <email>goncalves@hms.harvard.edu</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>rk A. Mus</string-name>
          <email>musen@stanford.edu</email>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Harvard Medical School, Center for Computational Biomedicine rafael</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Stanford University, Stanford Center for Biomedical Informatics</institution>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>University of Fribourg, Digitalization and Information Systems Research Group</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>Ontologies are shared, formal conceptualizations of a domain that are consumed by human and machine agents alike. Trust in ontologies is a central issue for their application. For example, machine learning algorithms for medical diagnosis may rely on the correctness of ontologies and could potentially deliver false results. For enhancing trust, we developed a WebProtege plugin for the decentralized attestation and veri cation to the integrity and validity of ontologies using the Ethereum blockchain. Blockchains are an immutable, tamper-resistant and decentralized storage where all transactions are digitally signed. Thus, they permit tracing the provenance of concepts and identify responsible actors. For a rst experimental evaluation, we evaluated the transaction costs for attesting to the provenance of ontologies.</p>
      </abstract>
      <kwd-group>
        <kwd>Ontology</kwd>
        <kwd>Attestation</kwd>
        <kwd>Blockchain</kwd>
        <kwd>Ethereum</kwd>
        <kwd>WebProtege</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        With the recent integration of linked data, knowledge representations and
machine learning in the semantic web, it has become essential both for human
and machine agents to know about the provenance of data and derived
information [
        <xref ref-type="bibr" rid="ref5 ref7">7,5</xref>
        ]. Thereby, ontologies play a central role as a formal knowledge resource.
Through blockchains as append-only, immutable, decentralized and distributed
data stores, trust is achieved through full transparency of the recorded,
digitallysigned transactions that are veri ed through peer-to-peer consensus protocols.
      </p>
      <p>
        In this work we therefore present a plugin for the WebProtege collaborative
ontology editor which enables the attestation to the provenance of ontologies
using the Ethereum blockchain. In contrast to the full storage of ontologies on
blockchains, which is infeasible due to the limited storage space and
comparatively high transaction costs, attestations permit decentralized, veri able, and
Copyright © 2021 for this paper by its authors. Use permitted under Creative
Commons License Attribution 4.0 International (CC BY 4.0).
transparent proofs of the existence and integrity of information without
storing the information itself [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. In addition to its adequacy for blockchain-based
applications, attestation further prevents the disclosure of the underlying
information, while still allowing for conducting proofs of existence via so-called
zero-knowledge-proofs if required [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>
        Traditionally, digital signatures of ontologies have been used for so-called
policybased trust. As a foundation for deriving signatures for RDF graphs, Carroll
proposed a canonicalization of RDF graphs without changing their semantics [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
An approach for computing a digest of RDF graphs for content identi ers
without the need for canonicalization was discussed by Sayers and Karp [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Based
on this, Kasten et al. described the signing of individual sub-graphs [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
However, digital signatures typically rely on a centralized public-key infrastructure
whereas blockchains o er a decentralized, distributed, peer-to-peer
architecture [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. Multiple bene ts have been previously identi ed for applying
blockchains in the semantic web [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], e.g., for using RDF as the data storage format on
blockchains and thus providing a decentralized, immutable, tamper-proof data
storage for RDF graphs [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Another approach has been proposed in the form
of knowledge blockchains for the transparent monitoring of ontology evolution
and proving the existence of concepts without disclosing them using so-called
zero-knowledge proofs [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Tuan et al. presented a hybrid approach for storing
RDF triplets for use in edge networks, where triplets are stored in a distributed
o -chain RDF store but access is controlled by smart contracts [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
3
      </p>
      <p>
        Extension of WebProtege for Enabling Ontology
Attestations
The cloud-based, collaborative WebProtege editor is a well-established platform
for ontology authoring, which can be extended through a plugin system in the
form of portlets [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Therefore we chose it as foundation for realizing our
implementation for attesting to the provenance of ontologies. The implementation
is composed of three major components. A plugin (i) for WebProtege o ers the
UI for attesting to or verifying a loaded ontology. For that purpose, a digest of
the ontology is calculated by reverting to the OWL API [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Further, a
transaction containing the attestation information (IRI, version IRI, digest, name of the
signer) to the Ethereum blockchain is initiated. The connection and interaction
with the chain network is provided by Metamask4 (ii), a browser wallet
extension. Transactions are submitted to the network from a user account, i.e. users
are prompted to login with their Ethereum account and authorize the
transaction. Thereby, the transaction is digitally signed and sent to a smart contract
4 Metamask - https://metamask.io/
(iii) on the chain. The contract stores the received data, thus irrevocably
persisting the attestation information. Finally, a user may query the smart contract
to verify if an ontology has been attested to or was changed. The result of the
veri cation presents the user with information on the time and date of the
attestation as well as on who attested to the origin of the ontology. In this way
it can for example be inferred in a decentralized fashion and without someone
having to host the ontology centrally that an expert has validated and attested
to the provenance of an ontology, thus increasing the trust that can be placed
in that ontology.
In Ethereum, size and computational complexity of transactions are measured in
an energy unit, called Gas. This is a fee payed by the originator in the
cryptocurrency Ether and depends on the complexity of commands to be executed [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. The
Ether price of a unit of gas is in uenced by the transaction volume. Figure 2
shows historical transaction fees in USD for an attestation in comparison to a
baseline, a contract storing a 256bit integer value. E.g., on 1. June 2021, an
ontology attestation would have cost USD 8.62 (vs. baseline of USD 3.25). Both
gas and ether price are highly volatile. As such, the transaction cost may change
signi cantly in a short period of time.
      </p>
      <p>However, Ethereum is in the process of adopting the proof-of-stake
consensus mechanism5, enabling higher transaction throughput and better energy
efciency. Alternatively, our approach may be adapted to other blockchain-based
systems, e.g., Avalanche6, an Ethereum compatible proof-of-stake blockchain,
5 See https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/
6 Avalanche - https://www.avax.network/
1000
100
)
0
1
g
o
l
(
]D 10
S
U
[
t
s
o
C
iton 1
c
a
s
n
a
r
T
0.1
Mean cost for attestation
Baseline transaction cost
or the Bloxberg infrastructure7 for decentralized services for the scienti c
community. We provide the experimental dataset and prototype implementation as
open source8. The attestation approach, in form of a portlet plugin, has been
integrated in a fork of the original WebProtege distribution. Submitting
authorized transactions to the chain network is not handled by the plugin itself, but
instead delegated to the required browser wallet extension (Metamask). Thus,
users are required to install this extension prior to using the plugin. In return,
users retain full control of chain interactions.</p>
      <p>Cost of ontology attestation in USD since Jan. 2020
7 Bloxberg infrastructure - https://bloxberg.org/
8 Repository - https://github.com/curtys/webprotege-attestation-base
Future work will include the investigation of alternative hashing procedures for
ontologies for enabling zero-knowledge proofs on a more ne granular level and
the extension of the smart contract implementation towards supporting
attestations by multiple users.</p>
    </sec>
    <sec id="sec-3">
      <title>Acknowledgments</title>
      <p>The research on this paper has been partially
Science Fund grant number 196889.
nanced by the Swiss National</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Antonopoulos</surname>
            ,
            <given-names>A.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wood</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          :
          <article-title>Mastering ethereum: building smart contracts and dapps</article-title>
          .
          <source>O'reilly Media</source>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Cano-Benito</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cimmino</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garc</surname>
            a-Castro,
            <given-names>R.</given-names>
          </string-name>
          :
          <article-title>Towards blockchain and semantic web</article-title>
          .
          <source>In: Business Information Systems Workshops</source>
          . pp.
          <volume>220</volume>
          {
          <fpage>231</fpage>
          . Springer (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Carroll</surname>
            ,
            <given-names>J.J.</given-names>
          </string-name>
          :
          <article-title>Signing RDF Graphs</article-title>
          . In: ISWC. pp.
          <volume>369</volume>
          {
          <fpage>384</fpage>
          . Springer (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Fill</surname>
            ,
            <given-names>H.G.</given-names>
          </string-name>
          :
          <article-title>Applying the Concept of Knowledge Blockchains to Ontologies</article-title>
          . In:
          <article-title>AAAI 2019 Spring Symposium</article-title>
          . CEUR-WS.org (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Fill</surname>
          </string-name>
          , H., Harer, F.:
          <article-title>Supporting trust in hybrid intelligence systems using blockchains</article-title>
          .
          <source>In: AAAI 2020 Spring Symposium. CEUR-WS.org</source>
          (
          <year>2020</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. Harer,
          <string-name>
            <given-names>F.</given-names>
            ,
            <surname>Fill</surname>
          </string-name>
          , H.:
          <article-title>Decentralized Attestation of Conceptual Models Using the Ethereum Blockchain</article-title>
          .
          <source>IEEE CBI Conference 01</source>
          ,
          <issue>104</issue>
          {
          <fpage>113</fpage>
          (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>van Harmelen</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>ten Teije</surname>
          </string-name>
          , A.:
          <article-title>A boxology of design patterns for hybrid learning and reasoning systems</article-title>
          .
          <source>J. Web Eng</source>
          .
          <volume>18</volume>
          (
          <issue>1-3</issue>
          ),
          <volume>97</volume>
          {
          <fpage>124</fpage>
          (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Horridge</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>OWL API main repository</article-title>
          . https://github.com/owlcs/owlapi (
          <year>2020</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Horridge</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Goncalves</surname>
            ,
            <given-names>R.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nyulas</surname>
            ,
            <given-names>C.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tudorache</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Musen</surname>
            ,
            <given-names>M.A.</given-names>
          </string-name>
          :
          <article-title>WebProtege: A Cloud-Based Ontology Editor</article-title>
          .
          <source>In: World Wide Web Conference</source>
          . pp.
          <volume>686</volume>
          {
          <fpage>689</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Kasten</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Scherp</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schau</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>A Framework for Iterative Signing of Graph Data on the Web</article-title>
          .
          <source>In: ESCW Conference</source>
          . pp.
          <volume>146</volume>
          {
          <fpage>160</fpage>
          . Springer (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Sayers</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Karp</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Computing the digest of an RDF graph</article-title>
          .
          <source>Tech. rep., HP Laboratories Palo Alto</source>
          (
          <year>2004</year>
          ), https://www.hpl.hp.com/techreports/2003/ HPL-2003
          <source>-235R1.pdf (last access 2021-04-09)</source>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Sopek</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , et al.:
          <article-title>GraphChain: A Distributed Database with Explicit Semantics and Chained RDF Graphs</article-title>
          .
          <source>In: The Web Conference</source>
          <year>2018</year>
          . pp.
          <volume>1171</volume>
          {
          <fpage>1178</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Tuan</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hingu</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hauswirth</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Le-Phuoc</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Incorporating Blockchain into RDF Store at the Lightweight Edge Devices</article-title>
          .
          <source>In: Int. Conf. on Semantic Systems</source>
          . pp.
          <volume>369</volume>
          {
          <fpage>375</fpage>
          . Springer (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Yakubov</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shbair</surname>
            ,
            <given-names>W.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wallbom</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sanda</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>State</surname>
            ,
            <given-names>R.:</given-names>
          </string-name>
          <article-title>A blockchain-based PKI management framework</article-title>
          .
          <source>In: IEEE/IFIP Network Operations and Management</source>
          . pp.
          <volume>1</volume>
          {
          <issue>6</issue>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>