@@ -2102,26 +2102,55 @@ <h2>Disputes</h2>
2102
2102
2103
2103
< p >
2104
2104
The time may come when an < a > entity</ a > wants to dispute a < a > credential</ a >
2105
- issued by another entity. The mechanism for doing this is the same as issuing
2106
- a regular credential except that the < a > subject</ a > identifier for the
2107
- < a > claims</ a > are those of the disputed credential. For example, if a disputed
2108
- credential with an identifier of
2109
- < code > http://con-artist.example.com/credentials/3732</ code >
2110
- contains disputed statements, an entity would issue the following credential
2111
- in a public venue to make it known that the credential is disputed:
2112
- </ p >
2113
-
2114
- < pre class ="example nohighlight "
2115
- title ="Expressing a disputed credential ">
2105
+ issued by the issuer. There are at least two different cases to consider:
2106
+ a subject disputes a claim made by the issuer, e.g. the address property is out
2107
+ of date, or an entity disputes a (false) claim made by the issuer about a
2108
+ different subject, e.g. an imposter is claiming the entity's social security
2109
+ number. Only the subject of a verifiable credential is entitled to issue a
2110
+ "DisputeCredential". A "DisputeCredential" issued by anyone other than the
2111
+ subject SHOULD be disregarded by the verifier, unless the verifier has some out
2112
+ of band means of ascertaining the truth of the dispute. This is to prevent
2113
+ denial of service attacks whereby an attacker falsely disputes a true claim.
2114
+
2115
+ The mechanism for issuing a "DisputeCredential"
2116
+ is the same as issuing a regular credential except that the < a > subject</ a >
2117
+ identifier for the < a > claim</ a > in the "DisputeCredential" is the identifier of
2118
+ the disputed credential. For example, if a credential with an identifier of
2119
+ < code > https://example.org/credentials/245</ code >
2120
+ is disputed, an entity may issue one of the following credentials. In the
2121
+ former case, the subject might present this to the verifier along with the
2122
+ disputed credential. In the latter case, the entity might publish the
2123
+ "DisputeCredential" in a public venue to make it known that the credential
2124
+ is disputed.
2125
+ </ p >
2126
+
2127
+ < pre class ="example nohighlight " title ="Subject disputes a credential ">
2116
2128
{
2117
2129
"@context": [
2118
2130
"https://w3.org/2018/credentials/v1",
2119
2131
"https://example.com/examples/v1"
2120
2132
],
2121
- "id": "http://example.com/credentials/245",
2133
+ "id": "http://example.com/credentials/123",
2134
+ "type": ["VerifiableCredential", "DisputeCredential"],
2135
+ < span class ="highlight "> "claim": {
2136
+ "id": "http://example.com/credentials/245",
2137
+ "currentStatus": "Disputed",
2138
+ "statusReason": "Address is out of date"
2139
+ }</ span > ,
2140
+ "issuer": "https://example.com/people#me",
2141
+ "issuanceDate": "2017-12-05T14:27:42Z",
2142
+ "proof": { ... }
2143
+ }
2144
+ </ pre >
2145
+
2146
+
2147
+ < pre class ="example nohighlight " title ="Another entity disputes a credential ">
2148
+ {
2149
+ "@context": "https://w3id.org/credentials/v1",
2150
+ "id": "http://example.com/credentials/321",
2122
2151
"type": ["VerifiableCredential", "DisputeCredential"],
2123
2152
< span class ="highlight "> "claim": {
2124
- "id": "http://con-artist. example.com/credentials/3732 ",
2153
+ "id": "http://example.com/credentials/245 ",
2125
2154
"currentStatus": "Disputed",
2126
2155
"statusReason": "Credential contains disputed statements",
2127
2156
"disputedClaim": {
0 commit comments