# bitcoin/bitcoin

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/bitcoin-bitcoin).**

89,442 stars · 39,008 forks · C++ · MIT

## Links

- GitHub: https://github.com/bitcoin/bitcoin
- Homepage: https://bitcoincore.org/en/download
- awesome-repositories: https://awesome-repositories.com/repository/bitcoin-bitcoin.md

## Topics

`bitcoin` `c-plus-plus` `cryptocurrency` `cryptography` `p2p`

## Description

This project is a cryptographic consensus engine and distributed ledger client that functions as a peer-to-peer network node. It enables decentralized network participation by allowing users to independently validate transactions and blocks, ensuring data integrity and consensus without reliance on a centralized authority. The software utilizes an unspent transaction output model to track ownership and verify state transitions across the network.

What distinguishes this implementation is its commitment to verifiable security and deterministic operation. It features a reproducible build system that allows users to independently confirm that distributed binaries match the original source code, providing a high level of security assurance. The system enforces consensus rules through a script-based transaction validation mechanism and maintains network synchronization via an asynchronous peer-to-peer gossip protocol.

The software provides a secure, event-driven remote procedure call interface, enabling external applications to programmatically manage digital assets and query blockchain data. To maintain performance and reliability, the node employs multi-threaded block validation and a key-value database for efficient chain state lookups. The project also includes comprehensive automated testing suites and rigorous infrastructure hardening practices to mitigate vulnerabilities and ensure stability across updates.

Detailed documentation for the remote procedure call interface is available for numerous versions, and users can retrieve binaries through various distribution channels, including direct downloads and package managers, with support for cryptographic signature verification.

## Tags

### Networking & Communication

