It has been both an innovative and busy quarter at Blockchain Commons. Here’s some of the main things that we worked on this summer:

  • Join the Club:
    • Introducing the Gordian Club
    • The Club Made Reality
    • Next Step: Hubert
  • New Dev Pages:
    • Provenance Marks
    • Gordian Clubs
    • Hubert Again!
    • Other Recent Work
  • Presentations:
    • Swiss e-ID
    • TABConf 7
  • FROST Updates:
    • FROST & Bitcoin
    • FROST Demos
    • FROST Verify
  • ZeWIF Updates:
    • Error Handling
    • Back to the Stack
  • Work in Progress:
    • The Architecture of Autonomy
    • Learning FROST from the Command Line
    • XID Tutorials

Join the Club!

We’ve been introducing a lot of new ideas in the last year, and our newest is the Gordian Club, an autonomous cryptographic object (ACO)—though it’s based on ideas that go back decades!

Introducing the Gordian Club. So what’s a Gordian Club? The abbreviation ACO says it all: a Gordian Club allows for the autonomous and cryptographically protected distribution of information that can be updated over time. You don’t have to depend on a network, and you can’t be censored as a result! A Gordian Club provides resilience when systems are under stress and can support use cases such as disaster relief, protecting data over extended periods of time, and keeping data private in the face of corporate or government espionage. Read our introductory Musings on the topic for a lot more.

The Club Made Reality. The Gordian Club isn’t just a theory! We’ve released a Rust library and a CLI app so that anyone can test out the functionality and see its potential. Our October Gordian Meeting also included a full demo and presentation.

Next Step: Hubert. If you don’t depend on networks, how do you exchange Gordian Clubs? The beauty is that can do so in any way you see fit. You certainly can transmit over the network, with a service like Signal offering a secure, private way to do so. But you could also mail a thumb drive or even print a QR in the newspaper. We suspect the best methods will be the most automated, so we’re designing a “dead-drop” server that you can use to exchange Clubs. We call it Hubert after the “berts” of information that were exchanged in Project Xanadu (which was the inspiration for our own work on Gordian Clubs). Hubert is one of several works that we have in process as we page over to the new quarter, so more on that at year end!

New Dev Pages

The release of a number of new innovative technologies has resulted in the addition of new pages for developers. These are the places to go for the overview of our newest work and the links to all the details.

Provenance Marks. Provenance Marks provide a cryptographically-secured system for establishing and verifying the authenticity of works. Not only can you see that something was authentically signed, but you can also trace changes through a chain of authenticated provenances. We introduced provenance marks last quarter at a Gordian Developer Meeting, but we’ve now got a provenance mark developer page that has a lot more of the details.

Gordian Clubs. Our newest work, on Gordian Clubs, has a whole hierarchy of developer pages, including pages on why we think autonomy is important, how Gordian Clubs use our stack, how ocaps support delegation, and the history of the Clubs idea.

Hubert Again! We’ve also created a single page for Hubert, our info dead-drop hub. Though one of its earliest use cases is to distribute Gordian Clubs, it might also be used in other Multi-party Computation (MPC) scenarios such as FROST.

Other Recent Work. Our developer pages on cliques and XIDs are slightly older, but if you want to review the new ideas we’ve been presenting in the last year, those are the other two pages to look at! We also just expanded our Envelope pages with a look at permits, which is a fundamental feature of Gordian Envelope, but one that’s never had its own page before.

Presentations

We were thrilled that Christopher Allen was asked to present to two different groups, just as the quarter turned.

Swiss e-ID. Christopher has been talking with officials regarding the recently approved Swiss e-ID digital identity for a few months. On October 2, following the referrendum’s approval by the Swiss people, he was invited to give a presentation on “Five Anchors to Preserve Digital Autonomy & Deomcratic Soverignty”. We’ve also published an article that synopsizes the main points.


