Hashgraph consensus
Unlike traditional blockchain consensus mechanisms that require explicit voting rounds, Hashgraph uses a gossip protocol combined with virtual voting to reach agreement on transaction ordering.Key characteristics
Sub-100ms finality
Events reach consensus finality in under 100 milliseconds, enabling high-throughput, low-latency applications.
No explicit voting
Nodes achieve consensus through virtual voting derived from the gossip graph, eliminating vote message overhead.
Byzantine fault tolerance
Tolerates up to f = ⌊(n-1)/3⌋ Byzantine (malicious or faulty) participants in a network of n nodes.
Fair ordering
Transactions are ordered fairly based on cryptographic timestamps, preventing manipulation.
DAG structure
Tashi Vertex builds a Directed Acyclic Graph (DAG) where each node in the graph represents an event. Events are connected through cryptographic hashes that reference previous events, creating an immutable history.Event creation
Each peer in the network creates events that:- Contain zero or more transactions
- Reference previous events from the same creator (self-parent)
- Reference events from other creators learned through gossip (other-parent)
- Are cryptographically signed by the creator’s private key
The DAG grows as nodes gossip with each other, sharing new events and learning about events created by other nodes.
Virtual voting
Hashgraph’s breakthrough innovation is virtual voting — a technique that allows nodes to determine how other nodes would vote without actually exchanging vote messages.How it works
- Gossip about gossip: When nodes exchange events, they also implicitly share information about what events they’ve seen and when
- Strongly seeing: An event “strongly sees” an earlier event if it can reach it through multiple independent paths in the DAG
- Famous witnesses: Special events called “witnesses” that start new rounds become “famous” when they’re strongly seen by a supermajority
- Consensus timestamp: Once enough famous witnesses agree on an event’s position, it receives a consensus timestamp
Byzantine fault tolerance
Tashi Vertex can tolerate up to f = ⌊(n-1)/3⌋ Byzantine participants, where:- n = total number of nodes in the network
- f = maximum number of faulty/malicious nodes
- A 4-node network can tolerate 1 Byzantine node
- A 7-node network can tolerate 2 Byzantine nodes
- A 10-node network can tolerate 3 Byzantine nodes
Byzantine behavior
The protocol tolerates nodes that:- Send different information to different peers
- Stop responding or crash unexpectedly
- Attempt to manipulate transaction ordering
- Create invalid signatures or events
Consensus finality
Finality guarantees
Once an event reaches consensus:- Its position in the total order is final and immutable
- All honest nodes will agree on the same consensus timestamp
- The event’s transactions are committed and can be applied to state
Performance characteristics
Configurable timing parameters
Configurable timing parameters
- Heartbeat interval: Creates empty events when idle (default: 500ms)
- Target ACK latency: Threshold for throughput increase (default: 400ms)
- Max ACK latency: Threshold for throughput reduction (default: 600ms)
- Dynamic epoch sizing: Automatically adjusts epoch length (1-3 seconds)
Rounds and epochs
Rounds
The consensus algorithm divides time into rounds. Each round:- Starts with “witness” events created by each node
- Determines which witnesses become “famous” through virtual voting
- Advances when enough nodes have created events in the current round
Epochs
An epoch is a longer period spanning multiple rounds. Epochs are used for:- Address book changes: Adding or removing nodes from the network
- State synchronization: Helping fallen-behind nodes catch up
- Network reconfiguration: Adjusting consensus parameters
With dynamic epoch sizing enabled, Tashi Vertex automatically keeps epoch lengths between 1-3 seconds based on network conditions.
Whitened signatures
Each consensus event includes a whitened signature — a value created by XORing the event’s signature with the signatures of all unique famous witnesses that voted on it.- Unpredictable: Cannot be known until consensus is reached
- Deterministic: All honest nodes calculate the same value
- High entropy: Suitable for seeding random number generators
Next steps
Architecture
Learn about the engine design and FFI layer
Events and transactions
Understand how to send and receive data