|
| 1 | +# 1.2: Understanding Core Concepts |
| 2 | + |
| 3 | +Self-sovereign identity tells the core story of XIDs: why they exist |
| 4 | +and what they do. However, XIDs are built on a number of additional |
| 5 | +core concepts. They're all detailed in the [Core Concepts |
| 6 | +documents](https://github.com/BlockchainCommons/XID-Quickstart/blob/main/concepts/README.md) |
| 7 | +and further summarized here. |
| 8 | + |
| 9 | +All of the core concepts are useful for understanding XIDs, but you |
| 10 | +may particularly want to read the discussions of [Data |
| 11 | +Minimization](https://github.com/BlockchainCommons/XID-Quickstart/blob/main/concepts/data-minimization.md) |
| 12 | +and the technologies for |
| 13 | +[XIDs](https://github.com/BlockchainCommons/XID-Quickstart/blob/main/concepts/xid.md) |
| 14 | +and [Gordian |
| 15 | +Envelope](https://github.com/BlockchainCommons/XID-Quickstart/blob/main/concepts/gordian-envelope.md). |
| 16 | + |
| 17 | +## Core Philosophies |
| 18 | + |
| 19 | +[**Attestation & Endorsement |
| 20 | +Model**](https://github.com/BlockchainCommons/XID-Quickstart/blob/main/concepts/attestation-endorsement-model.md). An |
| 21 | +attestation is a formal statement of something. Broadly, it can come |
| 22 | +in two forms: a self-attestation, which is a formal statement you make |
| 23 | +about yourself, and a peer endorsement, which is a formal statement |
| 24 | +that you make about something else. Attestations and endorsements are |
| 25 | +closely related to claims and credentials in the larger world of |
| 26 | +identity. |
| 27 | + |
| 28 | +An attestation is most powerful if it's provable, partially or |
| 29 | +fully. Building out context for an attestation can also help in |
| 30 | +that. Beyond that, the value of an attestation ultimately depends on |
| 31 | +the reputation of the person making the attestation. Your |
| 32 | +self-attestations, beyond what can be proven, are only as strong as |
| 33 | +your reputation. Your peer endorsements ultimately lend your |
| 34 | +reputation to the people your endorse: if they prove incorrect, your |
| 35 | +reputation suffers. |
| 36 | + |
| 37 | +[**Data |
| 38 | +Minimization**](https://github.com/BlockchainCommons/XID-Quickstart/blob/main/concepts/data-minimization.md). The |
| 39 | +concept behind data minimization is simple: you should disclose the |
| 40 | +minimal amount of data that you need to at any time. Making an |
| 41 | +age-restricted purchase is the traditional example: you shouldn't have |
| 42 | +to show your driver's license, which has lots of other personal |
| 43 | +information about you, you shouldn't even have to reveal your age, |
| 44 | +simply that your age is within the range that allows the purchase. |
| 45 | + |
| 46 | +This isn't a philosophical question of privacy. Every bit of |
| 47 | +information that you reveal is dangerous. It might allow correlation, |
| 48 | +revealing something more than you intended. It might be used for |
| 49 | +purposes that you didn't intend. It might create possibilities for |
| 50 | +coercion. It might cause prejudice or disadvantage. And every bit of |
| 51 | +data that you reveal is potentially out there forever. |
| 52 | + |
| 53 | +[**Elision |
| 54 | +Cryptography**](https://github.com/BlockchainCommons/XID-Quickstart/blob/main/concepts/elision-cryptography.md). One |
| 55 | +way to support _Data Minimization_ is to selectively elide (remove) |
| 56 | +information from documents before you send them out, ensuring that |
| 57 | +what you send to each person only contains the information that you |
| 58 | +need to know. |
| 59 | + |
| 60 | +Crypographic elision takes the next step: it preserves hashes of |
| 61 | +elided data so that you can later prove that the data was in a |
| 62 | +document, even after it is removed. If signatures are made across data |
| 63 | +hashes, rather than the data itself, then the signatures also remain |
| 64 | +valid. This allows for the creation of signed credentials that the |
| 65 | +credential holder can selectively elide to ensure _Data Minimization_. |
| 66 | + |
| 67 | +[**The Fair Witness |
| 68 | +Approach**](https://github.com/BlockchainCommons/XID-Quickstart/blob/main/concepts/fair-witness.md). |
| 69 | +Another way to increase the value of _Endorsements_ and other |
| 70 | +_Attestation_ is by using the fair witness approach: you carefully |
| 71 | +attest to only what you can independently determine, you acknowledge |
| 72 | +any biases in the observation, you add context that's important to the |
| 73 | +observation, and you document it all as part of the _Attestation_. |
| 74 | + |
| 75 | +Even if a fair-witness _Attestation_ reveals bias, it can still be |
| 76 | +more valuable than an _Attestation_ without that contextual |
| 77 | +information, because it allows the reader of the _Attestation_ to better |
| 78 | +assess what it actually means. |
| 79 | + |
| 80 | +[**Key |
| 81 | +Management**](https://github.com/BlockchainCommons/XID-Quickstart/blob/main/concepts/key-management.md). Keys |
| 82 | +are what make the trustless world of cryptographic identities and |
| 83 | +digital assets go 'round. They're what control your identity and |
| 84 | +assets, and what you use to prove ownership of the same. Without the |
| 85 | +keys, you literally have nothing. |
| 86 | + |
| 87 | +Key management is what ensures you maintain control of those |
| 88 | +things. Its built on a foundation of heterogeneity, meaning that you |
| 89 | +use different keys for different things, so that when you lose one, |
| 90 | +you don't lose everything. Beyond that, it requires key rotation and |
| 91 | +revocation as things change over time. |
| 92 | + |
| 93 | +[**The Progressive Trust Life |
| 94 | +Cycle](https://github.com/BlockchainCommons/XID-Quickstart/blob/main/concepts/progressive-trust.md). In |
| 95 | +real life, trust is a progressive thing. When you meet someone and |
| 96 | +grow your relationship over years, you slowly extend new information |
| 97 | +to them, slowly learn new things about them, and so over time gain |
| 98 | +increasing trust of them (or possibly the opposite, depending on what |
| 99 | +you learn). |
| 100 | + |
| 101 | +The progressive trust life cycle models real-world relationships as a life |
| 102 | +cycle of increased disclosure and trust. It's intended as a foundation |
| 103 | +for how digital relationships can be similarly modeled, in part by |
| 104 | +using the concept of _Data Minimization_. This replaces the |
| 105 | +all-or-nothing disclosure that is much more common on the 'net today. |
| 106 | + |
| 107 | +[**Pseudonymous Trust |
| 108 | +Building**](https://github.com/BlockchainCommons/XID-Quickstart/blob/main/concepts/pseudonymous-trust-building.md). Revealing |
| 109 | +your identity can be dangerous. This has become very obvious in recent |
| 110 | +years when judges, politicians, and other people impacting the civil |
| 111 | +society of America have been targeted and even killed for what they |
| 112 | +said or did. One solution is to adopt a pseudonymous identity: a |
| 113 | +stable identity that is not associated with your real-world self. |
| 114 | + |
| 115 | +The problem with pseudonymous identities is creating trust for |
| 116 | +them. However, that trust can be bootstrapped through a _Progressive |
| 117 | +Trust Life Cycle_ that includes quality work, verifiable |
| 118 | +self-attestations, and contextual peer endorsements. Over time, a |
| 119 | +pseudonymous identity can gain as much trust as a real-world identity. |
| 120 | + |
| 121 | +[**Public Participation |
| 122 | +Profiles**](https://github.com/BlockchainCommons/XID-Quickstart/blob/main/concepts/public-participation-profiles.md). Public |
| 123 | +participation profiles are _Pseudonymous_ identities that are created |
| 124 | +specifically so that the identity holder can engage in public |
| 125 | +projects. |
| 126 | + |
| 127 | +There are risks to participation, as they can expose information that |
| 128 | +you hadn't intended, and managing your pseudonymous identity requires |
| 129 | +all of the care of any _Pseudonymous_ identity. But there can also be |
| 130 | +rewards in good work done. |
| 131 | + |
| 132 | +## Core Technologies |
| 133 | + |
| 134 | +[**Gordian |
| 135 | +Envelope**](https://github.com/BlockchainCommons/XID-Quickstart/blob/main/concepts/gordian-envelope.md). The |
| 136 | +Gordian Envelope is a "smart document" system that collects and |
| 137 | +displays data in a regularized, deterministic way. Its recursive |
| 138 | +design allows for the storage of great depths of information, while |
| 139 | +its self-describing foundation ensures that it's always possible to |
| 140 | +see what a Gordian Envelope is and what it contains. |
| 141 | + |
| 142 | +One of the greatest strengths of Gordian Envelope is its use of |
| 143 | +_Elision Cryptopgraphy_. The holder of an envelope can practice _Data |
| 144 | +Minimization_ by eliding any information in an envelope while |
| 145 | +maintaining any signatures on the envelope and any credentials it |
| 146 | +might hold. |
| 147 | + |
| 148 | +[**XID**](xid.md). Obviously this whole course is about XIDs, |
| 149 | +Blockchain Commons' self-sovereign identifier. The XID core concept |
| 150 | +document briefly outlines what a XID is, what it contains, and how |
| 151 | +it's created. |
| 152 | + |
| 153 | +XIDs are built on _Gordian Envelope_ using a tight structure that |
| 154 | +limits what objects can be placed at the top level of an envelope to |
| 155 | +standardize and simplify their content. |
| 156 | + |
| 157 | +## Summary: Getting to the Core |
| 158 | + |
| 159 | +Why XIDs? These core concepts explain some of the reasons: |
| 160 | + |
| 161 | +_ They enable _Pseudonymous Trust Building_ where you can build up a pseudonymous identity over time, including _Public Participant Profiles_ for working on public projects. |
| 162 | +- They allow for _Attestations_ and _Endorsements_ to be attached to your identity, possibly using a _Fair Witness Approach that will improve their trustworthiness. |
| 163 | +- They support _Data Minimization_ using _Elision Cryptography_ ensures that allows the holder to decide what to reveal while ensuring that signed statements remain valid. |
| 164 | +- This allows a _Progressive Trust Life Cycle_ where you reveal details over time, just like in the real world. |
| 165 | +- They support _Key Management_ that enables the best practices of heterogeneity and rotation. |
| 166 | + |
| 167 | +## What's Next |
| 168 | + |
| 169 | +You're now ready to begin [§1.3: Creating Your First |
| 170 | +XID](01_3_Your_First_XID.md), to get your hands into the actual work |
| 171 | +of XIDs. |
0 commit comments