Primitives
broadcast
Disseminate data over a wide-area network.
consensus
Order opaque messages in a Byzantine environment.
cryptography
Generate keys, sign arbitrary messages, and deterministically verify signatures.
p2p
Communicate with authenticated peers over encrypted connections.
runtime
Execute asynchronous tasks with a configurable scheduler.
storage
Persist and retrieve data from an abstract store.
stream
Exchange messages over arbitrary transport.
Examples
bridge
Send succinct consensus certificates between two networks.
chat
Send encrypted messages to a group of friends.
log
Commit to a secret log and agree to its hash.
vrf
Generate bias-resistant randomness with untrusted contributors.
Blogs
Scaling Throughput with Linked Broadcast
Blockchains require replicating data, like transactions, across nodes in the network—but doing it efficiently and reliably is a challenge. For the last decade, best-effort broadcast has been the norm, relying on consensus to guarantee delivery. The result? Wasted bandwidth by sending the same data multiple times, bottlenecked throughput by routing messages through a single node (the leader in consensus), and degraded performance whenever that node is unresponsive.
Merkle Mountain Ranges for Performant Data Authentication
Decentralized systems require the ability to prove authenticity of data received from potentially untrustworthy sources. The most well known data structure for this task is the Merkle tree, which allows one to efficiently prove inclusion of an element within a list without having to obtain the entire list from a trusted source.
Many-to-Many Interoperability with Threshold Simplex
Starting with the launch of the second blockchain, connecting any blockchain to any other blockchain without additional trust assumptions has been an elusive dream. Ten years later, application developers must still settle for some version of this.
Commonware: the Anti-Framework
Today’s blockchain stack is designed to be a jack of all trades, but master of none. Modeled after virtual machines (VM) and kernels, it exposes a balanced interface through a one-size-fits-all framework instead of molding to the needs of any specific application.
commonware-runtime: The Foundation for Reliable and Performant Consensus
In blockchain engineering, there are few moments more stressful than the production release of a new mechanism (whether a novel consensus optimization or a tweak to peer discovery).
commonware-cryptography: Unlocking Seeds, Links, and Views
When I chat with a developer about launching their own onchain application (as a specialized blockchain), the same questions always come up.
Introducing Commonware
Like many of you, I started working in the crypto space because I believe the internet will be a better place if (a lot) more of it is onchain.