Skip to content

Commit 67c3786

Browse files
wesbiggsWes Biggs
and
Wes Biggs
authored
DIP-257 Attribute Sets and Attestation (#275)
Problem ======= Link to GitHub Issue(s): #257 Solution ======== Adds affordances for Attribute Sets via the Verifiable Credentials format. Adds three new announcement types for Attribute Sets. Specifies DSNP compliance criteria for use of VCs, and includes DSNP extensions for chains of trust and display of credentials. Extends DSNP Activity Content usage to enable Attestations as attachments. --------- Co-authored-by: Wes Biggs <[email protected]>
1 parent 0a81372 commit 67c3786

20 files changed

+1047
-29
lines changed

.spellcheckerdict.txt

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
1-
Alexa
1+
accreditations
22
announcementType
3+
attributeSetType
4+
attributeSetTypeName
5+
attributeSetTypeNamespace
36
Avro
47
base32
58
Base58
9+
BCP-47
610
BLAKE3
711
Brötli
812
CalVer
@@ -13,21 +17,25 @@ changeType
1317
[Cc]odec('s)?
1418
contentAddress
1519
contentHash
16-
cryptographic
20+
[Cc]ryptographic
1721
cryptographically
22+
[Cc]ryptosuites
1823
CtxSharedSecretA
1924
CtxSharedSecretB
2025
CtxSharedSecretBob
2126
Curve25519
2227
decrypt(ed)?
2328
Delegator
24-
[Dd]eserialize(d)?
29+
[Dd]eserialize(d?)
30+
DIDs
2531
Diffie-Hellman
2632
discoverability
2733
[Dd]iscoverable
2834
DSNP
2935
DSNP-compatible
36+
dsnp-did-resolver
3037
DSNP-referenced
38+
dsnp-verifiable-credentials
3139
ECIES
3240
EdDSA
3341
[Ee]num(s)?
@@ -36,6 +44,7 @@ Ethereum
3644
Extrinsics
3745
fromId
3846
GraphEdge
47+
hashcode
3948
H265
4049
HBASE
4150
HTTPS
@@ -53,32 +62,42 @@ LibertyDSNP
5362
libsodium
5463
little-endian
5564
localhost
65+
localizable
66+
lookups
5667
Mainnet
5768
mdBook
5869
MDX
70+
Metaschema
5971
MP[34]
6072
MSA
6173
[Mm]ultibase
74+
[Mm]ultibase-encoded
6275
multicodec
76+
multicodec-prefixed
6377
[Mm]ultihash
6478
multihash-encoded
65-
multikey
79+
[Mm]ultikey
6680
NaCl
81+
namespaced
82+
non-DSNP
6783
objectId
6884
OGG
6985
Parachain
7086
parseable
7187
Paseo
88+
personhood
7289
PNG
7390
Polkadot
7491
Poly1305
7592
pre-configured
7693
Prepending
77-
Prerelease
94+
[Pp]rerelease
7895
PRId([ABs])?
7996
ProfileResource
97+
pseudonymously
8098
[Pp]ublicKey
8199
repo
100+
resolvers
82101
RFC[1-9][0-9]*
83102
Ristretto
84103
RPC
@@ -91,7 +110,9 @@ SHA-256
91110
SHA-512
92111
Stateful
93112
stringified
94-
subkey
113+
subjectContentHash
114+
subkey(s?)
115+
substring
95116
SVG
96117
targetAnnouncementType
97118
targetContentHash
@@ -103,17 +124,21 @@ UINT_8
103124
uncompress
104125
unencrypted
105126
[Uu]nfollow(ed)?
127+
unhashed
106128
URI
107129
url
108130
userId
109131
UTF-8
110132
v[0-9]+(\.[0-9]+)*
111133
vanishingly
112134
varint
135+
[Vv]erifier(s?)
136+
verifiability
113137
W3C
114138
WebM
115139
WebP
116140
websocket
117141
[Ww]hitepaper
142+
whitespace
118143
X25519
119144
XSalsa20

STYLEGUIDE.md

Lines changed: 113 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,69 +4,122 @@ Style guide defining wording, spelling, and other details regarding how DSNP ter
44
For more information about DSNP, visit [dsnp.org](https://www.dsnp.org/)
55
or [DSNP on GitHub](https://github.com/LibertyDSNP/spec)
66

7-
## Announcement
8-
Uppercase A
7+
## General rules
8+
* Announcements specific to DSNP have initial caps. (i.e., Broadcast Announcement)
9+
* Announcement Types also have initial caps.
10+
* General words that aren't specific to DSNP are lowercase (i.e., announcement, batch, content hash).
11+
* Attribute is lowercase except when combined with an announcement or a specific DSNP set type. (i.e., Attribute Set Announcement)
12+
13+
## Activity Content
14+
Uppercase A and C
15+
16+
## announcement
17+
Generally all lowercase
918

1019
## Announcement Type
1120
Uppercase A and T
1221

13-
## Batch
14-
Uppercase B
22+
## attribute
23+
All lowercase
24+
25+
## attribute sets
26+
All lowercase
27+
28+
## Attribute Set Announcement
29+
Uppercase A, S and A
30+
31+
## Attribute Set Type
32+
Uppercase A, S and T
33+
34+
## Attribute Set Value Document
35+
Uppercase A, S, V and D
36+
37+
## batch
38+
All lowercase
1539

1640
## Batch Publication
1741
Uppercase B and P
1842

43+
## bloom filter
44+
lowercase b and f
45+
46+
## Broadcast Announcements
47+
Uppercase B and A
48+
1949
## Code of Conduct
2050
Uppercase C and C
2151

2252
## community
2353
All lowercase
2454

55+
## content announcement
56+
All lowercase
57+
58+
## Content Attribute Set
59+
60+
## content hash
61+
All lowercase
62+
63+
## credential document
64+
All lowercase
65+
2566
## Decentralized Social Networking Protocol (DSNP)
2667
Spelled out fully first time it appears and then acronym thereafter. Avoid preceding with the word "the" and never follow with the word "protocol".
2768

2869
## development community
2970
All lowercase
3071

72+
## DSNP Announcements
73+
Uppercase DSNP and A
74+
3175
## DSNP public social graph
3276
All lowercase after acronym
3377

3478
## DSNP Batch Publications
3579
Uppercase Acronym plus uppercase B and P
3680

81+
## DSNP content
82+
Uppercase acronym, lowercase c
83+
3784
## DSNP Content Hash
3885
Uppercase Acronym plus uppercase C and H
3986

87+
## DSNP Content URI
88+
Uppercase D, C and URI
89+
4090
## DSNP graph
4191
Only acronym is uppercase
4292

4393
## DSNP Identifiers
4494
Uppercase Acronym plus uppercase I
4595

46-
## DSNP Identity
47-
Uppercase Acronym plus Uppercase I
96+
## DSNP identity
97+
Uppercase Acronym lowercase i
4898

4999
## DSNP Id
50-
Short for DSNP Identity, Uppercase Acronym plus uppercase I
100+
Short for DSNP identity, Uppercase Acronym lowercase when spelled out
51101

52102
## DSNP Protocol Scheme
53103
Uppercase Acronym plus uppercase P and S
54104

55105
## DSNP Specification
56106
Uppercase DSNP and S, avoid preceding with the word "the"
57107

108+
## DSNP user
109+
Uppercase DSNP and lowercase u
110+
58111
## DSNP User Id
59112
Uppercase acronym, U and I, avoid preceding with the word "the"
60113

61114
## DSNP User URI
62115
Uppercase Acronyms plus uppercase U
63116

64-
## End User
65-
Uppercase E and U
66-
67117
## Exclamation Marks
68118
Should be avoided
69119

120+
## External Content Attributes
121+
Uppercase E, C and A
122+
70123
## Graph Change Announcements
71124
Uppercase G, C and A.
72125
Note: Graph Change Announcements and events have been migrated to use User Data Operations as of version 1.2.0.
@@ -78,9 +131,15 @@ Note: Graph Change Announcements and events have been migrated to use User Data
78131
## InterPlanetary File System (IPFS)
79132
Uppercase I, P, F and S. In the first instance, spell out followed by the acronym in parentheses. Use the acronym only thereafter.
80133

134+
## issuer
135+
All lower case
136+
81137
## MUST/MUST NOT
82138
All Caps when defining rules for specification
83139

140+
## on-demand credential
141+
Hyphenated, all lower case
142+
84143
## Operation
85144
Uppercase O when referring to spec-defined DSNP Operations
86145

@@ -90,26 +149,70 @@ Always use
90149
## Possessives
91150
Making DSNP possessive should be avoided (e.g. DSNP’s)
92151

152+
## Profile Announcement
153+
Uppercase P and A
154+
93155
## Project Liberty
94156
Uppercase P and L
95157

158+
## public key
159+
All lowercase
160+
96161
## public graph
97162
All lowercase
98163

164+
## Public Key Announcement
165+
Uppercase P, K and A
166+
99167
## Reaction Announcement
100168
Uppercase R and A
101169

102170
## Record
103171
Uppercase R when referring to spec-defined DSNP State Change Records
104172

173+
## Reply Announcements
174+
Uppercase R and A
175+
176+
## schema
177+
All lowercase
178+
105179
## social network graph
106180
All lowercase
107181

108182
## Team
109183
Should not be used in context with DSNP
110184

185+
## Tombstone Announcement
186+
Uppercase T and A
187+
188+
## User Attribute Set Announcement
189+
Uppercase U, A, S and A
190+
191+
## verifier
192+
Lowercase v
193+
194+
## Verifiable Credential
195+
Uppercase V and C. Singular for one document/credential; plural when referring to the specification.
196+
If followed by "document", that should be lowercase.
197+
198+
## Verifiable Credential Schema
199+
Uppercase V, C, S.
200+
If followed by "document", that should be lowercase.
201+
111202
## Update Announcement
112203
Uppercase U and A
113204

205+
## user
206+
All lowercase
207+
208+
## User Attribute Set
209+
Uppercase U, A and S
210+
211+
## verifier
212+
All lowercase
213+
114214
## We/Us/Our
115215
Should not be used in context with Frequency
216+
217+
## YES and no
218+
When describing required items, use an all caps "YES", otherwise a lowercase "no".

book.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ preferred-dark-theme = "coal"
1717
[output.linkcheck]
1818
follow-web-links = true
1919
traverse-parent-directories = false
20-
exclude = ['en\.bitcoin\.it', 'github\.com/LibertyDSNP/spec']
20+
exclude = ['en\.bitcoin\.it', 'github\.com/LibertyDSNP/spec', 'w3\.org']
2121

2222
[output.html.fold]
2323
enable = true

0 commit comments

Comments
 (0)