- [Cryptographic](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/decentralized-blockchain-technologies/consensus-engines/cryptographic.md) — Governs network-wide validation rules to ensure consistent transaction processing and block production across a decentralized ledger.
- [Bitcoin Core RPC APIs](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/decentralized-blockchain-technologies/blockchain-node-apis/bitcoin-core-rpc-apis.md) — Offers an interface for querying node status and managing operational tasks through structured remote procedure calls. ([source](https://bitcoincore.org/en/doc/23.0.0/))
- [Distributed Ledger Clients](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/decentralized-blockchain-technologies/blockchain-platforms/distributed-ledger-clients.md) — Synchronizes blockchain data across a decentralized network to maintain a local, up-to-date copy of the global state.
- [Full Node Implementations](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/decentralized-blockchain-technologies/blockchain-platforms/full-node-implementations.md) — Independently verifies every transaction and block to participate in network consensus without relying on trusted third parties.
- [Bitcoin RPC Interfaces](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/decentralized-blockchain-technologies/blockchain-protocols/bitcoin-rpc-interfaces.md) — Facilitates remote management and interaction through a comprehensive suite of procedure calls designed for node operations. ([source](https://bitcoincore.org/en/doc/23.0.0/))
- [UTXO Models](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/decentralized-blockchain-technologies/ledger-models/utxo-models.md) — Maintains a ledger state by tracking unspent transaction outputs to ensure verifiable and accurate ownership transitions.
- [Cryptographic Asset Management](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/decentralized-blockchain-technologies/blockchain-integration/cryptographic-asset-management.md) — Grants programmatic access to blockchain data and asset management through secure remote procedure calls.
- [JSON-RPC Interfaces](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/distributed-computing/remote-procedure-call-frameworks/json-rpc-interfaces.md) — Dispatches requests to internal components via a JSON-RPC server to enable external interaction with the blockchain.
- [Secure RPC Interfaces](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/distributed-computing/remote-procedure-call-frameworks/secure-rpc-interfaces.md) — Acts as a secure gateway for authenticated node management, transaction broadcasting, and data retrieval.

### Education & Learning Resources

- [Gossip Protocols](https://awesome-repositories.com/f/education-learning-resources/educational-resources/systems-applied-computing/infrastructure-architecture/computer-networks/networking-protocols/gossip-protocols.md) — Disseminates blocks and transactions to peers using an asynchronous message exchange pattern to ensure network-wide information propagation.
- [Key-Value Stores](https://awesome-repositories.com/f/education-learning-resources/educational-resources/algorithms-theory-academics/cs-theory-foundations/data-structure-implementations/data-structures/key-value-stores.md) — Leverages a key-value database to provide high-speed access to transaction outputs and block indices.

### DevOps & Infrastructure

- [Deterministic](https://awesome-repositories.com/f/devops-infrastructure/cicd-pipeline-automation/core-build-engines/build-systems/deterministic.md) — Guarantees identical binary outputs across different build environments through isolated processes and fixed dependency versions.
- [Reproducible Build Environments](https://awesome-repositories.com/f/devops-infrastructure/cicd-pipeline-automation/core-build-engines/build-tooling/build-configuration-governance/reproducible-build-environments.md) — Compiles source code into identical, verifiable binaries across different environments to eliminate discrepancies in the final executable.
- [Software Distribution](https://awesome-repositories.com/f/devops-infrastructure/distribution-packaging/software-distribution.md) — Delivers signed, cross-platform binaries via direct downloads, torrents, and package managers to facilitate secure deployment across diverse user systems. ([source](https://bitcoincore.org/en/download/))

### Programming Languages & Runtimes

- [Stack-Based Virtual Machines](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/runtimes/stack-based-virtual-machines.md) — Processes stack-based bytecode within transaction inputs to enforce consensus rules and authorize asset transfers.
- [Parallel Validation Engines](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/concurrency-models/concurrency/parallel-validation-engines.md) — Distributes signature verification and script execution across multiple threads to increase throughput while maintaining strict state consistency.

### Security & Cryptography

- [Infrastructure Hardening](https://awesome-repositories.com/f/security-cryptography/security/infrastructure-and-hardware/infrastructure-system-hardening/infrastructure-hardening.md) — Hardens infrastructure by verifying digital signatures and applying security patches to protect against remote exploitation.
- [Reproducible Build Systems](https://awesome-repositories.com/f/security-cryptography/security/supply-chain/reproducible-build-systems.md) — Produces bit-for-bit identical binaries from source code to allow independent verification of build integrity. ([source](https://bitcoincore.org/en/download/))
- [Vulnerability Mitigation](https://awesome-repositories.com/f/security-cryptography/security/offensive-operations/vulnerability-research-analysis/vulnerability-mitigation.md) — Addresses security flaws by patching vulnerabilities in the script interpreter to prevent exploitation by malicious data. ([source](https://bitcoincore.org/))
- [Binary Integrity Verification](https://awesome-repositories.com/f/security-cryptography/security/utilities/cryptographic-implementation-tools/binary-integrity-verification.md) — Confirms binary authenticity through cryptographic checksums and digital signature validation to prevent the use of unauthorized or tampered software. ([source](https://bitcoincore.org/en/download/))

### Web Development

- [Blockchain RPC APIs](https://awesome-repositories.com/f/web-development/api-management-tools/api-development-management/api-documentation/blockchain-rpc-apis.md) — Exposes a robust interface for querying and interacting with the distributed ledger state. ([source](https://bitcoincore.org/en/doc/23.0.0/))

### Part of an Awesome List

- [Cryptocurrency Tools](https://awesome-repositories.com/f/awesome-lists/data/cryptocurrency-tools.md) — Core software for running a full node on the network.
- [Miscellaneous Tools](https://awesome-repositories.com/f/awesome-lists/more/miscellaneous-tools.md) — Implementation of the decentralized digital currency.

### Testing & Quality Assurance

- [Protocol Conformance Testing](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/e2e-integration-testing/distributed-systems-testing/protocol-conformance-testing.md) — Validates protocol adherence through automated test suites that ensure consensus rules remain stable across software updates.
- [Automated Test Runners](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/test-execution-orchestration/automated-test-runners.md) — Executes comprehensive unit, regression, and integration test suites to confirm system stability and functional correctness during every build cycle. ([source](https://cdn.jsdelivr.net/gh/bitcoin/bitcoin@master/README.md))