TABConf 7. Christopher was also invited to help kick off a digital-identity track at TABConf, a technical Bitcoin conference. He made two presentations there, on “Beyond Bitcoin: Engineering Exodus Protocols for Coordination & Identity” and on “The Sad State of Decentralized Identity (And What to Do About it)”. (No videos of these ones, sadly!)

FROST Updates

We’ve been delighted to continue our work with FROST this year thanks to a grant from HRF. We made some big progress in Q3.

FROST & Bitcoin. ZF FROST is perhaps the best FROST library out there (thanks to its completeness, usability, and security review). As the name indicates, it was created with Zcash in mind. We thought that one of the big things we could do with our HRF grant was to bring that capability to Bitcoin. To support that, we issued a PR for ZF FROST to support secp256k1, then created our own branch to support the tweak needed to send Bitcoins with Taproot. Together, these two updates provide everything you need to sign Bitcoin transactions with a FROST group.

FROST Demos. Putting together the puzzle pieces for FROST signing can still be a little complex, so we’ve created some demos for how it works. The demo for Trusted Dealer was held at our August Gordian Developers meeting (also see our step-by-step walkthrough). We then produced an additional video for signing after Distributed Key Generation (again, also see the step-by-step walkthrough).

TD Signing CLI Demo:
DKG Signing CLI Demo:

FROST Verify. It turns out that there aren’t great tools for verifying FROST signatures, so we created one. This is made specifically to work with the FROST cli tools that are part of the ZF FROST Package.

ZeWIF Updates

Speaking of Zcash, we’ve also done a bit more work on ZeWIF, our Zcash Wallet Interchange Format, which was a major focus at the start of the year.

Error Handling. Our biggest mark of success for a project is when it begins to come into wider use, because we’re not trying to create theory at Blockchain Commons, we’re trying to create specifications that make real-life users more independent. So when a request came over from Zcash’s Electric Coin Company to redo how we report error messages in ZeWIF, we were happy to do so. As a result, all of the ZeWIF-related crates were updated in Q3.

Back to the Stack. This led to general updates across our entire stack, to move away from anyhow for error reporting (except in apps such as CLI tools). This was part of the continual updating of our stack that we do to keep it clean and ready to use (the last was in early July, this one in September). There were also documentation updates and light code cleanups that occurred here and there as part of this work.

Work in Progress

Although that feels like a healthy amount of work for the quarter, we also put considerable work into other projects that have not yet seen completion.

The Architecture of Autonomy. We mentioned last quarter that Christopher was invited to speak at the Bitcoin Policy Summit. That got him thinking about a lot of big picture stuff concerning what works and what doesn’t for identity online. We’ve worked through a few different iterations of a major policy work on the topic, at the moment called “The Architecture of Autonomy,” but have only shared it with a few who are major movers in the area of digital identity (if that’s you, drop Christopher a line!).

Learning FROST from the Command Line. Learning Bitcoin from the Command Line has long been one of our most succesful projects, so when we pitched HRF last year on continuing our FROST support, we suggested that we create a similar (but much shorter) tutorial for FROST: Learning FROST from the Command Line. We’ve drafted a bit more than half of the course so far (chapters 1, 2, and the first part of 3), so we’re definitely not done, but if you want to get a head start, you can look at it now. We’ll be finishing this up before year’s end.

XID Tutorials. Finally, we should point again to the XID core concepts docs that we prepared in the previous quarter, the first part of our XID Quickstart. The concepts docs are solid and a great hands-on look at much of our stack. The linked tutorials are still in process. (Another topic for Fall or maybe Winter, as Learning FROST is before it in our tech-writing queue).

That’s it for this quarter. We hope you’re excited by some of the new work we’re doing (such as Gordian clubs and Hubert) and some of our newest presentations. If you’d like to help support this work, please consider becoming a GitHub sponsor. If you’d like to make a larger contribution or if you want to partner with us directly to integrate some of our tech, please drop us a line.