<!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>
      <journal-title-group>
        <journal-title>Hersonissos, Greece
$ jonas.steinbach@ugent.be (J. Steinbach); gertjan.demulder@ugent.be (G. De Mulder); ben.demeester@ugent.be
(B. De Meester); beatriz.esteves@ugent.be (B. Esteves); ruben.verborgh@ugent.be (R. Verborgh)
 https://github.com/gertjandemulder (G. De Mulder); https://ben.de-meester.org/#me (B. De Meester)</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Inter-Pod Credential Exchange Protocol via Linked Data Notifications</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jonas Steinbach</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gertjan De Mulder</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ben De Meester</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Beatriz Esteves</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ruben Verborgh</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Ghent University - imec - IDLab, Department of Electronics and Information Systems</institution>
          ,
          <addr-line>Ghent</addr-line>
          ,
          <country country="BE">Belgium</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2024</year>
      </pub-date>
      <volume>000</volume>
      <fpage>0</fpage>
      <lpage>0003</lpage>
      <abstract>
        <p>Solid is a set of specifications to describe a decentral Web protocol that enables Personal Data Spaces, empowering individuals to keep control of their personal data, stored in decentralized personal online data stores called Pods. Here, Verifiable Credentials (VC) are a type of data of particular interest, as they allow for cryptographically secure and verifiable digital credentials, which can be used for access and identity management, and also tie into diferent European Data strategy use cases. However, although the use of VCs within Solid is increasingly receiving attention, there exists no VC exchange protocol within Solid. More specifically, current applications need to rely on implicit agreements for both the transfer destination (i.e. the Web location where the VC should be sent to), and the data format of the messages exchanged. This forces stakeholders to invent their own credential transfer mechanisms, thereby hampering interoperability and adoption. In this paper, we present a VC exchange protocol between Solid Pods with explicit target destination and message format. We propose a working and interoperable protocol using DIDComm for structured messaging primitives in the form of JSON-headers and LDN inboxes as target destinations. LDN inboxes are interoperable with Solid and can be advertised via WebIDs, however, their setup and management of LDN inboxes is dificult, and reliance on WebIDs for inbox discovery might prevent interoperability between systems with diferent identifiers.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Solid</kwd>
        <kwd>Exchange protocol</kwd>
        <kwd>Linked Data Notifications</kwd>
        <kwd>Verifiable Credentials</kwd>
        <kwd>Personal Data Spaces</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Opportunities for Personal Data Spaces (PDS) emergedue to ongoing efort on Data Spaces [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]:
