Skip to content

Commit

Permalink
render the spec
Browse files Browse the repository at this point in the history
  • Loading branch information
gv authored and gv committed Jan 6, 2025
1 parent e4c9408 commit ef6a858
Showing 1 changed file with 75 additions and 2 deletions.
77 changes: 75 additions & 2 deletions spec/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -78,12 +78,80 @@ <h1 id="linked-claims"><a class="toc-anchor" href="#linked-claims" >§</a> Linke
<dd>(add here as people contribute!)</dd>
<dt>Feedback:</dt>
<dd><a href="https://github.com/org/repo">GitHub Issues</a></dd>
<dt>Related Documents:</dt>
<dd><a href="#">tbd</a></dd>
</dl>
</details>
<h2 id="abstract"><a class="toc-anchor" href="#abstract" >§</a> Abstract</h2>
<p>Evaluating the credibiity of digital information about the real world is a difficult problem, one which is not sufficiently addressed by cryptographic signing or blockchain validation. An open, interoperable, cross-domain web of trust could enable robust credibility assessment; a number of projects pursue this goal. LinkedClaims is a minimal standard to enable links between independent claims: each claim must be addressable (ie have a URI), must be about an addressable subject, and must be cryptographically signed. Several desirable features are also identified, such as the ability to make a determinate hash of claim content. The LinkedClaim pattern already exists in several independent projects and implementations; by defining profiles or mappings for these existing data structures to a LinkedClaim data model, we enable linking them together without requiring changes to their native formats.</p>
<p>This specification defines the fundamental requirements for a claim to be classified as a “linked claim.” It introduces the concept of a LinkedClaim profile, outlines how an ecosystem can achieve conformance with the linked claim requirements, and provides guidance on specifying additional requirements through a profile. However, it does not define any specific profile or provide an implementation guide, which are addressed in separate documents.</p>
<h2 id="related-work"><a class="toc-anchor" href="#related-work" >§</a> Related Work</h2>
<p>The LinkedClaims specification is being developed alongside several complementary initiatives:</p>
<ul>
<li><a href="TBD" >Progressive Trust</a> - A framework for building trust through incremental verification and validation of claims</li>
<li><a href="TBD" >digest Multibase Hashlink</a> - TBD</li>
<li><a href="TBD" >inbox</a> - The use of an ActivityPub compatible inbox for replies to claims</li>
</ul>
<h2 id="status-of-this-document"><a class="toc-anchor" href="#status-of-this-document" >§</a> Status of This Document</h2>
<p>Decentralized Web Node is a <em>DRAFT</em> specification under development within the <a path-0="identity.foundation"href="https://identity.foundation" >Decentralized Identity Foundation</a> (DIF). It is an active work item of the <a path-0="github.com"path-1="decentralized-identity"path-2="labs"path-3="blob"path-4="main"path-5="proposals"path-6="linked_claims"path-7="001_proposal.md"href="https://github.com/decentralized-identity/labs/blob/main/proposals/linked_claims/001_proposal.md" >Linked Claim Incubation Lab at DIF</a> It incorporates requirements and learnings from diverse stakeholders across sectors into a shared specification that meets the collective needs of the community.</p>
<p>The specification will be updated to incorporate feedback, from DIF members and the wider community, with a reference implementation being developed that exercises the features and requirements defined here. We encourage reviewers to submit <a path-0="github.com"path-1="decentralized-identity"path-2="labs-linkedclaims"path-3="issues"href="https://github.com/decentralized-identity/labs-linkedclaims/issues" >GitHub Issues</a> as the means by which to communicate feedback and contributions.</p>
<h2 id="terminology"><a class="toc-anchor" href="#terminology" >§</a> Terminology</h2>
<p><span id="term:did">DID</span> ~ A Decentralized Identifier as defined in <a path-0="www.w3.org"path-1="TR"path-2="did-core"path-3=""href="https://www.w3.org/TR/did-core/" ><span>https://www.w3.org/TR/did-core/</span></a></p>
<p><span id="term:linked-claim">Linked Claim</span> ~ A structured, cryptographically signed document with a URI subject that is itself addressable at a URI, following at least the MUST requirements detailed below.</p>
<p><span id="term:signer">Signer</span> ~ The entity that cryptographically signs a claim (known as the “issuer” in Verifiable Credentials)</p>
<p><span id="term:uri">URI</span> ~ a Uniform Resource Identifier as defined in <a path-0="datatracker.ietf.org"path-1="doc"path-2="html"path-3="rfc3986"href="https://datatracker.ietf.org/doc/html/rfc3986" ><span>https://datatracker.ietf.org/doc/html/rfc3986</span></a></p>
<h2 id="core-pattern"><a class="toc-anchor" href="#core-pattern" >§</a> Core Pattern</h2>
<div class="mermaid">
graph LR
subgraph Claim-B
B_id["id: URI_B"]
B_subject["subject: URI_A"]
B_content["content: {...}"]
B_sig["signature: xyz"]
end

