awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
google avatar

google/trillian

0
View on GitHub↗
3,736 stars·449 forks·Go·Apache-2.0·21 views

Trillian

Trillian is a distributed, multi-tenant verifiable data store that maintains cryptographically verifiable logs and maps using Merkle tree structures. It functions as a scalable backend for transparency logs, providing a system where data integrity is ensured through append-only records and mathematical proofs of inclusion and consistency.

The system distinguishes itself by decoupling core storage from application-specific logic through a personality layer, which handles admission criteria and data canonicalization. It employs a consensus-based leader election mechanism for high availability and a gossip protocol to synchronize views and detect split-view attacks.

Beyond its core logging capabilities, the project provides a verifiable key-value store using sparse Merkle trees and supports persistence across various relational SQL database backends. The framework includes a comprehensive security suite for managing signing keys, rotating private keys, and enforcing request quotas and rate limits per tenant.

The system is implemented in Go and provides integration tests to verify that server binaries maintain the integrity of the verifiable data store.

Features

  • Verifiable Storage - Stores data in a cryptographically verifiable structure using Merkle trees to ensure transparency and integrity.
  • Merkle-Tree Storage Engines - Organizes data into a cryptographic Merkle tree structure to enable efficient inclusion and consistency proofs.
  • Technical Transparency Log Infrastructure - Builds systems that allow public auditors to verify the integrity and consistency of a shared set of records.
  • Signed Root Distribution - Provides the latest signed root of the Merkle tree to establish the current state and size of the log.
  • Cryptographic Commit Logs - Creates append-only data stores using Merkle trees to ensure records cannot be altered or deleted without detection.
  • Append-Only Consistency Proofs - Creates cryptographic proofs demonstrating that a newer log version is an append-only extension of an older one.
  • Distributed Consensus Stores - Provides a high-availability data store using leader election and consensus to coordinate verifiable logs.
  • Log Tenant Isolation - Isolates different data streams by identifier by hosting multiple independent Merkle trees for different tenants.
  • Proof-Carrying Data Stores - Runs high-availability clusters providing cryptographic proofs of inclusion and consistency for large datasets.
  • Append-Only Log Feeds - Adds entries to an append-only Merkle tree using consecutive queuing or predefined ordering.
  • Distributed Leader Election - Coordinates a single active master node among a distributed cluster to ensure high availability.
  • Verifiable Tree Hosting - Hosts several independent Merkle trees within a single installation to support multi-tenancy.
  • Cryptographic Inclusion and Consistency Proofs - Produces inclusion and consistency proofs allowing clients to verify data without downloading the entire dataset.
  • Leaf Inclusion Proofs - Generates cryptographic proofs to verify that a specific entry exists within a given tree root.
  • Proof Generation - Produces cryptographic Merkle proofs for specific leaf indices or hashes within the tree.
  • Threshold-Signed State Management - Maintains a history of signed tree heads to establish the authoritative state and size of the log.
  • Sparse Merkle Trie State Verification - Implements a key-value store using a sparse Merkle tree to provide verifiable mapping of keys to values.
  • Data Canonicalization - Converts equivalent formulations of data into a single format to prevent duplication of identical entries.
  • SQL-Backed Stores - Persists cryptographically hashed trees and maps across various relational database backends.
  • Pluggable Database Backends - Integrates with various relational databases to persist verifiable data.
  • Relational Storage Backends - Offloads the storage of tree nodes and leaf data to relational databases for durability and scalability.
  • Tamper-Proof Database Managements - Records system events or financial transactions with mathematical proof of the sequence and content.
  • Verifiable Map Generation - Creates cryptographically verifiable maps using a pipeline approach to scale efficiency for large datasets.
  • Verifiable Map Leaf Management - Writes and verifies individual or batch leaves in a sparse Merkle tree map.
  • Admission Request Validation - Validates submissions and canonicalizes data using application-specific logic to manage external interfaces.
  • Gossip Protocols - Uses a gossip protocol to synchronize observer views and detect split-view attacks.
  • Certificate Transparency - Maintains a verifiable log of digital certificates to prevent fraudulent issuance and improve PKI security.
  • Signing Key Rotation - Updates private signing keys via an administrative interface to maintain the trust chain without altering storage.
  • Inclusion Commitments - Provides a signed commitment to incorporate a submitted entry within a defined time window.
  • Data Submission Validators - Validates that incoming data is signed by an authorized entity and follows a specific required structure.
  • Signing Key Lifecycle Management - Handles cryptographic keys and signing operations using hardware modules or standard file formats.
  • Split-View Attack Detection - Shares observer views via a gossip protocol to ensure all users see the same data.
  • Verifiable Map Integrity Checks - Checks if a specific key-value pair is correctly committed within a set of map tiles.
  • Application Logic Extensions - Pairs a data store with a personality layer to handle admission criteria and data canonicalization.
  • Iterable and Mapping Content Validators - Applies structural and authentication checks to entries to ensure they meet format and trust requirements.
  • Admission Layers - Decouples core storage mechanisms from application-specific admission criteria and data canonicalization rules.

