Thank you for your availability @zz_tovarishch, @yixiu.ckbfans.bit & @david-fi5box, please keep in mind that these are questions from me personally, as part of the Community.
Let’s start with address binding: https://docs.ccfdao.org/en/docs/developer-docs/architecture/address-binding
Workflow Steps:
- Generate
BindInfo: Create a message containing the targetScriptand the currenttimestamp(Unix milliseconds)- Serialize to Hex: Convert the
BindInfoto a molecule-encoded hex string with 0x prefix- Sign Message: Use an offline wallet (e.g., Neuron) to sign the hex string
- Combine
BindInfoWithSig: Combinebind_infoandsiginto a single structure- Submit Transaction: Use a web wallet to transfer CKB to yourself, placing
BindInfoWithSigin the witness field- Backend Verification: Scanner verifies the signature and checks if the timestamp is within ±20 minutes of the block time
- Store Binding: If valid, store to database; later timestamps from the same source address will update the existing binding
- Query API: Frontend retrieves binding relationships through REST endpoints
My questions are:
- Which kind of addresses / locks are currently supported or forecasted?
- Who decides which kind of addresses / locks are supported?
- Is this decision arbitrary or there are some reasonable rules and the lock just need to satisfy them?
- Can a lock integration be developed as a Github Pull Request by third parties devs?
Let’s make a few examples, how and why the following locks could be supported or not?
- Quantum Resistant Lock
- SECP256k1/Multisig Lock
- Quantum Resistant Lock in Multisig configuration
- Lock Proxy Lock
- RGB++ Lock
- Single Use Lock
Any single one of these locks can hold a user (or possibly multiple users in multisig) NervosDAO deposit and (while arguably technically difficult) it could make sense for CommunityDAO to allow them to vote.
At this point one could argue that any lock should be supported, not so fast. Let’s make some counter-examples:
- CEX NervosDAO deposits
- Foundation NervosDAO deposits
- Well-known Nervos organizations NervosDAO deposits
- iCKB Logic Lock holding NervosDAO deposits
These counter-examples commingle assets from multiple users (which could be ok in itself, see multisigs). The issue is more in how these individual users are able to express their own vote intention.
At this point I see two opposite solutions regarding voting on Community DAO proposals for these categories:
-
Allow them to have their own internal vote and then report the result as a single representative vote. This internal voting doesn’t need to follow Community DAO rules: say for example that all the members decide of their own free will to delegate to a representative (say for example an internal rule clear when joining such group), nothing wrong with that.
-
Alternatively, do not allow these addresses where the individual owner voting disposition cannot be reasonably determined at the time of vote using Community DAO rules. If this path is chosen, then the rules must be clear and sensible, determined well-ahead of time.
Phroi