Exploring BRC-20s: New Opportunities for sBTC

Week of May 5, 2023

Dear Bitcoiners,

The landscape around Ordinals and BRC-20s is rapidly evolving. In this issue, we’ll break down everything you need to know and why it matters for sBTC.

🚀 BRC-20 Mania: What’s all the hype about?

BRC-20 tokens provide a new standard for issuing and managing assets on the Bitcoin blockchain. The idea started as an experiment to see if Ordinal theory can facilitate fungibility on Bitcoin. Anyone can deploy, mint or transfer tokens using Ordinal inscriptions through a “First in, First out” model. It uses a format called JSON, which can be broken down like this:

Although BRC-20s are still in their early stages, their proof of concept has demonstrated strong demand for issuing assets on Bitcoin.

In just two months, they have risen to over $500M in market capitalization and $10M in 24 hour trading volume. While the most popular BRC-20 tokens are meme coins like MEME and PEPE, this breakthrough could quickly expand to encompass tokenized real world assets.

📈 The Demand for Bitcoin Block Space is Exploding

So far, $14M total fees (USD) have been paid for inscribing Ordinals. Yesterday alone saw a record breaking $2.5M fees paid in a single day.

In fact, Bitcoin transaction fees surpassed the block subsidy coinbase reward due to high demand for Bitcoin block space. This was a crucial moment, which demonstrated a path to long-term sustainability for Bitcoin’s security model.

🧠 What does this mean for sBTC?

Stacks is poised to serve as the scaling layer for Ordinals. As fees increase on Bitcoin L1, we anticipate more activity transitioning to L2. sBTC and sOrdinals are needed to move Bitcoin to L2 in a secure and decentralized way and unlock the full capability for Ordinals.

👉The Bottom Line: BRC-20 tokens have expanded the market opportunity for sBTC. It also shapes how we approach our go-to-market strategy. We’ll be following this trend closely to see how it evolves over the coming weeks and months. One thing is certain: excitement around building on Bitcoin is back 🧡

💻 Engineering Updates

  • ❤️ Will enabled the funding of Quarter 3 Critical Bounties for a total of 12 BTC and 240k STX!!

  • ❤️ Sergey submitted an ask to the Stacks Foundation for six engineers for one quarter to focus on build, testing and security infrastructure for sBTC.

  • ✅ Igor resourcing the Nakamoto workstream with engineers.

  • ✅ Hosted a design discussion to align and prioritize features for sBTC.

  • ✅ Aligned on sBTC terminology

    • Use Deposit instead of Peg-in or Wrap

    • Use Withdraw instead of Peg-out or Unwrap

    • Terminology aligned with Subnets and other bridges.

    • We are open for comments on this and otherwise will begin renaming references in code, design docs and white papers starting next week.

  • ✅ sBTC Alpha work is progressing and unblocked.

Workstream Updates

  • Testing Infra - Sergey Shandar

  • Bitcoin / DLC - Fernando Foy

    • ⚠️ We are still looking for a way to make it so that the borrower does not have to sign to refresh a DLC

    • Asks from other workstreams:

      • If someone knows of any additional and extensive DLC libraries, this would be helpful.

  • Blockchain - Mårten Blankfors

    • ✅ Unit tests for commit-reveal operations in Stacks

    • ⚠️ Reclaim path for commit transactions needs attention

    • ⚠️ StackerDB RPC interface stalled on technical issue (borrow-checker battle)

  • Crypto - Joey Yandle

    • ✅ Updated sBTC alpha contract

      • Added key IDs to signer data

      • Signer data map is keyed off signer id not key id

    • ✅ Updated frost with Jacinta

      • All integer types are no longer platform dependent

        • u32 or u64 as necessary

        • Casts to usize are now explicit and panic if failure

      • Signer ID for v1 is no longer fake

        • v1::Signer has u32 id field

        • ID is persisted and loaded

    • ✅ Updated core-eng with Jacinta

      • Config now tracks sBTC alpha contract changes

    • ✅ Onboarded new p256k1 contributor and reviewed/merged PR

      • Replaced base58 crate with bs58

        • base58 crate was not maintained and had no license in repo

        • Error types did not implement Display/Debug

          • This prevented wrapping the errors in types that did

    • ✅ Fixed audit branch

      • Adds comments throughout code to note issues

        • Places where we need to validate inputs

        • Possible vulnerabilities

        • Confusing code

      • Unfortunately it had an awkward merge from main

        • Required a difficult interactive rebase/squash/format

  • Bridge - Mike Cohen

    • See also Bridge’s GitBook updates page.

      • Committed PR 105 which tidies up code around building the commit tx. Several options currently co-exist and work will continue in subsequent PR.

      • Created a risk assessment on the requirements around commit.

      • Finished off web project CI - staging branch is now default for PRs - serves as a safety latch for production builds.

    • Asks from other workstreams:

      • Blockchain Work Stream for sync up on the commit / reveal / reclaim flow.

  • Signer - Jacinta Ferrant

    • ✅ Met with Igor to get contact info for requirements gathering/coordination with related critical bounties

    • ⚠️ Priorities still on Stacks Alpha Project

  • Stacks Foundation sBTC Bounties - Will Corcoran

    • Home Stretch: DeMining / DeStacking Pools

    • Proof of Concept: sBTC Electrum Integration concept

    • Awarded: Stacks-Signer for Mobile and ClarityGPT

    • Teamwork!: UX/UI on sBTC Bridge, Stacks-Signer, DeStack Pool, and Nakamoto Block Sim coming together here.

    • ⚠️ Flagged: Jacinta and @mxn flagging Stacks.rs WIP - plan to work with grantee @Rswol to expand scope accordingly

    • ⚠️ Audits: DeMine / DeStack first - all others at sBTC code completion

    • ❤️ Funded!: 3Q CBs (sBTC-related CBs = 12 BTC + 240k STX!! (thanks Igor and Sergey)

  • Bitcoin Builder Updates

    • @mårten#2709

      • Open PRs:

        • ✅ Draft: commit-reveal support in Stacks: stacks PR#3683

          • ⚠️ Initial SegWit support limited to p2wsh/p2tr nested in p2sh

          • ✅ Unit tests implemented

          • ⚒️ Working on integration tests

        • ⏸️ Contribution guidelines + DCO check: core-eng PR#292

          • On hold due to unresolved CLA uncertainty

        • ⏸️ Peg handoff wire format: stacks PR#3687

          • On hold due to Stacks hard fork

    • @Ӿoloki#3105

      • Merged p256k1 PR#59 rev version for crates.io

      • Reviewed p256k1 PR#60 switch base58 crate to bs58

      • Reviewed frost PR#102 Add persistent ID to v1::Signer

      • Reviewed frost PR#99 Make all usize into u32

      • Merged core-eng PR#311 Update sBTC contract to store key-ids per signer and use signer-ids as key for signer map

      • Reviewed core-eng PR#318 Update config to better match sBTC contract changes

⚒️ Go-To-Market Updates

  • Progress on sBTC design decisions, including how to handle transaction fees in the wallet

  • Collected feedback on oracles to provide additional tooling for sBTC builders

  • Exploring ecosystem workstream to support founders on sBTC

  • UX research workstream is kicking off this week

🌍 Around the Ecosystem

  • Stacks ecosystem continues to deliver:

  • Don’t forget your tickets to Bitcoin Builders Conference! I’ll be interviewing sBTC core developers Igor Sylvester and Joey Yandle

Signing Off,

Andre