Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docs - Improve SEO #380

Merged
merged 3 commits into from
Sep 8, 2021
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions documentation/docs/contact.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
---
title: Contact
sidebar_label: Contact
description: Get in touch with the project maintainers.
image: /img/Identity_icon.png
keywords:
- Contact
- GitHub
- Maintainers
---

TODO: Add ways to contact the maintainers
8 changes: 8 additions & 0 deletions documentation/docs/contribute.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
---
title: Contribute to the project
sidebar_label: Contribute
description: Contribute to IOTA Identity joining the Identity initiative, via the projects GitHub repository, documentation or sharing your knowledge.
lucas-tortora marked this conversation as resolved.
Show resolved Hide resolved
image: /img/Identity_icon.png
keywords:
- Contribute
- GitHub
- Identity Initiative
- Documentation
- Discord
---

**Thanks for thinking about contributing to the project! We have the following ways that you can contribute.**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
---
title: Introduction to Decentralized Identity
sidebar_label: Decentralized Identity
description: Decentralized identity defines a new method for identity management and authentication by removing centralized aspects.
image: /img/Identity_icon.png
keywords:
- Self Sovereign Identity
- decentralized
- Permissionless
- authentication
---
# Introduction to Decentralized Identity

Decentralized Identity or Self Sovereign Identity (SSI) defines a new method for identity management and authentication. It removes the centralized aspects and puts the Identity subject in full control over its own identity. Decentralized identity provides a solution for the increasing amount of database breaches, the lack of trust in any digital setting and the increasingly difficult to comply to privacy legislation, such as GDPR.
lucas-tortora marked this conversation as resolved.
Show resolved Hide resolved

Expand All @@ -14,9 +20,13 @@ With digital identity, the user can decide what information to share and with wh

<iframe width="640" height="360" src="https://www.youtube.com/embed/4YnGFHhxua8" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

### Identity for People
## Identity for People

> IOTA Identity builds a new internet, without usernames, passwords, endless repeated forums, or uncontrolled data harvesting.
:::info New internet

IOTA Identity builds a new internet, without usernames, passwords, endless repeated forums, or uncontrolled data harvesting.

:::

Information about one’s life is spread across many locations. Most people have numerous unorganized important documents at home, hundreds of online accounts, and many more online footprints. Through statistical predictive analysis, computer programs can harvest unverified online information sources and create a reasonably accurate profile about our lives. These profiles are accurate enough for targeted advertising and personalized content, but lack the proof and trust for them to be used in business. This results in an antiquated customer experience where we have to submit our age and address for every purchase we make and every account we create. It also inhibits our ability to do many online tasks like requesting and extending licenses or taking out a mortgage.

Expand All @@ -26,10 +36,11 @@ IOTA Identity allows a new internet without usernames, passwords, endless repeat

Governmental mechanisms for building digital identities are currently being established throughout Europe and Asia, with demand increasing around the globe. However, they are managed by single entities, and restricted to the governments that created them. By decentralizing a framework for these standards to adapt to, we have a system for intergovernmental verification of individuals and devices. A person’s digital identification will be transferable across borders like a passport. However, it will no longer require the trust of the issuing government due to the digital trust established by the open and auditable system.

### Identity for Organizations

> IOTA Identity allows organizations to comply with GDPR in a cost efficient and privacy-enabling manner
## Identity for Organizations

:::info GDPR
IOTA Identity allows organizations to comply with GDPR in a cost efficient and privacy-enabling manner
:::
Many corporations are associated with greed and abuse of power. This reputation stems from the role some have chosen to take within society. Corporations are trusted with our data, but often do not act responsibly. Vulnerability, fix, patch, repeat. In software and systems we have seen this
cycle repeat. Headlines on data leaks are now an ever-present feature in the news.
lucas-tortora marked this conversation as resolved.
Show resolved Hide resolved

Expand All @@ -39,9 +50,13 @@ Due to Know-Your-Customer (KYC) and Anti-Money Laundering (AML) obligations, com

Organizations that have their own decentralized identities can also combat fraud and increase control over their online brand. Companies can sign invoices and agreements using their decentralized identities. While interacting with the customers, they will also be able to reliably identify themselves.

### Identity for Things
## Identity for Things

