Hi Anthony,
Thanks a lot for sharing this 
This looks very promising at the first sight, it’s very dense and I’ll have to have a deep look at it.
We are proposing a service endpoint for BlockcertsIssuer
On a first glance I was especially wondering about this. If I understand correctly, anyone could implement this service and use its own implementation. However it does not make sense to replace any “easy to implement” issuer.json uploaded on any Http server by a “more complex” service. So I guess that your proposal would be to host a service for the whole community.
If that’s the plan, would the service be operated by Learningmachine or some kind of Blockcerts foundation / association ?
On the service itself : which kind of implementation do you have in mind ?
- A centralized service with one classic centralized DB
- A centralized service using a decentralized DB
- Other
Related question : how would this service prevent anyone to register a false DID identity ? For instance for now I can create an issuer.json and pretend to be MIT and deliver myself certificates.
I guess a possible implementation could be an Ethereum smart contract that acts as a registry of issuers. Anyone could submit an issuer identity, but only approved EOAs could validate it. In the beginning, approvers could be a few select EOAs belonging to well-known people in the community. We could also imagine a co-optation system, where a new University could ask to become an approver and where at least 2 existing approvers could validate this request. The only real drawback of this implementation would that the image could not be stored on the blockchain, but it could be an URL to an image on the issuer website (decentralized file storage is far from being production-ready IMHO).
Best,
Guillaume