-
Notifications
You must be signed in to change notification settings - Fork 473
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1116 from krofax/identity-docs
Moved identity files
- Loading branch information
Showing
19 changed files
with
572 additions
and
79 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,13 @@ | ||
{ | ||
"identity-overview": { | ||
"display": "hidden" | ||
}, | ||
|
||
"overview": "Overview", | ||
"identity-and-rep": "Identity and Reputation", | ||
"project-and-individual-identity-in-the-collective": "Project and individual identity in the Collective", | ||
"--- ATTESTATIONS": { | ||
"title": "ATTESTATIONS", | ||
"type": "separator" | ||
}, | ||
"about-attestations": "About attestations", | ||
"attestations-best-practices": "Attestations Best Practices", | ||
"build-with-attestations": { | ||
"title": "Build with Attestations", | ||
"href": "https://docs.optimism.io/chain/identity/about-attestations", | ||
"newWindow": true | ||
} | ||
"contracts-eas": "Contracts (EAS)", | ||
"schemas": "Schemas", | ||
"applications": "Apps", | ||
"organizations": "Organization", | ||
"project-and-individual-identity": "Project and individual identity in the Collective", | ||
"projects": "Projects" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
--- | ||
title: About attestations | ||
lang: en-US | ||
description: Learn about building decentralized identity apps using Ethereum Attestation Service. | ||
--- | ||
|
||
import { Callout } from 'nextra/components' | ||
|
||
# Build decentralized identity apps with attestations | ||
|
||
This guide explains how to build decentralized identity apps using attestations. | ||
It will define attestations and review the benefits of using Ethereum Attestation Service for Optimism developers. | ||
|
||
## About attestations | ||
|
||
Attestations are signed statements about a person, entity, or thing, made by an individual, company, or organization and are one of the building blocks of decentralized identity. | ||
|
||
Our journey towards decentralized identity begins with the [Ethereum Attestation Service](https://optimism.easscan.org), a set of smart contracts for creating, verifying, and revoking on/off-chain attestations. | ||
You can think of Ethereum Attestation Service as a multiplayer database for streamlining the attestation process and enabling a robust web of trust on any OP Chain in the Superchain. | ||
|
||
![attestation logo.](/img/op-mainnet/identity/atst-logo.png) | ||
|
||
## Benefits of using Ethereum attestation service | ||
|
||
EAS makes it easy to sign any piece of data. In addition, here are a few key benefits: | ||
|
||
* **Permissionless**: The AttestationStation is a public contract, which means that it is not owned or controlled by any one person or organization. Anyone can use the contract to verify and attest anything. | ||
* **Tooling:** Indexing, various access-management integrations, and more are already available for the AttestationStation. | ||
|
||
## Privacy | ||
|
||
Attestations create log entries that become part of the permanent record of the blockchain. | ||
Here are some best practices to avoid violating users' privacy: | ||
|
||
* Obtain explicit consent from users for [personal information](https://csrc.nist.gov/glossary/term/PII), which includes a user's legal name and birthdate. | ||
Clearly [inform users](https://ico.org.uk/for-organisations/uk-gdpr-guidance-and-resources/personal-information-what-is-it/what-is-personal-information-a-guide/) what data is being collected, why it is being collected, and how it will be used. | ||
* Sensitive data should not be stored onchain, in any way. | ||
If you need a smart contract to verify it in the future, you can use the hash of the sensitive data rather than the data itself. | ||
* Even when storing sensitive data offchain, you need to ensure it is stored securely using encryption, proper authentication and authorization, etc. | ||
|
||
<Callout type="warning"> | ||
You are encouraged to consult a lawyer or other professional advisors if you are uncertain about your obligations. | ||
Global data privacy laws are complex and multifaceted, and the violations of user privacy can have meaningful compliance as well as practical implications. | ||
</Callout> | ||
|
||
## Common questions | ||
|
||
**Q: Are attestations replacements for verifiable credentials?** | ||
|
||
**A:** Attestations should not be viewed as a replacement for verifiable credentials or decentralized identifiers. Rather developers can use attestations to create [decentralized identifiers](https://www.w3.org/TR/did-core/), credentials, claims, and more. | ||
|
||
**Q: Are attestations replacements for proof of personhood?** | ||
|
||
**A:** Attestations and the associated web of trust are complementary with proof of personhood like [WorldID](https://worldcoin.org/blog/announcements/worldcoin-commits-optimism-superchain-vision-ahead-mainnet-launch) and similar solutions. Without proof of personhood, agents could sybil-attack the web of trust to build their reputation. On the other hand, web of trust extends proof of personhood to confer more information about the person you're interacting with which is critical in governance and other use-cases that require knowledge of the person's reputation. | ||
|
||
**Q: Why attestations instead of soulbound / non-transferable tokens?** | ||
|
||
**A:** Attestations have two key benefits over soulbound / non-transferable tokens: flexibility of whether the attestations is onchain or offchain and composability. While there is a canonical [decentralized schema registry for attestations](https://optimism.easscan.org/schemas), there is no central registry or specification for soulbound / non-transferable tokens which can lead to poor interoperability between systems and protocols. | ||
|
||
## Next steps | ||
|
||
* Read about [Attestation best practices](/identity/attestations-best-practices) | ||
Are you inspired and don't know what to build? We have a [project idea list](https://github.com/ethereum-optimism/ecosystem-contributions). | ||
Do you have a good idea, but you know you're not the right person to build it? Please open a PR on that list and suggest it. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
--- | ||
title: Attestation Apps | ||
lang: en-US | ||
description: Learn some of the applications that use attestations. | ||
--- | ||
|
||
# Attestation apps | ||
|
||
This guide lists some of the applications that use attestations. | ||
|
||
## Ethereum attestation service | ||
|
||
These are some of the applications that use the attestations: | ||
|
||
* [EAS Scan](https://optimism.easscan.org/): This no-code interface lets you build schemas, query, and submit attestations. | ||
* [Citizen Attestations](https://citizen-attestations.xyz/): An attestation explorer for Optimism focusing on attestations that are relevant for the OP Citizens eligibility process. | ||
* [Attest Fest](https://attest-fest.party/): Create multiple EAS attestations using the power of CSV and Safe multisig wallets. It's an attest fest, yay! | ||
* [Optimist Profile](https://app.optimism.io/retropgf-signup): The Optimist Profile allows contributors to share the contributions and impact they've made to the Optimism Collective. | ||
* [Ethereum Ecosystem onchain reviews](https://www.ethereum-ecosystem.com/new-review): The goal of this Attestation-Based Dapp Rating web app is to allow anyone to review dApps and tools 100% onchain. | ||
|
||
## Building with attestations | ||
|
||
Are you building with attestations? Feel free to add your app to this page using the [attestation GitHub issue template](https://github.com/ethereum-optimism/docs/issues/new?assignees=\&labels=documentation%2Cattestation%2Ccommunity-request\&projects=\&template=suggest_attestation.yaml\&title=%5BATT%5D+Add+PR+title). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
--- | ||
title: Contracts (EAS) | ||
lang: en-US | ||
description: Learn the basics of contracts for EAS, EAS contract addresses, and how to read and write attestations. | ||
--- | ||
|
||
# EAS contracts | ||
|
||
This guide covers [Ethereum Attestation Service ("EAS")](https://attest.sh/), an open-source public good that is included as a predeploy in the OP Stack. | ||
It also covers EAS contract addresses, how to read and write attestations, and indexing. | ||
|
||
## EAS contract addresses | ||
|
||
The [Ethereum Attestation Service](https://docs.attest.sh/docs/welcome) is deployed on these addresses: | ||
|
||
| Network | Attestation Contract | Schema Registry Contract | | ||
| ---------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | | ||
| OP Sepolia | [0x4200000000000000000000000000000000000021](https://sepolia-optimism.etherscan.io/address/0x4200000000000000000000000000000000000021) | [0x4200000000000000000000000000000000000020](https://sepolia-optimism.etherscan.io/address/0x4200000000000000000000000000000000000020) | | ||
| OP Mainnet | [0x4200000000000000000000000000000000000021](https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000021) | [0x4200000000000000000000000000000000000020](https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000020) | | ||
|
||
## How to read and write attestations | ||
|
||
You can read and write attestations in several ways: | ||
|
||
* [EAS scan user interface (OP Mainnet)](https://optimism.easscan.org/) | ||
* [EAS scan user interface (OP Sepolia)](https://optimism-sepolia.easscan.org/) | ||
* [JavaScript SDK](https://docs.attest.sh/docs/developer-tools/eas-sdk) | ||
* [Access directly onchain](https://github.com/ethereum-attestation-service/eas-contracts/blob/master/contracts/EAS.sol) (if you need to attest from a smart contract) | ||
|
||
## Indexing | ||
|
||
Indexing is available via: | ||
|
||
* [GraphQL endpoint](https://docs.attest.sh/docs/developer-tools/api) | ||
* [Ponder graph](https://github.com/ethereum-attestation-service/eas-ponder-graph) | ||
* [Open source indexer](https://github.com/ethereum-attestation-service/eas-indexing-service) | ||
|
||
## Next steps | ||
|
||
For more information on working with attestations, see [Build Decentralized Identity Apps with Attestations](/identity/about-attestations). |
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.