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
mimblewimble avatar

mimblewimble/grin

0
View on GitHub↗
5,090 stars·982 forks·Rust·Apache-2.0·24 viewsgrin.mw↗

Grin

Grin is a protocol implementation and blockchain node that provides a confidential transaction system. It uses Pedersen Commitments and homomorphic encryption to verify value integrity and ensure a consistent money supply without revealing specific transaction amounts or participant identities.

The project distinguishes itself through an interactive transaction exchange model, where wallets coordinate multi-round data exchanges to build signed transactions. To maintain anonymity, the system supports onion-routed transaction delivery and masks originating IP addresses through specialized relay mechanisms. It also incorporates memory-hard proof-of-work to resist ASIC mining dominance and utilizes a state-pruning ledger model with Merkle Mountain Range storage to reduce the blockchain disk footprint.

The codebase covers a broad set of capabilities including the execution of trustless cross-chain atomic swaps, the management of hierarchical deterministic wallets, and the operation of full network nodes. It provides tools for memory-bound mining, cryptographic contract execution via timelocks, and secure client-server communication using authenticated encryption.

The node can be deployed as a container image with support for persisting cache data.

Features

  • Network Protocol Implementations - Implements a full blockchain network protocol based on the MimbleWimble specification to ensure transaction privacy and scalability.
  • Confidential Transaction Systems - Operates a blockchain node that obscures identities and amounts via Pedersen Commitments and Tor routing.
  • Full Blockchain Histories - MimbleWimble downloads and validates every block from the genesis block for archival records.
  • Difficulty Adjustment Algorithms - Dynamically modifies the required proof effort based on network hashpower to maintain consistent block production times.
  • Blockchain State Compression - MimbleWimble merges spent outputs and inputs to remove intermediary data and reduce ledger size.
  • Blockchain State Querying - Provides JSON-RPC and REST interfaces for retrieving network status, chain state, and connected peer information.
  • State Validation - MimbleWimble triggers a validation process to ensure the integrity of the current chain state.
  • Homomorphic Commitment Summation - Adds multiple commitments to produce a sum of hidden values without needing to decrypt them.
  • Proof-of-Work Consensus - Secures the decentralized ledger by validating blocks using the Cuckoo Cycle proof-of-work algorithm.
  • Memory-Bound Consensus - Implements a memory-hard consensus mechanism to ensure fair coin distribution and hardware decentralization.
  • Memory-Hard Proof-of-Work - Employs a memory-bound hashing algorithm to secure the blockchain and prevent ASIC mining dominance.
  • State Pruning - Reduces blockchain disk footprint by removing spent output commitments and range proofs from local storage.
  • Homomorphic Supply Verifications - Ensures the integrity of the overall money supply using homomorphic encryption without revealing individual transaction amounts.
  • Blockchain Node Operation - Operates as a full blockchain node that synchronizes the ledger, validates blocks, and propagates transactions.
  • Blockchain Nodes - Implements a full network node that provides transaction privacy and ledger scalability.
  • Data Pruning - MimbleWimble removes historical transaction data from the node to reduce storage requirements.
  • Proof of Work Mining Clients - Ships a mining client that uses memory-hard proof-of-work to secure the network and earn rewards.
  • Blockchain Node APIs - Offers a standardized API for external software to query the internal state of the blockchain node and broadcast transactions.
  • Blockchain Transaction Construction - Builds the structural components of private transactions using a multi-round protocol to ensure trustless delivery.
  • Transaction Slate Exchanges - Transfers transaction data using compact blobs containing only the necessary information for each step of the interactive process.
  • Difficulty Moving Averages - Computes network mining difficulty using a weighted-target moving average to stabilize block intervals.
  • Atomic Asset Swaps - Enables trustless asset exchanges between different blockchains using multiparty timelocks.
  • Blinding Factor Verifications - Checks that revealed values and blinding factors match published commitments to verify transaction integrity.
  • Wallet Management Interfaces - Provides a dedicated API for managing cryptographic keys and constructing transactions to send and receive funds.
  • Hierarchical Account Derivation - Supports the creation and organization of multiple derived accounts from a single master seed.
  • Block Chaining - Verifies ledger integrity by checking kernel signatures and matching root hashes to block headers.
  • Elliptic Curve Cryptography - Implements multi-signature requirements, atomic swaps, and time-locks using elliptic curve cryptography.
  • Hierarchical Deterministic Wallets - Implements tree-based key structures that derive multiple accounts and addresses from a single master seed for privacy.
  • Interactive Transaction Exchanges - Implements multi-round data exchanges between wallets to build signed transactions while maintaining participant anonymity.
  • Output Ownership Verifications - Provides the fundamental security mechanism ensuring only legitimate key holders can spend specific blockchain outputs.
  • Pedersen Commitments - Uses Pedersen commitments to hide transaction amounts while enabling homomorphic addition for balance verification.
  • Privacy-Preserving Transactions - Hides transaction amounts and participant identities by representing inputs and outputs as random curve points.
  • Privacy-Preserving Wallets - Provides a wallet that uses cryptographic commitments to hide transaction amounts and participant identities.
  • Private Fund Transfers - Implements protocols for moving digital assets between parties while keeping the transaction untraceable.
  • Private Transaction Execution - Coordinates the exchange of slates, commitments, and kernel offsets between payers and payees for private fund transfers.
  • Cryptocurrency Wallets - Provides a digital vault for managing private keys and coordinating interactive transactions to ensure privacy.
  • Public Key Routing - Uses encoded public keys as routing identifiers to deliver transactions via Tor or encrypted messages.
  • Transaction Pattern Obfuscation - Routes transactions through random peers before broadcasting to disrupt chain analysis and prevent deanonymization.
  • Proof-of-Work Verifications - Validates block authenticity by verifying headers, proof-of-work, and Merkle root consistency.
  • Transaction and Block Propagation - Adds new transactions to the local pool for distribution and broadcasting across the peer-to-peer network.
  • Merkle Mountain Range Storage - Uses an append-only binary tree structure to store kernels and outputs, enabling efficient ledger verification and pruning.
  • Chain State Synchronization - MimbleWimble downloads and verifies ledger history using Merkle Mountain Ranges and pruning.
  • Cryptographic Payment Proofs - Generates mathematically verifiable cryptographic receipts combining signatures and commitment data to prove payments.
  • Payment Reception Workflows - Provides a mechanism for processing incoming payment messages and generating the necessary responses for transaction completion.
  • Unspent Transaction Output Models - Provides mechanisms to retrieve unspent transaction outputs starting from a specific index.
  • Snapshot Synchronization - MimbleWimble reaches the latest block by downloading a state snapshot and validating subsequent blocks.
  • Blockchain Block Retrieval - MimbleWimble fetches block headers or full details using height, hash, or unspent output commitments.
  • Blockchain Output Retrievals - MimbleWimble fetches specific output data, including range and merkle proofs, by commitment or height.
  • Blockchain State Reconciliations - MimbleWimble scans the UTXO set and verifies ownership to repair mismatches caused by forks or cancellations.
  • Storage Compaction Utilities - MimbleWimble triggers chain state compaction to reclaim available local storage space.
  • Economic Spam Prevention - Discourages network flooding by charging transaction fees proportional to the storage costs.
  • Parallel Blockchain Synchronization - MimbleWimble downloads blockchain data in parallel batches from multiple peers to reduce node join time.
  • Share Submission - Submits discovered hashing shares to a network node to claim credit for mining progress.
  • Mining Pool Coordination - Coordinates the distribution of mining work across multiple participants to increase the probability of finding blocks.
  • Mining Job Distribution - Manages the distribution and retrieval of mining jobs between servers and workers to optimize hashing effort.
  • Transaction Fee Calculators - Estimates network transaction costs based on a base rate multiplied by the total weight of the transaction.
  • UTXO Models - Searches the network's unspent output set to synchronize the local wallet state.
  • Off-Chain Payment Channels - Implements off-chain state transitions using relative timelocks to settle funds efficiently.
  • Entangled Output Timelocks - Provides cryptographic entanglement of outputs to allow for immediate spending or delayed recovery.
  • Hash Timelock Escrows - Uses cryptographic escrows with time limits to lock funds and enable secure payment channels.
  • Payment Initiation Workflows - Supports initiating payments through either synchronous network connections or encrypted asynchronous messages.
  • Stratum - Implements the Stratum network protocol to receive work and submit block hashes to mining pools.
  • Transaction Connection Listeners - Establishes network connections to listen for and receive funds without requiring manual data exchange.
  • Block Height Lock-Times - Implements transaction locks that prevent acceptance until the chain reaches a specified block height.
  • Cryptocurrency Mining - Executes a memory-hard mining process connected via Stratum servers to secure the network and earn rewards.
  • Operation History Pruning - MimbleWimble removes spent outputs from the chain while retaining minimal kernels for a lightweight ledger.
  • Block-Height Timelocks - Prevents transactions from being valid until the blockchain reaches a specified block height.
  • Block Reward Mechanisms - Provides a guaranteed block subsidy to incentivize network security and stabilize mining revenue.
  • Unified Transaction Builders - Provides a unified process for creating transactions that supports both synchronous routing and asynchronous encrypted transport.
  • Collaborative Output Construction - Generates blockchain outputs requiring aggregated signatures from multiple collaborators to be spent.
  • State Synchronizers - Updates internal output statuses by comparing local wallet data against the network UTXO set.
  • Wallet Balance Management - Summarizes confirmed, pending, and locked funds for specific wallet accounts.
  • Wallet Recovery - Restores missing transactions and balances by scanning the network UTXO set using a master key.
  • Currency Issuance Schedules - Emits a constant amount of currency at a fixed linear rate for predictable distribution.
  • Authenticated Encryption - Secures client-server communication and asynchronous messages using key agreement and authenticated encryption.
  • Payment Address Generation - Generates unique cryptographic public key identifiers for each transaction to enhance privacy.
  • Payment Receipt Verifications - Generates digital signatures to prove a recipient received a specific amount and resolve potential disputes.
  • Wallet Creation and Restoration - Handles the full lifecycle of digital wallets, including seed-based creation, opening, and secure deletion.
  • Wallet Transaction Monitoring - Tracks the history of all sent, received, and pending transactions within the wallet.
  • Relative Timelocks - Enforces a minimum block height difference between duplicate kernels to delay transaction execution.
  • Authenticated Encryption Channels - Encrypts sensitive client-server data using key agreement and AEAD to prevent exposure during transit.
  • Secure Vaults - Provides a password-protected digital vault and recovery phrases for securing private keys and funds.
  • Origin IP Masking - Masks the originating IP address and client identity through a specialized relay mechanism to ensure anonymity.
  • Transaction Signing and Broadcasting - Signs and broadcasts finalized transactions to the network via messages or files.
  • Interactive Transaction Finalization - Completes the interactive transaction process and posts the final result to the network.
  • Onion Routing for Transactions - Derives onion addresses from public keys to enable immediate transaction completion through the Tor network.
  • Proof Verification Interfaces - Provides high-performance interfaces to validate cryptographic transaction proofs and confirm funds were sent correctly.
  • Blockchain Block Construction - MimbleWimble combines multiple transactions into a single block body for ledger recording.
  • Blockchain Infrastructure - Implementation of the MimbleWimble protocol.

