# did:cow Source: https://cow.watch ## Summary did:cow is a proposed decentralized identifier intended to give stronger guarantees for identities used in ATProto. A did:cow ID pairs a pointer to a did:web or did:plc ID with an Ethereum network address that can update that pointer. Creating an ID requires no blockchain transaction, while a transaction is needed to point it at a different did:web or did:plc ID or to change the controlling blockchain address. ## Article did:cow is a proposed decentralized identifier aimed at providing stronger guarantees for identities used in ATProto. A did:cow ID consists of a pointer at a did:web or did:plc ID, and an address on the Ethereum network that can update it. An ID can be created for free without a blockchain transaction. You only need to send a blockchain transaction if you want to point it at a different did:web or did:plc ID, or change the blockchain address that controls it. Example Specification | API | Contract on testnet Create No transaction required — a did:cow identifier is formed from your controller address and wrapped DID. Controller address Wrapped DID ^__^ (oo)\_______ (__)\ )\/\ ||----w | || || ## Comments **mishaderidder.eth**: context: https://github.com/edmundedgar/did-plc-p2p-guard-rails **timdaub.eth**: Not sure I understand what this does. Can anyone explain? **mishaderidder.eth**: It is a proposal for a decentralized identifier that wraps an existing did:web or did:plc ID together with an Ethereum address that controls it in order to give ATProto identities blockchain-backed ownership. (So to not have to depend on a centralised server as is now the case.) Beware it's a proposal, this all on testnet.