Date: February 3, 2026 at 9:00am ET
Hosted by: Setzeus, Gary Riger
Duration: ~45 mins
Participants: Timothy, Arawolo, Ragav, Brice, Friedger, Setzeus, BowtiedRadone, HeroGamer, Gary
1. Agenda Overview
- Digital Signatures in Clarity Workshop
- SIP-018 Signed Structured Data Standard
- Signature Curve Differences & Applications
- Timothy’s Security Template Project & Community Feedback
2. Key Meeting Highlights
Digital Signatures in Clarity Workshop - presented by Setzeus
- Core concept: Private key signs a message, creating a signature verifiable with a public key.
- Blockchain transactions use this mechanism; it’s powerful for proving off-chain events on-chain.
- Key Clarity functions for signature verification:
- secp256r1-verify: Returns a boolean, takes message hash, signature, and public key.
- secp256r1-recover: Recovers public key from signature.
- secp256k1-verify: Uses a different elliptic curve for web authentication.
- Debugging signatures is challenging due to sensitivity to single byte errors.
- Example discussed: Aggregating signatures off-chain to reduce on-chain transaction calls.
- Chain ID mainly identifies mainnet vs testnet. Brice noted: Could include other chain IDs for subnets. Exists in other blockchains.
- Off-chain voting limitations: Upper limit exists due (exact TBC) to expensive signature verification. May not be suitable for Stacks ecosystem-wide votes.
SIP-018 Signed Structured Data Standard - authored by Marvin
- Standardizes signing complex data with multiple fields (e.g., amount, recipient, nonce).
- Message structure includes a structured data prefix, domain hash, and actual structured data.
- Same standard exists across chains (Solidity, Rust/Solana)
- Friedger suggested making the PREFIX constant in stacks.js for consistency.
Signature Curve Differences & Applications
- secp256k1: Used by Stacks core signatures and Bitcoin transactions.
- secp256k1: Used by WebAuthn, Touch ID, web-based authentication.
- Can validate signatures in Clarity but can’t sign transactions.
- Requires someone else to submit the transaction to the Stacks network.
- Current implementation double-hashes (bug fixed in Clarity v5).
- Real-world examples:
- pillarbtc.com uses k1 signatures.
- Co-Fund business wallet has Ledger SIP-010 support using r1.
- SBTC protocol uses signature verification for Bitcoin deposits/withdrawals using r1.
Timothy’s Security Template Project & Community Feedback
- Building Glamora led to standardizing security patterns.
- Created ownable security template with trait implementation.
- One-line ownership protection for admin functions.
- Reduces code duplication across contracts.
- Community feedback:
- Suggested governance contract approach over traits for complex protocols.
- Active implementations of Executor DAO pattern - by Marvin: Lisa (Github) and Arkadiko (Github) projects.
- Brice supported template code concept for highly-reviewed, reusable patterns
Resources
- SIP-018 Signed Structured Data
- Stacks.js
- Executor DAO Pattern
- Timothy’s Security Template forum post
- Pillar BTC - by Rapha
Call-To-Action
- Developers: Explore the use of digital signatures in Clarity and implement SIP-018 for structured data signing. Come demo in the WG your use case.
- Community: Join the Clarity Working Group! Developers, auditors, educators, and grant teams are welcome. Connect with Gary on X to join the group chat and access the bi-weekly Google Meet link.