Protocols Overview
This section covers the core protocols that power dWallet operations. Understanding these protocols is essential for building robust Move contract integrations.
Protocol Lifecycle
Protocol Lifecycle
Protocol Overview
| Protocol | Purpose | When to Use |
|---|---|---|
| DKG | Create a new dWallet | Once per dWallet |
| Presigning | Pre-compute signing material | Before each signature |
| Signing | Create a signature immediately | Direct signing without governance |
| Future Signing | Create signature in two phases | Governance, multisig, delayed execution |
| Key Importing | Import existing private key | When migrating existing keys |
| Converting to Shared | Make user share public | Converting zero-trust to shared mode |
Choosing Between Sign and Future Sign
Use Direct Signing When:
- You need the signature immediately
- No approval workflow is required
- The signer has full authority
Use Future Signing When:
- You need governance approval before signing
- Multiple parties must approve the transaction
- You want to separate commitment from execution
- Building multisig or DAO treasury systems
dWallet Types
Ika supports two types of dWallets based on how user shares are handled:
Shared dWallet (Public User Share)
- User secret share is made public
- Network can sign without user interaction
- Best for: DAOs, treasuries, automated systems, Move contract integration
Zero-Trust dWallet (Encrypted User Share)
- User secret share remains encrypted
- User must participate in every signature
- Best for: Personal wallets, maximum security
Converting Between Modes
You can convert a zero-trust dWallet to shared mode later using
request_make_dwallet_user_secret_key_shares_public(). This is irreversible - see Converting
to Shared for details.
For Move Contracts
Most Move contract integrations use shared dWallets because they allow the contract to sign without external user interaction.
Protocol Constants
These constants identify curves, algorithms, and hash schemes:
Curves
Signature Algorithms
IDs are relative to the curve:
Hash Schemes
IDs are relative to the curve + signature algorithm:
Example: Bitcoin Taproot Configuration
For Bitcoin Taproot signatures, use:
Next Steps
- Start with DKG to create your first dWallet
- Learn Presigning to prepare for signatures
- Choose between Signing or Future Signing based on your use case