Get & Manage Your Web3 DID with Your Dogecoin Address
.bit now supports managing your Web3 DID (Decentralized Identity) using a Dogecoin address. As we all know, .bit is the only Web3 DID that possesses cross-chain capabilities. In the future, .bit will continue to support more EVM compatible chains, more non-EVM chain (e.g., Tron, BTC etc.), and more social accounts, TouchID, FaceID using their own Web3 DID, enabling everyone to regain control over their data sovereignty. So, why can only .bit support cross-chain, while other DIDs cannot?
Background
Before further explanation, we need to have a basic understanding of the Nervos CKB, which is known as "customizable cryptographic primitives".
Most existing blockchains use a fixed template script to verify signatures in transactions.
For example, BTC and many other blockchains use the Secp256k1 ECDSA signature algorithm and verify transaction signatures using a fixed Script template (the OP_CHECKSIG opcode uses the ECDSA algorithm).
Relative to BTC's stack-like fixed verification mode, CKB abstracts it into a Turing-complete code. This allows developers to use any signature algorithm, as long as the code does not throw an error, it is considered to have unlocked the assets inside.
If we compare the object that carries blockchain assets to a safe, then on BTC and other chains, the lock on this safe can only be a "Bull" brand lock, while on CKB, you can freely choose the brand of the lock. It can be a "Cow" or "Heifer" lock, even a fingerprint lock or using an audio clip to unlock, or even without a lock (i.e., anyone can spend the assets inside).
Details
To use Dogecoin address to manage a .bit account, we need to solve the following two problems:
How to generate the digest?
We know that ECDSA is a signature/verification method for a message (referred to as a "digest" below), and BIP143 specifies the specific rules for converting a transaction into digest. However, .bit is an application based on CKB. Due to the different transaction structures, we can not follow this rule. Fortunately, CKB has its own "BIP143", which is explained in detail in this official document, describing the process of generating digest from a CKB transaction.
What is the signature convention?
UTXO wallets have had signature conventions for digest for a long time (for security reasons), which first concatenate some prefixes to the original content to be signed (and these conventions gradually evolved into later EIP191), and then use the ECDSA to obtain the signature result. Now there are implementations in multiple languages, such as a JavaScript implementation: bitcoinjs-lib.
Fortunately, there are ready-made solutions to the above problems, and we only need to do the following:
In terms of signature digest, follow the digest rules of CKB, and then use CKB's ability to customize cryptographic primitives to implement verification according to existing UTXO signature conventions.
In general, no matter what signing method/convention the client uses, the contract side of CKB can adopt the same method/convention for verification. Therefore, theoretically, CKB can support any signature algorithm. The following is the application of various algorithms in blockchains:
Currently, .bit supports both ECDSA and EdDSA signature algorithms. Therefore, in theory, it can seamlessly support chain users who use these two signature algorithms without the need to understand what CKB is, and directly use the private keys of the current chain to manage .bit accounts.
Q&A
Why does Dogecoin signature support only come now?
Previously, there were no good signature clients in the market that supported Dogecoin signatures. TokenPocket wallet recently provided support for Dogecoin signing of messages, and we are very grateful for TokenPocket wallet's contribution to the entire Web3 ecosystem, promoting the ecological development of Dogecoin. Now you can use Dogecoin address to manage your Web3 DID.
Does supporting Dogecoin mean that BTC is not far away?
Yes, BTC will soon be supported. In fact, as mentioned earlier, .bit naturally supports all blockchains that use ECDSA as the signature algorithm.
How to use it?
Because only TokenPocket wallet supports Dogecoin signing of messages at present, you can now use TokenPocket wallet and assess did.id to experience registering and managing .bit accounts.
I am a Dogecoin user. Do I need to understand what CKB is to use .bit accounts?
You don't need to. Thanks to CKB's advanced abstract account implementation, you can still use existing Dogecoin addresses (private keys) to seamlessly experience .bit applications based on CKB.
About .bit
Website: did.id
Twitter: @dotbitHQ
Discord: discord.gg/did
GitHub: github.com/dotbitHQ
Team Blog: blog.did.id
Forum: talk.did.id