Star history

Star history chart for mimblewimble/grinStar history chart for mimblewimble/grin

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. 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

Frequently asked questions

What does mimblewimble/grin do?

Grin is a protocol implementation and blockchain node that provides a confidential transaction system. It uses Pedersen Commitments and homomorphic encryption to verify value integrity and ensure a consistent money supply without revealing specific transaction amounts or participant identities.

What are the main features of mimblewimble/grin?

The main features of mimblewimble/grin are: Network Protocol Implementations, Confidential Transaction Systems, Full Blockchain Histories, Difficulty Adjustment Algorithms, Blockchain State Compression, Blockchain State Querying, State Validation, Homomorphic Commitment Summation.

What are some open-source alternatives to mimblewimble/grin?

Open-source alternatives to mimblewimble/grin include: xrplf/rippled — rippled is a peer-to-peer node implementation for the XRP Ledger. It serves as a distributed ledger consensus engine… monero-project/monero — Monero is a privacy-focused cryptocurrency and proof-of-work blockchain designed for private digital payments. It… bitpay/bitcore — Bitcore is a blockchain development framework and a set of libraries used to build applications that interact with the… mystenlabs/sui — Sui is a blockchain platform featuring an object-centric state model and resource-oriented smart contracts. It… input-output-hk/cardano-sl — This project is a blockchain node software implementation that maintains a decentralized ledger using the Ouroboros… tronprotocol/java-tron — java-tron is a Java implementation of a Tron blockchain full node. It provides the core infrastructure for running a…

