did:cow, a proposal for an ID resolution method with most of the convenience of did:plc/did:web and the robustness of a public blockchain
3
fork

Configure Feed

Select the types of activity you want to include in your feed.

clarity

+6 -9
+6 -9
README.md
··· 31 31 32 32 ### 1.2 Design Goals 33 33 34 - 1. **Decentralized** - No trusted third-party responsible for ultimate resolution. 35 - 2. **Zero-cost creation** - No blockchain transaction should be required to create a did:cow ID. 36 - 3. **Method agnostic** - Any DID method can be wrapped. 37 - 4. **Transferable** - The controller used for a did:cow ID can be replaced. If using a smart contract as controller, the controller can be retained but access to the controller changed. 38 - 5. **Composable Control** - The controller can be an arbitrary computer program, allowing sophisticted custom logic and compatibility with multisig and decentralized organization tooling such as [Safe](https://docs.safe.global/home/what-is-safe). 34 + 1. **Decentralization** - No trusted third-party is responsible for ultimate resolution. 35 + 2. **Zero-cost creation** - No blockchain transaction is required to create a did:cow ID. 36 + 3. **Method agnosticism** - Any other DID methods supported by ATProto in future can also be wrapped. 37 + 4. **Transferability** - The controller used for a did:cow ID can be replaced. If using a smart contract as controller, the controller can be retained but access to the controller changed. 38 + 5. **Composability** - The controller can be an arbitrary computer program, allowing sophisticted custom logic and compatibility with multisig and decentralized organization tooling such as [Safe](https://docs.safe.global/home/what-is-safe). 39 39 6. **Minimal dependencies** - An Ethereum RPC endpoint is required to resolve, but you should not need additional infrastructure such as an indexer. 40 40 41 41 ## 2. DID Method Name ··· 123 123 124 124 ### 7.2 Wrapped DID 125 125 126 - The did:cow address inherits the security risks of the wrapped DID: 127 - - did:web: DNS hijacking risk 128 - - did:key: no rotation ability 129 - - did:plc: key compromise, risk of abuse by the trusted central server 126 + The did:cow address inherits the security risks of the wrapped DID. 130 127 131 128 However, since users can switch to another wrapped DID they can recover from a compromise of the wrapped DID, and also exit in circumstances where the wrapped DID appears likely to become unreliable in future. 132 129