Blockchain Commons produces projects that fulfill its Vision.
Much of this centers on an Architecture that focuses on our Gordian Principles of independence, privacy, resilience, and openness and that encourages responsible key management. This Architecture is built upon Specifications that have been created in conjunction with the Wallet Community. Developer Support enables the usage of these specifications, while Reference Apps further demonstrate that usage.
The Gordian Architecture
The Gordian Architecture is the heart of Blockchain Commons’ work. It’s a partitioned architecture and a set of backup, communication, and encoding specifications, built to support the Gordian Principles.
The Gordian Architecture supports users through those four principles.
- Independence. The Gordian Architecture supports self-sovereign control of digital assets. Users are in control, not centralized organizations.
- Privacy. The Gordian Architecture is privacy-protecting, allowing selective protection and disclosure of data.
- Resilience. The Gordian Architecture focuses on #SmartCustody to eliminate Single Points of Failure and Compromise; controlling your own assets can be tricky, and the Gordian Architecture makes it as safe as possible while also maximizing security.
- Openness. The Gordian Architecture helps developers to come together using open specifications that allow interoperability.
The Gordian Architecture is a future-looking design that covers everything that from the high-level architecture of a Gordian ecosystem through the specifications and UX best practices that make it possible. It allows blockchain, wallet, and web developers to deploy fully featured applications that incorporate all the current best practices of the digital-asset community.
The Gordian architecture is built on specifications that empower our Vision. These specifications are what create the independence, privacy, resilience, and openness of our designs. They are broken into three main category: Data Formats, Sovereign & Society Recovery, and UX Design.
Data Format Specifications
Blockchain Commons has produced a number of specifications that are intended to support interoperability among wallet developers and other digital-asset holders as well as resilience, privacy, and independence.
- Envelope allows for the compact storage and transmission of data, as well as hashed elision and encryption.
- Animated QRs support the transmission of larger amounts of data across air gaps.
- URs underlie Envelope and Animated QRs and ensure interoperability.
- dCBOR defines a deterministic version of CBOR, crucial for a variety of tasks including the hashed storage of data.
- QuickConnect defines a deep-link URI to provide further interoperability.
Lifehash & OIB Specifications
LifeHash is a method of hash visualization based on Conway’s Game of Life that creates beautiful icons that are deterministic, yet distinct and unique given the input data. The basic concept is to take a SHA256 hash of the input data (which can be any data including another hash) and then use the 256-bit digest as a 16x16 pixel “seed” for running Conway’s Game of Life.
LifeHash is used by Blockchain Commons to create distinct and unique visual representations for your seeds and keys, so that you can recognize them at a glance. It appears as part of the Object Identity Block (OIB), which supplements that LifeHash with additional information on a digital object.
CSR & SSKR Specification
Collaborative Seed Recovery (CSR) is a system intended to improve the resilience of seeds and other digital assets by allowing them to be split up and those shares then stored on a variety of share servers.
SSKR is Sharded Secret Key Reconstruction (SSKR). It’s used by Blockchain Commons’ implementation of CSR. It currently implements Shamir’s Secret Sharing, allowing for sharding and reconstruction of a key.
Most of our specifications begin with “BCR” Research papers, which describe and detail the use of new, interoperable specifications for blockchain and Bitcoin. The ultimate goal is to upgrade BCRs to BCPs when they come into use by multiple parties, then to turn them into specifications.
Gordian Developer Support
The Blockchain Commons repos include libraries and apps that help developers to develop and test the Gordian specifications.
Developers: Library Listing
Reference libraries demonstrate the use of our specifications. They were originally coded in C or C++, and some have been recoded by us in Rust and Swift. Other developers have also produced conversions for Java, Python, and other languages.
CLI & Web Apps
Developer Resources: Developer Website
CLI Apps: Bytewords-CLI, dCBOR-CLI, Envelope-CLI-Rust, Envelope-CLI-Swift, Keytool-CLI, LifeHash-CLI, Musign-CLI, Seedtool-CLI
iOS Apps: URDemo
Web Apps: lifehash.info, seedtool.info, [Spotbit](spotbit
Apps for the command-line and for iOS and the web can aid developers in testing out their work.
Gordian Reference Apps
Whereas Developer Apps are meant for testing, the Gordian Reference Apps offer best practices and examples of how to incorporate Reference Libraries into applies that support the Gordian Principles.
Gordian Coordinator (iOS)
Gordian Coordinator is a Multisig Bitcoin transaction coordinator for iOS. It demonstrates the use of request and response envelopes to communicate when creating multisig transactions in a way that is both resilient and easy to use.
Gordian Depo (CSR)
Collaborative Seed Recovery, or CSR, is currently Blockchain Commons’ major project, being developed in coordination with a number of partners. It’s a system intended to automate the recovery of seeds and other sensitive digital data in a way that is safe, secure, and simple to use. It manages this by sharding secrets and then storing shares on different servers. This is not a methodology to prevent compromise, but simply to add resilience to recovery in the case of failure or loss. It is an exemplar for how to introduce a key management role into a Gordian Architecture.
Blockchain Commons’s reference app for CSR is built on the SSKR library and the Depo Server, which uses the Depo API for communication. We expect other partners will use different servers for their share storage.
Gordian Seed Tool (iOS)
Repo: Seed Tool
Blog: Gordian Seed Tool Reveals the Foundations of Cryptography (7/15/21)
Gordian Seed Tool is Blockchain Commons’ most fully featured reference app. It demonstrates independence and resilience by protecting your cryptographic seeds while also making them available for easy use. Using Seed Tool, you can generate seeds and store them securely on your device. You can then derive and share multi-signature signing and verification keys from those seeds or alternatively sign PSBTs directly from the app. Sophisticated backup procedures demonstrate the usage of Sharded Secret Key Reconstruction (SSKR) — which lets you split your seed into pieces and send them to trusted parties, who can send them back to you in an emergency for seed recovery. You can even use an entirely offline device (no internet access) to store your seeds and use QR codes to exchange necessary information with online devices running compatible wallet or signing software. A complete manual details its functionality.
Gordian Server (MacOS)
Repo: Gordian Server
Gordian Server installs a self-sovereign Bitcoin Core server, protected by Tor, on your Mac computer. This gives you complete control over your Bitcoin destiny, and supports easy connectivity with Gordian Wallet, Fully Noded, and other wallets that support the QuickConnect API.
Blog: Blockchain Commons Releases Feature-complete LetheKit (10/28/20)
LetheKit is a do-it-youself platform for performing various sensitive cryptographic operations on an offline airgapped device. It uses no WiFi or Bluetooth which could leak information and contains no local storage, and when the device is turned off it forgets any sensitive data stored in RAM. Thus the name Lethe (lee-thee), from the mythological river of forgetfulness and oblivion.
Other Gordian Reference Apps
Several other reference apps have been released to demonstrate specific Principles. Some of these apps have since become outdated or superceded by other applications. Several research reference apps have been written to test out new technologies and new ways to demonstrate our Vision, but haven’t been upgraded to full reference status.
One of the prime goals of Blockchain Commons is to bring together different parties to educate and to create consensus on the future development of our technologies and specifications. This happens through events.
FROST Round Table
FROST is a threshold signature scheme for Schnorr signatures that provides a next-generation resilience methodology for the control of digital assets. Blockchain Commons is running a series of round tables intended to bring together experts in the field and allow them to discuss the challenges of its implementation.
The Silicon Salon seeks to create semiconductor solutions for cryptography by bringing together semiconductor manufacturers who are interested in creating silicon solutions specifically intended for cryptography with wallet creators and other cryptographic principals. Each event to date has included presentations from principles in the area and discussion among attendees. Our web site includes the presentations and summarizes the discussions.
Rebooting the Web of Trust
Rebooting the Web of Trust is a semiannual design workshop that was founded by Christopher Allen prior to the foundation of Blockchain Commons; many of its ideas in turn became the heart of our initial work. We continue to attend and support the workshops.
Educational projects consist of books, tutorials, or courses, intended to teach the usage of blockchains to programmers and end users alike.
Learning Bitcoin from the Command Line
This is a complete twenty-chapter course intended to teach system administrators, developers, and engineers who are already acquainted with the UNIX command line interface how to work with Bitcoin. It uses this methodology to teach the fundamentals of Bitcoin, from RPC communications to how transactions work and how scripts work. The majority of the course is focused on
bitcoin-cli, but there’s also information on scripting, on programming with the RPC interface, and on using other command-line programs, beginning with
lightning-cli. Translations are now available for Portuguese, with the final iteration of Spanish pending.
PDF: #SC v1.01
Book Site: WWW Site New Scenarios: Multisig Scenario New Technologies: Articles Case Studies: Overview Repo: SmartCustody Repo, SmartCustodyBook
Future: Outline for v2.0
Blog: June TweetStorms on #SmartCustody Adversaries, 1-on-1 Advice, Supporting Smart Custody Book v2 (6/3/20)
The Use of Advanced Cryptographic Tools to Improve the Care, Maintenance, Control, and Protection of Digital Assets. This five-chapter (186-page) book is intended to make you rethink the security of your digital assets. It puts together a risk-modeling system with two additional building blocks: a cold-storage scenario for managing self-custody; and an extensively detailed list of potential adversaries. By working through the book, you can determine which adversaries are actually the most dangerous to your assets, and adjust your own self-custody scenario to accommodate them. Additional chapters talk about fiduciary duties with regard to digital assets.
A v2.0 of this book is in the planning stage, to improve the accessibility of the course, to support additional hardware tools, and to introduce multi-signature scenarios. Our multisig design article, our sharding design article, our SSKR Dangers article, Timelock exploration article, and our multisig scenario will all be incorporated into #SC 2.0 in some form, per our #SC 2.0 outline.
Blockchain Commons isn’t just about technological development. It also works to ensure that there’s a solid legal foundation for our blockchain technologies. That’s where Advocacy comes in.
Law & Advocacy
Our Law & Advocacy repo includes both research that we’ve done on the current state of the law and advocacy that we’ve done to change that status.
Open Infrastructure Projects
Open infrastructure projects create resources that can be used by the entire internet community.
HTML Address: http://esplora.blockchaincommons.com/
Onion Address (http): http://pf4awrbzt3ohrtukpq6xx6y73gxqlnon4zh35ik7ald3kwfb5iedogad.onion
Onion Address (electrs): pf4awrbzt3ohrtukpq6xx6y73gxqlnon4zh35ik7ald3kwfb5iedogad.onion:50001
Blockchain Commons Esplora server.
Onion Address: h6zwwkcivy2hjys6xpinlnz2f74dsmvltzsd4xb42vinhlcaoe7fdeqd.onion
Related Repo: spotbit
An instance of Blockchain Commons’ Spotbit Bitcoin price-aggregation server, available for public usage.
Testnet Public Node
Testnet Node IP Address: 18.104.22.168:18333
Testnet Node Onion Address: email@example.com:1309
Related Repo: GordianWallet-iOS
Blockchain Commons maintains a public Bitcoin testnet node, primarily for use as an optional server for use with GordianWallet.
Tor Exit Node
Blockchain Commons supports the open infrastructure of Tor by running its own exit node.
How to Get Involved
Want to become involved in Blockchain Commons’ projects? Here’s how!
- Participate in the Gordian Developer Community. Join our Developer Discussions on GitHub. If you want more, talk with us to get access to our Gordian Signal group.
- Contribute to Projects. Submit Issues to Projects or (even better) PRs, offering clear improvements. We welcome them on all our repos!
- Become a Sponsor. Support Blockchain Commons by becoming a GitHub Sponsor. We welcome all donations, as they allow us to continue our industry-supporting work. If you’re a company interested in becoming more involved talk with us about becoming a Project Sponsor or a Sustaining Sponsor!