Open-source alternatives to Grin

Similar open-source projects, ranked by how many features they share with Grin.
  • xrplf/rippledXRPLF avatar

    XRPLF/rippled

    5,166View on GitHub↗

    rippled is a peer-to-peer node implementation for the XRP Ledger. It serves as a distributed ledger consensus engine and a blockchain API gateway, allowing servers to validate transactions and maintain a shared, immutable sequence of ledger state. The project features a built-in decentralized exchange engine capable of executing atomic cross-currency payments and managing order books. It includes an on-chain asset management system for issuing and controlling fungible tokens and NFTs, as well as a Byzantine Fault Tolerant system for coordinating validators. The platform provides comprehensiv

    C++blockchainc-plus-pluscplusplus
    View on GitHub↗5,166
  • monero-project/moneromonero-project avatar

    monero-project/monero

    10,335View on GitHub↗

    Monero is a privacy-focused cryptocurrency and proof-of-work blockchain designed for private digital payments. It utilizes a peer-to-peer network and a distributed ledger to allow users to send and receive currency while hiding transaction senders, receivers, and amounts. The system achieves financial confidentiality through the use of ring signatures for sender obfuscation and RingCT with Bulletproofs to hide transaction values. To ensure network security and decentralization, it employs a memory-hard proof-of-work algorithm optimized for general-purpose CPUs. The project provides a full no

    C++blockchainc-plus-pluscmake
    View on GitHub↗10,335
  • bitpay/bitcorebitpay avatar

    bitpay/bitcore

    4,988View on GitHub↗

    Bitcore is a blockchain development framework and a set of libraries used to build applications that interact with the Bitcoin network and other blockchain protocols. It provides a multi-chain cryptocurrency wallet implementation, a peer-to-peer client for synchronizing distributed ledger data, and a transaction orchestrator for constructing, signing, and broadcasting transactions. The framework features a standardized JSON-RPC wrapper to normalize communication between applications and diverse blockchain node APIs. It implements hierarchical deterministic wallets that derive keys and address

    TypeScript
    View on GitHub↗4,988
  • mystenlabs/suiMystenLabs avatar

    MystenLabs/sui

    7,612View on GitHub↗

    Sui is a blockchain platform featuring an object-centric state model and resource-oriented smart contracts. It utilizes parallel transaction execution to increase network throughput and supports programmable transaction blocks that bundle multiple operations into single atomic units. The platform distinguishes itself with a capability-based access control system and zero-knowledge login mechanisms, enabling users to authenticate via identity providers without seed phrases. It also implements deterministic object addressing to allow predictable state lookups and supports the creation of soulbo

    Rustblockchaindistributed-ledger-technologymove
    View on GitHub↗7,612
See all 30 alternatives to Grin→