Coder Social home page Coder Social logo

trustoverip / tswg-acdc-specification Goto Github PK

View Code? Open in Web Editor NEW
10.0 10.0 7.0 2.85 MB

Authentic Chained Data Containers (ACDC)

Home Page: https://trustoverip.github.io/tswg-acdc-specification/

License: Other

CSS 47.74% JavaScript 52.26%
acdc cesr keri

tswg-acdc-specification's Introduction

Authentic Chained Data Containers (ACDC)

This is the working area for the individual Internet-Draft, "Authentic Chained Data Containers (ACDC)".

Contributing

See the guidelines for contributions.

Contributions can be made by creating pull requests. The GitHub interface supports creating pull requests using the Edit (โœ) button.

Command Line Usage

Formatted text and HTML versions of the draft can be built using make.

$ make

Command line usage requires that you have the necessary software installed. See the instructions.

Note

This work was migrated from https://github.com/WebOfTrust/ietf-acdc and previously existed at https://github.com/trustoverip/tswg-acdc-specification-archived.

test easy cla

tswg-acdc-specification's People

Contributors

m00sey avatar nkongsuwan avatar pfeairheller avatar smithsamuelm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tswg-acdc-specification's Issues

One large spec.md is difficult to maintain

Pull requests for changes will be easier to resolve when they are smaller, and having smaller section .md files will help with that goal.
I suggest splitting the one spec.md into multiple files, initially along the line of one file for each major section.

How to compute most compact form SAID for ACDC

Make sure the algorithm for computing the SAID of the most compact form of an ACDC is included in the spec. I know we defined it in an issue at one point but cant remember if it made it into the ACDC or IPEX specs so need to ensure its in this ACDC spec.

Add annex with ACDC protocol packet types for Sections of ACDCs

The new versionable Serder in KERI /CESR enables protocols like ACDC that sit atop these stacks to have multiple packet types.

For ACDC this means that instead of inline exapnding the Compact form of an ACDC, The expanded sections can be streamed separately inside their own packet wrapper. This better supports caching of reusable sections (schema and rules) and graduated disclosure of attributed, edge, and rule sections. Schema do not benefit from graduated disclosure but benefit greatly from caching.

Add contextual linkability reidentification attack reference in graduated disclosure section also SPAC reference.

The purpose is to motivate the way that ACDCs are structure to specifically support graduated disclosure as a comprehensive protection mechanism. Cryptographic unlinkability may be trivially defeated with a contentual linkability reidentification attack. So Privacy protetion requires a comprehensive approach not merely selective disclosure but also contractual protection and contextual correlation resistance

Timeliness in validation of chained ACDCs

The default logic for evaluating the validity of a chained ACDC relative to its provenance chain does not account for timeliness of a given ACDC in its chain becoming invalid. Add a short discussion of how its up to the EGF for a given ACDC type to interpret timeliness.

Typically the default is that

  1. The chain shall be unbroken at the time of issuance in order for the head (end) ACDC to be validly issued
  2. ITs application dependent what the validity state of the head end is at some time later when the chain becomes broken because and ACDC in that chain has either expired or been revoked.

list or diagram all spec dependencies

This issue isn't specific to ACDC, but this is not a bad place to track it.
A new reader to the ToIP Specs can easily get lost in all the dependencies across the specifications, including some "mini-spec" sections that are more general purpose and used broader than for the spec it is contained in.

Unclear where this overview of specs and their dependencies is best placed.

As a start, the attached image was generated from Mermaid, with the code below.

An alternate presentation would be to list the dependencies in a table, e.g.
| ToIP Layer | Specification | Specification Dependencies |

image

graph TB
Layer4-.->Layer3
Layer3-.->Layer2
Layer2-.->Layer1

subgraph Layer1[ToIP Layer 1]
    KERI1[KERI]
    CESR
    oobi[KERI:AID OOBI]
end
subgraph Layer2[ToIP Layer 2]
    TSP
end

subgraph Layer3[ToIP Layer 3]
    ACDC
    ACDC-.->KERI1
    ACDC-.->CESR
    ipex[ACDC IPEX]
end

subgraph Layer4[ToIP Layer 4]
    didwebs[did:webs]
    trp[Trust Registry Protocol]
    ptel[KERI pTEL]-.->KERI1
end

Questions:

  • Is the ToIP Reference Architecture a specification, since it includes some normative language?
  • What specs or sections might be missing?

add a state protocol diagram after table introduction, early in Exchange Protocol section

Suggested content to add early in the Exchange Protocol section:
`

State Protocol Diagram

The following depicts the two roles for this protocol, the interactions between them, and UML state diagrams for each role. Note for a given instantiation of the protocol, each role may select one from multiple start states, and thus expecting certain interactions from the other role.`

https://lucid.app/lucidchart/747aee2b-120e-4d7e-971c-df8954874ce1/edit?viewport_loc=-150%2C-91%2C2304%2C1167%2C0_0&invitationId=inv_eb70ac41-ad96-48a8-98e8-02eff2bccd84

If that link doesn't work, use this: https://lucid.app/lucidchart/747aee2b-120e-4d7e-971c-df8954874ce1/view?invitationId=inv_eb70ac41-ad96-48a8-98e8-02eff2bccd84&page=0_0#

A PNG and an SVG Export of this from lucid.app are attached
KERI IPEX Protocol
.
KERI IPEX Protocol

Finish terms and definitions

Selective disclosure

  • Graduated disclosure
  • Partial disclosure
  • Full disclosure
  • Contractually protected disclosure
  • Chain-link confidential disclosure
  • Discloser/Disclosee
  • Issuer/Issuee
  • Controller
  • Verifier
  • Validator
  • Key state
  • Rotation/Rotation event
  • Interaction event
  • Inception event
  • Verifiable data registry
  • Duplicity
  • Attribute
  • Targeted (Issueed) and Untargeted (Unissueed) ACDCs
  • Operator
  • Weight
  • Permissioned correlation
  • Percolated discovery
  • Rules
  • Edge
  • Schema

ToIP SAID specification is not yet available

On Line 650,

The [[3]] MUST be generated in compliance with the ToIP SAID internet draft specification ...

There is no SAID specification in ToIP yet, only an IETF draft. I suspect this mistake was made when someone use "replace all" to replace all "IETF" to "ToIP".

This sentence should instead be referenced to Section 12.6 in CESR specification.

Operator field

Either add refs to M-ary/Special operator sections

or move m-ary/special operator sections under operator fields.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.