(European) legislative and governmental eforts for more privacy and control of personal data,
e.g. through the European Data strategy [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], and laws such as the GDPR [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], and the DGA [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
One type of PDS is Solid [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]: a set of specifications to describe a decentral Web protocol that
builds on top of Linked Data1. Solid allows the flow and exchange of diferent kinds of personal
and non-personal data in decentralized personal online data stores, called (Solid) Pods [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>
        Of particular interest to PDS and Solid are Verifiable Credentials (VC) [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]: cryptographically
secure and verifiable digital credentials that can contain both personal and non-personal (Linked)
data. Such verifiable claims can be used for access and identity management (e.g. within
Solid [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]), and tie into diferent use-cases of the European Data strategy (e.g. citizen governance
and verifiable diplomas [
        <xref ref-type="bibr" rid="ref10 ref2 ref9">2, 9, 10</xref>
        ]).
      </p>
      <p>However, there exists no transfer protocol that specifies how to transfer VCs in the Solid
ecosystem – from, to, and between Solid Pods – without relying on implicit
applicationdependent agreements. VCs are thus transferred on case-by-case basis. This challenges
interoperability and adoption, as new developers and users are prevented from adopting and re-using
existing working solutions, and have to resort to out-of-band-communication or reading each
others’ source code.</p>
      <p>
        All the steps within a VC lifecyle –issuing, holding, and verifying– have been demonstrated
to work with Solid [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], but what if there are diferent systems and implementations, from
diferent vendors and organizations, as is commonplace in decentralized architectures? How
do we transfer VCs between Pods? Which data format should be used? Which credential
representation? Where should VCs be sent? Where will they be held?
      </p>
      <p>In this paper, we present a VC exchange protocol between Pods. We especially focus on (i)
where and how should VCs be transferred between Solid Pods, and (ii) in which format. After
introducing background and related work (Section 2), we specify our approach (Section 3) and
implementation (Section 4), finally discussing (Section 5) and concluding on it (Section 6).</p>
    </sec>
    <sec id="sec-2">
      <title>2. Background and Related Work</title>
      <p>
        Solid – currently developed by the Solid W3C Community Group2 being formed into a W3C
Working Group – adopts the Linked Data Platform (LDP) specification 3, with each Solid Pod
containing its own collection of linked resources (e.g. images, CSV files, and RDF data). However,
as neither Solid nor LDP specify rules on where to write data, interoperability issues arise [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
Identity in Solid is handled using a WebID: a public accessible URI that dereferences to a
WebID Profile Document containing profile (RDF) data 4.
      </p>
      <p>
        Verifiable Credentials (VCs) have been used and explored in combination with Solid in
multiple ways. VCs have been used in Solid for issuance, verification, authentication, and
authorization [
        <xref ref-type="bibr" rid="ref12 ref8">8, 12</xref>
        ]. But to the best of our knowledge, there exists no transfer protocol
that specifies how to transfer VCs within the Solid ecosystem, without relying on implicit
application-dependent agreements.
      </p>
      <p>
        Communication in Solid is done via standard HTTP methods, with more detailed
notification and exchange protocols built on top. The Solid protocol itself specifies two notification
protocols: Linked Data Notifications (LDN) [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] and Solid Notifications 5.
      </p>
      <p>LDN is a W3C recommended permissive and decentralized push-based communication
protocol6, intended for interoperability, and without restraints on possible usage domains. It</p>
      <sec id="sec-2-1">
        <title>2https://www.w3.org/community/solid/</title>
        <p>3https://www.w3.org/TR/ldp/
4https://solid.github.io/webid-profile/
5https://solidproject.org/TR/notifications-protocol
6https://www.w3.org/TR/ldn/
applies the Solid principles – deduplication of data storage and data usage – by treating and
persisting notifications as resources. That means any received notification gets saved on the
receiving server as a document, which allows notifications to be treated as unique entities,
including assignment of a URI. Center to LDN is the LDN inbox, which acts as destination and
receiving endpoint for all Linked Data notifications, in turn allowing further consumption. LDN
does not specify any rules on message type or format. It also does not do any authentication,
validation, or verification of messages. In Solid, the LDN inbox gets set via the public-facing
WebID profile document 7, allowing its discovery.</p>
        <p>The Solid Notification Protocol in comparison is a subscription based protocol, intended for
receiving update notification on resource changes. It allows clients to listen to resource updates.
Unlike LDN, which starts with the discovery of the inbox, a Solid Notification subscription
begins with discovering notification services available on a resource. Then, a Subscription
Request is sent, and a Notification Channel established. This notification channel can be of
varying types, including WebSockets, WebHooks, and LDN8.</p>
        <p>
          Out of these protocols, LDN is the most generic and modular, evidenced by its ample
extensions and adaptions, e.g. for Web Push Notifications [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ], or for communication in scholarly
use-cases [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] and multi-agent Web communication [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ].
        </p>
        <p>
          The Trust over IP stack describes how to facilitate trust and exchange VCs between
peers on the Internet [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]. The DIDComm methodology of messaging protocols is responsible
for the trusted peer connection and data exchange. DIDComm Messaging [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] provides a set
of privacy primitives to support the modular creation of decentral, trustworthy, and secure
exchange protocols. It can be used to build higher-order protocols intended for more specialized
purposes.
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Design</title>
      <p>When transferring VCs between Solid Pods, current implementations’ interaction between
multiple parties depends on implicit contracts and out-of-band communication for both the
transfer destination (i.e., the location where the VC gets sent too) and the data structure.</p>
      <p>Our solution design therefore consists of two components. On the one hand, by using a
notiifcation protocol as a way to transfer data, we make the out-of-band agreements explicit. On the
other hand, by adhering to a standardized message structure, we make sure that interoperability
across applications is retained.</p>
      <p>LDN solves the problem of out-of-band agreements on transfer destination via its inboxes.
In Solid, LDN inboxes can be explicitly advertised via the WebID profile document. As the
WebId profile document allows to make statements about the owner of a Solid Pod, we can
associate a Solid user identity with the transfer destination by advertising the user’s inbox. This
means that the minimum required information for a credential transfer is the WebID of the
other party: as long as they have set up and advertised their inbox (by setting the ldp:inbox
triple), notifications can be sent. The LDN inbox acts as receiver for all incoming notifications,
handling them as individual entities with their own respective URIs.</p>
      <sec id="sec-3-1">
        <title>7https://solid.github.io/webid-profile/#inbox 8https://solid.github.io/notifications/ldn-channel-2023</title>
        <p>Figure 1 shows an overview of our LDN inbox system. Neither the Sender nor the Consumer
need to be using Solid, although the consumption of the inbox (Read, Write, Delete) likely is
access controlled9.</p>
        <p>As LDN depends on implicit data structures, interoperable consumption and reuse will be
dificult. We therefore build on top of the DIDComm Messaging methodology.</p>
        <p>We adapt the DIDComm plaintext message format to form a reusable envelope that wraps
around the to-be-transported VC, with the intention of being easy to create, send, and consume
on a Solid Pod, in turn enabling common VC ecosystem use-cases, e.g. issuance, holding, and
verification. We do so by reusing and introducing a number of DIDComm notification JSON(-LD)
headers to structure the notification. Table 1 shows the protocol headers, which can be divided
into three categories: Improved inbox handling, data reuse, and data envelope.</p>
        <p>By default, handling of the LDN inbox is dificult, as it contains an unstructured collection
of resources, and inherently lacks means to identify and find notifications (e.g. notifications
get saved with a random UUID as file name). To find a specific notification, inbox consumers
need to access and read each notification one-by-one. We reuse DIDComm’s id, from, to, and
created_time to help identify the notification in the inbox and provide inbox consumers with
common hooks to look and query for, even though these consumers still need to access and
scan each notification in the inbox. The optional expires_time can be used to enable automatic
cleanup and deletion.</p>
        <p>To make the data usable and understandable, we reuse the type header to specify the
notification type of the credential enveloped in the body. The type should be descriptive,
machine-understandable, actionable, and promote reuse, e.g. by using a shared RDF data
vocabulary allowing an inbox consumer to understand how to consume it. For example, the type
https://example.org/IPCEP/transfer could be used to indicate that this notification is
being transferred, and can be consumed as is10.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Implementation</title>
      <p>The protocol has been implemented in a research prototype, available on GitHub at https://github.
com/SolidLabResearch/inter-pod-credential-exchange-protocol, DOI https://doi.org/10.5281/
zenodo.10992060, under the permissive MIT License. It is built on top of the Community Solid
Server, a Solid Pod reference implementation11. For the issuance, derivation, and verification of
the credentials, we use the mature Mattr Linked Data proof suite to create BBS+ Signatures for
the VC12.</p>
      <p>Our demo mimics a common VC lifecycle in the Solid ecosystem. It is split into three phases:</p>
      <sec id="sec-4-1">
        <title>1. The Issuer issues and transfers a new VC to the Holder.</title>
        <p>2. The Holder consumes the VC, derives a new VC, and sends it to the Holder
3. The Verifier consumes and verifies the derived VC</p>
        <p>For this, three Solid Pods (one for each actor) have been set up, each with a corresponding
WebID and LDN inbox. Our proposed exchange protocol is used in the first and second phase
to send credentials, and in the second and third phase to receive and consume credentials. The
Holder is located in the middle of the flow, with the Issuer and the Verifier not knowing about
each other. This is intended to showcase that the protocol is interoperable: sending a message
from party A to party B, and then forwarding the same message from party B to party C, with
C being able to read and understand it.</p>
        <p>To cold-start the demo, we assume that the Issuer already knows the identity of the Holder
(WebID), as it is necessary to issue a credential. Similarly, we assume the Holder knows the
Verifier (WebID), as they present the claim to them.</p>
        <p>Figure 2 shows the demo flow.
10Specification of actual type descriptions is out of scope of this paper.
11https://github.com/CommunitySolidServer/CommunitySolidServer
12https://github.com/mattrglobal/jsonld-signatures-bbs/
(a) Issuer issues and sends new VC
(b) Holder derives and sends secondary VC</p>
        <p>In Figure 2a, the Issuer issues and sends a new VC to the Holder. First, the Issuer issues a new
VC (A). Then, the Issuer resolves the WebID of the Holder (1-2) to discover the location of the
LDN inbox (3). The Issuer envelopes the VC, specifying the correct headers, and POSTs it to the
inbox of the Holder (4). The Holder monitors their inbox for changes, by ways not determined
in our protocol (B). To consume the inbox, the Holder GETs all notifications in the inbox (5),
and then discovers and consumes them one-by-one (6). As each notification specifies a message
type, the Holder can understand if a notification contains a VC, and knows how to unpack it
(C).</p>
        <p>In Figure 2b, the Holder derives and sends a secondary VC to the Verifier. The flow is identical
to Figure 2a, except that the Holder derives a VC (D), which the Verifier verifies it in the end ( F).</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Discussion</title>
      <p>LDN proves successful as transport mechanism, allowing us to send notifications from, to, and
between Solid Pods. However, neither the setup of the inbox, nor the handling and consumption
of it are straightforward.</p>
      <p>On the one hand, setup of the inbox needs to be done manually, which involves adding
the correct triple to the WebID profile document, as well as making sure that the inbox container
exists, and that access control (i.e. being readable and writeable) is set. This manual setup is
required as Solid Pod implementations, such as the Community Solid Server, do not set up an
inbox by default13. This is done as safety measure and to combat spam, as a public LDN can be
written to by everyone. Hence, our approach does not completely remove implicit agreements:
an inbox needs to be (manually) set up.</p>
      <p>Also, notifications get placed in one inbox container without any order , using a
generated UUID as file name. There are no default means for filtering and finding resources. To
ifnd a specific notification, we must loop through the whole (unpaginated) notification collection
and inspect every message individually.</p>
      <p>On the other hand, as the inbox constitutes a central container that stores an unstructured
and unprotected collection of notifications, it will be accessed by diferent consumers
applications that all share the same set of rights to move, change, read or delete
notifications . This makes it possible for a negligent or malicious consumer to move or delete
notifications that are otherwise being relied on. This can be partially mitigated with access
controls, for example by restricting consumers to read-only, as well as preventing change and
deletion of notifications, but usability and privacy concerns remain.</p>
      <p>We can summarize above findings into following recommendations for LDN support in Solid:
(i) provide an option to enable and disable an (LDN) inbox within pod management software,
(ii) provide methods for filtering and pagination of notifications, and (iii) allow for more granular
access and usage controls.</p>
      <p>We now continue a more high-level discussion on functionality of our proposed approach.</p>
      <p>As exchanges can take place across ecosystem boundaries, we do not allow addressing
multiple recipients in the to header. Sending to multiple recipients should be done separately,
as otherwise the WebID of every recipient will be disclosed.</p>
      <p>To stay extensible and re-usable for a wide range of targeted purposes, we do not set any
rules on how to consume the notification and contained credential . Instead, our protocol
ofers the type header to specify how to consume the enveloped data, for example through use
of semantic vocabularies.</p>
      <p>Taking a step back, the LDN design depends on a properly set up inbox (which provides no
failsafe except for HTTP error codes), and relies on WebIDs for discovery. Although WebIDs
are the default identifier within Solid, they do not yet integrate well with other identifiers used
in the the VC ecosystem, such as Decentralized Identifiers 14.</p>
      <p>13https://github.com/CommunitySolidServer/CommunitySolidServer/issues/515
14https://www.w3.org/TR/did-core/</p>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusion and Future Work</title>
      <p>In this work, we designed an application-level inter-Pod credential exchange protocol and
implemented it in a research prototype on top of the Community Solid Server. We apply LDN
in combination with DIDComm Messaging primitives to solve the problem of implicit contracts
when transferring VCs in the Solid ecosystem.</p>
      <p>The combination of LDN and DIDComm Messaging were demonstrated succesfully, but we
ifnd that LDN has weaknesses that hamper ease of use, especially filtering and finding
notifications in the inbox. An LDN inbox intermediary could help manage the diferent notifications.
Similarly, there is a need for more granular access control for messages, as well as usage policies
and logs, to show how notifications are consumed and processed in the LDN inbox.</p>
      <p>Looking at our transfer protocol, we currently use a plain-text message body. This sufices for
our purposes, and also has the benefit of improved clarity and ease of debugging. Nevertheless,
a next step should be secure encapsulation, e.g. encrypted and signed DIDComm Messaging
envelopes, to help with verifiability, tamper-evidence, and provenance. Similarly, our protocol
could be extended to interoperate with other DIDComm protocols, for example by supporting
diferent identifiers to discover the LDN inbox.</p>
      <p>
        Although being a first step in inter-Pod credential exchange, we believe our protocol has the
potential to solve a real need and can be extended to broader requirements, relevant for the
GDPR and the DGA [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ].
      </p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgments</title>
      <p>The described research activities were supported by SolidLab Vlaanderen (Flemish Government,
EWI and RRF project VV023/10), and imec ICON project SHARCS (Agentschap Innoveren en
Ondernemen project nr. HBC.2022.0543).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>J.</given-names>
            <surname>Theissen-Lipp</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kocher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Lange</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Decker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Paulus</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Pomp</surname>
          </string-name>
          , E. Curry, Semantics in Dataspaces: Origin and Future Directions,
          <source>in: Companion Proc. ACM Web Conf</source>
          .
          <year>2023</year>
          , WWW '23 Companion, Association for Computing Machinery, New York, NY, USA,
          <year>2023</year>
          , pp.
          <fpage>1504</fpage>
          -
          <lpage>1507</lpage>
          . doi:
          <volume>10</volume>
          .1145/3543873.3587689.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>European</given-names>
            <surname>Comission</surname>
          </string-name>
          ,
          <article-title>A European strategy for data</article-title>
          ,
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>European</given-names>
            <surname>Union</surname>
          </string-name>
          ,
          <year>Regulation 2016</year>
          /679 (General Data Protection Regulation),
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>European</given-names>
            <surname>Union</surname>
          </string-name>
          ,
          <year>Regulation 2022</year>
          /868 (Data Governance Act),
          <year>2022</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>S.</given-names>
            <surname>Van Damme</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Mechant</surname>
          </string-name>
          , E. Vlassenroot,
          <string-name>
            <surname>M. Van Compernolle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Buyle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Bauwens</surname>
          </string-name>
          ,
          <article-title>Towards a Research Agenda for Personal Data Spaces: Synthesis of a Community Driven Process</article-title>
          , in: M.
          <string-name>
            <surname>Janssen</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Csáki</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          <string-name>
            <surname>Lindgren</surname>
            , E. Loukis, U. Melin,
            <given-names>G. Viale</given-names>
          </string-name>
          <string-name>
            <surname>Pereira</surname>
            ,
            <given-names>M. P.</given-names>
          </string-name>
          <string-name>
            <surname>Rodríguez Bolívar</surname>
          </string-name>
          , E. Tambouris (Eds.),
          <source>Electron. Gov., Lecture Notes in Computer Science</source>
          , Springer International Publishing, Cham,
          <year>2022</year>
          , pp.
          <fpage>563</fpage>
          -
          <lpage>577</lpage>
          . doi:
          <volume>10</volume>
          .1007/ 978-3-
          <fpage>031</fpage>
          -15086-9_
          <fpage>36</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>E.</given-names>
            <surname>Mansour</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. V.</given-names>
            <surname>Sambra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Hawke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Zereba</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Capadisli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ghanem</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Aboulnaga</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Berners-Lee</surname>
          </string-name>
          ,
          <article-title>A Demonstration of the Solid Platform for Social Web Applications</article-title>
          ,
          <source>Proc. 25th Int. Conf. Companion World Wide Web - WWW 16 Companion</source>
          (
          <year>2016</year>
          )
          <fpage>223</fpage>
          -
          <lpage>226</lpage>
          . doi:
          <volume>10</volume>
          .1145/2872518.2890529.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>M.</given-names>
            <surname>Sporny</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Longley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. W.</given-names>
            <surname>Chadwick</surname>
          </string-name>
          ,
          <source>Verifiable Credentials Data Model v1</source>
          .
          <fpage>1</fpage>
          -
          <string-name>
            <given-names>W3C</given-names>
            <surname>Recommendation</surname>
          </string-name>
          ,
          <source>Technical Report, W3C</source>
          ,
          <year>2022</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>C. H.-J. Braun</surname>
          </string-name>
          , T. Käfer,
          <article-title>Attribute-based Access Control on Solid Pods using Privacyfriendly Credentials</article-title>
          ,
          <source>in: International Conference on Semantic Systems</source>
          ,
          <year>2022</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>A.</given-names>
            <surname>Preukschat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Reed</surname>
          </string-name>
          ,
          <string-name>
            <surname>Self-Sovereign</surname>
            <given-names>Identity</given-names>
          </string-name>
          , Manning Publications,
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>J.</given-names>
            <surname>Sedlmeir</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Smethurst</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Rieger</surname>
          </string-name>
          , G. Fridgen, Digital Identities and
          <string-name>
            <given-names>Verifiable</given-names>
            <surname>Credentials</surname>
          </string-name>
          ,
          <source>Bus Inf Syst Eng</source>
          <volume>63</volume>
          (
          <year>2021</year>
          )
          <fpage>603</fpage>
          -
          <lpage>613</lpage>
          . doi:
          <volume>10</volume>
          .1007/s12599-021-00722-y.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>R.</given-names>
            <surname>Dedecker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Slabbinck</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Wright</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Hochstenbach</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Colpaert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Verborgh</surname>
          </string-name>
          ,
          <article-title>What's in a Pod? A knowledge graph interpretation for the Solid ecosystem</article-title>
          ,
          <source>in: 6th Workshop Storing Querying Benchmarking Knowl. Graphs QuWeDa ISWC</source>
          <year>2022</year>
          , volume
          <volume>3279</volume>
          ,
          <string-name>
            <surname>CEUR</surname>
          </string-name>
          ,
          <year>2022</year>
          , pp.
          <fpage>81</fpage>
          -
          <lpage>96</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>C. H.-J. Braun</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          <string-name>
            <surname>Papanchev</surname>
            , T. Käfer,
            <given-names>SISSI:</given-names>
          </string-name>
          <article-title>An Architecture for Semantic Interoperable Self-Sovereign Identity-based Access Control on the Web</article-title>
          ,
          <source>in: Proc. ACM Web Conf</source>
          .
          <year>2023</year>
          , WWW '23,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2023</year>
          , pp.
          <fpage>3011</fpage>
          -
          <lpage>3021</lpage>
          . doi:
          <volume>10</volume>
          .1145/3543507.3583409.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>S.</given-names>
            <surname>Capadisli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Guy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Lange</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Auer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Sambra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Berners-Lee</surname>
          </string-name>
          ,
          <article-title>Linked Data Notifications: A Resource-Centric Communication Protocol</article-title>
          , in: E.
          <string-name>
            <surname>Blomqvist</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Maynard</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Gangemi</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Hoekstra</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Hitzler</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          Hartig (Eds.),
          <source>The Semantic Web</source>
          , volume
          <volume>10249</volume>
          , Springer International Publishing, Cham,
          <year>2017</year>
          , pp.
          <fpage>537</fpage>
          -
          <lpage>553</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>319</fpage>
          -58068-5_
          <fpage>33</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>C. H.-J. Braun</surname>
          </string-name>
          , T. Käfer,
          <article-title>Web Push Notifications from Solid Pods</article-title>
          ,
          <source>in: Web Eng. 22nd Int. Conf. ICWE 2022 Bari Italy July 5-8 2022 Proc.</source>
          , Springer-Verlag, Berlin, Heidelberg,
          <year>2022</year>
          , pp.
          <fpage>487</fpage>
          -
          <lpage>490</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>031</fpage>
          -09917-5_
          <fpage>41</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>P.</given-names>
            <surname>Hochstenbach</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Verborgh</surname>
          </string-name>
          ,
          <string-name>
            <surname>H. Van De Sompel</surname>
          </string-name>
          ,
          <article-title>Using Event Notifications, Solid and Orchestration for Decentralizing and Decoupling Scholarly Communication (</article-title>
          <year>2023</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>J.-P.</given-names>
            <surname>Calbimonte</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvaresi</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Schumacher, Multi-agent Interactions on the Web Through Linked Data Notifications</article-title>
          , in: F.
          <string-name>
            <surname>Belardinelli</surname>
          </string-name>
          , E. Argente (Eds.),
          <source>Multi-Agent Systems and Agreement Technologies</source>
          , volume
          <volume>10767</volume>
          , Springer International Publishing, Cham,
          <year>2018</year>
          , pp.
          <fpage>44</fpage>
          -
          <lpage>53</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>030</fpage>
          -01713-
          <issue>2</issue>
          _
          <fpage>4</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>M.</given-names>
            <surname>Davie</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Gisolfi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Hardman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Jordan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. O</given-names>
            <surname>'Donnell</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Reed</surname>
          </string-name>
          ,
          <article-title>The Trust over IP Stack</article-title>
          ,
          <source>IEEE Comm. Stand. Mag</source>
          .
          <volume>3</volume>
          (
          <year>2019</year>
          )
          <fpage>46</fpage>
          -
          <lpage>51</lpage>
          . doi:
          <volume>10</volume>
          .1109/
          <string-name>
            <surname>MCOMSTD</surname>
          </string-name>
          .
          <volume>001</volume>
          .1900029.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>S.</given-names>
            <surname>Curren</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Looker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Terbu</surname>
          </string-name>
          ,
          <source>DIDComm Messaging Specification v2.1</source>
          ,
          <string-name>
            <surname>Technical</surname>
            <given-names>Report</given-names>
          </string-name>
          ,
          <year>2023</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>M.</given-names>
            <surname>Florea</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Esteves</surname>
          </string-name>
          , Is Automated Consent in Solid GDPR-Compliant?
          <article-title>An Approach for Obtaining Valid Consent with the Solid Protocol</article-title>
          ,
          <source>Information</source>
          <volume>14</volume>
          (
          <year>2023</year>
          )
          <article-title>631</article-title>
          . doi:
          <volume>10</volume>
          . 3390/info14120631.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>