---
# System prepended metadata

title: Shared Verifiable Credential

---

# Shared Verifiable Credential
## Key and claim content in merkle-tree

```
                               ┌(Hash 0-0-0)─< (Juliet Public key 1, IT)
                    ┌(Hash 0─0)┤     
                    │          └(Hash 0─0-1)─< (Federico Public key 1,IT)
           ┌(Hash 0)┤  
           │        │          ┌(Hash 0─1-0)─< (Juliet Public key 2, IT)
           │        └(Hash 0-1)┤     
           │                   └(Hash 0─1-1)─< (Mario Public key 1, IT)
─(Top Hash)┤  
           │                   ┌(Hash 1-0-0)─< (Juliet Public key 3, IT)
           │        ┌(Hash 1-0)┤     
           │        │          └(Hash 1-0-1)─< (Mario Public key 2, IT)
           └(Hash 1)┤  
                    │          ┌(Hash 1-1-0)─< (Mario Public key 3, IT)
                    └(Hash 1-1)┤     
                               └(Hash 1-1-1)─< (Federico Public key 2, IT)
```

## Shared VC


```json
{
    "@context" : [""],
    "type" : ["VC", "Group"] 
    "credentialSubject" : {
        "id" : "did:merkle:abc",
    },
    "proof" : {
        "creator": "did:method:italiangov#public_key", 
        "signature" : "34839183ud83192384uujdwemcraunwer"
    }
}
```
Complementary personal unique proofs

for Juliet
(Juliet public key 1, IT) : (Hash 0-0-1) (Hash 0-1) (Hash 1)
(Juliet public key 2, IT) : (Hash 0-1-1) (Hash 0-0) (Hash 1)
(Juliet public key 3, IT) : (Hash 1-0-1) (Hash 1-1) (Hash 0)

for Federico
(Federico public key 1, IT) : (Hash 0-0-0) (Hash 0-1) (Hash 1)
(Federico public key 2, IT) : (Hash 1-1-0) (Hash 1-0) (Hash 0)

(Mario public key 1, IT) : (Hash 0-1-0) (Hash 0-0) (Hash 1)
(Mario public key 2, IT) : (Hash 1-0-0) (Hash 1-1) (Hash 0)
(Mario public key 3, IT) : (Hash 1-1-1) (Hash 1-0) (Hash 0)

##  VP for Juliet
```json
{
  "@context": [
    "https://www.w3.org/2018/credentials/v1",
    "https://www.w3.org/2018/credentials/examples/v1"
  ],
  "type": [
    "VerifiablePresentation"
  ],
  "claims": [
    {
      "credentialSubject": {
        "id": "did:merkle:abc",
      },
      "proof": {
        "type": "something",
        "creator": "did:method:italiangov#public_key",
        "signature": "34839183ud83192384uujdwemcraunwer"
      }
    }
  ],
  "proof": [
    {
      "type": "merkleProof",
      "creator": "did:merkle:abc",
      "signature": "[merklepath]"
    },
    {
      "type": "EcdsaSecp256k1Signature2019",
      "signature": "....",
      "creator": "[key in merkleTree with merklePath from signature]"
    }
  ]
}
```




"ON peut garder des cles communes entre différentes type de VC pour les prenter en commun avec les mêmes clés dans ce cas la clé est rendu inutilisable pour tous les types utiliés"






