Skip to content

Commit

Permalink
cleaning up the dir structure and move source glossary from ToIP to W…
Browse files Browse the repository at this point in the history
…ebofTrust
  • Loading branch information
henkvancann committed Jul 8, 2023
1 parent b775167 commit bcbabc7
Show file tree
Hide file tree
Showing 448 changed files with 416 additions and 56 deletions.
123 changes: 123 additions & 0 deletions docs/How we did/load-glossary-weboftrust-in-docusaurus.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
# Load ToIP glossary in weboftrust github page

## Input

1. The ToIP ACDC glossary locally (all the .md files pulled from [repo wiki](https://github.com/trustoverip/acdc/wiki))
2. Terms WOT manage (xls or csv) table
3. Excel or open source alternative
5. Version control (git, Github or Gitlab)

## Sync with origin ToIP glossary

We use local repo's or PR to sync Weboftrust `WOT-terms.wiki` and TrustoverIP `acdc.wiki`. Note that the wiki pages of a github repo are manifest in a seperate repo.
### Why would we sync with ToIP glossary
The main reason is interoperability. We want to join in the effort to create cross-referencing concepts, terms and glossary resources at WebofTrust.
### Why sync with ToIP glossary nd not something else.
From our WebofTrust view ToIP is our umbrella organisation that has similar objectives and principles. ToIP has good working relations with the European umbrella organisation eSSIF-lab too, who in 2023 can be considered as the global front runners of getting the terminology sorted out for Self-Sovereign Identity.

** How our own repo [WebofTrust](https://github.com/WebOfTrust) came to be **
In 2022 we reasoned:
- we would to have to build similar Github Actions tooling like [ToIP](https://wiki.trustoverip.org/display/HOME/Terms+Wikis) already has.
- we can't join the synchronization effort already taking place with [eSSIF-lab](https://essif-lab.github.io/framework)
- we would have to maintain these auxiliary which keeps us off other important work
In 2023 we experienced:
- lagtime by ToIP and Linux Foundation internal github governance rules
- the knowledge and skills needed to "roll our own" had been acquired
Mid 2023 we decided:
- to start [Weboftrust wiki](https://github.com/WebOfTrust/WOT-terms/wiki)
- to sync at will with [ToIP wiki](https://github.com/trustoverip/acdc/wiki)

## Software environment

For Github pages Docusaurus runs locally and remotely (Github Actions). **Be sure to**:

1. Have the same version of Docusaurus installed locally as Github currently uses remotely
2. study [this guide](https://docusaurus.io/docs/advanced/routing#file-paths-and-url-paths) to avoid frustration with paths.

## Steps

### Pull the WebofTrust wiki

Because the glossary is maintained in Github wiki using Github userinterface here: [Weboftrust wiki](https://github.com/WebOfTrust/WOT-terms/wiki), the most recent version is a remote repo. We have to pull this wiki-repo (be sure to have the **wiki** repo not the "normal" WOT-terms repo!) to local to be able to create our own glossary and Docusaurus static site from this. The static site is then run as a github project page (branch _gh-pages_).

#### Initial clone of the WOT-terms.wiki repo to local

```
git clone https://github.com/weboftrust/WOT-terms.wiki.git
cd WOT-terms.wiki
git remote get-url origin
ls
```

<img src="./images/wiki-repo-ls.png" width="400" alt="wiki-repo-ls-result" />

#### Refresh the WOT-terms.wiki repo to local

```
git pull origin master
```

### Copy the WebofTrust glossary resources into the Docusaurus file structure

To able to generate a tailor made explanation site we use two inputs (see full list of inputs [here](#input)):

1. The WebofTrust glossary locally (all the .md files pulled from [Weboftrust wiki](https://github.com/WebOfTrust/WOT-terms/wiki)
2. Terms WOT manage (xls or csv) table, currently maintained in Google Sheets (mid 2023)


Step into the Docusaurus dir structure to `WOT-terms/docs/terms`
and execute the command `cp ../../../WOT-terms.wiki/* .` to finish what we'd like to achieve: Copy the glossary resources into the Docusaurus file structure.

### Script YYYYYYY to put WOT-terms sheet into JSON structure

| TBW by creator Kor |
- it reads the input file (2.) per line.
- each row describes a term and its resource file
- we create a proper file name
- we try to match the terms in the ToIP glossary resources and bind them

Docusaurus takes care of
- writing `.md` files with Front matter code and includes

### Constraint on WOT-terms sheet
Columns
- key
- (WWWWW-key) multiple foreign keys
- term
- text
- level
- link
- (Cat-CCCC) multiple categories

**key** needs to be unique and once established it should not change.
**Term**s are words used in the resource, you can provide a **link** to more explanation, mainly to the [ACDC glossary](https://github.com/trustoverip/acdc/wiki/). Then the **level** of understanding at which this term might need explanation, and finally a _brief explanation_ in field **text** of the term in the first column.

#### Level

Since KERI and ACDC education start off at the level of SSI-expert, a _beginner_ is not a layman, but somebody with a good common understanding of IT and digital identity.

- 1=general digital identity expert
- 2=advanced self-sovereign identity expert
- 3=autonomic identifier & KERI experts


#### Github Repo

Push the locally updated files to the remote WebofTrust repo:

```
git status
git add .
git commit -m "update the WebofTrust glossary"
git push <remote> gh-pages
```

#### Static pages generator

The push will activate Github Actions and the resources will be input to a static site generator.

## Result

This is the Github pages result from the step by step above

https://weboftrust.github.io/WOT-terms/glossary.html
2 changes: 0 additions & 2 deletions docs/Terms/glossary/GAR.md

This file was deleted.

13 changes: 0 additions & 13 deletions docs/Terms/glossary/byzantine-agreement.md

This file was deleted.

7 changes: 0 additions & 7 deletions docs/Terms/glossary/cesride.md

This file was deleted.

2 changes: 0 additions & 2 deletions docs/Terms/glossary/contingent-disclosure.md

This file was deleted.

4 changes: 0 additions & 4 deletions docs/Terms/glossary/credential.md

This file was deleted.

11 changes: 0 additions & 11 deletions docs/Terms/glossary/intro.md

This file was deleted.

4 changes: 0 additions & 4 deletions docs/Terms/glossary/run-off-the-crud.md

This file was deleted.

2 changes: 0 additions & 2 deletions docs/Terms/glossary/verifiable-data-structure.md

This file was deleted.

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
3 changes: 3 additions & 0 deletions docs/glossary/GAR.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
## See
[GLEIF authorized representative](gleif-authorized-representative)\
[GLEIF Ecosystem Governance Framework v1.0 Glossary](https://www.gleif.org/media/pages/vlei/introducing-the-vlei-ecosystem-governance-framework/0349aa74c5-1678443743/2022-12-16_verifiable-lei-_vlei_-ecosystem-governance-framework-glossary_v1.0_final.pdf)
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 2 additions & 0 deletions docs/glossary/HSM.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
## See
[Hardware security model](hardware-security-module)
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
3 changes: 3 additions & 0 deletions docs/glossary/JSON.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
## Definition
JavaScript Object Notation. JSON is a [language-independent](https://en.wikipedia.org/wiki/Language-independent_specification) data format. It was derived from [JavaScript](https://en.wikipedia.org/wiki/JavaScript). It's an [open standard](https://en.wikipedia.org/wiki/Open_standard) [file format](https://en.wikipedia.org/wiki/File_format) and [data interchange](https://en.wikipedia.org/wiki/Electronic_data_interchange) format that uses [human-readable](https://en.wikipedia.org/wiki/Human-readable_medium) text to store and transmit data objects consisting of [attribute–value pairs](https://en.wikipedia.org/wiki/Attribute%E2%80%93value_pair) and [arrays](https://en.wikipedia.org/wiki/Array_data_type) (or other [serializable](https://en.wikipedia.org/wiki/Serialization) values).\
More on [source](https://en.wikipedia.org/wiki/JSON) Wikipedia
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 2 additions & 0 deletions docs/glossary/KERISSE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
## See
[KERI suite search engine](keri-suite-search-engine)
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
1 change: 1 addition & 0 deletions docs/glossary/LLM.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
## See [Large Language Model](large-language-model)
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 2 additions & 0 deletions docs/glossary/PID.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
## See
[percolated information discovery](percolated-information-discovery)
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 2 additions & 0 deletions docs/glossary/SKRAP.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
## See
[Signify/KERIA Request Authentication Protocol](signify-keria-request-authentication-protocol)
File renamed without changes.
2 changes: 2 additions & 0 deletions docs/glossary/SPAC.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
## See
[Secure Private Authentic Confidentiality](secure-private-authentic-confidentiality)
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 2 additions & 0 deletions docs/glossary/TOAD.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
## See
[threshold of accountable duplicity](threshold-of-accountable-duplicity)
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion docs/Terms/glossary/agency.md → docs/glossary/agency.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
## Definition
Agents can be people, edge computers and the functionality within [wallets](https://github.com/trustoverip/acdc/wiki/_new#digital-identity-wallet). The service an agent offers is agency.
Agents can be people, edge computers and the functionality within [wallets](https://github.com/trustoverip/acdc/wiki/_new#digital-identity-wallet). The service an agent offers is agency.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,6 @@
An application programming interface (API) is a way for two or more [computer programs](https://en.wikipedia.org/wiki/Computer_program) to communicate with each other. It is a type of software [interface](https://en.wikipedia.org/wiki/Interface_(computing)), offering a service to other pieces of [software](https://en.wikipedia.org/wiki/Software).

## API specification
A document or standard that describes how to build or use such a connection or interface is called an API specification. A computer system that meets this standard is said to implement or expose an API. The term API may refer either to the specification or to the implementation.\
A document or standard that describes how to build or use such a connection or interface is called an API specification. A computer system that meets this standard is said to implement or expose an API. The term API may refer either to the specification or to the implementation.

More on [source](https://en.wikipedia.org/wiki/API) Wikipedia.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
16 changes: 16 additions & 0 deletions docs/glossary/bespoke-credential.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
## Definition
It's an [issuance](issuance) of the disclosure or presentation of other ACDCs. _Bespoke_ means _Custom_ or _tailor made_.
A bespoke credential serves as an on-the-fly contract with the issuee; it's a self-referencing and self-contained contract between the issuer and the verifier. Mind you, here the issuer and issuee are merely the discloser and disclosee of another (set of) ACDC(s).

## Example
If I want consent terms attached to a presentation of an (set of) ACDC(s).\
Consider a disclosure-specific ACDC, aka tailor made, custom or bespoke. The Issuer is the Discloser, the Issuee is the Disclosee. The rule section includes a context-specific (anti) assimilation clause that limits the use of the information to a single one-time usage purpose, that is for example, admittance to a restaurant. The ACDC includes an edge that references some other ACDC that may for example be a coupon or gift card. The attribute section could include the date and place of admittance.\
For the code of this example, see this [section 11.1 in Github](https://weboftrust.github.io/ietf-acdc/draft-ssmith-acdc.html#section-11.1)

## Advantage
We can use all the tools available for issuance and presentation we already have.

## How the process work
Similar to a presentation exchange, a verifier will first be asked for what they are looking for, secondly the discloser creates the dataset and publishes only the structure and the fields. To accomplish this, thirdly a compact ACDC will be issued (you publish the fields, not the content) and then issuer asks to sign it first. After signing, the disclosee can get the content associated with the on-the-fly contract.

More at [Github source](https://weboftrust.github.io/ietf-acdc/draft-ssmith-acdc.html#name-disclosure-specific-bespoke)
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
## Definition
The current state of a [transaction event log](transaction-event-log) (TEL) **be hidden or blinded** such that _the only way_ for a potential verifier of the state to observe that state is _when the controller of a designated AID discloses it_ at the time of presentation.

{BE CAREFUL, JUST TEXT SNIPPETS TYPED IN FROM A CONVERSATION }
{BE CAREFUL WITH THE REST, JUST TEXT SNIPPETS TYPED IN FROM A CONVERSATION }

No information can be obtained via a [rainbow table attack](rainbow-table-attack) because the hash has enough [entropy](entropy) added to it.

Expand Down
File renamed without changes.
13 changes: 13 additions & 0 deletions docs/glossary/byzantine-agreement.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
## Definition
(non PoW) Byzantine Agreement is [Byzantine fault tolerance](byzantine-fault-tolerance) of distributed computing systems that enable them to come to consensus despite arbitrary behavior from a fraction of the nodes in the network. BA consensus makes no assumptions about the behavior of nodes in the system. Practical Byzantine Fault Tolerance (pBFT) is the prototypical model for Byzantine agreement, and it can reach consensus fast and efficiently while concurrently decoupling consensus from resources (i.e., financial stake in PoS or electricity in PoW).

## Stellar
[More](https://blockonomi.com/stellar-consensus-protocol/) about the Stellar consensus protocol

```
"What if PBFT and Stellar had a baby?
that was missing liveness and total ordering
but had safety and was completely decentralized, portable, and permission-less?
It would be named KERI."
SamMSmith
```
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
## Definition
A Byzantine fault (also interactive consistency, source congruency, error avalanche, Byzantine agreement problem, Byzantine generals problem, and Byzantine failure) is a condition of a computer system, particularly distributed computing systems, where components may fail and there is imperfect information on whether a component has failed. The term takes its name from an allegory, the "Byzantine Generals Problem", developed to describe a situation in which, in order to avoid catastrophic failure of the system, the system's actors must agree on a concerted strategy, but some of these actors are unreliable.
A Byzantine fault (also interactive consistency, source congruency, error avalanche, [Byzantine agreement](byzantine-agreement) problem, Byzantine generals problem, and Byzantine failure) is a condition of a computer system, particularly distributed computing systems, where components may fail and there is imperfect information on whether a component has failed. The term takes its name from an allegory, the "Byzantine Generals Problem", developed to describe a situation in which, in order to avoid catastrophic failure of the system, the system's actors must agree on a concerted strategy, but some of these actors are unreliable.
In a Byzantine fault, a component such as a server can inconsistently appear both failed and functioning to failure-detection systems, presenting different symptoms to different observers. It is difficult for the other components to declare it failed and shut it out of the network, because they need to first reach a consensus regarding which component has failed in the first place.
Byzantine fault tolerance (BFT) is the dependability of a fault-tolerant computer system to such conditions.

Expand Down
File renamed without changes.
File renamed without changes.
23 changes: 23 additions & 0 deletions docs/glossary/cesride.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
## Definition
is concerned with parsing CESR primitives.

Cesride is built from cryptographic primitives that are named clearly and concisely. There are:
* [Diger](diger)
* [Verfer](verfer)
* [Signer](signer)
* [Siger](siger)
* [Cigar](cigar)
* [Salter](salter)

Each primitive will have methods attached to it that permit one to generate and parse the qualified base2 or [base64](base64) representation. Common methods you'll find:

* `.qb64()` - qualified base-64 representation of cryptographic material as a string
* `.qb64b()` - qualified base-64 representation of cryptographic material as octets (bytes)
* `.qb2()` - qualified base-2 representation of cryptographic material as octets (bytes)
* `.code()` - qualifying code (describes the type of cryptographic material)
* `.raw()` - raw cryptographic material (unqualified) as octets (bytes)

[Source](https://github.com/WebOfTrust/cesride#terminology) by Jason Colburne

## Related
[Parside](parside)
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,7 @@ This is the primary mechanism of granting digital data rights through binding in
## Contrast
Disclosures via [Presentations Exchanges](presentation-exchange) may be contractually protected by Chain-Link Confidentiality (i.e. a Chain-Link Confidential disclosure). The chaining in this case is different from the chaining described above between Issuances in a [DAG](directed-acyclic-graph) of chained Issuances. Chain-link confidentiality, in contrast, chains together a sequence of Disclosees.\
More info at [source](https://github.com/WebOfTrust/ietf-ipex/blob/main/draft-ssmith-ipex.md#chain-link-confidentiality)

## Article Woodrow Hartzog
An important article on the topic can be found here:\
[Woodrow Hartzog “Chain-Link Confidentiality”](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2045818)
File renamed without changes.
3 changes: 3 additions & 0 deletions docs/glossary/cigar.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
## Definition
An **_un_**[indexed signature](indexed-signature).\
[Source](https://github.com/WebOfTrust/cesride#terminology) by Jason Colburne
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
4 changes: 4 additions & 0 deletions docs/glossary/contingent-disclosure.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
## Definition
[Chain link confidentiality](chain-link-confidentiality) is a form of contingent disclosure.

{TBW prio 1}
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ How these events are ordered and their dependence on previous operations is impo
## Change control authority
In the 2022 implementation of [KeriPy](keripy) two [rotations](key-rotation) were required to _change_ control authority.
In new rotation rules, you can rotate to new keys that aren't in the prior next key [digests](digest). You just need to reach the appropriate thresholds of [prior next threshold](prior-next-threshold) and [current signing threshold](current-signing-threshold). So you now only need one rotation to change control authority.\
**Note**: This change was the forcing function to require [dual index codes](dual-index-codes) in CESR.
**Note**: This change was the forcing function to require [dual indexed codes](dual-indexed-codes) in CESR.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
9 changes: 9 additions & 0 deletions docs/glossary/credential.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
## Definition

Evidence of authority, status, rights, entitlement to privileges, or the like.\
([source](https://github.com/trustoverip/tswg-acdc-specification/blob/main/draft-ssmith-acdc.md#introduction)) \
A credential has its current state and a history, which is captured in a doc or a graph.

## ACDC specific
The credential is the whole graph.\
The pointers in the doc that contain the whole graph are universally globally distributable references via the SAIDs. Whereas in other credential systems pointers are only local in a credential doc.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
5 changes: 5 additions & 0 deletions docs/glossary/dead-drop.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
## Definition
| TBW |
the presenter controls the disclosure so you can't re-identify the data

Tech meet KERI [recording]() from minute 55, date June 29 2023
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loading

0 comments on commit bcbabc7

Please sign in to comment.