change category name to "web standards"

This commit is contained in:
Infominer 2020-01-15 11:37:46 -05:00
parent 5fc0ff9aa0
commit 46da1a630b
15 changed files with 96 additions and 39 deletions

View file

@ -0,0 +1,205 @@
---
date: 2019-03-03
title: Web Standards and the Emerging Decentralized ID Stack
layout: single
permalink: web-standards/
canonical_url: 'https://decentralized-id.com/specs-standards/'
redirect_from:
- standards
- standards/
- specs-standards/
categories: ["Web Standards","Hyperledger Foundation"]
tags: ["Index","Credentials Community Group", "DIF","FIDO","OpenID","XDI","W3C","OASIS","JSON-LD"]
last_modified_at: 2020-01-11
---
## High Level Overview
I've begun exploring and becoming more familiar with the decentralized nature of digital identity. Open processes for standardization, are critical components for enabling a system for identification that's both decentralized and widely interoperable.
<small>**This page requires a lot of attention.**</small>
* [**_A Taxonomic Approach to Understanding Emerging Blockchain Identity Management Systems_**](https://arxiv.org/pdf/1908.00929.pdf) NIST CYBERSECURITY WHITE PAPER (DRAFT) BLOCKCHAIN IDENTITY MANAGEMENT APPROACHES
JULY 9, 2019
> Identity management systems (IDMSs) are widely used to provision user identities while managing authentication, authorization, and data sharing both within organizations as well as on the Internet more broadly. Traditional identity systems typically suffer from single points of failure, lack of interoperability, and privacy issues such as encouraging mass data collection and user tracking. Blockchain technology has the potential to support novel data ownership and governance models with built-in control and consent mechanisms, which may benefit both users and businesses by alleviating these concerns; as a result, blockchain-based IDMSs are beginning to proliferate. This work categorizes these systems into a taxonomy based on differences in architecture, governance models, and other salient features. We provide context for the taxonomy by describing related terms, emerging standards, and use cases, while highlighting relevant security and privacy considerations.
[Hyperledger Identity Working Group - Identity Standards](https://wiki.hyperledger.org/display/IWG/Identity+Standards)
[The Self-Sovereign Identity Stack by Oliver Terbu OSI](https://medium.com/decentralized-identity/the-self-sovereign-identity-stack-8a2cc95f2d45)
## Standards Bodies
**_and other orgs worth keeping an eye on_**
I will begin with a listing of standards bodies, organizations and open processes, to which I'm paying attention (in addition to those previously gathered). From there, I can integrate and expand, as able.
* [ISSA (Information Systems Security Association)](https://www.issa.org/)
* [ISAO Standards](https://www.isao.org/)
* [IETF](https://datatracker.ietf.org/wg/)
* [NIST](https://www.nist.gov/)
* [ISO](https://www.iso.org/committee/6266604/x/catalogue/p/0/u/1/w/0/d/0)
* [IEEE](https://standards.ieee.org/)
* [DIF](https://identity.foundation/working-groups/) - [GitHub](https://github.com/decentralized-identity/)
* [Self Sovereign Identity Stack](https://medium.com/decentralized-identity/the-self-sovereign-identity-stack-8a2cc95f2d45)
* [Fido Alliance](https://fidoalliance.org/)
* [Hyperledger](https://www.hyperledger.org/join-a-group) - [Wiki](https://wiki.hyperledger.org/display/HYP/Working+Groups)
* [Kantara](https://kantarainitiative.org/groups/)
* [OpenID](https://openid.net/wg/)
* [Sovrin](https://sovrin.org/announcing-four-sovrin-governance-framework-wg-task-forces/) - [Forum](https://forum.sovrin.org/c/working-groups)
* [Me2B Alliance](https://www.me2balliance.org/repository.html)
* [Ethereum Enterprise Alliance](https://entethalliance.org/participate/working-groups/)
{% include figure image_path="/images/1280px-Who-Runs-the-Internet-graphic.png" alt="https://es.wikipedia.org/wiki/Archivo:Who-Runs-the-Internet-graphic.png" caption="[*Internet Governance*](https://en.wikipedia.org/wiki/Internet_governance)" %}
[Why Engage with Standards?](https://www.continuumloop.com/why-engage-with-standards/)
> too many people complain about problems but dont step to Fix It!. There are certainly a lot of flawed standards but they make interoperability possible not perfect but possible. If you havent used them then you have no right to complain that they are too complex, too simple (even in the same standard) or too domain specific or any of the other rants and raves that go on.
>
> If youre willing to put up with a lot of work for incremental improvements then step up and join a standard. Whether that is a (relatively) fast moving standard group like OASIS (www.oasis-open.org) or a slower but more international group like ISO you will learn. Youll also benefit from working with experts. These experts donate their time and are more than happy to provide ideas, guidance, and leadership.
[Who Are the Identerati? - ForgeRock](https://www.forgerock.com/blog/who-are-the-identerati)
> Youre familiar with digital identity standards like OpenID Connect, OAuth, and User-Managed Access, fundamental elements of privacy and security on the internet. But have you ever wondered how they came to be? A lot of work on these protocols went on (and goes on) behind t...
[Building Blocks for a New Architecture](https://medium.com/@trbouma/building-blocks-for-a-new-architecture-fda2238ac005)
> After looking at the many different digital platforms and mechanisms: centralized, decentralized, proof-of-work, proof-of-stake, the list goes on, I have concluded that all of these new platforms boil down to fulfilling three core societal functions: value, identity, and status, underpinned by consensus.
## W3C
![](https://imgur.com/Lz6RTysl.png)
* [World Wide Web Consortium(W3C)](https://www.w3.org/) [[**T**](https://twitter.com/w3c)] [[**G**](https://github.com/w3c)]
>The [World Wide Web Consortium (W3C)](https://www.w3.org/Consortium/) is an international community where Member organizations, a full-time staff, and the public work together to develop Web standards. Led by Web inventor and Director Tim Berners-Lee and CEO Jeffrey Jaffe, W3C's mission is to lead the Web to its full potential.
* [w3c-dvcg/w3c-dvcg.github.io</a> - Landing site for W3C Digital Verification Community Group. [<a href="https://www.w3.org/community/digital-verification/">**W**](https://sea-region.github.com/w3c-dvcg/w3c-dvcg.github.io)]
* [JSON-LD 1.0, W3C Recommendation](https://www.w3.org/TR/json-ld/)
* [W3C Workshop on Strong Authentication & Identity](https://www.w3.org/Security/strong-authentication-and-identity-workshop/report.html)
![](https://imgur.com/6MLNgXal.png)\
<sup><a href="https://www.youtube.com/watch?v=RllH91rcFdE">The Story of Open SSI Standards - Drummond Reed/Evernym SSIMeetup.org</a>[<b><a href="https://www.slideshare.net/SSIMeetup/self-sovereign-identity-ssi-open-standards-with-drummond-reed">ϟ</a></b>]</sup>
### Credentials Community Group
* [Credentials Community Group](https://www.w3.org/community/credentials/)[[**B**](https://w3c-ccg.github.io/)]
* [Public mailing list for the Credentials Community Group](http://lists.w3.org/Archives/Public/public-credentials/) (and archives) - Anyone may read or write to this list.
#### DID the Decentralized Identifier
<a href="https://www.w3.org/2018/vocabws/presentations/Sabadello.pdf"><img src="https://i.imgur.com/7NRcJbq.png"/></a>
* [DID Whitepaper](https://github.com/WebOfTrustInfo/rwot2-id2020/blob/master/topics-and-advance-readings/DID-Whitepaper.md)
> A DID architecture should focus on the set of components that Mr. Gupta refers to as "the minimum required for people to be able to do business (or other critical functions) together".
>
>**A Decentralized Identifier (DID) Registry and Discovery Service**
>
> This "minimum required" is defined by a union of the proposed requirements identified by the W3C Credential Community Group, the XDI.org Registry Working Group, and the Rebooting the Web of Trust group. It consists of three functions that can be addressed by a combination of blockchain and DHT technology:
>
> * A DID registration function
> * A discovery function that enables looking up a registered DID in the blockchain
> * A master key recovery function
* [A Universally Unique IDentifier (UUID) URN Namespace](https://www.ietf.org/rfc/rfc4122.txt) <-DID's modeled after
* [All you need to know about sequential UUID generators](https://blog.2ndquadrant.com/sequential-uuid-generators/)
* [w3c- Decentralized Identifiers (DIDs) v0.11](https://w3c-ccg.github.io/did-spec/)
* [Understanding Decentralized IDs (DIDs)](https://medium.com/@adam_14796/understanding-decentralized-ids-dids-839798b91809)
* [DID Primer](https://github.com/WebOfTrustInfo/rebooting-the-web-of-trust-fall2017/blob/master/draft-documents/did-primer.md) [[**ϟ**](https://github.com/WebOfTrustInfo/rwot7-fall2018/blob/master/topics-and-advance-readings/did-primer-extended.md)]
* [Decentralized IDentifers (DIDs)](https://www.w3.org/2018/vocabws/presentations/Sabadello.pdf)
* [Requirements for DIDs](https://github.com/WebOfTrustInfo/ID2020DesignWorkshop/blob/master/final-documents/requirements-for-dids.pdf)
* [DIDs in DPKI](https://github.com/WebOfTrustInfo/rwot7/blob/master/topics-and-advance-readings/dids-in-dpki.md)
* [What is a DID?](https://docs.google.com/document/d/1Ym85y_bDVN9xkRZ-oD-zlUUIeZjVGWNihfZBk2GQidk/edit)
* [The Path from an id (DID) to a Real-Life Something](https://hyperonomy.com/2019/01/04/the-path-from-a-id-did-to-a-real-life-something)
<a href="https://hyperonomy.files.wordpress.com/2019/01/path-id-did-real-life-somethings-v0.2-1.png"><img src="https://hyperonomy.files.wordpress.com/2019/01/path-id-did-real-life-somethings-v0.2-1.png?w=500"/></a>
### Verifiable Credentials
<a href="https://www.w3.org/2018/vocabws/presentations/Sabadello.pdf"><img src="https://i.imgur.com/nsZ0X7r.png"/></a>
* [Verifiable Claims Working Group](https://w3c.github.io/verifiable-claims/)
* [Verifiable Claims Data Model 1.0](https://w3c.github.io/vc-data-model/) [[**G**](https://github.com/w3c/vc-data-model)] [[**D**](https://w3c.github.io/vc-use-cases/)]
* [Verifiable Claims WG - Mailing List](https://lists.w3.org/Archives/Public/public-vc-wg/) (and archives)
* [Verifiable Credentials 101 for SSI Tyler Ruff Webinar 11](http://ssimeetup.org/verifiable-credentials-101-ssi-tyler-ruff-webinar-11/)
## DIF
* [Email Campaign Archive from Decentralized Identity Foundation](https://us3.campaign-archive.com/home/?u=7d1001f187a746b68d2ea0d28&id=866a6c17be)
* [decentralized-identity/newsletter/issues/1#](https://us3.campaign-archive.com/?u=7d1001f187a746b68d2ea0d28&id=d03c08ac8b): Working Group Updates:
* [decentralized-identity/newsletter/issues/2#](https://us3.campaign-archive.com/?u=7d1001f187a746b68d2ea0d28&id=39d596a7f0) - Working Group Updates
* [decentralized-identity/newsletter/issues/4#](https://us3.campaign-archive.com/?u=7d1001f187a746b68d2ea0d28&id=8efd1e4a75)
* [decentralized-identity/newsletter/issues/5#](https://us3.campaign-archive.com/?u=7d1001f187a746b68d2ea0d28&id=3dc94cb937)
Working Group Updates:
* ☂️ InterOp Project - Demonstrating interoperability across various teams/project and technology stack.
* 💡 Identifiers & Discovery - How people, organizations, and devices can be identified and located without centralized systems.
* 💠 Storage & Compute - Secure, encrypted, privacy-preserving storage and computation of data.
* 🛡️ Claims & Credentials - Verifying claims and assertions of identities.
* 🔓 DID Auth - DID-based authentication specs, standards, and libraries.
[Decentralized Identity & Trust Technology APAC/ASEAN Call](https://medium.com/decentralized-identity/decentralized-identity-meetings-for-the-apac-region-7221b9aad29)
> APAC and ASEAN engineers are historically under-represented in EU & US driven global efforts due to simple scheduling concerns — conference calls and other avenues of information sharing are often scheduled at inconvenient times for APAC and ASEAN participants. APAC and ASEAN engineers find it difficult to participate in communities that meet only between midnight and sunrise. This results in APAC and ASEAN solutions developing as parallels to their equivalent EU- & US-based global efforts, rather than as extensions of them or as interlocutors for them.
[DIF starts DIDComm Working Group](https://medium.com/decentralized-identity/dif-starts-didcomm-working-group-9c114d9308dc)
> Over the past few months, the DIF and Hyperledger Aries community have come together and agreed to work on a common work item aimed at developing secure communication based on Decentralized Identifiers (DIDs) — hence the name DIDComm, which is short for DID Communication. Significant prior work in developing a messaging-based communication protocol using DIDs has been incubating in the HyperLedger (HL) Aries community, with the progress of this effort evident in the resulting Aries RFCs. To address the requirements of a broader and more heterogeneous community we selected DIF as the place to pursue the next phase of work associated with this effort. Presenting the progress of DIDcomm to other relevant working groups will drive the interoperability between the various decentralized identity vendors and hence enabling a range of decentralized identity-related use cases.
### DID Auth
![](https://imgur.com/XMaq5cil.png)
* [DID Auth and the Little I-am-Me](https://medium.com/@markus.sabadello/did-auth-and-the-little-i-am-me-ec14d757ff09)
* [Introduction to DID Auth](https://github.com/WebOfTrustInfo/rebooting-the-web-of-trust-spring2018/blob/master/final-documents/did-auth.md) [[**ϟ**](http://ssimeetup.org/introduction-did-auth-markus-sabadello-webinar-10/)]
<a href="http://ssimeetup.org/introduction-did-auth-markus-sabadello-webinar-10/"><img src="https://i.imgur.com/YNlk8RY.png"/></a>\
http://ssimeetup.org/introduction-did-auth-markus-sabadello-webinar-10
## Decentralized Key Management-Agents
<img src="https://i.imgur.com/0SLcjUv.png"/>
* [Decentralized Key Management (DKMS): An Essential Missing Piece of the SSI Puzzle - Drummond Reed](https://www.slideshare.net/SSIMeetup/decentralized-key-management-dkms-an-essential-missing-piece-of-the-ssi-puzzle-drummond-reed)
* [Recommendations for Decentralized Key Management Systems](https://github.com/WebOfTrustInfo/rebooting-the-web-of-trust-fall2017/blob/master/topics-and-advance-readings/dkms-recommendations.md)
* [Agent to Agent Communication](https://drive.google.com/file/d/1PHAy8dMefZG9JNg87Zi33SfKkZvUvXvx/view): Daniel Hardman explains the goals of agent to agent communication
![](https://i.imgur.com/5qc1qrG.png)\
<sup><a href="http://ssimeetup.org/decentralized-key-management-dkms-essential-missing-piece-ssi-puzzle-drummond-reed-webinar-8/">DKMS - An Essential Missing Piece of the SSI Puzzle. Drummond Reed. SSIMeetup.org</a></sup>
* [Microsoft- Decentralized Identity — Own and Control Your Identity.](https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE2DjfY)
![](https://i.imgur.com/ozOLCuW.png)
## Ethereum ERC-EIP
* [ERC: Lightweight Identity #1056](https://github.com/ethereum/EIPs/issues/1056) —This ERC describes a standard for creating and updating identities with a limited use of blockchain resources. An identity can have an unlimited number of delegates and attributes associated with it. Identity creation is as simple as creating a regular key pair ethereum account, which means that it's fee (no gas costs) and all ethereum accounts are valid identities. Furthermore this ERC is fully DID compliant.
* [ERC1056 ❤ ERC780an open identity and claims protocol for Ethereum](https://medium.com/uport/erc1056-erc780-an-open-identity-and-claims-protocol-for-ethereum-aef7207bc744)
* [EIP-780 Ethereum Claims Registry](https://github.com/ethereum/EIPs/issues/780)
* [EIP712](https://github.com/ethereum/EIPs/blob/f29527ab39357548b06b29e937a48f06ae099de7/EIPS/eip-712.md) - This is a standard for hashing and signing of typed structured data
* [ERC-1484 Digital Identity Aggregator](https://github.com/ethereum/EIPs/issues/1495) —A protocol for aggregating digital identity information that's broadly interoperable with existing, proposed, and hypothetical future digital identity standards.
* [EIP-1078](https://github.com/ethereum/EIPs/blob/ed621645c8f3bc5756492f327cda015f35d9f8da/EIPS/eip-1078.md) -
This presents a method to replace the usual signup/login design pattern with a minimal ethereum native scheme, that doesnt require passwords, backing up private keys nor typing seed phrases.
* [ERC-1077 and ERC-1078: The magic of executable signed messages](https://ethereum-magicians.org/t/erc-1077-and-erc-1078-the-magic-of-executable-signed-messages-to-login-and-do-actions/351)
* [ERC-EIP on GitHub](/blockchain/ethereum/#eip---erc) **>>**
### ERC725-735
* [ERC725](https://github.com/ethereum/EIPs/issues/725)
* The following describes standard functions for a unique identifiable proxy account to be used by humans, groups, organisations, objects and machines
* [ERC735](https://github.com/ethereum/EIPs/issues/735) - The following describes standard functions for adding, removing and holding of claims.
- These claims can attested from third parties (issuers) or self attested.
* [Origin partners on ERC725](https://coinjournal.net/origin-protocol-partners-on-new-erc-725-alliance-to-promote-the-adoption-of-blockchain-based-identity-standard)
* [Managing Identity with a UI—ERC-725](https://medium.com/originprotocol/managing-identity-with-a-ui-for-erc-725-5c7422b38c09)
* [Ethereum ERC725 Blockchain Based, Self-Sovereign Identity Management](https://bitcoinexchangeguide.com/ethereum-erc725-blockchain-based-self-sovereign-identity-management/)
* [erc725alliance.org](https://erc725alliance.org)
* [ERC: Lightweight Identity #1056](https://github.com/ethereum/EIPs/issues/1056) —This ERC describes a standard for creating and updating identities with a limited use of blockchain resources. An identity can have an unlimited number of delegates and attributes associated with it. Identity creation is as simple as creating a regular key pair ethereum account, which means that it's fee (no gas costs) and all ethereum accounts are valid identities. Furthermore this ERC is fully DID compliant.
## Blockcerts
* [Learning Machine](https://www.learningmachine.com/)
* [Academic Credentialing and the Blockchain](https://www.learningmachine.com/academic-credentialing-blockchain/)
* [Blockcerts](https://www.blockcerts.org), developed by learning machine is an open standard for issuing and verifying blockchain-based official records; The project offers open-source libraries, tools, and mobile apps. MIT has [issued](https://www.insidehighered.com/news/2017/10/19/mit-introduces-digital-diplomas) digital certificates based on this standard.
* [CXC (Carribean) Pilots E-Certificates on the Blockchain](https://www.cxc.org/cxc-pilots-e-certificates-on-the-blockchain/)
* [A Decentralized Approach to Blockcerts Credential Revocation](https://github.com/WebOfTrustInfo/rebooting-the-web-of-trust-fall2017/blob/master/final-documents/blockcerts-revocation.md)
## Schema
* [Schema](https://schema.org) — a collaborative, community activity with a mission to create, maintain, and promote schemas for structured data on the Internet. Schema.org vocabulary can be used with many different encodings, including RDFa, Microdata and JSON-LD. These vocabularies cover entities, relationships between entities and actions, and can easily be extended through a well-documented extension model. Over 10 million sites use Schema.org to markup their web pages and email messages. Many applications from Google, Microsoft, Pinterest, Yandex and others already use these vocabularies to power rich, extensible experiences."

View file

@ -0,0 +1,183 @@
---
date: 2019-03-15
title: XDI
excerpt: >
XDI is a technology for modeling, storing, and manipulating data.
It fits into a similar category of technologies as JSON, XML and RDF, but also has a number of properties that distinguishes it.
XDI is a graph-based data model. This means that all data is expressed using nodes and arcs in a graph. At a minimum, a graph consists of a single node, called the common root node.
description: "XDI is a graph-based data model. This means that all data is expressed using nodes and arcs in a graph. At a minimum, a graph consists of a single node, called the common root node."
layout: single
permalink: /web-standards/xdi/
canonical_url: 'https://decentralized-id.com/specs-standards/xdi/'
redirect_from:
- /specs-standards/xdi/
- standards/xdi
- standards/xdi/
categories: ["Web Standards"]
tags: ["XDI","Danube","OASIS","BTCR"]
last_modified_at: 2019-03-15
---
* [tutorial.xdi2.org](https://tutorial.xdi2.org)
> XDI is a technology for modeling, storing, and manipulating data.
>
> It fits into a similar category of technologies as JSON, XML and RDF, but also has a number of properties that distinguishes it.
>
> XDI is a graph-based data model. This means that all data is expressed using nodes and arcs in a graph. At a minimum, a graph consists of a single node, called the common root node.
## Intro
The XNS Public Trust Organization was founded in July 2000, shortly after International Planetwork Conference. -[xdi.org - History](http://xdi.org/?page_id=13)
> to promote the concept of individuals owning their own digital identity and data based on a nascent technology being produced by two Technical Committees at OASIS: XRI (Extensible Resource Identifier) and XDI (Extensible Data Interchange).
* [tutorial.xdi2.org](https://tutorial.xdi2.org)
> XDI is a technology for modeling, storing, and manipulating data.
>
> It fits into a similar category of technologies as JSON, XML and RDF, but also has a number of properties that distinguishes it.
>
> XDI is a graph-based data model. This means that all data is expressed using nodes and arcs in a graph. At a minimum, a graph consists of a single node, called the common root node.
## RWoT Papers
* [Cool hack with XDI graphs, blockstore, link contracts, and cryptographic identifiers](https://github.com/WebOfTrustInfo/rwot1-sf/blob/master/topics-and-advance-readings/cool-hack-xdi-blockstore-bip32.md)
- Markus Sabadello *[@Peacekeeper](https://twitter.com/Peacekeeper) \<markus@projectdanube.org\>*
* [XDI Link Contracts: An Overview](https://github.com/WebOfTrustInfo/rwot1-sf/blob/master/topics-and-advance-readings/xdi-link-contracts.md)
- Drummond Reed *[@DrummondReed](https://twitter.com/DrummondReed) \<drummond@respect.network\>*
* [XDI Graphs in IPFS](/topics-and-advance-readings/XDI-Graphs-in-IPFS.md)
- Markus Sabadello
* [XDI Verifiable Claims and Link Contracts](https://github.com/WebOfTrustInfo/rwot4-paris/tree/master/topics-and-advance-readings/xdi-verifiable-claims-link-contracts.md) by Markus Sabadello
* [First XDI Link Contract between "btcr" DID and "sov" DID](https://github.com/WebOfTrustInfo/rwot5-boston/tree/master/topics-and-advance-readings/first-xdi-link-contract-between-btcr-did-and-sov-did.md) by Markus Sabadello
* [DID Whitepaper](https://github.com/WebOfTrustInfo/rwot2-id2020/blob/master/topics-and-advance-readings/DID-Whitepaper.md)
> In April 2015 the XDI.org trustees formed the XDI Registry Working Group (XRWG) to transition XDI registry infrastructure from a centralized model to a new decentralized blockchain-based model.
>
> The charter of the XRWG includes the following principles:
>
> * Maximum interoperability.
> * Minimum viable centralization.
> * Critical infrastructure. The XDI Registry must provide for a high level of reliability, stability, scalability, security, sustainability and other requirements typical of critical internet infrastructure.
> * Sovereign identity. The XDI Registry should enable any XDI authority (person or organization) to fully administer its own registry and/or its own entry in an xdi.org-specified registry, without the need to rely on any particular external administrative authority.
> * Neutrality. The XDI Registry should be available to all members of the public and should not discriminate against any party that wishes to use it for any lawful purpose.
>
> [...]
>
> A DID architecture should focus on the set of components that Mr. Gupta refers to as "the minimum required for people to be able to do business (or other critical functions) together".
>
>**A Decentralized Identifier (DID) Registry and Discovery Service**
>
> This "minimum required" is defined by a union of the proposed requirements identified by the W3C Credential Community Group, the XDI.org Registry Working Group, and the Rebooting the Web of Trust group. It consists of three functions that can be addressed by a combination of blockchain and DHT technology:
>
> * A DID registration function
> * A discovery function - enables looking up a registered DID in the blockchain
> * A master key recovery function
## Project Danube
Markus Sabadello began working on Project Danube [around 2010](https://web.archive.org/web/20101221105543/http://projectdanube.org/)
>This is an open-source project offering software for identity and personal data services on the Internet. The core of this project is an XDI-based Personal Data Store - a semantic database for your personal data, which always remains under your control. Applications on top of this database include the Federated Social Web, the selective sharing of personal data with organizations, and much more.
## Github Repos
## OASIS XDI TC Technical Committee
* <a href="https://github.com/OASIS-XDI-Technical-Committee/xdi-spec-docbook">/OASIS-XDI-Technical-Committee/xdi-spec-docbook</a> - XDI Specifications (Docbook)
* <a href="https://github.com/OASIS-XDI-Technical-Committee/xdi-developers-guide">/OASIS-XDI-Technical-Committee/xdi-developers-guide</a> - XDI Developer's Guide
* <a href="https://github.com/OASIS-XDI-Technical-Committee/xdi-spec-openoffice">/OASIS-XDI-Technical-Committee/xdi-spec-openoffice</a> - XDI Specifications (Open Office)
* <a href="https://github.com/OASIS-XDI-Technical-Committee/xdi-spec-dita">/OASIS-XDI-Technical-Committee/xdi-spec-dita</a> - XDI Specifications (DITA)
* <a href="https://github.com/OASIS-XDI-Technical-Committee/">/OASIS-XDI-Technical-Committee/</a>
* <a href="https://github.com/OASIS-XDI-Technical-Committee/">/OASIS-XDI-Technical-Committee/</a>
* <a href="https://github.com/OASIS-XDI-Technical-Committee/">/OASIS-XDI-Technical-Committee/</a>
## Danube Github
* [projectdanube/xdi2](https://github.com/projectdanube/xdi2) - XDI2 general purpose library and server
* [projectdanube/xdi-js](https://github.com/projectdanube/xdi-js) - XDI client library for JavaScript
* [projectdanube/xdi2-connect-core](https://github.com/projectdanube/xdi2-connect-core) - Shared library for the XDI Connect protocol
* [projectdanube/indy-sdk-java](https://github.com/projectdanube/indy-sdk-java) - Java binding to the native Indy SDK
* [projectdanube/xdi-tutorial](https://github.com/projectdanube/xdi-tutorial) - XDI Tutorial
* [projectdanube/XDINinja-swing](https://github.com/projectdanube/XDINinja-swing) - XDI-enabled standalone client application
* [projectdanube/xdi2-tools](https://github.com/projectdanube/xdi2-tools) - XDI2 maintenance and other tools
* [projectdanube/xdi2-docker](https://github.com/projectdanube/xdi2-docker) - Dockerfiles for XDI2
* [projectdanube/xdi2-connect-buttonbuilder](https://github.com/projectdanube/xdi2-connect-buttonbuilder) - "Button Builder" component for the XDI Connect protocol
### XDI - Various Integrations
* [projectdanube/xdi2-bdb](https://github.com/projectdanube/xdi2-bdb) - Support for using BDB as XDI2 backend storage
* [projectdanube/xdi2-mongodb](https://github.com/projectdanube/xdi2-mongodb) - Support for using MongoDB as XDI2 backend storage
* [projectdanube/xdi2-server-heroku](https://github.com/projectdanube/xdi2-server-heroku) - XDI2 Server deployed via Heroku
* [projectdanube/xdi2-redis](https://github.com/projectdanube/xdi2-redis) - Support for using Redis as XDI2 backend storage
* [projectdanube/xdi2-tor](https://github.com/projectdanube/xdi2-tor) - Integration of XDI and Tor
* [projectdanube/xdi2-ipfs](https://github.com/projectdanube/xdi2-ipfs) - Integration of XDI and IPFS
* [projectdanube/withsqlite](https://github.com/projectdanube/withsqlite) - A module for a python dict that back ends on an sqlite3 database. It's bit like shelve but with json and sqlite3.
- Forked from jvasile/withsqlite
* [projectdanube/blockstack-cli-java](https://github.com/projectdanube/blockstack-cli-java) - Java client for Blockstore
### XDI Configuration
* [projectdanube/xdi2-selfhosted](https://github.com/projectdanube/xdi2-selfhosted) - A configuration profile of the XDI2 server for self-hosting a single XDI graph.
* [projectdanube/xdi2-csp](https://github.com/projectdanube/xdi2-csp) - A configuration profile of the XDI2 server for hosting a dynamic number of XDI graphs.
* [projectdanube/xdi2-registry](https://github.com/projectdanube/xdi2-registry) -
A configuration profile of the XDI2 server for hosting a registry of XDI names and XDI numbers.
### XDI Examples
* [projectdanube/xdi2-example-messaging](https://github.com/projectdanube/xdi2-example-messaging) - XDI2 Examples: Basic messaging functionality.
* [projectdanube/xdi2-example-advanced-server](https://github.com/projectdanube/xdi2-example-advanced-server) - XDI2 Examples: Setting up advanced XDI servers.
* [projectdanube/xdi2-example-core](https://github.com/projectdanube/xdi2-example-core) - XDI2 Examples: Simple uses of the core functionality.
* [projectdanube/xdi2-example-client](https://github.com/projectdanube/xdi2-example-client) - XDI2 Examples: Writing XDI client applications.
* [projectdanube/xdi2-example-secp256k1-server](https://github.com/projectdanube/xdi2-example-secp256k1-server) - Example XDI server using cid-2 cryptographic XDI numbers.
* [projectdanube/xdi2-example-ec25519-server](https://github.com/projectdanube/xdi2-example-ec25519-server) - Example XDI server using cid-1 cryptographic XDI numbers.
* [projectdanube/xdi2-connect-acmenews](https://github.com/projectdanube/xdi2-connect-acmenews) - +acmenews XDI2 demo
* [projectdanube/xdi2-connect-leshop](https://github.com/projectdanube/xdi2-connect-leshop) - +leshop XDI2 demo
* [projectdanube/xdi2-example-secp256k1-client](https://github.com/projectdanube/xdi2-example-secp256k1-client) - Example XDI client using cid-2 cryptographic XDI numbers.
* [projectdanube/xdi2-example-ec25519-client](https://github.com/projectdanube/xdi2-example-ec25519-client) - Example XDI client using cid-1 cryptographic XDI numbers.
### XDI Plugins
* [projectdanube/xdi2-crypto-secp256k1](https://github.com/projectdanube/xdi2-crypto-secp256k1) - This is an secp256k1 crypto plugin for the XDI2 client and server.
* [projectdanube/xdi2-crypto-ec25519](https://github.com/projectdanube/xdi2-crypto-ec25519) - This is an Ed25519 crypto plugin for the XDI2 client and server.
* [projectdanube/xdi2-connector-facebook](https://github.com/projectdanube/xdi2-connector-facebook) - A connector plugin for the XDI2 server that maps data from Facebook to XDI
* [projectdanube/xdi2-connector-meeco](https://github.com/projectdanube/xdi2-connector-meeco) - A connector plugin for Meeco
* [projectdanube/XDINinja-plugin](https://github.com/projectdanube/XDINinja-plugin) - A browser plugin that is like "Twitter for data"
* [projectdanube/xdi2-connector-cozy](https://github.com/projectdanube/xdi2-connector-cozy) - A connector plugin for CozyCloud
* [projectdanube/xdi2-filesys](https://github.com/projectdanube/xdi2-filesys) - Plugin for an XDI2 server to integrate with a local filesystem
* [projectdanube/xdi2-connector-personal](https://github.com/projectdanube/xdi2-connector-personal) - A connector plugin for the XDI2 server that maps data from Personal.com to XDI
### Aeternam
* [projectdanube/aeternam-xdi-sncf](https://github.com/projectdanube/aeternam-xdi-sncf) - Aeternam PNR Demo: SNCF
* [projectdanube/aeternam-xdi-db](https://github.com/projectdanube/aeternam-xdi-db) - Aeternam PNR Demo: Deutsche Bahn
* [projectdanube/aeternam-xdi-tests](https://github.com/projectdanube/aeternam-xdi-tests) - XDI experimentation for ÆTERNAM / ÆVATAR
* [projectdanube/aeternam-xdi-maria](https://github.com/projectdanube/aeternam-xdi-maria) - Aeternam PNR Demo: Maria
* [projectdanube/aeternam-xdi-webshop](https://github.com/projectdanube/aeternam-xdi-webshop) - Aeternam PNR Demo: Webshop
* [projectdanube/aeternam-xdi-oebb](https://github.com/projectdanube/aeternam-xdi-oebb) - Aeternam PNR Demo: ÖBB
### XDI Cloud
* [projectdanube/xdi2-cloudcards](https://github.com/projectdanube/xdi2-cloudcards) - XDI Cloud Card Viewer
* [projectdanube/xdi2-messenger](https://github.com/projectdanube/xdi2-messenger) - XDI Cloud Messenger
* [projectdanube/xdi2-manager](https://github.com/projectdanube/xdi2-manager) - XDI Cloud Manager
* [projectdanube/xdi2-pixel](https://github.com/projectdanube/xdi2-pixel) - Tool to translate a personal cloud policy language (Pixel) to XDI link contracts.
### XDI Server Deployed Via
* [projectdanube/xdi2-server-grizzly](https://github.com/projectdanube/xdi2-server-grizzly) - XDI2 Server deployed via Grizzly
* [projectdanube/xdi2-server-mina](https://github.com/projectdanube/xdi2-server-mina) - XDI2 Server deployed via Apache MINA
* [projectdanube/xdi2-server-netty](https://github.com/projectdanube/xdi2-server-netty) - XDI2 Server deployed via netty
* [projectdanube/xdi2-server-undertow](https://github.com/projectdanube/xdi2-server-undertow) - XDI2 Server deployed via Undertow
* [projectdanube/xdi2-server-vertx](https://github.com/projectdanube/xdi2-server-vertx) - XDI2 Server deployed via vert.x
### Sevices
* [projectdanube/xdi2-connect-service](https://github.com/projectdanube/xdi2-connect-service) - This is a "Connect Service" component for the XDI Browser binding.
* [projectdanube/neustar-discovery-service](https://github.com/projectdanube/neustar-discovery-service) - Neustar XDI Discovery Service based on XRI Resolution
- Forked from neustarpc/neustar-discovery-service
* [projectdanube/xdi2-connect-auth-service-war](https://github.com/projectdanube/xdi2-connect-auth-service-war) - "Authorization Service" for the XDI Connect protocol, packaged as .WAR file
* [projectdanube/xdi2-connect-service-war](https://github.com/projectdanube/xdi2-connect-service-war) - "Connect Service" for the XDI Connect protocol, packaged as .WAR file
* [projectdanube/xdi-grapheditor](https://github.com/projectdanube/xdi-grapheditor) - An XDI Graph Editor
-Forked from neustar/xdi-grapheditor
* [projectdanube/xdi2-connect-auth-service](https://github.com/projectdanube/xdi2-connect-auth-service) - This is a "Connect Auth Service" component for the XDI Browser binding.

View file

@ -0,0 +1,123 @@
---
date: 2020-01-04
title: JSON-LD
excerpt: >
The Semantic Web isn't just about putting data on the web. It is about making links, so that a person or machine can explore the web of data. With linked data, when you have some of it, you can find other, related, data.
Like the web of hypertext, the web of data is constructed with documents on the web. However, unlike the web of hypertext, where links are relationships anchors in hypertext documents written in HTML, for data they links between arbitrary things described by RDF,. The URIs identify any kind of object or concept.
layout: single
permalink: /web-standards/linked-data/JSON-LD/
redirect_from:
- /specs-standards/JSON-LD/
- /specs-standards/linked-data/JSON-LD/
canonical_url: 'https://decentralized-id.com/specs-standards/linked-data/JSON-LD/'
categories: ["Web Standards"]
tags: ["Digital Bazaar","JSON-LD","Credentials Community Group","Veres One", "Linked Data"]
last_modified_at: 2020-01-09
---
## 101
* [JSON-LD for Beginners](https://moz.com/blog/json-ld-for-beginners)
* [Why JSON-LD](https://jsonld.com/why-json-ld/)
> JSON-LD is able to accomplish the same thing, but does not require HTML. It can exist in and of itself. In short, JSON-LD can be inserted into your web page without disrupting the current content or HTML.
## NFO
* [On JSON-LD and the semantics of Identity](https://medium.com/transmute-techtalk/on-json-ld-and-the-semantics-of-identity-42d051d3ce14) Orie Steele
> In this post, well explore how JSON-LD is used in a number of contexts including decentralized identity and verifiable credentials. Well also cover the basics of what you should know before using JSON-LD and how you can contribute to software and standards that rely on it.
* [Publishing JSON-LD for Developers](https://datalanguage.com/news/publishing-json-ld-for-developers) - [Hacker News](https://news.ycombinator.com/item?id=17021939)
* [What Is JSON-LD Markup and Why Is It Better than Schema.org?](https://sitechecker.pro/json-ld-markup/)
> If you understand how to use schema.org, but do not dare to mark pages up because of the complexity of the process, this article is for you. There is an effective and easy-to-use alternative - the JSON-LD format.
* [Libre Lounge: Episode 17: ActivityPub Part 2 on Apple Podcasts](https://librelounge.org/episodes/episode-17-activitypub-part-2.html) - [Part 1](https://librelounge.org/episodes/episode-12-activitypub-part-1.html) - [Part 3](https://librelounge.org/episodes/episode-20-activitypub-part-3.html)
> In our ongoing series about ActivityPub, Chris and Serge explore the world of JSON-LD and the ActivityStreams vocabulary.
>
> Links: [ActivityPub Specification (w3c)](https://www.w3.org/TR/activitypub/) - [ActivityStreams (w3c)](https://www.w3.org/TR/activitystreams-core/) - [JSON-LD (json-ld.org)](https://json-ld.org/) [JSON-LD Playground (json-ld.org)](https://json-ld.org/playground/) - [Cyc (wikipedia)](https://en.wikipedia.org/wiki/Cyc) - [RDF (w3c)](https://www.w3.org/RDF/)
* [JSON-LD and Why I Hate the Semantic Web](http://manu.sporny.org/2014/json-ld-origins-2/) - [Hacker News](https://news.ycombinator.com/item?id=14474222)
## [JSON-LD Articles and Presentations](json-ld.org/learn.html) ([source](https://github.com/json-ld/json-ld.org))
### Introductory Material
- [What is Linked Data?](http://www.youtube.com/watch?v=4x_xzT5eF5Q) Short video introduction to Linked Data by Manu Sporny.
- [What is JSON-LD?](http://www.youtube.com/watch?v=vioCbTo3C-4) Short video introduction to JSON-LD by Manu Sporny.
- [JSON-LD: Core Markup](https://www.youtube.com/watch?v=UmvWk_TQ30A) An overview of some of the core markup features of JSON-LD including types, aliasing, nesting, and internationalization support by Manu Sporny.
- [JSON-LD: Compaction and Expansion](https://www.youtube.com/watch?v=Tm3fD89dqRE) An overview of JSON-LD's compaction and expansion features and how you can use them to merge data from multiple sources by Manu Sporny.
- [Linked Data Signatures](https://www.youtube.com/watch?v=QdUZaYeQblY) An overview of how digital signatures can be added to Linked Data to provide verifiable statements on the Web by Manu Sporny.
- [Credentials on the Web](https://www.youtube.com/watch?v=eWtOg3vSzxI) A quick introduction to verifiable credentials on the Web by Manu Sporny.
- [Creating 3rd Generation Web APIs with JSON-LD and Hydra](http://m.lanthi.com/www2013-paper), Markus Lanthaler. Proceedings of the Proceedings of the 22nd International World Wide Web Conference (WWW2013), pp. 35-37. Rio de Janeiro, Brazil: ACM Press.
- [Model Your Application Domain, Not Your JSON Structures](http://m.lanthi.com/wsrest2013-paper), Markus Lanthaler and Christian Gütl. Proceedings of the 4th International Workshop on RESTful Design (WS-REST 2013) at WWW2013, pp. 1415-1420. Rio de Janeiro, Brazil: ACM Press.
- [Hydra: A Vocabulary for Hypermedia-Driven Web APIs](http://m.lanthi.com/ldow2013-paper), Markus Lanthaler and Christian Gütl. Proceedings of the 6th Workshop on Linked Data on the Web (LDOW2013) at WWW2012. Rio de Janeiro.
- [On Using JSON-LD to Create Evolvable RESTful Services](http://m.lanthi.com/jsonld4rest-paper), Markus Lanthaler and Christian Gütl. Proceedings of the 3rd International Workshop on RESTful Design (WS-REST 2012) at WWW2012, pp. 25-32. Lyon, France: ACM Press.
### Presentations
- [JSON-LD: JSON for the Social Web](http://www.slideshare.net/gkellogg1/jsonld-json-for-the-social-web) by Gregg Kellogg, W3C Social Standards Workshop 2013, San Francisco, CA, USA.
- [Building Next-Generation Web APIs with JSON-LD and Hydra](http://slidesha.re/sl-portland2013) by Markus Lanthaler, Symfony Live Portland 2013, OR, USA.
- [Model Your Application Domain, Not Your JSON Structures](http://slidesha.re/wsrest2013-preso) by Markus Lanthaler, World Wide Web Conference (WWW2013), Rio de Janeiro, Brazil.
- [Hydra: A Vocabulary for Hypermedia-Driven Web APIs](http://slidesha.re/ldow2013-preso) by Markus Lanthaler, World Wide Web Conference (WWW2013), Rio de Janeiro, Brazil.
- [JSON-LD: JSON for Linked Data](http://www.slideshare.net/gkellogg1/json-for-linked-data) by Gregg Kellogg, Semantic Technology & Business Conference (SemTechBiz SF 2012), San Francisco, CA, USA.
- [JSON-LD for RESTful Services](http://slidesha.re/jsonld4rest) by Markus Lanthaler, World Wide Web Conference (WWW2012), Lyon, France.
- [JSON-LD and MongoDB](http://www.slideshare.net/gkellogg1/jsonld-and-mongodb) by Gregg Kellogg, NoSQL Now! 2012, San Jose, CA, USA.
- [JSON-LD Update DC-2017](http://www.greggkellogg.net/presentations/JSON-LD-Update-DC-2017/) by Gregg Kellogg, DC 2017, October 2017, Washington DC.
- [JSON-LD Update W3C TPAC 2017](https://json-ld.org/presentations/JSON-LD-Update-TPAC-2017/) by Gregg Kellogg, October 2017, Washington DC.
- [JSON-LD Support for Property Graphs W3C Data Workshop](https://json-ld.org/presentations/JSON-LD-Support-for-Property-Graphs/) by Gregg Kellogg, May 2019, Berlin.
- [JSON-LD Update W3C TPAC 2019](https://json-ld.org/presentations/JSON-LD-Update-TPAC-2019/) by Gregg Kellogg, September 2019, Fukuoka, Japan.
### Blog Posts
- [JSON-LD: Building Meaningful Data APIs](http://blog.codeship.com/json-ld-building-meaningful-data-apis/), [Benjamin Young](http://bigbluehat.com/).
- [Webizing your database with Linked Data in JSON-LD on Cloudant](https://cloudant.com/blog/webizing-your-database-with-linked-data-in-json-ld/), [Benjamin Young](http://bigbluehat.com/).
Website content released under a [Creative Commons CC0 Public Domain Dedication](http://creativecommons.org/about/cc0) except where an alternate is specified. Part of the [PaySwarm](http://payswarm.com/) standardization initiative.
## GitHub Repositories
* [Torann/json-ld](https://github.com/Torann/json-ld) - Extremely simple JSON-LD Generator
* [piprate/json-gold](https://github.com/piprate/json-gold) - JSON-goLD Documentations Travis CI results GoCover.io
> This library is an implementation of the JSON-LD 1.1 specification in Go. It supports both URDNA2015 and URGNA2012 RDF dataset normalisation algorithms.
* [JayHoltslander/Structured-Data-JSON-LD](https://github.com/JayHoltslander/Structured-Data-JSON-LD)
> Collection of structured data snippets in Google preferred JSON-LD format. [codepen.io/collection/DNvPJE/](https://codepen.io/collection/DNvPJE/)
* [codemeta/codemeta](https://github.com/codemeta/codemeta)
> CodeMeta contributors are creating a minimal metadata schema for science software and code, in JSON and XML. The goal of CodeMeta is to create a concept vocabulary that can be used to standardize the exchange of software metadata across repositories and organizations. CodeMeta started by comparing the software metadata used across multiple repositories, which resulted in the CodeMeta Metadata Crosswalk. That crosswalk was then used to generate a set of software metadata concepts, which were arranged into a JSON-LD context for serialization.
### [JSON-LD WG](https://www.w3.org/2018/json-ld-wg/)
- [w3c/json-ld-framing](https://github.com/w3c/json-ld-framing) - JSON-LD 1.1 Framing Specification
- [w3c/json-ld-api](https://github.com/w3c/json-ld-api) - JSON-LD 1.1 Processing Algorithms and API Specification
- [w3c/json-ld-syntax](https://github.com/w3c/json-ld-syntax) - JSON-LD 1.1 Specification
* [w3c/json-ld-bp](https://github.com/w3c/json-ld-bp) JSON-LD 1.1 Best Practices Note [w3c.github.io/json-ld-bp](https://w3c.github.io/json-ld-bp/)
* [w3c/json-ld-rc](https://github.com/w3c/json-ld-rc)
## JSON-LD Public Repositories
* [json-ld/json-ld.org](https://github.com/json-ld/json-ld.org) - JSON for Linked Data
* [json-ld/json-ld-patch](https://github.com/json-ld/json-ld-patch) - JSON-LD Patch
* [json-ld/minutes](https://github.com/json-ld/minutes) - Teleconference minutes - text and audio logs
* [json-ld/normalization](https://github.com/json-ld/normalization) - RDF Dataset Normalization
* [json-ld/tests](https://github.com/json-ld/tests) Archived - [READ-ONLY] Subtree split of the JSON-LD tests obsolete, please see WG test suites
* [json-ld/scrawl.js](https://github.com/json-ld/scrawl.js)
Scribe tool used by the JSON-LD Community Group
* [json-ld/Charter](https://github.com/json-ld/Charter)
Charter for JSON-LD WG
### Digital Bazaar
- [json-ld](https://github.com/digitalbazaar/json-ld) - A Context-based JSON Serialization for Linked Data
- [jsonld-cli](https://github.com/digitalbazaar/jsonld-cli) - JSON-LD command line interface tool
- [pyld](https://github.com/digitalbazaar/pyld) - JSON-LD processor written in Python
- [jsonld.js](https://github.com/digitalbazaar/jsonld.js) - A JSON-LD Processor and API implementation in JavaScript
- [php-json-ld](https://github.com/digitalbazaar/php-json-ld) - PHP implementation of a JSON-LD Processor and API
- [jsonld-signatures](https://github.com/digitalbazaar/jsonld-signatures) - An implementation of the Linked Data Signatures specification for JSON-LD. Works in the browser and Node.js.
- [jsonld-request](https://github.com/digitalbazaar/jsonld-request) - LIbrary to load JSON-LD from stdin, URLs, or files.
- [jsonld-patch](https://github.com/digitalbazaar/jsonld-patch) - JSON patch for JSON-LD
- [crypto-ld](https://github.com/digitalbazaar/crypto-ld)
- [ecdsa-koblitz-signature-2016](https://github.com/digitalbazaar/ecdsa-koblitz-signature-2016) - Provides EcdsaKoblitzSignature2016 LD proof suite
- [bedrock-angular-jsonld](https://github.com/digitalbazaar/bedrock-angular-jsonld) - JSON-LD support for bedrock-angular apps
- [cuckoo-ldp](https://github.com/digitalbazaar/cuckoo-ldp) - Cuckoo Cycle Based Linked Data Proofs
- [proofs-ld](https://github.com/digitalbazaar/proofs-ld)
- [ld-signature-demo](https://github.com/digitalbazaar/ld-signature-demo)
- [bedrock-angular-ldn](https://github.com/digitalbazaar/bedrock-angular-ldn) - Bedrock AngularJS module for Linked Data Notification Sender+Consumer
- [bedrock-ldn-inbox](https://github.com/digitalbazaar/bedrock-ldn-inbox) - Bedrock module for Linked Data Notification Inboxes
- [bedrock-ldn-receiver](https://github.com/digitalbazaar/bedrock-ldn-receiver) - Bedrock module for Linked Data Notification Receiver
- [x25519-key-pair](https://github.com/digitalbazaar/x25519-key-pair) - An X25519 (Curve25519) DH key implementation to work with the crypto-ld LDKeyPair API

View file

@ -0,0 +1,141 @@
---
date: 2020-01-07
title: Blockcerts
description: "Open Standard for Blockchain Certificates"
excerpt: >
Blockcerts is an open standard for building apps that issue and verify blockchain-based official records. These may include certificates for civic records, academic credentials, professional licenses, workforce development, and more.
Blockcerts consists of open-source libraries, tools, and mobile apps enabling a decentralized, standards-based, recipient-centric ecosystem, enabling trustless verification through blockchain technologies.
header:
image: /images/blockcerts-header.png
permalink: /web-standards/blockcerts/
redirect_from:
- /blockchain/bitcoin/blockcerts/
- /specs-standards/blockcerts/
categories: ["Blockchain", "Web Standards"]
tags: ["Bitcoin","Learning Machine","BTCR"]
last_modified_at: 2020-01-07
---
## Learning Machine
[The Digital Identity Problem Space](https://www.learningmachine.com/digital-identity/)
> A framework for organizing the categories of digital identity and an analysis of where disruptive innovation is most likely to succeed.
* [Learning Machine](https://www.learningmachine.com/)
* [Natalie Smolenski - Author, Speaker](https://www.nataliesmolenski.com/)
> Natalie Smolenski is an anthropologist leading business development for blockchain technology firm Learning Machine. She writes and speaks about identity, tech, and government.
## Blockcerts
* [Blockcerts](https://www.blockcerts.org/) - [Forum](http://community.blockcerts.org/) - [Github](https://github.com/blockchain-certificates) - [Twitter](https://twitter.com/blockcerts)
> open standard for issuing and verifying blockchain-based official records; The project offers open-source libraries, tools, and mobile apps. MIT has [issued](https://www.insidehighered.com/news/2017/10/19/mit-introduces-digital-diplomas) digital certificates based on this standard.
* [Introduction](https://www.blockcerts.org/guide/)
> Blockcerts is an open standard for building apps that issue and verify blockchain-based official records. These may include certificates for civic records, academic credentials, professional licenses, workforce development, and more.
>
> Blockcerts consists of open-source libraries, tools, and mobile apps enabling a decentralized, standards-based, recipient-centric ecosystem, enabling trustless verification through blockchain technologies.
>
> Blockcerts uses and encourages consolidation on open standards. Blockcerts is committed to self-sovereign identity of all participants, and enabling recipient control of their claims through easy-to-use tools such as the certificate wallet (mobile app). Blockcerts is also committed to availability of credentials, without single points of failure.
![](/images/blockcerts.png)
* [Academic Credentialing and the Blockchain](https://www.learningmachine.com/academic-credentialing-blockchain/)
* [Blockcerts — An Open Infrastructure for Academic Credentials on the Blockchain](https://medium.com/mit-media-lab/blockcerts-an-open-infrastructure-for-academic-credentials-on-the-blockchain-899a6b880b2f)
* [Top 10 Reasons to Use Blockcerts](https://medium.com/learning-machine-blog/top-10-reasons-to-use-blockcerts-ec7d29f2712c)
> The open standard for issuing blockchain-based records is your easiest bet for creating records that remain verifiable for a lifetime.
* [A Decentralized Approach to Blockcerts Credential Revocation](https://github.com/WebOfTrustInfo/rebooting-the-web-of-trust-fall2017/blob/master/final-documents/blockcerts-revocation.md)
* [Badges and Blockcerts](https://www.learningmachine.com/badges-and-blockcerts/)
> In education and workforce development, its important to understand the differences between digital credential formats and how to combine them for greatest impact.
> ...
> 2011 saw the birth of Open Badges, which digitally and visually convey the achievement of a specific skill. Similar to the Scouts movement, which uses a small fabric symbol to represent specific achievements, digital badges were designed to convey a singular achievement through a digital image and a hosted set of data. Initially spearheaded by the Mozilla Foundation, the Open Badges standard is now maintained by the IMS Global Learning Consortium, ensuring interoperability between platforms.
> ...
> In response to the desire for high-stakes credentials in a digital format, the development of Blockcerts began in 2015 as part of a project by the MIT Media Lab.
![](/images/blockcerts.jpg)
## Literature
* [Healthcare and Digital Credentials: Technical, Legal, and Regulatory Considerations](http://www.fsmb.org/siteassets/digital-credentials/digital-credentials-report-june-2019.pdf)
* [Security analysis of a blockchain-based protocol forthe certification of academic credentials](https://arxiv.org/pdf/1910.04622.pdf) by Marco Baldi, Franco Chiaraluce, Migelan Kodra and Luca Spalazzi
> Abstract—We consider a blockchain-based protocol forthe certification of academic credentials named Blockcerts,which is currently used worldwide for validating digitalcertificates of competence compliant with the Open Badgesstandard. We study the certification steps that are per-formed by the Blockcerts protocol to validate a certificate,and find that they are vulnerable to a certain typeof impersonation attacks. More in detail, authenticationof the issuing institution is performed by retrieving anunauthenticated issuer profile online, and comparing somedata reported there with those included in the issuedcertificate. We show that, by fabricating a fake issuerprofile and generating a suitably altered certificate, anattacker is able to impersonate a legitimate issuer andcan produce certificates that cannot be distinguished fromoriginals by the Blockcerts validation procedure. We alsopropose some possible countermeasures against an attackof this type, which require the use of a classic public keyinfrastructure or a decentralized identity system integratedwith the Blockcerts protocol.
<center><iframe src="//www.slideshare.net/slideshow/embed_code/key/rVC25i8FzeTPiw" width="595" height="485" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> </center>
[Blockcerts: The Open Standard for Blockchain Credentials](https://www.slideshare.net/SSIMeetup/blockcerts-the-open-standard-for-blockchain-credentials) - [SSI-Meetup Webinar 39](https://ssimeetup.org/blockcerts-open-standard-blockchain-credentials-daniel-paramo-anthony-ronning-webinar-39/)
## Adoption
* [MIT Launches Blockcerts Certification Using Bitcoin](https://news.bitcoin.com/mit-blockcerts-certification-bitcoin/) (10/2016)
> The MIT Media Lab project has already deployed a few instances of blockchain-based digital certificate verification. In October of 2015, the group issued certificates to Media Lab alumni who attended the Labs 30th anniversary. The organization Learning Machine also issued HR certificates to employees. MITs Global Entrepreneurship Bootcamp workshop in Seoul, South Korea in March 2016 published digital verification using the system. Lastly, Laboratorio para la Ciudad issued digital certificates to workshop participants in Mexico City in September 2015.
* [education.gov.mt - Blockcerts Public Key Registry](https://education.gov.mt/en/Blockcerts/Pages/Blockcerts-Public-Key-Registry.aspx)
* [MIT Introduces Digital Diplomas](https://www.insidehighered.com/news/2017/10/19/mit-introduces-digital-diplomas)
* [CXC (Carribean) Pilots E-Certificates on the Blockchain](https://www.cxc.org/cxc-pilots-e-certificates-on-the-blockchain/)
### Cowcerts
{% include video id="3UvDv7OXsFs" provider="youtube" %}
* [Verifiable credentials using blockchain](https://www.cowstamp.com/) ([twitter](https://twitter.com/cowcerts)) ([gitlab](https://gitlab.com/cowcerts/))
> Create, issue and receive verifiable credentials registered using blockchain technologies in a user-friendly fashion
* [Cowcerts for Education](https://cowcerts.readthedocs.io/en/develop/edu/index.html) - Cowcerts for Education provides a data model for digital certificates to prove that someone has completed their education successfully.
> * provides extensions to the following base standards:
> * [Open Badges](https://openbadgespec.org/) standard
> * [Blockcerts](https://blockcerts.org/) standard
* [cowcerts/schemas/](https://gitlab.com/cowcerts/schemas)
> Specifications, JSON Schemas and JSON Linked Data definitions for Cowcerts certificates [https://cowcerts.dev](https://cowcerts.dev)
## GitHub Repositories
* [blockchain-certificates/blockchain-certificates.github.io](https://github.com/blockchain-certificates/blockchain-certificates.github.io) - Web site.
* [learningmachine/stage.blockcerts.github.io](https://github.com/learningmachine/stage.blockcerts.github.io)
* [blockchain-certificates/blockcerts-playground.github.io](https://github.com/blockchain-certificates/blockcerts-playground.github.io) - In-browser tool to experiment with Blockcerts.
---
* [learningmachine/Foundatio](https://github.com/learningmachine/Foundatio) Pluggable foundation blocks for building distributed apps.
* [blockchain-certificates/pyld](https://github.com/blockchain-certificates/pyld) - JSON-LD processor written in Python.
* [learningmachine/polymer-redux](https://github.com/learningmachine/polymer-redux)
> An example use-case to showcase the state/view abstraction in Polymer 3, LitElement and Redux context
* [blockchain-certificates/assets](https://github.com/blockchain-certificates/assets)
* [blockchain-certificates/archived-cert-store](https://github.com/blockchain-certificates/archived-cert-store)
> Storage library and service for Blockchain Certificates
* [blockchain-certificates/PodSpecs](https://github.com/blockchain-certificates/PodSpecs)
> A listing of CocoaPod .podspec files for all pods created in the Blockchain Certificates project.
### Issuing
* [blockchain-certificates/cert-schema](https://github.com/blockchain-certificates/cert-schema)
> The schema for Blockcerts.
* [blockchain-certificates/cert-issuer](https://github.com/blockchain-certificates/cert-issuer) - Issues Blockcerts using either the Bitcoin or Ethereum blockchain
* [blockchain-certificates/cert-tools](https://github.com/blockchain-certificates/cert-tools)
> Command line tools for designing certificate templates and instantiating a certificate batch
* [blockchain-certificates/obi-baking](https://github.com/blockchain-certificates/obi-baking)
> Example of baking a blockcert into an Open Badge.
* [blockchain-certificates/cert-core](https://github.com/blockchain-certificates/cert-core)
* [blockchain-certificates/wallet-test-resources](https://github.com/blockchain-certificates/wallet-test-resources)
> These are resources used to test implementations of the evolving blockcerts certificate standard and issuer conventions.
### Validation
* [learningmachine/ajv](https://github.com/learningmachine/ajv)
> The fastest JSON-Schema Validator. Supports draft-06
* [blockchain-certificates/openbadges-validator-core](https://github.com/blockchain-certificates/openbadges-validator-core) - Open Badges validation in python.
### Verification
* [blockchain-certificates/blockcerts-verifier](https://github.com/blockchain-certificates/blockcerts-verifier) - A Blockcerts verifier and viewer.
* [blockchain-certificates/cert-verifier](https://github.com/blockchain-certificates/cert-verifier)
Python library for verifying Blockcerts.
* [blockchain-certificates/cert-verifier-js](https://github.com/blockchain-certificates/cert-verifier-js) - Javascript library for verifying Blockcerts Certificates
### Web
* [blockchain-certificates/cert-web-component](https://github.com/blockchain-certificates/cert-web-component) - A web component for displaying blockchain certificates.
* [blockchain-certificates/cert-viewer](https://github.com/blockchain-certificates/cert-viewer) - A web app for viewing and validating Blockchain Certificates
### Mobile
* [blockchain-certificates/wallet-android](https://github.com/blockchain-certificates/wallet-android) - An Android app for Blockcerts.
* [blockchain-certificates/BlockcertsFramework-iOS](https://github.com/blockchain-certificates/BlockcertsFramework-iOS) - An iOS wallet for viewing, validating, and sharing certs
* [blockchain-certificates/wallet-iOS](https://github.com/blockchain-certificates/wallet-iOS) - An iOS wallet for Blockcerts.

View file

@ -0,0 +1,46 @@
---
title: WebAuthN
categories: ["Web Standards"]
tags: ["WebAuthN"]
permalink: /web-standards/webauthn/
redirect_from: /specs-standards/webauthn/
last_modified_at: 2020-01-09
---
* [Why WebAuthn will change the world](https://techcommunity.microsoft.com/t5/identity-standards-blog/why-webauthn-will-change-the-world/ba-p/482286) - Pamela Dingle
> A little over a month ago, W3C WebAuthn became a real internet specification. Most of you dont know what WebAuthn is yet, but many of you will feel the impact in short order. In fact, I will go so far as to say that WebAuthn may change how we all authenticate to the resources we use every day.
>
> We live in a world where the best parts of our individual local hardware and software collection are rarely leveraged to make cloud security decisions. This is because there has never been a vendor-agnostic and privacy-preserving way for cloud resources to interact with individual hardware configurations in any generic way. Until now!
>
> With WebAuthn, any web entity can call a simple Javascript API and ask for a cryptographically secure credential. What happens next is pretty cool the worlds browsers have worked with the worlds operating system makers and the worlds hardware manufacturers, so that when a website asks for a credential, the browsers work with the underlying platform to securely locate compliant local hardware and talk to it!
* [W3C finalizes Web Authentication (WebAuthn) standard - ZDNet](https://www.zdnet.com/article/w3c-finalizes-web-authentication-webauthn-standard/)
> WebAuthn allows users to register and authenticate on websites or mobile apps using an "authenticator" instead of a password.
>
> The "authenticator" can be a hardware security key that the user has connected to his computer or a biometric ID that can be acquired from the PC or smartphone's sensors --such as fingerprints, face scans, iris scans, and others.
* [All about FIDO2, CTAP2 and WebAuthn](https://techcommunity.microsoft.com/t5/Identity-Standards-Blog/All-about-FIDO2-CTAP2-and-WebAuthn/ba-p/288910)
> This is a great week to be working in Identity Standards, as we at Microsoft celebrate the release of our first ever WebAuthn Relying Party. This one relying party enables standards-based passwordless authentication at Xbox, Skype, Outlook.com and more. But what are the actual pieces of the puzzle and how do they fit? Read on for the big picture of how the W3C WebAuthn and FIDO2 CTAP2 specifications interact. We will start with the industry standards perspective, and then at the end we will summarize how Microsoft implements the various roles.
>
> To understand how FIDO2 authenticators work, you need knowledge of two specifications in two different standards bodies. The WebAuthentication (aka WebAuthn) spec lives at W3C (where the browser makers meet) while the Client-to-Authenticator (aka CTAP2) spec lives at the FIDO Alliance (where hardware and platform folks have joined to solve the problem of Fast IDentity Online).
* [To Understand WebAuthn, Read CredMan](https://techcommunity.microsoft.com/t5/identity-standards-blog/to-understand-webauthn-read-credman/ba-p/339652)
> The holidays are well and truly over, time to get serious - now is the perfect time to read specifications! If you are planning to read the WebAuthn specification, you can ease into the terminology in a simple way - take a cruise through the W3C Credential Management (aka CredMan) specification first. CredMan sets up the object model for the Credential object model that WebAuthn's PublicKeyCredential extends. This post will be an overview of the CredMan spec, geared for folks who want to call the API as clients, not for those few and proud who are tasked with implementation of the API within a user agent.
* [GitHub supports Web Authentication (WebAuthn) for security keys](https://github.blog/2019-08-21-github-supports-webauthn-for-security-keys/)
> GitHub now supports Web Authentication (WebAuthn) for security keys—the new standard for secure authentication on the web. Starting today, you can use security keys for two-factor authentication on GitHub with even more browsers and devices. And, since many browsers are actively working on WebAuthn features, were excited about the potential for strong and easy-to-use authentication options for the entire GitHub community in the future.
<iframe src="https://slides.com/fidoalliance/webauthn-overview/embed" width="576" height="420" scrolling="no" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
[Web Authentication: An API for accessing Public Key Credentials Level 1](https://www.w3.org/TR/webauthn/) - [WebAuthN-WG](https://www.w3.org/Webauthn/)
* [WebAuthn Awesome Awesome](https://github.com/herrjemand/awesome-webauthn) - A curated list of awesome WebAuthn/FIDO2 resources
* [webauthn - npmjs.com](https://www.npmjs.com/package/webauthn)
> WebAuthn is a W3C standard that enables web developers to replace passwords in their applications with FIDO authentication. This repository implements a NPM package for use in Node.js services. This package is in active development and not yet ready for production use. You can use it to kick the tires on WebAuthn. Please file issues to ask questions or provide feedback.
* [duo-labs/webauthn](https://github.com/duo-labs/webauthn) - WebAuthn (FIDO2) server library written in Go [webauthn.io](https://webauthn.io/)
> This library is meant to handle Web Authentication for Go apps that wish to implement a passwordless solution for users. While the specification is currently in Candidate Recommendation, this library conforms as much as possible to the guidelines and implementation procedures outlined by the document.
* [What is WebAuthn? What is FIDO2?](https://codelabs.developers.google.com/codelabs/webauthn-reauth/#0) - codelabs.developers.google.com
> The FIDO2 / WebAuthn allows you to create and use strong, attested public key based credentials for the purpose of authenticating users. The API supports the use of BLE, NFC, and USB roaming authenticators (security keys) as well as a platform authenticator, which allows the user to authenticate using their fingerprint or screenlock.
* [Enabling Strong Authentication with WebAuthn](https://developers.google.com/web/updates/2018/05/webauthn) - developers.google.com
> The Web Authentication API gives Web applications user-agent-mediated access to authenticators which are often hardware tokens accessed over USB/BLE/NFC or modules built directly into the platform for the purposes of generating and challenging application-scoped (eTLD+k) public-key credentials.
* [webauthn.me](https://webauthn.me) Crafted by Auth0
* [Web Authentication API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Authentication_API)
* [FIDO2: WebAuthn & CTAP](https://fidoalliance.org/fido2/)
* [FIDO2: Web Authentication (WebAuthn)](https://fidoalliance.org/fido2/fido2-web-authentication-webauthn/)
> Web Authentication (WebAuthn), a core component of FIDO Alliances FIDO2 set of specifications, is a web-based API that allows websites to update their login pages to add FIDO-based authentication on supported browsers and platforms. FIDO2 enables users to leverage common devices to easily authenticate to online services in both mobile and desktop environments.
* [webauthn.guide](https://webauthn.guide)

View file

@ -0,0 +1,38 @@
---
title: "(DID) the Decentralized Identifier"
tags: ["W3C","CCG","DID"]
categories: ["Web Standards"]
permalink: /web-standards/did-decentralized-identifier/
redirect_from: /specs-standards/decentralized-identifier-did/
last_modified_at: 2020-01-10
---
#### DID the Decentralized Identifier
<a href="https://www.w3.org/2018/vocabws/presentations/Sabadello.pdf"><img src="https://i.imgur.com/7NRcJbq.png"/></a>
* [DID Whitepaper](https://github.com/WebOfTrustInfo/rwot2-id2020/blob/master/topics-and-advance-readings/DID-Whitepaper.md)
> A DID architecture should focus on the set of components that Mr. Gupta refers to as "the minimum required for people to be able to do business (or other critical functions) together".
>
>**A Decentralized Identifier (DID) Registry and Discovery Service**
>
> This "minimum required" is defined by a union of the proposed requirements identified by the W3C Credential Community Group, the XDI.org Registry Working Group, and the Rebooting the Web of Trust group. It consists of three functions that can be addressed by a combination of blockchain and DHT technology:
>
> * A DID registration function
> * A discovery function that enables looking up a registered DID in the blockchain
> * A master key recovery function
* [A Universally Unique IDentifier (UUID) URN Namespace](https://www.ietf.org/rfc/rfc4122.txt) <-DID's modeled after
* [All you need to know about sequential UUID generators](https://blog.2ndquadrant.com/sequential-uuid-generators/)
* [w3c- Decentralized Identifiers (DIDs) v0.11](https://w3c-ccg.github.io/did-spec/)
* [Understanding Decentralized IDs (DIDs)](https://medium.com/@adam_14796/understanding-decentralized-ids-dids-839798b91809)
* [DID Primer](https://github.com/WebOfTrustInfo/rebooting-the-web-of-trust-fall2017/blob/master/draft-documents/did-primer.md) [[**ϟ**](https://github.com/WebOfTrustInfo/rwot7-fall2018/blob/master/topics-and-advance-readings/did-primer-extended.md)]
* [Decentralized IDentifers (DIDs)](https://www.w3.org/2018/vocabws/presentations/Sabadello.pdf)
* [Requirements for DIDs](https://github.com/WebOfTrustInfo/ID2020DesignWorkshop/blob/master/final-documents/requirements-for-dids.pdf)
* [DIDs in DPKI](https://github.com/WebOfTrustInfo/rwot7/blob/master/topics-and-advance-readings/dids-in-dpki.md)
* [What is a DID?](https://docs.google.com/document/d/1Ym85y_bDVN9xkRZ-oD-zlUUIeZjVGWNihfZBk2GQidk/edit)
* [The Path from an id (DID) to a Real-Life Something](https://hyperonomy.com/2019/01/04/the-path-from-a-id-did-to-a-real-life-something)
<a href="https://hyperonomy.files.wordpress.com/2019/01/path-id-did-real-life-somethings-v0.2-1.png"><img src="https://hyperonomy.files.wordpress.com/2019/01/path-id-did-real-life-somethings-v0.2-1.png?w=500"/></a>
[1A/ DID 101 Decentralized Identifiers & how they are the key to interoperable self-sovereign ID](http://iiw.identitycommons.net/1A/_DID_101_%E2%80%93_Decentralized_Identifiers_%26_how_they_are_the_key_to_interoperable_self-sovereign_ID)

View file

@ -0,0 +1,97 @@
---
title: Linked Data and the Semantic Web
tags: ["Linked Data", "JSON-LD","RDF"]
categories: ["Web Standards"]
permalink: /web-standards/linked-data/
redirect_from: /specs-standards/linked-data/
last_modified_at: 2020-01-09
---
> In 2001, Tim Berners-Lee, inventor of the World Wide Web, published an article in Scientific American. Berners-Lee, along with two other researchers, Ora Lassila and James Hendler, wanted to give the world a preview of the revolutionary new changes they saw coming to the web. Since its introduction only a decade before, the web had fast become the worlds best means for sharing documents with other people. Now, the authors promised, the web would evolve to encompass not just documents but every kind of data one could imagine. - [Whatever Happened to the Semantic Web?](https://twobithistory.org/2018/05/27/semantic-web.html)
## Getting Started
[linkeddata.org](http://linkeddata.org/)
> "Linked Data is about using the Web to connect related data that wasn't previously linked, or using the Web to lower the barriers to linking data currently linked using other methods. More specifically, Wikipedia defines Linked Data as "a term used to describe a recommended best practice for exposing, sharing, and connecting pieces of data, information, and knowledge on the Semantic Web using URIs and RDF."
* [semantalytics/awesome-semantic-web](https://github.com/semantalytics/awesome-semantic-web) - A curated list of various semantic web and linked data resources.
* [Awesome Linked Data](https://github.com/nandana/awesome-linkeddata) - A list of tools for publishing and consuming Linked Data.
* [Linked Open Data](https://datahub.io/collections/linked-open-data) - An overview of the Linked Open Data datasets.
* [Publishing and consuming Linked Data embedded in HTML](https://www.w3.org/2001/sw/interest/ldh/)
* [Linked Data for Enterprises](https://kerfors.blogspot.com/)
* [linkeddata/dokieli](https://github.com/linkeddata/dokieli) - [wiki](https://github.com/linkeddata/dokieli/wiki) - Examples in the Wild << Pretty Awesome List
> dokieli is a decentralised article authoring, annotation, and social notification tool which works from Web browsers. It is built with the following principles in mind: freedom of expression, decentralisation, interoperability, and accessibility.
* [solid/understanding-linked-data](https://github.com/solid/understanding-linked-data) - A slide deck introduction to Linked Data aimed at developers.
* [RDF AND JSON-LD UseCases](https://www.w3.org/2013/dwbp/wiki/RDF_AND_JSON-LD_UseCases)
[Introducing Linked Data And The Semantic Web](http://www.linkeddatatools.com/semantic-web-basics)
> What is Linked Data and the Semantic Web and what is all the hype about? Principally, the Semantic Web is a Web 3.0 web technology - a way of linking data between systems or entities that allows for rich, self-describing interrelations of data available across the globe on the web.
## Linked Data
* [Designing a Linked Data developer experience](https://ruben.verborgh.org/blog/2018/12/28/designing-a-linked-data-developer-experience/)
> Making decentralized Web app development fun
>
> While the Semantic Web community was fighting its own internal battles, we failed to gain traction with the people who build apps that are actually used: front-end developers. Ironically, Semantic Web enthusiasts have failed to...
* [Linked Data Capabilities](https://github.com/WebOfTrustInfo/rwot5-boston/blob/master/final-documents/lds-ocap.md) By Christopher Lemmer Webber and Mark S. Miller
> Linked Data Signatures enable a method of asserting the integrity of linked data documents that are passed throughout the web. The object capability model is a powerful system for ensuring the security of computing systems. In this paper, we explore layering an object capability model on top of Linked Data Signatures via chains of signed proclamations. fn:1 We call this system "Linked Data Capabilities", or "ld-ocap" for short.
* [Identity as Linked Data on Immutable Ledgers](https://github.com/WebOfTrustInfo/rwot3-sf/blob/master/topics-and-advance-readings/identity-as-linked-data-on-immutable-ledgers.md)
> Content creators on the Web are getting a raw deal. They get a fraction of a cent for an ad played on YouTube, and nothing on Facebook, for filling these sites with traffic-driving content. Its hard to make a living when youre a creative. Licensing is hard; the user experience is bad, so lawyers and middlemen extract the most value. In the music industry, more money flows into the pockets of distributors than creatives. Consumers are often happy to pay for their content. Instead, they're forced to sit through ads.
* [Blockchain Extensions for Linked Data Signatures](https://github.com/WebOfTrustInfo/rwot3-sf/blob/master/topics-and-advance-readings/blockchain-extensions-for-linked-data-signatures.md) by Manu Sporny, Harlan Wood, Noah Thorp, Wayne Vaughn, Christopher Allen, Jason Bukowski, and Dave Longley
> The term Linked Data is used to describe a recommended best practice for exposing, sharing, and connecting information on the Web using standards, such as URLs, to identify things and their properties. When information is presented as Linked Data, other related information can be easily discovered and new information can be easily linked to it. Linked Data is extensible in a decentralized way, greatly reducing barriers to large scale integration.
>
> With the increase in usage of Linked Data for a variety of applications, there is a need to be able to verify the authenticity and integrity of Linked Data documents. The Linked Data Signatures specification added authentication and integrity protection to linked data documents through the use of public/private key cryptography without sacrificing Linked Data features such as extensibility and composability.
* [Resource Integrity Proofs](https://github.com/WebOfTrustInfo/rwot7-toronto/blob/master/final-documents/resource-integrity-proofs.md) by Ganesh Annan and Kim Hamilton Duffy
> Cryptographic linking provides discoverability, integrity, and scheme agility
> Contributors: Manu Sporny, Dave Longley, David Lehn, and Bohdan Andriyiv
>
> Currently, the Web provides a simple yet powerful mechanism for the dissemination of information via links. Unfortunately, there is no generalized mechanism that enables verifying that a fetched resource has been delivered without unexpected manipulation. Would it be possible to create an extensible and multipurpose cryptographic link that provides discoverability, integrity, and scheme agility?
>
> Cryptographic linking solutions today have yet to provide a generalized mechanism for creating tamper-evident links. The Subresource Integrity standard limits this guarantee to script and link resources loaded on Web pages via the use of HTML attributes. IPFS provides a verification mechanism that is constrained to hash-based, content-addressable links, with no ability to complete content negotiation. RFC6920 proposes another mechanism that cannot be applied to existing links: it recommends the use of named information hashes and a resolution method that creates a content addressable URL [1]. Resource Integrity Proofs incorporates ideas from these standards and solutions to provide a new data format for cryptographic links that is fit for the open world.
* [Recent happenings with Linked Data Capabilities](https://github.com/WebOfTrustInfo/rwot6-santabarbara/blob/master/topics-and-advance-readings/ld-ocap-recent-happenings.md)
> Veres One's architecture has been adjusted to take full advantage of Linked Data Capabilities as its primary mechanism for granting authority to perform operations on the ledger as well as on DID Documents. permission to update key materials can be conditionally handed out to an entity (or entities) and later revoked if deemed appropriate using Linked Data Capabilities' design.
>
> As for ledger updates, Accelerators also make use of Linked Data Capabilities. To prevent spamming the ledger, the costs of an update must somehow be accounted for. The traditional way to do this on a blockchain is to use proof of work, and this is also an option in Veres One, but for those use cases where expending time and energy on proof of work is less desirable users can use an "accelerator".
>
> An accelerator is an entity that has been granted a capability to perform updates on the ledger more quickly. Accelerators may likewise take advantage of Linked Data Capabilities' support for delegation, with or without caveats.
## GitHub Repos
* [WebOfTrustInfo/ld-signatures-java](https://github.com/WebOfTrustInfo/ld-signatures-java) - Java implementation of Linked Data Signatures
* [WebOfTrustInfo/ld-signatures-python](https://github.com/WebOfTrustInfo/ld-signatures-python)
### W3C-CCG
* [Authorization Capabilities for Linked Data v0.3](https://w3c-ccg.github.io/zcap-ld/) - An object capability framework for linked data systems
> Authorization Capabilities for Linked Data (ZCAP-LD for short) provides a secure way for linked data systems to grant and express authority utilizing the object capability model. Capabilities are represented as linked data objects which are signed with Linked Data Signatures. ZCAP-LD supports delegating authority to other entities on the network by chaining together capability documents. "Caveats" may be attached to capability documents which may be used to restrict the scope of their use, for example to restrict the actions which may be used or providing a mechanism by which the capability may be later revoked.
* [w3c-ccg/ld-cryptosuite-registry](https://github.com/w3c-ccg/ld-cryptosuite-registry) - REGISTRY: Linked Data Keys Registry (managed by W3C Credentials Community Group) - w3c-ccg/ld-cryptosuite-registry
### DB - Linked Data
* [digitalbazaar/ocapld.js](https://github.com/digitalbazaar/ocapld.js) - Linked Data Capabilities reference implementation
* [digitalbazaar/cuckoo-ldp](https://github.com/digitalbazaar/cuckoo-ldp) - Cuckoo Cycle Based Linked Data Proofs
* [digitalbazaar/bedrock-ldn-receiver](https://github.com/digitalbazaar/bedrock-ldn-receiver) - Bedrock module for Linked Data Notification Receiver
* [digitalbazaar/bedrock-ldn-inbox](https://github.com/digitalbazaar/bedrock-ldn-inbox) - Bedrock module for Linked Data Notification Inboxes
* [digitalbazaar/bedrock-angular-ldn](https://github.com/digitalbazaar/bedrock-angular-ldn) - Bedrock AngularJS module for Linked Data Notification Sender+Consumer
* [digitalbazaar/flex-ledger](https://github.com/digitalbazaar/flex-ledger) - Forked from web-payments/flex-ledger
A decentralized Linked Data Ledger for the Web
## RDF
[Comparison of RDFJS libraries](https://www.w3.org/community/rdfjs/wiki/Comparison_of_RDFJS_libraries)
[Design Issues - LinkedData](https://www.w3.org/DesignIssues/LinkedData.html) -w3.org
> The Semantic Web isn't just about putting data on the web. It is about making links, so that a person or machine can explore the web of data. With linked data, when you have some of it, you can find other, related, data.
>
> Like the web of hypertext, the web of data is constructed with documents on the web. However, unlike the web of hypertext, where links are relationships anchors in hypertext documents written in HTML, for data they links between arbitrary things described by RDF,. The URIs identify any kind of object or concept. But for HTML or RDF, the same expectations apply to make the web grow:
>
> - Use URIs as names for things
> - Use HTTP URIs so that people can look up those names.
> - When someone looks up a URI, provide useful information, using the standards (RDF*, SPARQL)
> - Include links to other URIs. so that they can discover more things.
[RDF.js: The new RDF and Linked Data JavaScript library](https://www.w3.org/community/rdfjs/2018/04/23/rdf-js-the-new-rdf-and-linked-data-javascript-library/)
> A diverse web requires decentralized data storage and maintenance. According to MITs Tim Berners-Lee, “it is about making links, so that a person or machine can explore the web of data. With Linked Data, when you have some of it, you can find other, related, data”.
>
> Zazukos CTO Thomas Bergwinkl adds that “Linked Data is built on top of the web stack and the programming language of the web is JavaScript. It is crucial for Web Developers to have access to well-designed JavaScript libraries to work with RDF and Linked Data”.
>
> The RDFJS W3C Community Group did a tremendous job in defining a standard to represent Linked Data in JavaScript. Several individuals and groups started to implement the RDFJS specification.

View file

@ -0,0 +1,114 @@
---
title: Verifiable Credentials
tags: ["W3C", "CCG","VC-WG"]
categories: ["Web Standards"]
permalink: /specs-standards/verifiable-credentials/
redirect_from: /web-standards/verifiable-credentials/
last_modified_at: 2020-01-10
---
[![IIW26 Primer On DIDs and VCs](/images/iiw-verifiable-credentials.png)](https://docs.google.com/presentation/d/1GMQy4rI093c_9zojwLRgp2r-fTscpDUSfX-wqwBk4j4/edit#slide=id.g3605fe1474_2_0)
> A new type of globally resolvable, cryptographically-verifiable identifier, registered directly on a distributed ledger (aka Blockchain)
* [A Gentle Introduction to Verifiable Credentials](https://www.evernym.com/blog/gentle-introduction-verifiable-credentials/)
> But while digital records are nothing new, todays credentials come with certain cryptographic superpowers that make them tamperproof, secure, and verifiable. Whereas a simple digital copy of a car title can easily be edited, a verifiable digital credential is one that has been issued by a trusted authority for, and only for, its holder.
* [Categorizing Verifiable Credentials - Evernym](https://www.evernym.com/blog/categorizing-verifiable-credentials/)
Not all verifiable credentials are created the same. This post examines the categories of credentials and the architectural choices driving this variation.
* [A Verifiable Credentials Primer](https://github.com/WebOfTrustInfo/rwot7-toronto/blob/master/topics-and-advance-readings/verifiable-credentials-primer.md)
> NOTE: "Verifiable Claims" are now known as "Verifiable Credentials". The W3C Verifiable Claims Working Group's experience with using the term "Verifiable Claims" demonstrated that it led to confusion in the marketplace. The group has since found consensus in shifting to use the term "Verifiable Credentials", which contain "Claims".
[![](https://i.imgur.com/S6ULDcB.png)](https://drive.google.com/file/d/1kJCDF_JcRihUQ5uRFbo47dEJPFsQB7FD/view)
* [Verifiable Credential Exchange](https://www.windley.com/archives/2018/12/verifiable_credential_exchange.shtml)
> Multi-source identity (MSI) depends on issuing, exchanging, and verifying digital credentials. The specification for verifiable credentials is being formulated by the World Wide Web Consortiums Verifiable Credentials Working Group. Verifiable credentials provide a standard way to express credentials in a way that is cryptographically secure, privacy respecting, and automatically verifiable.
* [Verifiable Claims Task Force Use Cases](https://opencreds.org/specs/source/use-cases/)
* [2018 Texas Bitcoin Conference in Austin, Texas.](https://www.youtube.com/watch?v=uDqLYv379gI)
> 13:14 what if I was would like to prove that I had a certain diploma man if the university would basically state that I have a certain diploma because I asked them to and if they put the proof basically the fingerprint of that claim onto the blockchain then I can prove I am I have that certain diploma but why would I trust that because if I would say I have the diploma but you still have the same problem as we had using a scan the reason why you can trust it is because it was actually the university signing off on the fact that I have a certain diploma and how does that work in the end you will need those decentralized identifiers I talked about earlier to make sure that every piece of information on the blockchain is you are able to validate those and you are able to retrieve if you'd like the underlying data off chain
* [Intro to Verifiable Cliams by W3C VCWG Members -iiw.idcommons.net](http://web.archive.org/web/20171228060921/http://iiw.idcommons.net/2J/_Intro_to_Verifiable_Cliams_by_W3C_VCWG_Members)
## Application
* [SolidVC : a decentralized framework for Verifiable Credentials on the web](https://dspace.mit.edu/handle/1721.1/121667)
> Credentials are an integral part of our lives, as they express our capabilities and enable access to restricted services and benefits. In the early 2010s, the Verifiable Claims Working Group of the World Wide Web Consortium (W3C) proposed a specification for what is now the Verifiable Credentials Data Model. This living specification, which is still in development, outlines a cogent framework for the issuance, storage, presentation, and verification of credentials on the Web. Many of the leading Verifiable Credentials projects leverage Distributed Ledger Technology (DLT), potentially compromising Web interoperability and sometimes exposing otherwise personal data. SolidVC is a decentralized Verifiable Credentials platform built with the open protocols of the Web. It is implemented on top of Solid, a Web framework developed at MIT in 2016 that allows decentralized applications to interact with personal user data to provide services in an access controlled environment.
* [Blockcerts V3 Proposal - Verifiable Credentials & Decentralized Identifiers](https://community.blockcerts.org/t/blockcerts-v3-proposal-verifiable-credentials-decentralized-identifiers/2221)
> As the standards around Verifable Credentials are starting to take form, diferent favors of "verifable credentials-like" data structures need to make necessary changes to leverage on the rulesets outlined and constantly reviewed by knowledgeable communities such as the W3C. The purpose of this paper is to identify all of the changes needed for Blockcerts to comply with the Verifable Credentials (VCs) and Decentralized Identifers (DIDs) standards and to expand upon the additional benefts of using a blockchain in combination with Verifable Credentials. This paper is meant to act as an explainer in which a formal specifcation can be created. This paper proposes multiple implementation options for several properties. The intention is that we can engage the Blockcerts / Verifable Credential communities and see what fts best.
* [mattr.global/Verifiable Credential based Authentication via OpenID Connect](https://mattr.global/verifiable-credential-based-authentication-via-openid-connect/)
* [bcgov/vc-authn-oidc](https://github.com/bcgov/vc-authn-oidc)
> Verifiable Credential Authentication with OpenID Connect (VC-AuthN OIDC)
* [Full-text Search for Verifiable Credential Metadata on Distributed Ledgers](https://arxiv.org/abs/1909.02895)
* [Blockstack and Verifiable Credentials - Paris P2P Festival](https://p2p.paris/gen/attADzQJ92rNIv6B3-Blockstack_and_Verifiable_Credentials_-_Paris_P2P_Festival_.pdf)
* [Enabling Decentralised Identifiers and Verifiable Credentials for Constrained IoT Devices using OAuth-based Delegation](https://www.ndss-symposium.org/wp-content/uploads/diss2019_05_Lagutin_paper.pdf)
> Abstract—Decentralised identifiers (DIDs) and verifiable credentials (VCs) are upcoming standards for self-sovereign privacypreserving identifiers and authorisation, respectively. This focus on privacy can help improve many services and open up new business models, but using DIDs and VCs directly on constrained IoT devices can be problematic due to the management and resource overhead. This paper presents an OAuth-based method to delegate the processing and access policy management to the Authorisation Server thus allowing also systems with constrained IoT devices to benefit from DIDs and VCs.
* [W3C Verifiable Credentials - Kent Branch](https://www.bcs.org/events/2019/october/w3c-verifiable-credentials-kent-branch/) - [pdf](https://cdn.bcs.org/bcs-org-media/4653/kent-w3c-verifiable-credentials-031019.pdf)
> The speaker will introduce the W3C Verifiable Credentials Data Model, which was published as a Proposed Recommendation in September 2019. Verifiable Credentials are the latest development in identity management and are fundamentally different from today's federated identity management systems such as SAML and OpenID Connect.
>
> David will describe the VC ecosystem and data model. He will then describe the prototype implementation which was built with colleagues from the University of Toulouse. They built a prototype system, which uses Fast Identity Online (FIDO) for user authentication, meaning that usernames and passwords are no longer needed. A pilot application was tested with a small sample of NHS patients and the speaker will present the results of this trial.
* [IBM Verify Credentials](https://docs.info.verify-creds.com)
> With IBM Verify Credentials and our alpha components, you can begin your journey of exploring the benefits of decentralized identity. We have provided an interactive experience centered around the challenge of proving your identity while opening a financial account. Additionally, we will walk you through the development of your first end-to-end decentralized identity solution.
* [Verifiable credentials and libp2p](https://discuss.libp2p.io/t/verifiable-credentials-and-libp2p/206)
> Hi - were looking into libp2p as a network stack for our application and exploring how we could integrate verifiable credentials (https://w3c.github.io/vc-data-model/ 2) infrastructure. A basic use case is that of a node being challenged to provide some specific credential to join the network. The bootstrap node handling the incoming connection should verify the credential with the issuer and complete the connection/bootstrap or terminate it.
* [Open Badges are Verifable Credentials](https://nbviewer.jupyter.org/github/WebOfTrustInfo/rebooting-the-web-of-trust-spring2018/blob/master/final-documents/open-badges-are-verifiable-credentials.pdf)
> The Open Badges Specifcation is a vocabulary and set of protocols that describes credentials. The vocabulary can describe any achievement in terms of a common set of attributes and is most often used for educational or occupational credentials. At present in version 2.0, Open Badges defnes two verifcation methods: HostedBadge (requiring resources hosted on HTTP in specifc locations) and SignedBadge (using a JSON Web Signature, which references hosted Issuer Profle and CryptographicKey information).
>
> The Blockcerts Open Badges Draft Extension introduced a verifcation method based on those used by Verifable Credentials for the specifc use case of blockchain-anchored credentials. This paper expands that work and proposes a new option that can reside alongside existing Open Badges verifcation methods.
* [OPEN BADGES ON THE BLOCKCHAIN](https://draftin.com/documents/1138961?token=hQ5q0mCHizZum8-pkDFYUZr4YFYOWMN01BPT-5uX00hAaGxYOAlgAlhyenat76hjNpTCs-CMWPI38KWn_omp0Oc)
> This document gives an overview of the status, interesting companies and people regarding Verifiable Open Badges on the Blockchain.
* [Addition of Proof Request/Response to a formal Verifiable Credentials specification](https://github.com/WebOfTrustInfo/rwot9-prague/blob/master/topics-and-advance-readings/verifiable-credentials-proof-request.md)
> The W3C Verifiable Credentials (hereafter VC) specification does not currently outline how credential data should be requested by a Verifier. This document outlines the approach taken at Workday and proposes it as an addition or companion to the VC spec.
>
> At RWoT we wish to present our approach in order to get community feedback and consensus. Workday recently announced our credentialing platform and will shortly begin to issue credentials within our market verticals. We fully intend to support the community standards around credentialing and therefore wish to drive consensus in the community on a simple, standard approach for requesting and sharing VCs between a holder and verifier.
* [Workday Credentials & WayTo™ By Workday](https://credentials.workday.com/docs/overview/)
> An issuer is any entity that wishes to relinqiush and publicly attest to the veracity of data pertaining to a user. Public attestation comes in the form of a digital signature. When an issuer offers a credential to a user, Workday Credentials cryptographically signs the data in each credential with the issuer's private key before offering it to the user. The signing key's corresponding public key is written to a public ledger and is declared as belonging to the issuer, so that anyone can use that public key to verify the signature embedded in a user's digital credentials and establish trust in a credential's authenticity.
## Code
* [Identity.com Verifiable Credential Library](https://www.npmjs.com/package/@identity.com/credential-commons)
> This Javascript Library provides functionality around Verifiable Credentials (VC), a W3C standard. Enables Validators to issue, Credential Wallets to verify, filter and Requesters to verify credentials.
* [EDCI-Data-Model](https://github.com/european-commission-europass/EDCI-Data-Model)
> The European Commission is developing the Europass Digital Credentials Infrastructure (EDCI) a set of tools, services and software to support the issuance of authentic, tamper-proof digital credentials (such as qualifications and other learning achievements) across Europe. The EDCI is being developed as part of ongoing work to implement the new Europass Framework for supporting transparency of skills and qualifications in Europe.
* [gautamdhameja/substrate-verifiable-credentials](https://github.com/gautamdhameja/substrate-verifiable-credentials)
> A minimal Substrate runtime for verifiable credentials' issuance and verification.
* [bcgov/TheOrgBook](https://github.com/bcgov/TheOrgBook)
> A public repository of verifiable claims about organizations. A key component of the Verifiable Organization Network.
## CCG
* [Credentials Community Group](https://www.w3.org/community/credentials/) - [Website](https://w3c-ccg.github.io/) - [Mail archive](http://lists.w3.org/Archives/Public/public-credentials/)
> The mission of the Credentials Community Group is to explore the creation, storage, presentation, verification, and user control of credentials. We focus on a verifiable credential (a set of claims) created by an issuer about a subject—a person, group, or thing—and seek solutions inclusive of approaches such as: self-sovereign identity; presentation of proofs by the bearer; data minimization; and centralized, federated, and decentralized registry and identity systems. Our tasks include drafting and incubating Internet specifications for further standardization and prototyping and testing reference implementations.
* [w3c-ccg/vc-extension-registry](https://github.com/w3c-ccg/vc-extension-registry)
REGISTRY: The Verifiable Credentials Extension Registry - w3c-ccg/vc-extension-registry
* [w3c-ccg/edu_occ_verifiable_credentials](https://github.com/w3c-ccg/edu_occ_verifiable_credentials)
WORK ITEM: Drafts and Ideas of Educational and Occupational Verifiable Credentials - w3c-ccg/edu_occ_verifiable_credentials
* [w3c-ccg/vc-examples](https://github.com/w3c-ccg/vc-examples)
WORK ITEM: Verifiable Credentials Examples.
## VC-WG
* [W3C Verifiable Claims Working Group](https://www.w3.org/2017/vc/WG/) - [Mail Archives](https://lists.w3.org/Archives/Public/public-vc-wg/) - Technical discussion and public announcements for the Verifiable Claims Working Group
> The mission of the Verifiable Claims Working Group (VCWG) is to make expressing and exchanging credentials that have been verified by a third party easier and more secure on the Web.
* [w3c/verifiable-claims](https://github.com/w3c/verifiable-claims)
W3C Verifiable Claims Working Group.
* [Verifiable Credentials Data Model 1.0](https://w3c.github.io/vc-data-model/) - Expressing verifiable information on the Web - [w3c/vc-data-model](https://github.com/w3c/vc-data-model)
> Verifiable Claims Data Model and Representations specification.
* [w3c/vc-use-cases](https://github.com/w3c/vc-use-cases)
Verifiable Claims Use Cases.
* [Verifiable Credentials Implementation Guidelines 1.0](https://www.w3.org/TR/vc-imp-guide/) - [w3c/vc-imp-guide](https://github.com/w3c/vc-imp-guide)
> Verifiable Claims WG - Verifiable Credentials Implementation Guidelines - w3c/vc-imp-guide
* [w3c/vc-test-suite](https://github.com/w3c/vc-test-suite)
Verifiable Claims WG Test Suite.
* [Verifiable Credentials Data Model Implementation Report 1.0](https://w3c.github.io/vc-test-suite/implementations/)
* [w3c/vctf](https://github.com/w3c/vctf) **Archived**
> The Web Payments Interest Group's Verifiable Claims Task Force
## Sovrin
![](https://i.imgur.com/hpXr1Af.png)
* [https://drive.google.com/drive/u/0/folders/1UxLLugRQKuV8Mdvv_X9Y6ty4szSi5ZNU?ogsrc=32](https://drive.google.com/drive/u/0/folders/1UxLLugRQKuV8Mdvv_X9Y6ty4szSi5ZNU?ogsrc=32)
* [Verifiable Credentials 101 for SSI - Tyler Ruff - Webinar 11](http://ssimeetup.org/verifiable-credentials-101-ssi-tyler-ruff-webinar-11/)
Tyler Ruff, product manager at Evernym, will be our next guest to walk us through Verifiable Credentials in the context of Self-Sovereign Identity. He will cover how they are created, issued and shared, as well as cover some common technical questions.