:::info TRUST

IOTA Identity adds the missing key ingredient for the "Economy of Things": Trust.

> IOTA Identity adds the missing key ingredient for the "Economy of Things": Trust.
:::

With Identity of Things (IDoT) devices are provided with a unique global identity, able to prove many attributes including their capabilities, specifications and authenticity. People, organizations and other devices will only pay devices that can prove their ability to fulfill the required task. This basis of trust prevents fraudulent activity. In addition, by using the IOTA ledger, the progress of the task can be immutably logged. With the combination of the IOTA protocol and the IOTA Identity framework, we can automate the entire interaction between all parties, without requiring predefined trust. The [Industry Marketplace](https://industry.iota.org/) provides a perfect example of how this framework and level of autonomy work.
lucas-tortora marked this conversation as resolved.
Show resolved Hide resolved

Expand All @@ -50,27 +65,36 @@ representation of physical devices and objects. This allows other identities to

Security is a major barrier in advancing technologies that use IoT. Whether it is the smart devices in our own homes, or at a larger scale, the critical infrastructure of organizations and cities, security must be at the core. It is central to any globally-unifying identity solution. By integrating advanced research in cryptography and digital ledgers, and combining it with a scalable access and management system, security will become a core functionality of the systems we build. By using scalable device DIDs, integrating verification and reputation schemes, and allowing for transparent tamper-proof accountability, we begin to understand how we can future-proof the security of our systems, allowing us to start trusting the process, and not the patch.

### One Framework. Any Identity.
## One Framework. Any Identity.

> The IOTA Identity framework serves as the invisible layer of trust for the internet. This framework must be open, scalable and free, so that everyone and everything can enjoy trust as a basic digital right.
:::info Framework

The IOTA Identity framework serves as the invisible layer of trust for the internet. This framework must be open, scalable and free, so that everyone and everything can enjoy trust as a basic digital right.

:::

With multiple different types of actor requiring an identity protocol, it is a strong proposition to use the same underlying protocol for all of them. This IOTA Identity framework enables anyone or anything to create a digital identity, build an online profile of trust by collecting verifiable credentials, and share them with other actors they interact with. Interaction between people, companies, things and objects becomes seamless. And just as we can trust a person we will also be able to trust a car, or even a luxury coat. Different identities can also be linked together, creating trustworthy relationships, such as ownership of an object. IOTA already provides a protocol that enables these actors to transact value or data with one another. IOTA will now combine identity features into a single platform, creating the base protocol for the next generation of smart applications.
lucas-tortora marked this conversation as resolved.
Show resolved Hide resolved

### Why IOTA?
## Why IOTA?

:::info Neutral and Free

> IOTA is a neutral and free-to-use public infrastructure acting as a trustworthy public commons.
IOTA is a neutral and free-to-use public infrastructure acting as a trustworthy public commons.

:::

IOTA is a scalable and feeless Distributed Ledger Technology (DLT). Similar to Blockchain technology, IOTA provides an immutable and decentralized ledger that can transact value through the IOTA token. Unlike Blockchain, IOTA uses a non-linear data structure called the Tangle which makes it feeless and vastly more scalable. The Tangle also facilitates feeless transactions of data, such as DID registrations and credential revocations. As a single source of truth and trust in data, the Tangle can provide the trust infrastructure in a highly networked world.

IOTA is uniquely suited for the a single unifying identity implementation. The network is designed for both humans and devices, providing a platform for trusted communication between individuals, organizations and things. The IOTA Foundation’s principles of full transparency, openness and permissionless innovation provide an open and neutral environment:

1. **Permissionless & Decentralized**: Unlike a permissioned network such as Hyperledger or Corda, everyone can participate in consensus without being granted access. No party incentivized by profit-making has collective control over the network (unlike all blockchains). This makes IOTA neutral and censorship-resistant.
2. **Public**: Everyone can observe (unless using optional encryption) the transactions in the network. The network is inherently transparent.
3. **Feeless**: All data and value transactions on the network are free. Unlike other DLTs such as Bitcoin or Ethereum, registration and communication of identities can be written to the network without a requirement to purchase a cryptocurrency token.
4. **Open Source**: Everyone can view and contribute to the code.
5. **Easy to use**: IOTA Identity is inheritantly easier to use due to the lack of fees or requirement to set up an entire private network. In addition, the framework is designed to have a easy to use high-level API, with accesibility to the low-level more complex and more flexible API. Through integration with the Stronghold project, we also provide out-of-the-box security for secrets.
5. **Easy to use**: IOTA Identity is inherently easier to use due to the lack of fees or requirement to set up an entire private network. In addition, the framework is designed to have a easy to use high-level API, with accessibility to the low-level more complex and more flexible API. Through integration with the Stronghold project, we also provide out-of-the-box security for secrets.

Data must be immutably stored on a distributed ledger to ensure the decentralized nature of the digital identity protocol. With the network’s continual uptime, credentials are always verifiable without a dependency on the servers of credential issuers. This system also increases individual privacy, because contact with the Issuer is removed from the interaction between Holder and Verifier. Issuers will not be able to track when and how often the Holder uses their credentials. The flexibility afforded of the Tangle means that the digital identity framework remains extendible in the future.
Data must be immutably stored on a distributed ledger to ensure the decentralized nature of the digital identity protocol. With the network’s continual uptime, credentials are always verifiable without a dependency on the servers of credential issuers. This system also increases individual privacy, because contact with the Issuer is removed from the interaction between Holder and Verifier. Issuers will not be able to track when and how often the Holder uses their credentials. The flexibility afforded of the Tangle means that the digital identity framework remains extendable in the future.

Within the digital identity framework, the Tangle is used for the following functionalities:
1. **Public Key Registry**: The Tangle enables a decentralized public key infrastructure (DPKI) for Issuers using DID standards. This allows Verifiers to verify a signature without a reliance on a centralized server. The DID standard also adds service endpoints, extending the usability of Identities beyond a public key registry, to, for example, registering verifiable credential standards.
2. **Revocation**: A verifiable credential can be revoked, meaning it will no longer be able to pass verification. The revocation is immutably stored on the Tangle, making sure no Holder can attempt to use their revoked credentials. This is designed to be a simple public key deactivation to guarentee GDPR compliance.
2. **Revocation**: A verifiable credential can be revoked, meaning it will no longer be able to pass verification. The revocation is immutably stored on the Tangle, making sure no Holder can attempt to use their revoked credentials. This is designed to be a simple public key deactivation to guarantee GDPR compliance.
7 changes: 7 additions & 0 deletions documentation/docs/faq.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
---
title: Frequently Asked Questions
sidebar_label: FAQ
description: Frequently Asked Question regardging IOTA Identity.
image: /img/Identity_icon.png
keywords:
- FAQ
- Frequently Asked Question
- Troubleshooting
- IOTA Identity
---

TODO: Add list of frequently asked questions and there answers
6 changes: 0 additions & 6 deletions documentation/docs/getting-started/advanced/README.md

This file was deleted.

5 changes: 5 additions & 0 deletions documentation/docs/getting-started/advanced/client.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
---
title: IOTA Client
sidebar_label: IOTA Client
description: Explain what the IOTA Client does and how the features such as ZMQ and promoting should be used.
image: /img/Identity_icon.png
keywords:
- IOTA Client
- ZMQ
---

TODO: Explain what the IOTA Client does and how the features such as ZMQ and promoting should be used.
14 changes: 12 additions & 2 deletions documentation/docs/getting-started/advanced/did_messages.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
---
title: DID Messages
sidebar_label: DID Messages
description: Learn how IOTA Identity recreates and validates the state from it's origin to the current version using Integration and Differentiation Chains.
image: /img/Identity_icon.png
keywords:
- Diff Chain
- Differentiation Chain
- Integration Chain
- smart contracts
- Chronicle
- state
- stateless
---

TODO: Explain the concept of DID Messages and how they can be used to optimize DID updates.
Expand All @@ -9,15 +19,15 @@ TODO: Explain the concept of DID Messages and how they can be used to optimize D

Most DID methods are implemented on a Distributed Ledger Technology (DLT), such as Bitcoin, Ethereum or IOTA. Most common DID implementation on DLTs are based on fit-for-purpose Blockchains that store the state of a DID Document in the ledger, or a general purpose Blockchain that utilize smart contracts to store the state. Updating a DID Document where the state is understood by the network is straightforward. The network can determine if an action is legal and if a cryptographic signature is provided correctly, as it understands the underlying data structure, and can update the state accordingly. The individual state updates, or transactions, can be forgotten.

The IOTA Tangle is unable to track state or the understand the data structure. Storing the state is neither possible in the ledger, nor via a Smart contract (yet). Therefore, IOTA Identity has to recreate and validate the state from the origin of the Identity to the current version. The process involves querying all the relevant transactions from the Tangle, ordering them, filtering out the transactions that perform illegal actions or have an incorrect signature and then recreate state. As this requires the full history of the Identity, we recommend utilizing [Chronicle](https://github.com/iotaledger/chronicle.rs), an IOTA permanode, which stores the entire history of the Tangle. Further research will be performed to reduce storage requirements for IOTA Identity based applications.
The IOTA Tangle is unable to track state or understand the data structure. Storing the state is neither possible in the ledger, nor via a Smart contract (yet). Therefore, IOTA Identity has to recreate and validate the state from the origin of the Identity to the current version. The process involves querying all the relevant transactions from the Tangle, ordering them, filtering out the transactions that perform illegal actions or have an incorrect signature and then recreate state. As this requires the full history of the Identity, we recommend utilizing [Chronicle](https://github.com/iotaledger/chronicle.rs), an IOTA permanode, which stores the entire history of the Tangle. Further research will be performed to reduce storage requirements for IOTA Identity based applications.
lucas-tortora marked this conversation as resolved.
Show resolved Hide resolved

### DID Messages

Due to this constant need for state recreating, unique performance improvements have been design and implemented for IOTA Identity. Most DID Documents will need few to no updates, however identities that sign a lot of Verifiable Credentials might update more frequently, as will be explained in the Verifiable Credentials section. To support higher frequency identity updates, we have introduced a unique solution called the “Integration Chain” and the “Differentiation Chain” (Diff Chain).

The Integration Chain is a chain of transactions that contain full DID Documents. They are unrestricted in what they can add or remove from the DID Document. Every Integration Chain transaction points to a separate new Diff Chain. These Diff Chain transactions only list the changes to a DID Document and are therefore more compact. It is, however, restricted in rotating the signing key, making it fast and easy to validate the transaction.

Once a new Integration chain transaction is created, it will take all Diff Chain updates and compress them into a new DID Document, essentially combining them all into a single transaction. This reduces the amount of updates that need to be queried and validated tremendously. For example, lets assume every Diff chain contains 100 updates. Then validating a DID that has done 1050 updates, only requires the validation of 10 Integration Chain updates and 40 Diff Chain updates (The latest Diff Chain). We skipped out on 10 Diff Chains each containing 100 updates, and only validated the 10 Integration Chain updates and the last Diff Chain containing 40 updates. If we estimate every update to be on average 1 Kb, we only have to download 50 kb of information and validate it, which is signficantly less then the otherwise 1.025 Mb of information.
Once a new Integration chain transaction is created, it will take all Diff Chain updates and compress them into a new DID Document, essentially combining them all into a single transaction. This reduces the amount of updates that need to be queried and validated tremendously. For example, lets assume every Diff chain contains 100 updates. Then validating a DID that has done 1050 updates, only requires the validation of 10 Integration Chain updates and 40 Diff Chain updates (The latest Diff Chain). We skipped out on 10 Diff Chains each containing 100 updates, and only validated the 10 Integration Chain updates and the last Diff Chain containing 40 updates. If we estimate every update to be on average 1 Kb, we only have to download 50 kb of information and validate it, which is significantly less than the otherwise 1.025 Mb of information.

The improved performance and ability to handle frequently updated DID Documents is especially beneficial for Verifiable Credential Revocation, by utilizing revocation flags. These concepts will be explained in the Verifiable Credentials and Key Collections sections.

Expand Down
11 changes: 11 additions & 0 deletions documentation/docs/getting-started/advanced/overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
title: Advanced Concepts Overview
sidebar_label: Overview
description: Provide overview of the advanced concepts
image: /img/Identity_icon.png
keywords:
- advanced
- concepts
---

TODO: Provide overview of the advanced concepts
Loading