···9494 The did:cow registry contract performs the following steps:
95959696 - If no on-chain record exists, resolve the wrapped DID from the identifier directly.
9797- - If an on-chain record exists, prepend `did:` to the returned wrapped DID value and resolve that.
9797+ - If an on-chain record exists, return the wrapped DID value.
9898 - If the record exists but has been deactivated, return deactivated status.
9999100100Resolve the wrapped DID as per that DID system's resolution method.
101101+102102+`initial_wrapped_did` should omit the initial "`did:`".
101103102104### 6.3 Update
103105···109111110112### 6.4 Deactivate
111113112112-Call `deactivate(initial_controller_address, initial_wrapped_did)` from the current controller to permanently deactivate a did:cow ID. If the did:cow ID has not been registered on-chain yet, it will be registered automatically in the same transaction.
114114+Call `deactivate` / `deactivateByHash` from the current controller to permanently deactivate a did:cow ID.
115115+116116+If the did:cow ID has not been registered on-chain yet, it will be registered automatically in the same transaction.
117117+The `initial_controller_address` should omit the initial "`did:`".
113118114119After deactivation, `resolve` returns an empty string and the DID cannot be reactivated.
115120···245250}
246251```
247252248248-## 11. Comparison
249249-250250-| Feature | did:cow | did:key | did:web | did:plc |
251251-|---------|---------|---------|---------|---------|
252252-| Rotation Support | ✓ | ✗ | ✓ | ✓ |
253253-| Zero-cost Creation | ✓ | ✓ | ✓ | ✓ |
254254-| Zero-cost Updates | ✗ | ✓ | ✓ | ✓ |
255255-| Decentralized | ✓ | ✓ | ✗ | ✗ |
256256-| Blockchain Required | Ethereum | None | None | None |
257257-| Rotation Authority | Ethereum | N/A | DNS | PLC Directory |
258258-| Censorship Resistant | ✓ | ✓ | ✗ | ✗ |
259259-260260-## 12. Philosophical Considerations
253253+## 11. Philosophical Considerations
261254262255DIDs are intended to be permanent identifiers. Using a wrapper implies that the wrapped DID is not in fact a permanent identifier.
263256264257We consider this to illuminate a problem with the existing DIDs, rather than with this proposal. A permanent wrapper is required because users cannot be sufficiently confident in the permanence of their existing options.
265258266266-## 13. References
259259+## 12. References
267260268261- [DID Core Specification](https://www.w3.org/TR/did-core/)
269262- [DID Method Rubric](https://w3c.github.io/did-rubric/)