subgraph Claim-A
A_id["id: URI_A"]
A_subject["subject: URL_X"]
A_content["content: {...}"]
A_sig["signature: xyz"]
end

subgraph Resource
X["URL_X"]
end

%% Claims point to their subjects
B_subject -.-> A_id
A_subject -.-> X

classDef claim fill:#f8f8ff,stroke:#333,stroke-width:2px
classDef claimPart fill:#ffffff,stroke:#666,stroke-width:1px
classDef resource fill:#e8f4f8,stroke:#333,stroke-width:2px

class B_id,B_subject,B_content,B_sig,A_id,A_subject,A_content,A_sig claimPart
style Claim-A fill:#f8f8ff,stroke:#333,stroke-width:2px
style Claim-B fill:#f8f8ff,stroke:#333,stroke-width:2px
style Resource fill:#e8f4f8,stroke:#333,stroke-width:2px
style X fill:#ffffff

linkStyle 0,1 stroke:#666,stroke-width:2px,stroke-dasharray: 5
</div>
<h2 id="linkedclaim-conformance-requirements"><a class="toc-anchor" href="#linkedclaim-conformance-requirements" >§</a> LinkedClaim Conformance Requirements</h2>
<p>A LinkedClaim:</p>
<ul>
<li><strong>MUST</strong> have a subject that can be any valid URI</li>
<li><strong>MUST</strong> itself have an identifier that is a well-formed URI (URN is acceptable)</li>
<li><strong>MUST</strong> be cryptographically signed, such as with a DID</li>
<li><strong>SHOULD</strong> provide a mechanism to retrieve deterministic machine-readable content from its URI</li>
<li><strong>SHOULD</strong> include a date that is in the signed data</li>
<li><strong>SHOULD</strong> contain evidence such as links to a source or attachments, optionally hashlinked</li>
<li><strong>SHOULD</strong> have a URI-addressable cryptographic signer</li>
<li><strong>MAY</strong> have a narrative statement</li>
<li><strong>MAY</strong> be a W3C Verifiable Credential or similar digital credential specification</li>
<li><strong>MAY</strong> provide a way for the signer to mutate or revoke the claim</li>
<li><strong>MAY</strong> have a subject that itself is a claim</li>
<li><strong>MAY</strong> have a separate published date and effective date</li>
<li><strong>MAY</strong> be public or access controlled</li>
</ul>

</article>

Expand All @@ -109,6 +177,11 @@ <h2 id="abstract"><a class="toc-anchor" href="#abstract" >§</a> Abstract</h2>
<div id="toc_list">
<ul class="toc">
<li><a href="#abstract" >Abstract</a></li>
<li><a href="#related-work" >Related Work</a></li>
<li><a href="#status-of-this-document" >Status of This Document</a></li>
<li><a href="#terminology" >Terminology</a></li>
<li><a href="#core-pattern" >Core Pattern</a></li>
<li><a href="#linkedclaim-conformance-requirements" >LinkedClaim Conformance Requirements</a></li>
</ul>

</div>
Expand Down

0 comments on commit ef6a858

Please sign in to comment.