Blockchain Technology Guide
repository·master·Indexed 27 days ago
https://github.com/yeasy/blockchain_guideA comprehensive technical guide for mastering blockchain core technologies, ranging from fundamental principles to enterprise-level applications. The guide covers distributed system core technologies, cryptography, Bitcoin, Ethereum smart contracts, and Web3/DeFi. It provides a deep dive into Hyperledger Fabric architecture, including versioning (Classic Fabric 2.5.x/3.x and Fabric-X), network management, and the Execute-Order-Validate transaction model. Additionally, it explores Blockchain as a Service (BaaS) and frontier trends such as AI+Web3, DePIN, and RWA.
What's inside yeasy-blockchain_guide
- Hyperledger/LFDT projects are categorized into four lifecycle states: Incubation, Graduated, Dormant, and Archived. Projects must submit a proposal to the Technical Advisory Council (TAC) to enter the incubation stage. Active projects can apply to graduate after meeting specific criteria. For the most current project list and status, refer to the LFDT Projects page.
Overview of the mBridge Project for Wholesale CBDC
masterThe mBridge (Multi-CBDC Bridge) project is an exploration of cross-border payments using Wholesale CBDC.
- Purpose: To enable faster, lower-cost, and more transparent cross-border settlements and foreign exchange transactions between commercial banks across different jurisdictions.
- Technology: Utilizes Distributed Ledger Technology (DLT) to allow central banks and commercial banks to settle on a single platform, bypassing the traditional multi-layer correspondent banking model.
- Status: The project has moved into the Minimum Viable Product (MVP) stage (as of 2024), with participating commercial banks conducting real transactions on the MVP platform.
Overview of Secure Multi-Party Computation (SMPC)
masterSecure Multi-Party Computation (SMPC) enables multiple parties to jointly compute a function over their inputs while keeping those inputs private. No party learns anything about the others' data except for what is revealed by the output.
Implementation methods include:
- Noise-based: Using techniques like Differential Privacy.
- Secret Sharing
- Garbled Circuits
- Homomorphic Encryption
Cryptographic-based methods (Secret Sharing, Garbled Circuits, Homomorphic Encryption) are more general-purpose but typically incur higher computational costs compared to noise-based methods.
Overview of Hyperledger Fabric Architecture
masterHyperledger Fabric is a permissioned distributed ledger implementation designed for enterprise scenarios. Key architectural features include:
- Multi-channel support: Allows for isolated communication and data privacy between different groups of participants.
- Identity Certificate Mechanism: Uses certificate-based identity management.
- Privacy Protection: Features like Private Data and enhanced privacy mechanisms.
- Scalable Architecture: Capable of high throughput (3500+ TPS in VM environments, 10K+ TPS with sufficient physical resources) and low latency (< 1s).
Core Network Components:
- Endorser (背书节点): Validates and endorses transactions.
- Committer (记账节点): Commits transactions to the ledger.
- Orderer (排序节点): Orders transactions into blocks.
- CA (证书节点): Manages identities and certificates.
Clients submit transactions to the network; once consensus is reached, Peer nodes within a channel receive and update their local ledgers.
Overview of Ethereum and Smart Contracts
masterEthereum is an open-source public blockchain platform that extends the functionality of Bitcoin beyond simple digital currency transactions. While Bitcoin is primarily focused on UTXO-based currency transfers, Ethereum introduces Smart Contracts, enabling a Turing-complete general-purpose computing environment. This allows developers to design arbitrary complex logic for diverse upper-layer applications rather than being limited to simple Bitcoin scripts.Overview of Go language development
masterThis guide provides information on setting up a Go development environment, including installation, configuration, selecting editors/IDEs, and using auxiliary development tools to improve efficiency. Go is a high-performance system development language that combines features of C with modern system language advantages.Overview of the Hyperledger Project
masterHyperledger is an umbrella project under the Linux Foundation (now part of LF Decentralized Trust) that focuses on developing enterprise-grade, permissioned blockchain frameworks. Unlike public blockchains like Bitcoin or Ethereum, Hyperledger projects are designed for permissioned consortium use cases, introducing features like permissioned access, security controls, and modular architectures.
Key Characteristics
- Modular Design: Focuses on decoupled components for transactions, smart contracts, consensus, identity, and storage.
- Enterprise Focus: Designed for business networks with features like fine-grained privacy, multi-channel support, and endorsement-consensus-commit models.
- Open Source: All projects are licensed under the Apache v2 license, making them business-friendly for modification and redistribution.
Representative Projects
Commonly used projects within the ecosystem include:
- Fabric
- Besu
- FireFly
- Indy
- Iroha
- Web3j
- Cacti
Note: Projects like Sawtooth, Aries, Composer, Quilt, Ursa, and Avalon are considered archived or no longer actively maintained. Always check the official LFDT project directory for the current lifecycle status of any project.
Overview of Bitcoin Blockchain Technology
masterBitcoin serves as the foundational implementation of blockchain technology and the first large-scale deployed blockchain platform. It integrates technologies from cryptography, game theory, distributed systems, and cybernetics. Studying Bitcoin is essential for understanding the origins, design philosophies, and core principles of blockchain technology.Overview of Cryptography and Blockchain Security
masterThis section provides a foundational overview of cryptography and information security technologies essential for understanding blockchain and distributed ledgers. It covers the transition from mathematical theorems to engineering practices, focusing on how these technologies enable identity authentication and privacy protection.
Key topics covered include:
- Hash algorithms and message digests
- Encryption algorithms
- Digital signatures and certificates
- Public Key Infrastructure (PKI)
- Merkle Trees
- Bloom Filters
- Homomorphic Encryption
Studying these topics helps in understanding how to achieve the core elements of information security: Confidentiality, Integrity, Authenticity, and Non-repudiation.
Overview of Bitcoin (BTC) features
masterBitcoin (BTC) is a cryptocurrency based on blockchain technology and the first large-scale, long-term tested public blockchain system. Its core functional characteristics include:
- Decentralization: No single entity can effectively disrupt the network; transaction requests require consensus from a majority of participants.
- Privacy: Account addresses are pseudonymous, making it difficult to directly link transactions to specific individuals, though all transaction records are publicly searchable.
- Transparent Issuance Rules: New Bitcoin is issued through mining. The block subsidy halves every 210,000 blocks, with a total supply cap of approximately 21 million BTC.
Overview of Fabric Network Management
masterThis guide covers common operations for managing Hyperledger Fabric networks. It includes managing resources such as channels and chaincode, improving efficiency through event listening and network discovery, and utilizing SDK projects. Additionally, it covers network operations, upgrades, and best practices for deployment and management in production environments.Overview of Hyperledger Cello Architecture
masterHyperledger Cello is an open-source Blockchain-as-a-Service (BaaS) management platform designed to manage the lifecycle of blockchain networks (creation, configuration, health checks, deletion). It uses a Master-Worker architecture:
- Master Node: Manages Worker nodes and blockchain clusters. It provides a web Dashboard on port
8081and a RESTful API on port8080. - Worker Node: Provides the physical resources (Docker hosts, Swarm, etc.) to run blockchain clusters.
Cello supports multiple infrastructures (Bare metal, VMs, Docker, Kubernetes) and is primarily used with Hyperledger Fabric.
- Master Node: Manages Worker nodes and blockchain clusters. It provides a web Dashboard on port