<style>
.reveal {
font-size: 24px;
}
. reveal h1 h2 {
font-family: "League Gothic", Impact, sans-serif;
color: #eee8d5;
font-family: "League Gothic", Impact, sans-serif;
line-height: 0.9em;
letter-spacing: 0.02em;
text-transform: uppercase;
text-shadow: none;
}
.reveal ul {
font-size: 5 em ;
line-height: 1.2 em ;
}
.reveal pre code {
font-size: 0.7em ;
margin: 0px 60px 0px 60px;
.reveal p {
line-height: 1 em ;
}
.reveal blockquote {
font-size: 1 em ;
line-height: 1.2 em ;
}
</style>
<img src="https://hackmd.io/_uploads/HkEB3VdmT.jpg" width=1024>
<font size="7">FROST CLI #Gordian Meeting
9/6/25</font>
---
## <img src="https://i.imgur.com/QyDl5nK.png" width="192" height="192"></br> What is Blockchain Commons?
<font size=6>
* We are a community interested in self-sovereign control of digital assets.
* We bring together stakeholders to collaboratively develop interoperable infrastructure.
* We design decentralized solutions where everyone wins.
* We are a neutral "not-for-profit" that enables people to control their own digital destiny.
</font>
---
Thank you to our FROST Sponsor!

Become a sponsor!
Mail us at team@blockchaincommons.com
---
## <img src="https://i.imgur.com/QyDl5nK.png" width=50 height="50">Two Great Tools
<font size=6>
* We've been working with two great tools
* ZF FROST
* https://frost.zfnd.org/
* Bitcoin Dev Kit (BDK)
* https://bitcoindevkit.org/
</font>
---
## 🧩 Our Biggest Puzzle
<font size=6>
* How Do We combine ZF FROST & BDK for PSBT Signing?
* ZF FROST Needed Secp256K1-TR Ciphersuite
* BDK Needed to Apply Signature
- But Also Needed a "Tweak" to Avoid a Taproot Attack
- Transaction hash must be extracted
- Key Material is tweaked
- Signature is reinserted
</font>
---
## ❄️ ZF FROST
<font size=6>
* We Built on Existing FROST CLI Tools
* https://github.com/ZcashFoundation/frost-tools
* Submitted PR for Secp256K1-TR Ciphersuite
* https://github.com/ZcashFoundation/frost-tools/pull/537
* Also have a branch which does Taproot tweak
* https://github.com/BlockchainCommons/zcash-frost-tools/pull/2
</font>
---
## 🧰 BDK
<font size=6>
* Extracting hash wasn't available in CLI.
* (Tweaking is an external process.)
* Reinserting signature wasn't available in CLI.
* Had to use libraries & write two tools to extract & reinsert sig
* But:
* It's unclear who should be tweaking.
* There may be privacy concerns for tweaking BIP-32 derivations.
* Tweaking may not be necessary with FROST DKG.
* More on this all after our demo!
</font>
---
## <img src="https://i.imgur.com/QyDl5nK.png" width=50 height="50">Blockchain Commons Demo
<font size=6>
* Demo:
* Spend Taproot (P2TR) Bitcoin
* On a private regtest network
* Using a 2‑of‑3 FROST signature
* We will:
* Create 3 keyshares with Trusted Dealer
* Create a PSBT
* Run `sighash-helper` to get Taproot key‑path sighash
* Sign with FROST
* Inject signature with `psbt-sig-attach`
* Transmit!
* Over to Wolf!
</font>
---
## ❄️ ZF FROST DKG Open Questions
<font size=6>
* We were unable to get the ZF Distributed Key Generation (DKG) server to work, it may be a few steps behind the TD (Trusted Dealer) code.
* There doesn't seem to be any standards for the DKG values. I don't believe any of the three DKGs we've tested can be used with a different FROST signing system.
</font>
---
## ❄️ ZF FROST Open Questions
<font size=6>
**On PRs:**
* What is the status of PRs to ZF FROST?
* Does DKG make that Taproot tweak unnecessary?
* Does it make sense to submit tweak PR?
* Do we need to add optionality to tweak PR?
**On Reviews:**
* Did Schnorr BIP340 get security reviewed?
* Will Zcash be doing more security reviews?
</font>
---
## 🧰 BDK Open Questions
<font size=6>
* Should BDK expose retrieving hash?
* SHould BDK expose re-inserting signature?
* Who would we talk to to make this happen?
* What if there is no requirement for tweak?
* (e.g., with FROST DKG)
</font>
---
## 🔮 Other Open Questions
<font size=6>
* Which party is really responsible for applying the Taproot tweak?
* What should be done when it's not required?
* Can we make the tweak more private by doing it at a different place?
</font>
---
## ❄️ FROST is Coming!
<font size=6>
- We have a variety of resources and results from previous FROST workshops at: https://developer.blockchaincommons.com/frost/
- We will have more focused FROST meetings this fall.
- If you'd like to present, let us know!
- ***Library Implementers:*** Tell us about your tech and roadmap
- ***Developers:*** Tell us about your needs and use cases
</font>
---
<img src="https://i.imgur.com/QyDl5nK.png" width="128" height="128"></br>
www.BlockchainCommons.com
<img src="https://avatars.githubusercontent.com/ChristopherA?s=195">
Christopher Allen (@ChristopherA)
{"title":"FROST CLi Meeting (August 2025)","breaks":false,"description":"View the presentation with \"Slide Mode\"","robots":"noindex, nofollow","contributors":"[{\"id\":\"0b0d4b7e-e9c8-49f0-9ef4-13bc8cb215c4\",\"add\":5839,\"del\":3393,\"latestUpdatedAt\":1754521427121},{\"id\":\"408a260c-90cf-4399-836c-fa045d136c3f\",\"add\":989,\"del\":21,\"latestUpdatedAt\":1754499355447}]"}