-
Notifications
You must be signed in to change notification settings - Fork 16
/
index.html
5060 lines (4951 loc) · 210 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html><html lang="en"><head>
<meta charset="utf-8">
<meta name="generator" content="ReSpec 26.13.0">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<style>
.issue-label{text-transform:initial}
.warning>p:first-child{margin-top:0}
.warning{padding:.5em;border-left-width:.5em;border-left-style:solid}
span.warning{padding:.1em .5em .15em}
.issue.closed span.issue-number{text-decoration:line-through}
.warning{border-color:#f11;border-width:.2em;border-style:solid;background:#fbe9e9}
.warning-title:before{content:"⚠";font-size:1.3em;float:left;padding-right:.3em;margin-top:-.3em}
li.task-list-item{list-style:none}
input.task-list-item-checkbox{margin:0 .35em .25em -1.6em;vertical-align:middle}
.issue a.respec-gh-label{padding:5px;margin:0 2px 0 2px;font-size:10px;text-transform:none;text-decoration:none;font-weight:700;border-radius:4px;position:relative;bottom:2px;border:none;display:inline-block}
</style>
<style>
dfn{cursor:pointer}
.dfn-panel{position:absolute;z-index:35;min-width:300px;max-width:500px;padding:.5em .75em;margin-top:.6em;font:small Helvetica Neue,sans-serif,Droid Sans Fallback;background:#fff;color:#000;box-shadow:0 1em 3em -.4em rgba(0,0,0,.3),0 0 1px 1px rgba(0,0,0,.05);border-radius:2px}
.dfn-panel:not(.docked)>.caret{position:absolute;top:-9px}
.dfn-panel:not(.docked)>.caret::after,.dfn-panel:not(.docked)>.caret::before{content:"";position:absolute;border:10px solid transparent;border-top:0;border-bottom:10px solid #fff;top:0}
.dfn-panel:not(.docked)>.caret::before{border-bottom:9px solid #a2a9b1}
.dfn-panel *{margin:0}
.dfn-panel b{display:block;color:#000;margin-top:.25em}
.dfn-panel ul a[href]{color:#333}
.dfn-panel>div{display:flex}
.dfn-panel a.self-link{font-weight:700;margin-right:auto}
.dfn-panel .marker{padding:.1em;margin-left:.5em;border-radius:.2em;text-align:center;white-space:nowrap;font-size:90%;color:#040b1c}
.dfn-panel .marker.dfn-exported{background:#d1edfd;box-shadow:0 0 0 .125em #1ca5f940}
.dfn-panel .marker.idl-block{background:#8ccbf2;box-shadow:0 0 0 .125em #0670b161}
.dfn-panel a:not(:hover){text-decoration:none!important;border-bottom:none!important}
.dfn-panel a[href]:hover{border-bottom-width:1px}
.dfn-panel ul{padding:0}
.dfn-panel li{margin-left:1em}
.dfn-panel.docked{position:fixed;left:.5em;top:unset;bottom:2em;margin:0 auto;max-width:calc(100vw - .75em * 2 - .5em - .2em * 2);max-height:30vh;overflow:auto}
</style>
<title>DID Method Rubric v1.0</title>
<script data-dapp-detection="">!function(){let e=!1;function n(){if(!e){const n=document.createElement("meta");n.name="dapp-detected",document.head.appendChild(n),e=!0}}if(window.hasOwnProperty("ethereum")){if(window.__disableDappDetectionInsertion=!0,void 0===window.ethereum)return;n()}else{var t=window.ethereum;Object.defineProperty(window,"ethereum",{configurable:!0,enumerable:!1,set:function(e){window.__disableDappDetectionInsertion||n(),t=e},get:function(){if(!window.__disableDappDetectionInsertion){const e=arguments.callee;e&&e.caller&&e.caller.toString&&-1!==e.caller.toString().indexOf("getOwnPropertyNames")||n()}return t}})}}();</script>
<style id="respec-mainstyle">
@keyframes pop{
0%{transform:scale(1,1)}
25%{transform:scale(1.25,1.25);opacity:.75}
100%{transform:scale(1,1)}
}
.hljs{background:0 0!important}
a abbr,h1 abbr,h2 abbr,h3 abbr,h4 abbr,h5 abbr,h6 abbr{border:none}
dfn{font-weight:700}
a.internalDFN{color:inherit;border-bottom:1px solid #99c;text-decoration:none}
a.externalDFN{color:inherit;border-bottom:1px dotted #ccc;text-decoration:none}
a.bibref{text-decoration:none}
.respec-offending-element:target{animation:pop .25s ease-in-out 0s 1}
.respec-offending-element,a[href].respec-offending-element{text-decoration:red wavy underline}
@supports not (text-decoration:red wavy underline){
.respec-offending-element:not(pre){display:inline-block}
.respec-offending-element{background:url(data:image/gif;base64,R0lGODdhBAADAPEAANv///8AAP///wAAACwAAAAABAADAEACBZQjmIAFADs=) bottom repeat-x}
}
#references :target{background:#eaf3ff;animation:pop .4s ease-in-out 0s 1}
cite .bibref{font-style:normal}
code{color:#c63501}
th code{color:inherit}
a[href].orcid{padding-left:4px;padding-right:4px}
a[href].orcid>svg{margin-bottom:-2px}
.toc a,.tof a{text-decoration:none}
a .figno,a .secno{color:#000}
ol.tof,ul.tof{list-style:none outside none}
.caption{margin-top:.5em;font-style:italic}
table.simple{border-spacing:0;border-collapse:collapse;border-bottom:3px solid #005a9c}
.simple th{background:#005a9c;color:#fff;padding:3px 5px;text-align:left}
.simple th a{color:#fff;padding:3px 5px;text-align:left}
.simple th[scope=row]{background:inherit;color:inherit;border-top:1px solid #ddd}
.simple td{padding:3px 10px;border-top:1px solid #ddd}
.simple tr:nth-child(even){background:#f0f6ff}
.section dd>p:first-child{margin-top:0}
.section dd>p:last-child{margin-bottom:0}
.section dd{margin-bottom:1em}
.section dl.attrs dd,.section dl.eldef dd{margin-bottom:0}
#issue-summary>ul{column-count:2}
#issue-summary li{list-style:none;display:inline-block}
details.respec-tests-details{margin-left:1em;display:inline-block;vertical-align:top}
details.respec-tests-details>*{padding-right:2em}
details.respec-tests-details[open]{z-index:999999;position:absolute;border:thin solid #cad3e2;border-radius:.3em;background-color:#fff;padding-bottom:.5em}
details.respec-tests-details[open]>summary{border-bottom:thin solid #cad3e2;padding-left:1em;margin-bottom:1em;line-height:2em}
details.respec-tests-details>ul{width:100%;margin-top:-.3em}
details.respec-tests-details>li{padding-left:1em}
a[href].self-link:hover{opacity:1;text-decoration:none;background-color:transparent}
h2,h3,h4,h5,h6{position:relative}
aside.example .marker>a.self-link{color:inherit}
h2>a.self-link,h3>a.self-link,h4>a.self-link,h5>a.self-link,h6>a.self-link{border:none;color:inherit;font-size:83%;height:2em;left:-1.6em;opacity:.5;position:absolute;text-align:center;text-decoration:none;top:0;transition:opacity .2s;width:2em}
h2>a.self-link::before,h3>a.self-link::before,h4>a.self-link::before,h5>a.self-link::before,h6>a.self-link::before{content:"§";display:block}
@media (max-width:767px){
dd{margin-left:0}
h2>a.self-link,h3>a.self-link,h4>a.self-link,h5>a.self-link,h6>a.self-link{left:auto;top:auto}
}
@media print{
.removeOnSave{display:none}
}
</style>
<meta name="description" content="The communities behind Decentralized Identifiers (DIDs) bring together a
diverse group of contributors who have decidedly different notions of exactly
what "decentralization" means.">
<link rel="canonical" href="https://www.w3.org/TR/did-rubric/">
<style>
var{position:relative;cursor:pointer}
var[data-type]::after,var[data-type]::before{position:absolute;left:50%;top:-6px;opacity:0;transition:opacity .4s;pointer-events:none}
var[data-type]::before{content:"";transform:translateX(-50%);border-width:4px 6px 0 6px;border-style:solid;border-color:transparent;border-top-color:#000}
var[data-type]::after{content:attr(data-type);transform:translateX(-50%) translateY(-100%);background:#000;text-align:center;font-family:"Dank Mono","Fira Code",monospace;font-style:normal;padding:6px;border-radius:3px;color:#daca88;text-indent:0;font-weight:400}
var[data-type]:hover::after,var[data-type]:hover::before{opacity:1}
</style>
<script id="initialUserConfig" type="application/json">{
"group": "did",
"wgPublicList": "public-did-wg",
"shortName": "did-rubric",
"specStatus": "FPWD-NOTE",
"edDraftURI": "https://w3c.github.io/did-rubric/",
"publishDate": "2021-08-26",
"pluralize": true,
"localBiblio": {
"REST": {
"title": "Architectural Styles and the Design of Network-based Software Architectures",
"date": "2000",
"href": "http://www.ics.uci.edu/~fielding/pubs/dissertation/",
"authors": [
"Fielding, Roy Thomas"
],
"publisher": "University of California, Irvine."
},
"VC-USECASES": {
"title": "Verifiable Claims Use Cases",
"href": "https://www.w3.org/TR/verifiable-claims-use-cases/",
"authors": [
"Shane McCarron",
"Daniel Burnett",
"Gregg Kellogg",
"Brian Sletten",
"Manu Sporny"
],
"status": "FPWD",
"publisher": "Verifiable Claims Working Group"
},
"DID-USE-CASES": {
"title": "Decentralized Identifier Use Cases",
"href": "https://www.w3.org/TR/did-use-cases/",
"authors": [
"Joe Andrieu",
"Kim Hamilton Duffy",
"Ryan Grant",
"Adrian Gropper"
],
"status": "ED",
"publisher": "Decentralized Identifier Working Group"
},
"HTTP-SIGNATURES": {
"aliasOf": "http-signatures"
},
"MACAROONS": {
"title": "Macaroons",
"href": "http://macaroons.io/",
"authors": [
"Arnar Birgisson",
"Joe Gibbs Politz",
"Úlfar Erlingsson",
"Ankur Taly",
"Michael Vrable",
"Mark Lentczner"
],
"status": "unofficial",
"publisher": "Credentials Community Group"
},
"OPEN-BADGES": {
"title": "Open Badges",
"href": "https://github.com/openbadges/openbadges-specification",
"authors": [
"Brian Brennan",
"Mike Larsson",
"Chris McAvoy",
"Nate Otto",
"Kerri Lemoie"
],
"status": "BA-DRAFT",
"publisher": "Badge Alliance Standard Working Group"
},
"RDF-NORMALIZATION": {
"title": "RDF Dataset Normalization",
"href": "http://json-ld.github.io/normalization/spec/",
"authors": [
"Dave Longley",
"Manu Sporny"
],
"status": "CG-DRAFT",
"publisher": "Credentials W3C Community Group"
},
"LD-PROOFS": {
"title": "Linked Data Proofs",
"href": "https://w3c-dvcg.github.io/ld-proofs/",
"authors": [
"Manu Sporny",
"Dave Longley"
],
"status": "CG-DRAFT",
"publisher": "Digital Verification Community Group"
},
"LD-SIGNATURES": {
"title": "Linked Data Signatures",
"href": "https://w3c-dvcg.github.io/ld-signatures/",
"authors": [
"Manu Sporny",
"Dave Longley"
],
"status": "CG-DRAFT",
"publisher": "Digital Verification Community Group"
},
"MATRIX-URIS": {
"title": "Matrix URIs - Ideas about Web Architecture",
"date": "December 1996",
"href": "https://www.w3.org/DesignIssues/MatrixURIs.html",
"authors": [
"Tim Berners-Lee"
],
"status": "Personal View"
},
"HASHLINK": {
"title": "Cryptographic Hyperlinks",
"date": "December 2018",
"href": "https://tools.ietf.org/html/draft-sporny-hashlink-05",
"authors": [
"Manu Sporny"
],
"status": "Internet-Draft",
"publisher": "IETF"
},
"BASE58": {
"title": "The Base58 Encoding Scheme",
"date": "October 2020",
"href": "https://tools.ietf.org/html/draft-msporny-base58",
"authors": [
"Manu Sporny"
],
"status": "Internet-Draft",
"publisher": "IETF"
},
"DNS-DID": {
"title": "The Decentralized Identifier (DID) in the DNS",
"date": "February 2019",
"href": "https://datatracker.ietf.org/doc/draft-mayrhofer-did-dns/",
"authors": [
"Alexander Mayrhofer",
"Dimitrij Klesev",
"Markus Sabadello"
],
"status": "Internet-Draft"
},
"DID-RESOLUTION": {
"title": "Decentralized Identifier Resolution",
"href": "https://w3c-ccg.github.io/did-resolution/",
"authors": [
"Markus Sabadello",
"Dmitri Zagidulin"
],
"status": "Draft Community Group Report",
"publisher": "Credentials Community Group"
},
"DID-RUBRIC": {
"title": "DID Method Rubric v1.0",
"href": "https://w3c.github.io/did-rubric/",
"authors": [
"Joe Andrieu"
],
"status": "Draft Community Group Report",
"publisher": "Credentials Community Group"
},
"DID-DEC-RUBRIC": {
"title": "A Rubric for Decentralization of DID Methods",
"href": "https://github.com/WebOfTrustInfo/rwot9-prague/blob/master/final-documents/decentralization-rubric.pdf",
"authors": [
"Joe Andrieu",
"Shannon Appelcline",
"Amy Guy",
"Joachim Lohkamp",
"Drummond Reed",
"Markus Sabadello",
"Oliver Terbu"
],
"status": "Published",
"publisher": "Rebooting the Web of Trust",
"id": "did-dec-rubric"
},
"PRIVACY-BY-DESIGN": {
"title": "Privacy by Design",
"href": "https://iapp.org/media/pdf/resource_center/pbd_implement_7found_principles.pdf",
"authors": [
"Ann Cavoukian"
],
"date": "2011",
"publisher": "Information and Privacy Commissioner"
},
"MULTIBASE": {
"title": "The Multibase Encoding Scheme",
"date": "February 2021",
"href": "https://datatracker.ietf.org/doc/html/draft-multiformats-multibase-03",
"authors": [
"Juan Benet",
"Manu Sporny"
],
"status": "Internet-Draft",
"publisher": "IETF"
},
"JSON-LD11": {
"title": "JSON-LD 1.1",
"date": "2020-07-16",
"authors": [
"Gregg Kellogg",
"Pierre-Antoine Champin",
"Dave Longley"
],
"status": "W3C Recommendation",
"publisher": "W3C",
"href": "https://www.w3.org/TR/json-ld11/"
},
"VC-DATA-MODEL": {
"title": "Verifiable Credentials Data Model 1.0",
"date": "2019-11-19",
"authors": [
"Manu Sporny",
"Grant Noble",
"Dave Longley",
"Daniel Burnett",
"Brent Zundel"
],
"status": "W3C Recommendation",
"publisher": "W3C",
"href": "https://www.w3.org/TR/vc-data-model/"
}
},
"github": {
"repoURL": "https://github.com/w3c/did-rubric/",
"branch": "main"
},
"includePermaLInks": false,
"noRecTrack": "true",
"maxTocLevel": 3,
"editors": [
{
"name": "Joe Andrieu",
"company": "Invited Expert",
"url": "http://legreq.com",
"w3cid": 97261
},
{
"name": "Daniel Hardman",
"url": "https://www.linkedin.com/in/danielhardman/",
"company": "Invited Expert",
"w3cid": 108790
}
],
"authors": [
{
"name": "Joe Andrieu",
"company": "Invited Expert",
"url": "http://legreq.com",
"w3cid": 97261
},
{
"name": "Daniel Hardman",
"url": "https://www.linkedin.com/in/danielhardman/",
"company": "Invited Expert",
"w3cid": 108790
},
{
"name": "Shannon Appelcline"
},
{
"name": "Amy Guy"
},
{
"name": "Joachim Lohkamp"
},
{
"name": "Drummond Reed",
"url": "https://www.linkedin.com/in/drummondreed/",
"company": "Evernym",
"companyURL": "https://www.evernym.com/",
"w3cid": 3096
},
{
"name": "Markus Sabadello",
"url": "https://www.linkedin.com/in/markus-sabadello-353a0821",
"company": "Danube Tech",
"companyURL": "https://danubetech.com/",
"w3cid": 46729
},
{
"name": "Oliver Terbu"
}
],
"publishISODate": "2021-08-26T00:00:00.000Z",
"generatedSubtitle": "First Public Working Group Note 26 August 2021"
}</script>
<link rel="stylesheet" href="https://www.w3.org/StyleSheets/TR/2016/W3C-WG-NOTE.css"></head>
<body class="h-entry informative toc-inline"><div class="head">
<a class="logo" href="https://www.w3.org/"><img crossorigin="" alt="W3C" height="48" src="https://www.w3.org/StyleSheets/TR/2016/logos/W3C" width="72">
</a> <h1 id="title" class="title">DID Method Rubric v1.0</h1>
<h2>
W3C Working Group Note
<time class="dt-published" datetime="2021-08-26">26 August 2021</time>
</h2>
<dl>
<dt>This version:</dt><dd>
<a class="u-url" href="https://www.w3.org/TR/2021/NOTE-did-rubric-20210826/">https://www.w3.org/TR/2021/NOTE-did-rubric-20210826/</a>
</dd><dt>Latest published version:</dt><dd>
<a href="https://www.w3.org/TR/did-rubric/">https://www.w3.org/TR/did-rubric/</a>
</dd>
<dt>Latest editor's draft:</dt><dd><a href="https://w3c.github.io/did-rubric/">https://w3c.github.io/did-rubric/</a></dd>
<dt>Editors:</dt>
<dd class="editor p-author h-card vcard" data-editor-id="97261">
<a class="u-url url p-name fn" href="http://legreq.com">Joe Andrieu</a> (<span class="p-org org h-org">Invited Expert</span>)
</dd><dd class="editor p-author h-card vcard" data-editor-id="108790">
<a class="u-url url p-name fn" href="https://www.linkedin.com/in/danielhardman/">Daniel Hardman</a> (<span class="p-org org h-org">Invited Expert</span>)
</dd>
<dt>Authors:</dt><dd class="editor p-author h-card vcard" data-editor-id="97261">
<a class="u-url url p-name fn" href="http://legreq.com">Joe Andrieu</a> (<span class="p-org org h-org">Invited Expert</span>)
</dd><dd class="editor p-author h-card vcard" data-editor-id="108790">
<a class="u-url url p-name fn" href="https://www.linkedin.com/in/danielhardman/">Daniel Hardman</a> (<span class="p-org org h-org">Invited Expert</span>)
</dd><dd class="editor p-author h-card vcard">
<span class="p-name fn">Shannon Appelcline</span>
</dd><dd class="editor p-author h-card vcard">
<span class="p-name fn">Amy Guy</span>
</dd><dd class="editor p-author h-card vcard">
<span class="p-name fn">Joachim Lohkamp</span>
</dd><dd class="editor p-author h-card vcard" data-editor-id="3096">
<a class="u-url url p-name fn" href="https://www.linkedin.com/in/drummondreed/">Drummond Reed</a> (<a class="p-org org h-org" href="https://www.evernym.com/">Evernym</a>)
</dd><dd class="editor p-author h-card vcard" data-editor-id="46729">
<a class="u-url url p-name fn" href="https://www.linkedin.com/in/markus-sabadello-353a0821">Markus Sabadello</a> (<a class="p-org org h-org" href="https://danubetech.com/">Danube Tech</a>)
</dd><dd class="editor p-author h-card vcard">
<span class="p-name fn">Oliver Terbu</span>
</dd>
<dt>Participate:</dt><dd>
<a href="https://github.com/w3c/did-rubric/">GitHub w3c/did-rubric</a>
</dd><dd>
<a href="https://github.com/w3c/did-rubric/issues/">File an issue</a>
</dd><dd>
<a href="https://github.com/w3c/did-rubric/commits/main">Commit history</a>
</dd><dd>
<a href="https://github.com/w3c/did-rubric/pulls/">Pull requests</a>
</dd>
</dl>
<p class="copyright">
<a href="https://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a>
©
2021
<a href="https://www.w3.org/"><abbr title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup> (<a href="https://www.csail.mit.edu/"><abbr title="Massachusetts Institute of Technology">MIT</abbr></a>,
<a href="https://www.ercim.eu/"><abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>, <a href="https://www.keio.ac.jp/">Keio</a>,
<a href="https://ev.buaa.edu.cn/">Beihang</a>).
W3C <a href="https://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
<a href="https://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and <a rel="license" href="https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document">permissive document license</a> rules
apply.
</p>
<hr title="Separator for header">
</div>
<section id="abstract" class="introductory"><h2>Abstract</h2>
<p>
The communities behind Decentralized Identifiers (DIDs) bring together a
diverse group of contributors who have decidedly different notions of exactly
what "decentralization" means.
</p>
<p>
Rather than attempting to resolve this potentially unresolvable question, we
propose a rubric — a scoring guide used to evaluate performance, a
product, or a project — that teaches how to evaluate a given DID Method
according to one's own requirements.
</p>
<p>
This rubric presents a set of criteria which an <a href="#dfn-evaluator" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-evaluator-1">Evaluator</a> can apply to
any DID Method based on the use cases most relevant to them. We avoid reducing
the Evaluation to a single number because the criteria tend to be multidimensional
and many of the possible responses are not necessarily good or bad. It is up
to the <a href="#dfn-evaluator" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-evaluator-2">Evaluator</a> to understand how each response in each criteria might
illuminate favorable or unfavorable consequences for their needs.
</p>
<p>
While this rubric allows the evaluation of many aspects of decentralization of
a DID Method, it is not exhaustive, and does not cover other factors that may
affect selection or adoption of a particular Method, such as privacy, security,
reliability, or efficiency.
</p>
</section>
<section id="sotd" class="introductory"><h2>Status of This Document</h2><p><em>This section describes the status of this
document at the time of its publication. Other documents may supersede
this document. A list of current <abbr title="World Wide Web Consortium">W3C</abbr> publications and the latest revision
of this technical report can be found in the
<a href="https://www.w3.org/TR/"><abbr title="World Wide Web Consortium">W3C</abbr> technical reports index</a> at
https://www.w3.org/TR/.</em></p>
<p>
This document was published by the <a href="https://www.w3.org/2019/did-wg/">Decentralized Identifier Working Group</a> as a
First Public Working Group Note.
</p><p>
<a href="https://github.com/w3c/did-rubric/issues/">GitHub Issues</a> are preferred for
discussion of this specification.
Alternatively, you can send comments to our mailing list.
Please send them to
<a href="mailto:public-did-wg@w3.org">public-did-wg@w3.org</a>
(<a href="mailto:public-did-wg-request@w3.org?subject=subscribe">subscribe</a>,
<a href="https://lists.w3.org/Archives/Public/public-did-wg/">archives</a>).
</p><p>
Publication as a Working Group Note does not imply endorsement
by the <abbr title="World Wide Web Consortium">W3C</abbr> Membership.
</p><p>This is a draft document and may be updated, replaced
or obsoleted by other documents at any time. It is inappropriate to cite this
document as other than work in progress.
</p><p></p><p data-deliverer="117488">
This document was produced by a group
operating under the
<a href="https://www.w3.org/Consortium/Patent-Policy/"><abbr title="World Wide Web Consortium">W3C</abbr> Patent
Policy</a>.
The group does not expect this document to become a <abbr title="World Wide Web Consortium">W3C</abbr> Recommendation.
</p><p>
This document is governed by the
<a id="w3c_process_revision" href="https://www.w3.org/2020/Process-20200915/">15 September 2020 <abbr title="World Wide Web Consortium">W3C</abbr> Process Document</a>.
</p></section><nav id="toc"><h2 class="introductory" id="table-of-contents">Table of Contents</h2><ol class="toc"><li class="tocline"><a class="tocxref" href="#abstract">Abstract</a></li><li class="tocline"><a class="tocxref" href="#sotd">Status of This Document</a></li><li class="tocline"><a class="tocxref" href="#introduction"><bdi class="secno">1. </bdi>Introduction</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#background"><bdi class="secno">1.1 </bdi>Background</a></li><li class="tocline"><a class="tocxref" href="#how-to-apply-this-rubric"><bdi class="secno">1.2 </bdi>How to apply this rubric</a></li><li class="tocline"><a class="tocxref" href="#evaluation-reports"><bdi class="secno">1.3 </bdi>Evaluation reports</a></li><li class="tocline"><a class="tocxref" href="#categories-of-criteria"><bdi class="secno">1.4 </bdi>Categories of criteria</a></li><li class="tocline"><a class="tocxref" href="#the-architecture"><bdi class="secno">1.5 </bdi>The architecture</a></li><li class="tocline"><a class="tocxref" href="#comparative-evaluation-report-header"><bdi class="secno">1.6 </bdi>Comparative evaluation report header</a></li><li class="tocline"><a class="tocxref" href="#criteria-and-criterion"><bdi class="secno">1.7 </bdi>Criteria and Criterion</a></li></ol></li><li class="tocline"><a class="tocxref" href="#the-criteria"><bdi class="secno">2. </bdi>The criteria</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#rulemaking"><bdi class="secno">2.1 </bdi>Rulemaking</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#criteria-1"><bdi class="secno">2.1.1 </bdi>Open contribution (participation)</a><ol class="toc"></ol></li><li class="tocline"><a class="tocxref" href="#criteria-2"><bdi class="secno">2.1.2 </bdi>Transparency</a><ol class="toc"></ol></li><li class="tocline"><a class="tocxref" href="#criteria-3"><bdi class="secno">2.1.3 </bdi>Breadth of Authority</a><ol class="toc"></ol></li><li class="tocline"><a class="tocxref" href="#criteria-4"><bdi class="secno">2.1.4 </bdi>Public v private economies</a><ol class="toc"></ol></li><li class="tocline"><a class="tocxref" href="#criteria-5"><bdi class="secno">2.1.5 </bdi>Cost</a><ol class="toc"></ol></li></ol></li><li class="tocline"><a class="tocxref" href="#design"><bdi class="secno">2.2 </bdi>Design</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#criteria-6"><bdi class="secno">2.2.1 </bdi>Permissioned operation</a><ol class="toc"></ol></li><li class="tocline"><a class="tocxref" href="#criteria-7"><bdi class="secno">2.2.2 </bdi>Interoperability</a><ol class="toc"></ol></li><li class="tocline"><a class="tocxref" href="#criteria-8"><bdi class="secno">2.2.3 </bdi>Scope of usage</a><ol class="toc"></ol></li></ol></li><li class="tocline"><a class="tocxref" href="#operation"><bdi class="secno">2.3 </bdi>Operation</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#criteria-9"><bdi class="secno">2.3.1 </bdi>Financial accountability</a><ol class="toc"></ol></li><li class="tocline"><a class="tocxref" href="#criteria-10"><bdi class="secno">2.3.2 </bdi>Limited resource resolution</a><ol class="toc"></ol></li><li class="tocline"><a class="tocxref" href="#criteria-11"><bdi class="secno">2.3.3 </bdi>Limited resource registration</a><ol class="toc"></ol></li></ol></li><li class="tocline"><a class="tocxref" href="#enforcement"><bdi class="secno">2.4 </bdi>Enforcement</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#criteria-12"><bdi class="secno">2.4.1 </bdi>Auditability</a><ol class="toc"></ol></li></ol></li><li class="tocline"><a class="tocxref" href="#alternatives"><bdi class="secno">2.5 </bdi>Alternatives</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#criteria-13"><bdi class="secno">2.5.1 </bdi>Active implementations</a><ol class="toc"></ol></li><li class="tocline"><a class="tocxref" href="#criteria-14"><bdi class="secno">2.5.2 </bdi>Market share</a><ol class="toc"></ol></li><li class="tocline"><a class="tocxref" href="#criteria-15"><bdi class="secno">2.5.3 </bdi>Platform support</a><ol class="toc"></ol></li><li class="tocline"><a class="tocxref" href="#criteria-16"><bdi class="secno">2.5.4 </bdi>Language support</a><ol class="toc"></ol></li><li class="tocline"><a class="tocxref" href="#criteria-17"><bdi class="secno">2.5.5 </bdi>Rogue risk</a><ol class="toc"></ol></li><li class="tocline"><a class="tocxref" href="#criteria-18"><bdi class="secno">2.5.6 </bdi>Forkability</a><ol class="toc"></ol></li></ol></li><li class="tocline"><a class="tocxref" href="#adoption-and-diversity"><bdi class="secno">2.6 </bdi>Adoption (and diversity)</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#criteria-19"><bdi class="secno">2.6.1 </bdi>Acceptance</a><ol class="toc"></ol></li><li class="tocline"><a class="tocxref" href="#criteria-20"><bdi class="secno">2.6.2 </bdi>Users</a><ol class="toc"></ol></li><li class="tocline"><a class="tocxref" href="#criteria-21"><bdi class="secno">2.6.3 </bdi>International adoption</a><ol class="toc"></ol></li><li class="tocline"><a class="tocxref" href="#criteria-22"><bdi class="secno">2.6.4 </bdi>In which countries?</a><ol class="toc"></ol></li><li class="tocline"><a class="tocxref" href="#criteria-23"><bdi class="secno">2.6.5 </bdi>Language support</a><ol class="toc"></ol></li></ol></li><li class="tocline"><a class="tocxref" href="#security"><bdi class="secno">2.7 </bdi>Security</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#criteria-24"><bdi class="secno">2.7.1 </bdi>Robust Crypto</a><ol class="toc"></ol></li><li class="tocline"><a class="tocxref" href="#criteria-25"><bdi class="secno">2.7.2 </bdi>Expert Review</a><ol class="toc"></ol></li><li class="tocline"><a class="tocxref" href="#criteria-26"><bdi class="secno">2.7.3 </bdi>Future Proofing</a><ol class="toc"></ol></li><li class="tocline"><a class="tocxref" href="#criteria-27"><bdi class="secno">2.7.4 </bdi>Self Certification</a><ol class="toc"></ol></li><li class="tocline"><a class="tocxref" href="#criteria-28"><bdi class="secno">2.7.5 </bdi>Availability</a><ol class="toc"></ol></li><li class="tocline"><a class="tocxref" href="#criteria-29"><bdi class="secno">2.7.6 </bdi>Evolution</a><ol class="toc"></ol></li><li class="tocline"><a class="tocxref" href="#criteria-30"><bdi class="secno">2.7.7 </bdi>Many Eyes</a><ol class="toc"></ol></li><li class="tocline"><a class="tocxref" href="#criteria-31"><bdi class="secno">2.7.8 </bdi>Diffuse Control</a><ol class="toc"></ol></li><li class="tocline"><a class="tocxref" href="#criteria-32"><bdi class="secno">2.7.9 </bdi>Regulatory Compliance</a><ol class="toc"></ol></li></ol></li><li class="tocline"><a class="tocxref" href="#privacy"><bdi class="secno">2.8 </bdi>Privacy</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#criteria-33"><bdi class="secno">2.8.1 </bdi>Per-DID constraints on visibility</a><ol class="toc"></ol></li><li class="tocline"><a class="tocxref" href="#criteria-34"><bdi class="secno">2.8.2 </bdi>Cross-DID Leakage</a><ol class="toc"></ol></li><li class="tocline"><a class="tocxref" href="#criteria-35"><bdi class="secno">2.8.3 </bdi>Incentives for Multicontext DIDs</a><ol class="toc"></ol></li><li class="tocline"><a class="tocxref" href="#criteria-36"><bdi class="secno">2.8.4 </bdi>Revocation of Consent</a><ol class="toc"></ol></li></ol></li><li class="tocline"><a class="tocxref" href="#other-criteria"><bdi class="secno">2.9 </bdi>Other criteria</a></li></ol></li><li class="tocline"><a class="tocxref" href="#conclusion"><bdi class="secno">3. </bdi>Conclusion</a></li><li class="tocline"><a class="tocxref" href="#terminology"><bdi class="secno">A. </bdi>Terminology</a></li><li class="tocline"><a class="tocxref" href="#possible-additional-criteria"><bdi class="secno">B. </bdi>Possible additional criteria</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#maturity"><bdi class="secno">B.1 </bdi>Maturity</a></li><li class="tocline"><a class="tocxref" href="#cryptography"><bdi class="secno">B.2 </bdi>Cryptography</a></li><li class="tocline"><a class="tocxref" href="#fiduciary-commitments"><bdi class="secno">B.3 </bdi>Fiduciary commitments</a></li><li class="tocline"><a class="tocxref" href="#reliable-recovery"><bdi class="secno">B.4 </bdi>Reliable recovery</a></li><li class="tocline"><a class="tocxref" href="#substitutability"><bdi class="secno">B.5 </bdi>Substitutability</a></li><li class="tocline"><a class="tocxref" href="#revocation-deactivation-deletion"><bdi class="secno">B.6 </bdi>Revocation / deactivation / deletion</a></li><li class="tocline"><a class="tocxref" href="#costs"><bdi class="secno">B.7 </bdi>Costs</a></li><li class="tocline"><a class="tocxref" href="#censorship-resistance"><bdi class="secno">B.8 </bdi>Censorship resistance</a></li><li class="tocline"><a class="tocxref" href="#uncategorized"><bdi class="secno">B.9 </bdi>Uncategorized</a></li></ol></li><li class="tocline"><a class="tocxref" href="#acknowledgements"><bdi class="secno">C. </bdi>Acknowledgements</a></li><li class="tocline"><a class="tocxref" href="#references"><bdi class="secno">D. </bdi>References</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#informative-references"><bdi class="secno">D.1 </bdi>Informative references</a></li></ol></li></ol></nav>
<section class="informative" id="introduction">
<h2 id="x1-introduction"><bdi class="secno">1. </bdi>Introduction<a class="self-link" aria-label="§" href="#introduction"></a></h2><p><em>This section is non-normative.</em></p>
<section id="background">
<h3 id="x1-1-background"><bdi class="secno">1.1 </bdi>Background<a class="self-link" aria-label="§" href="#background"></a></h3>
<p>
A rubric is a tool used in academia to communicate expectations and evaluate
performance. It consists of a set of criteria to be evaluated, possible
responses for each criteria, and a scoring guide explaining both how to
choose and interpret each response. The act of evaluating a rubric, which we
call an Evaluation, provides basis for self-evaluation, procurement decisions,
or even marketing points. Written records of
an evaluation, which we'll call an <a href="#dfn-evaluation-report" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-evaluation-report-1">Evaluation Report</a>, document how a
particular subject is measured against the criteria. For students, a rubric
helps to clarify how their work will be evaluated by others. For
<a href="#dfn-evaluator" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-evaluator-3">Evaluator</a>s, a rubric provides a consistent framework for investigating
and documenting the performance of a subject against a particular set of
criteria.
</p>
<p>
We were inspired to develop a rubric for
decentralization when discussions about the requirements for decentralized
identifiers, aka DIDs, led to intractable disagreement. It became clear that
no single definition of "decentralized" would suffice for all of the
motivations that inspired developers of DID Methods to work on a new
decentralized approach to identity. Despite this challenge, two facts remained
clear:
</p>
<ol>
<li>
the people invested in this work shared a common goal of reversing the
problems with centralized identity systems and
</li>
<li>
they also had numerous, distinct reasons for doing so.
</li>
</ol>
<p>
Rather than attempt to force a definition of "decentralized" that might work
for many but would alienate others, the group set out to capture the
measurable factors that could enable <a href="#dfn-evaluator" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-evaluator-4">Evaluator</a>s to judge the
decentralization of DID Methods based on their own independent requirements,
with minimal embedded bias.
</p>
</section>
<section id="how-to-apply-this-rubric">
<h3 id="x1-2-how-to-apply-this-rubric"><bdi class="secno">1.2 </bdi>How to apply this rubric<a class="self-link" aria-label="§" href="#how-to-apply-this-rubric"></a></h3>
<p>
Pick the most important criteria for your use, ask each question, and select the
most appropriate response. Do this for all of the DID
Methods under consideration.
</p>
<p>
Each <a href="#dfn-evaluation" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-evaluation-1">Evaluation</a> should start with an explicit framing of the use under
consideration. Are you evaluating the Method for use in Internet-of-Things
(IoT)? For school childrens' extra-curricular activities? For international
travel? The use, or set of uses, will directly affect how some of the
questions are answered.
</p>
<p>
Where a given Method offers variability, such as multiple networks for the
same Method, then evaluate each variant. For example, did:ethr supports
Ethereum mainnet, multiple testnets and permissioned EVM-compliant networks
such as Quorum. To apply a criteria to did:ethr, you will evaluate it against
all the variations that matter <em>to you</em>. Each variation should get its
own <a href="#dfn-evaluation" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-evaluation-2">Evaluation</a>. This applies to Level 2 Networks that can operate on
multiple Level 1 Networks as well as DID Methods that directly offer support
for multiple underlying DID registries.
</p>
<p>
When creating an <a href="#dfn-evaluation-report" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-evaluation-report-2">Evaluation Report</a>, we recommend noting both the
<a href="#dfn-evaluator" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-evaluator-5">Evaluator</a> and the date of the <a href="#dfn-evaluation" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-evaluation-3">Evaluation</a>. Many of the criteria
are subjective and all of them may evolve. Tracking who
made the <a href="#dfn-evaluation" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-evaluation-4">Evaluation</a> and when they made it will help readers better
understand any biases or timeliness issues that may affect the applicability
of the <a href="#dfn-evaluation" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-evaluation-5">Evaluation</a>.
</p>
<p>
Be selective and acknowledge the subjective. <a href="#dfn-evaluation" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-evaluation-6">Evaluations</a> do not need to
be exhaustive. There is no requirement to answer all the questions. Simply
answer the ones most relevant to the use contemplated. Similarly, understand
that any recorded <a href="#dfn-evaluation" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-evaluation-7">Evaluation</a> is going to represent the biases of the
<a href="#dfn-evaluator" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-evaluator-6">Evaluator</a> in the context of their target use. Even the same
<a href="#dfn-evaluator" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-evaluator-7">Evaluator</a>, evaluating the same Method for a different use, may come up
with slightly different answers—for example, that which is economically
accessible for small businesses might not be cost-effective for refugees, and
that could affect how well-suited a given Method is for a specific use.
</p>
<p>
Finally, note that this particular rubric is about decentralization. It
doesn't cover all of the other criteria that might be relevant to evaluating a
given DID Method. There are security, privacy, and economic concerns that
should be considered. We look forward to working with the community to develop
additional rubrics for these other areas and encourage <a href="#dfn-evaluator" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-evaluator-8">Evaluator</a>s to
use this rubric as a starting point for their own work rather than the final
say in the merit of any given Method.
</p>
<p>
In short, use this rubric to help understand if a given DID Method is
decentralized enough for your needs.
</p>
</section>
<section id="evaluation-reports">
<h3 id="x1-3-evaluation-reports"><bdi class="secno">1.3 </bdi>Evaluation reports<a class="self-link" aria-label="§" href="#evaluation-reports"></a></h3>
<p>
To record and report an <a href="#dfn-evaluation" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-evaluation-8">Evaluation</a>, we recommend two possible formats,
either comprehensive or comparative.
</p>
<p>
A comprehensive <a href="#dfn-evaluation" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-evaluation-9">Evaluation</a> applies a single set of criteria to just one
Method. This set is chosen by the <a href="#dfn-evaluator" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-evaluator-9">Evaluator</a>; it need not be all
possible criteria, but it is all relevant criteria as judged by the
<a href="#dfn-evaluator" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-evaluator-10">Evaluator</a>.
</p>
<p>
A comparative <a href="#dfn-evaluation" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-evaluation-10">Evaluation</a> includes multiple Methods in the same table to
easily compare and contrast two or more different Methods. This may include
any number of criteria. These are the type of reports we use as examples
throughout the criteria list.
</p>
<p>
In addition to the selected criteria, we recommend each report specify
</p>
<ol>
<li>
The Method(s) being evaluated
</li>
<li>
A link to the Method specification
</li>
<li>
The <a href="#dfn-evaluator" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-evaluator-11">Evaluator</a>(s)
</li>
<li>
The date of the <a href="#dfn-evaluation" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-evaluation-11">Evaluation</a>
</li>
<li>
A description of the use case(s) for which the Method is being evaluated
</li>
<li>
The rubric used for the <a href="#dfn-evaluation" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-evaluation-12">Evaluation</a>, along with reference to the
specific version.
</li>
<li>
Optionally, a URL for retrieving the report.
</li>
</ol>
</section>
<section id="categories-of-criteria">
<h3 id="x1-4-categories-of-criteria"><bdi class="secno">1.4 </bdi>Categories of criteria<a class="self-link" aria-label="§" href="#categories-of-criteria"></a></h3>
<p>
We have grouped our criteria into several categories:
</p>
<ol>
<li>
Rulemaking
</li>
<li>
Design
</li>
<li>
Operations
</li>
<li>
Enforcement
</li>
<li>
Alternatives
</li>
<li>
Adoption & Diversity
</li>
<li>
Security
</li>
<li>
Privacy</li>
</ol>
<p>
<a href="#dfn-evaluator" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-evaluator-12">Evaluator</a>s should consider criteria from all groups, as best fits
your use cases.
</p>
<p>
Three categories cover how a given Method is governed:
Rulemaking, Operations, and Enforcement.
Our approach parallels the same separation of
authority embodied in the United States Constitution.
</p>
<p>
<strong>Rulemaking</strong> addresses who makes the rules and how. (This is
the legislative branch in the US.)
</p>
<p>
<strong>Operations</strong> addresses how those rules are executed and how
everyone knows that they are carried out. (This is the executive branch in the
US.)
</p>
<p>
<strong>Enforcement</strong> addresses how we find and respond to rule
breaking. (This is the judicial branch in the US.)
</p>
<p>
This mental model is key to understanding the criteria of each section as well
as why we included some criteria and not others.
</p>
<p>The remaining categories each covers different areas worth considering
when evaluating DID Methods.</p>
<p>
<strong>Design</strong> addresses the method <em>as designed</em>. In other words, the output of the rulemaking:
what rules apply
to this DID method?
</p>
<p>
<strong>Alternatives</strong> address the availability and quality
of different implementation choices.
</p>
<p>
<strong>Adoption & Diversity</strong> covers questions related to how widely a
DID Method is used.
</p>
<p>
<strong>Security</strong> influences overall trust in the
ecosystem. Different DID methods offer different security guarantees, or guarantees of different strengths.
</p>
<p>
<strong>Privacy</strong> addresses the ability of a DID method to
ensure various privacy mechanisms. When DIDs are used as
identifiers for people, it becomes important to consider what
tools a DID method offers to operate at different levels
of privacy.
</p>
</section>
<section id="the-architecture">
<h3 id="x1-5-the-architecture"><bdi class="secno">1.5 </bdi>The architecture<a class="self-link" aria-label="§" href="#the-architecture"></a></h3>
<p>
When evaluating the governance of DID Methods, three potentially independent
layers should be considered: the specification, the network, and the registry.
</p>
<ul>
<li>
The <strong>specification</strong> is the governing document for the Method
that outlines how that particular Method implements the required and any
optional components of the DID Core specification [<cite><a class="bibref" data-link-type="biblio" href="#bib-did-core" title="Decentralized Identifiers (DIDs) v1.0">DID-CORE</a></cite>].
</li>
<li>
The <strong>network</strong> is the underlying communications layer, i.e., how
users of the Method communicate with others to invoke the operations of the
Method.
</li>
<li>
The <strong>registry</strong> is a given instance of recorded state changes,
managed according to the specification, using the communications channel.
</li>
</ul>
<p>
For Rulemaking, the criteria should be evaluated against all three of the
above layers.
</p>
<p>
For Operations, the criteria should be evaluated against the network and the
registry. The specification is taken as a given (it is the core output of
Rulemaking).
</p>
<p>
For Adoption, the criteria should be evaluated for each major software
component: wallet, resolver, and registry.
</p>
<p>
For Alternatives, the criteria should be evaluated against the particular DID
Method.
</p>
<p>
For the examples in the rest of this document we refer to a set of Methods
that are familiar to the authors and exhibit interesting characteristics for
<a href="#dfn-evaluation" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-evaluation-13">Evaluation</a>. These are listed in the "Comparative Evaluation Report
Header" table below.
</p>
</section>
<section id="comparative-evaluation-report-header">
<h3 id="x1-6-comparative-evaluation-report-header"><bdi class="secno">1.6 </bdi>Comparative evaluation report header<a class="self-link" aria-label="§" href="#comparative-evaluation-report-header"></a></h3>
<table class="simple">
<caption>
Comparison Evaluation (used throughout the criteria list)
</caption>
<tbody><tr>
<th>
<a href="#dfn-evaluator" class="internalDFN" data-link-type="dfn" id="ref-for-dfn-evaluator-13">Evaluator</a>s
</th>
<td>
Joe Andrieu <<a href="mailto:joe@legreq.com">joe@legreq.com</a>>
</td>
</tr>
<tr>
<th>
Evaluation date
</th>
<td>
2020-01-03
</td>
</tr>
<tr>
<th>
Use cases
</th>
<td>
<p>
<strong>Verifiable software development.</strong> The signing of commits by
developers and their verification to ensure that source code in a particular
git repository is authentic.
</p>
<p>
<strong>User authentication.</strong> The use of DIDs for authenticating users
for access to system services.
</p>
<p>
<strong>Long term verifiable credentials.</strong> The use of DIDs as subject
identifiers for long term (life-long) verifiable credentials such as earned
academic degrees.
</p>
</td>
</tr>
<tr>
<th>
Report URL
</th>
<td>
TBD
</td>
</tr>
<tr>
<th>
Rubric
</th>
<td>
<a href="https://www.w3.org/TR/did-rubric/">DID Method Rubric v1.0.0</a>
</td>
</tr>
<tr>
<th>
Rubric URL
</th>
<td>
<a href="https://www.w3.org/TR/did-rubric/">https://www.w3.org/TR/did-rubric/</a>
</td>
</tr>
</tbody></table>
<table class="simple">
<caption>
<p>Methods considered</p>
</caption>
<tbody><tr>
<th>
Method
</th>
<th>
Specification
</th>
<th>
Network
</th>
<th>
Registry
</th>
</tr>
<tr>
<td>
did:peer
</td>
<td>
<a href="https://identity.foundation/peer-did-method-spec/index.html">Peer DID
Method Spec</a>
</td>
<td>
n/a (communications can flow over any agreeable channel)
</td>
<td>
Held by each peer
</td>
</tr>
<tr>
<td>
did:git
</td>
<td>
<a href="https://github.com/dhuseby/did-git-spec/blob/master/did-git-spec.md">
DID git Spec</a>
</td>
<td>
<a href="https://git-scm.com/">git</a> (an open source version control system)
</td>
<td>
Any Method-compliant git repository
</td>
</tr>
<tr>
<td>
did:btcr
</td>
<td>
<a href="https://w3c-ccg.github.io/didm-btcr/">DID Method BTCR</a>
</td>
<td>
Bitcoin
</td>
<td>
Bitcoin
</td>
</tr>
<tr>
<td>
did:sov
</td>
<td>
<a href="https://github.com/sovrin-foundation/sovrin/blob/master/spec/did-method-spec-template.html">
Sovrin DID Method Spec</a>
</td>
<td>
Hyperledger Indy
</td>
<td>
A particular instance of Hyperledger Indy
</td>
</tr>
<tr>
<td>
did:ethr
</td>
<td>
<a href="https://github.com/decentralized-identity/ethr-did-resolver/blob/master/doc/did-method-spec.md">
ethr DID Method Spec</a>
</td>
<td>
Ethereum
</td>
<td>
Specific smart contracts for each network.
</td>
</tr>
<tr>
<td>
did:jolo
</td>
<td>
<a href="https://github.com/jolocom/jolocom-did-driver/blob/master/jolocom-did-method-specification.md">
Jolocom DID Method Specification</a>
</td>
<td>
Ethereum