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 Use Cases, Specifications that enable those Use Cases, and Developer Support for incorporating those Specifications including Reference Libraries and CLI Apps. Reference Apps offer further examples to ensure that Specifications are integrated using best practices.
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 an 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.
The Secure Components suite provides tools for easily implementing encryption (symmetric or public key), signing, and sharding of messages, and representation of knowledge graphs, including serialization to and from CBOR and UR formats. The core of the Secure Components capability suite is the Envelope. This is a smart-document structure that supports the storage, backup, encryption & authentication of data, with explicit support for Merkle-based selective disclosure.
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.
Paper: UR Type Definition for Sharded Secret Key Reconstruction (SSKR)
Security Review: 2021 Review
Documents: SSKR Overview, SSKR Share Scenarios, SSKR Dangers
Blockchain Commons SSKR is an implementation of Sharded Secret Key Reconstruction (SSKR) for use in Blockchain Commons Software Projects. It currently implements Shamir’s Secret Sharing, allowing for sharding and reconstruction of a key, to improve Resilience.
Uniform Resource (UR) Specification
Papers: Uniform Resources (URs), Registry of UR Types, UR Type Definitions for Transactions Between Airgapped Devices, and others
Documents: UR Overview, UR Introduction
Blog: Blockchain Commons’ Uniform Resources (URs) Support Airgapped PSBTs & More (12/8/20)
Test Vectors: crypto-request, crypto-seed, SSKR
UR stands for Uniform Resources, a method for encoding structured binary data in plain-text strings that are also well-formed URIs. It’s an interoperability specification that allows for the reliable, typed transfer of data and was designed in particular to allow for reliable transmission of crypto-seeds, crypto-keys, PSBTs, and other data related to cryptocurrency.
One of the particular advantages of UR is careful integration with QR codes, a prime method for transmitting data across airgaps. URs are built to be efficient when encoded as QRs. In addition, multi-part URs allow for the creation of animated QRs, overall containing more information than any single QR could have.
Intros: Animated QRs
Animated QRs are a variant of QRs that animate across several frames. Blockchain Commons’ Animated QRs are built atop URs, using fountain codes. They’re intended to allow the transmission of large amount of data across Airgaps, overcoming the built-in limits of individual QR Codes.
Most of our specifications begin with Research papers, which describe and detail the use of new, interoperable specifications for blockchain and Bitcoin.
Gordian Use Cases
Gordian Envelope Use Cases: Overview, Educational & Credential Industry Use Cases, Wellness Use Cases, Data Distribution Use Cases, Software & AI Industry Use Cases, Financial Industry Use Cases
Other Use Cases: Collaborative Seed Recovery (CSR) Use Cases, Collaborative Key Management (CKM) Use Case
Why use the Gordian Architecture? Use Cases explain the real world applications of many Gordian specifications. They can impact and improve data distribution, software distribution, credential usage, the financial industry, and more.
Gordian Developer Support
The Blockchain Commons repos include libraries and apps that help developers to develop and test the Gordian specifications.
Crypto Commons Libraries
Repos: Crypto Commons
All of the Gordian reference libraries can be found in the Crypto Commons repo. Libraries are originally coded in C or C++, but the repo also contains implementations of some libraries for Java, Python, Swift, or other languages.
Definitive libraries for using the deterministic variant of DCBOR.
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.
Collaborative Seed Recovery
Collaborative Seed Recovery, or CSR, is currrently 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 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.
CSR is a step toward Collaborative Key Management (CKM), which is expected to become an active project following the deployment of current CSR systems. Currently, CSR is planned for 2022 and CKM for 2023-2024.
Gordian Reference App: 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 Reference App: 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 Reference App: 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.
Gordian Reference App: LetheKit (kit)
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.
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 accomodate 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.
Repo: Testimony Webpage
Blockchain Commons has regularly provided testimony to various agencies and instutions. Much of our work has occurred in Wyoming, because they are on the cutting edge of support for blockchains and other digital technologies. This repo theoretically contains links to much of our testimony, but at the moment includes just a few of our links and needs to be filled in.
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
A instance of Blockchain Commons’ Spotbit Bitcoin price-aggregation server, available for public usage.
Testnet Public Node
Testnet Node IP Address: 188.8.131.52:18333
Testnet Node Onion Address: firstname.lastname@example.org: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 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!