currently we are trying to understand the onboarding process of the hyperledger indy walkthrough tutorial. (Hyperledger Indy Walkthrough)
We used the following sequence diagram to understand whats going on the first part of the onboarding process (establashing a secure connection between faber and steward).
We are facing problems understanding why the steward, after creating a DID and verificationkey(public Key) for Faber, stores the verificationKey(public Key) on the Ledger. He only sends the created DID so Faber can get the public key afterwards, querying the ledger with this DID.
Why is it necessary to store the verification key on the ledger? The Steward could also send the verification key to Faber directly with the connection request.
There are recommendations for storing the private DIDs for different relationships not on the ledger. Escpecially regarding scaling issues.
(Sovrin Document: What goes on the ledger)
…Keeping private DIDs off the Sovrin public ledger has one other massive advantage: scale…)
But in the hyperledger indy walkthrough, the process contains storing these informations on the ledger.
What are the pros and cons for storing private DIDs off and on ledger?
Should we store the private DIDs with verification keys on or off ledger?
Greetings from Germany