Star history

Star history chart for google/trillianStar history chart for google/trillian

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Trillian

These projects share indexed features with Trillian. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • bluesky-social/indigobluesky-social avatar

    bluesky-social/indigo

    1,357View on GitHub↗

    Indigo is a Go-based framework and toolkit designed for building, hosting, and scaling services within the AT Protocol ecosystem. It provides the foundational infrastructure for decentralized social networking, enabling developers to implement relay services, manage cryptographically signed user repositories, and handle identity resolution across federated environments. The project distinguishes itself through a robust architecture that decouples content hosting from discovery, allowing for independent moderation and algorithmic feed generation. It utilizes content-addressed storage and Merkl

    Goatprotoblueskydweb
    View on GitHub↗1,357
  • bluesky-social/atprotobluesky-social avatar

    bluesky-social/atproto

    9,474View on GitHub↗

    atproto is a decentralized social networking protocol implementation and a schema-driven API framework. It provides the networking and data standards required to build interoperable social networks where users control their own identity and data through a personal data server specification. The project distinguishes itself through a DID-based identity system for managing cryptographic keys and verifiable profiles, alongside a lexicon-based protocol definition that uses versioned schemas to ensure consistency across network services. It utilizes Merkle Search Trees for verifiable data storage,

    TypeScript
    View on GitHub↗9,474
  • sofastack/sofa-jraftsofastack avatar

    sofastack/sofa-jraft

    3,806View on GitHub↗

    sofa-jraft is a Java implementation of the Raft consensus algorithm. It serves as a distributed consensus engine and linearizable state machine designed to ensure high availability and data consistency across a cluster of nodes. The project provides a replicated key-value store and a coordination engine for managing distributed state. It distinguishes itself through support for multi-group consensus sharding to distribute traffic and a service provider interface that allows for custom log storage and entry encoding implementations. The system covers a wide range of distributed capabilities,

    Javaconsensusdistributed-consensus-algorithmsjava
    View on GitHub↗3,806
  • patroni/patronipatroni avatar

    patroni/patroni

    8,182View on GitHub↗

    Patroni is a high availability manager and cluster orchestrator for PostgreSQL. It functions as an automatic failover controller and replication manager that ensures continuous database availability by automating leader election and promoting standby nodes during failures. The system maintains a consistent cluster state by acting as a distributed consensus coordinator. It synchronizes configuration and manages leader elections through integration with distributed configuration stores such as etcd, ZooKeeper, or Consul. Its broader capabilities include managing both synchronous and asynchrono

    Pythonconsuletcdfailover
    View on GitHub↗8,182
Compare all 30 related projects→

Frequently asked questions

What does google/trillian do?

Trillian is a distributed, multi-tenant verifiable data store that maintains cryptographically verifiable logs and maps using Merkle tree structures. It functions as a scalable backend for transparency logs, providing a system where data integrity is ensured through append-only records and mathematical proofs of inclusion and consistency.

What are the main features of google/trillian?

The main features of google/trillian are: Verifiable Storage, Merkle-Tree Storage Engines, Technical Transparency Log Infrastructure, Signed Root Distribution, Cryptographic Commit Logs, Append-Only Consistency Proofs, Distributed Consensus Stores, Log Tenant Isolation.

Which projects share features with google/trillian?

Projects with overlapping indexed features include: bluesky-social/atproto — atproto is a decentralized social networking protocol implementation and a schema-driven API framework. It provides… bluesky-social/indigo — Indigo is a Go-based framework and toolkit designed for building, hosting, and scaling services within the AT Protocol… sofastack/sofa-jraft — sofa-jraft is a Java implementation of the Raft consensus algorithm. It serves as a distributed consensus engine and… patroni/patroni — Patroni is a high availability manager and cluster orchestrator for PostgreSQL. It functions as an automatic failover… spaceandtimefdn/sxt-proof-of-sql — This project is a verifiable database engine that provides a SQL cryptographic proof system to ensure the integrity of… deuxfleurs-org/garage — Garage is a distributed object storage system that provides an S3-compatible API gateway. It is designed to…