The Web3 公链开发教程大纲
公链是Web3底层最大的基础设施,也是各类去中心化应用赖以生存的根基。简单来说,公链就是一个完全公开、人人可参与的区块链网络,它用透明、安全、不可篡改的方式记录和验证每一笔交易。在Web3的世界里,公链的角色就像互联网时代的操作系统——没有它,上层的一切应用都无从谈起。

说到公链,大家脑子里第一个蹦出来的项目通常是这些:
- 比特币(Bitcoin):区块链的鼻祖,数字货币里的黄金标准。
- 以太坊(Ethereum):智能合约平台的开创者,DApp开发的主战场。
- 比特币Layer2方案:通过在比特币主链之上搭建第二层协议,提升吞吐量和扩展性。
- 以太坊Layer2方案:在继承以太坊安全性和去中心化的前提下,大幅提高网络性能。
- Cosmos:专注解决区块链之间互操作性的生态体系。
- Solana:以高性能著称,目标是承载大规模DeFi和应用程序。
- Aptos 和 Sui:两个新晋的高性能区块链,统一使用Move语言开发智能合约。
- 各种AppChain:针对特定场景定制的区块链网络,灵活性高,能和主链互联互通。
需要特别强调的是,在比特币和以太坊的Layer2方案中,目前最值得花功夫去啃的还是以太坊Layer2。它的模块化架构带来了更高的扩展性和灵活性,为构建高性能、可扩展的去中心化应用提供了切实可行的路径。想要真正吃透Layer2,就绕不开数据可用层、去中心化排序器、Rollup模块(op rollup和zk rollup)、欺诈证明以及零知识证明这些关键基础设施。
对于刚入门的开发者,建议从比特币开始。比特币的设计和实现相对简洁清晰,能帮助你快速建立对区块链底层机制的基础认知。等基础打牢之后,再去啃以太坊、Cosmos这样更复杂的项目,自然就能触类旁通,掌握更广泛的技术栈。
公链项目包罗万象,知识点之多堪称一座冰山。作为公链开发者,下面这些领域是必须要啃下来的。
1. 公链基础知识
- 区块链的基本概念
- 区块
- 交易
- 默克尔树
- 区块头
- 公钥加密算法
- 共识算法
- 智能合约
- 状态树
- 虚拟机
- 去中心化网络介绍
2. 共识算法
共识算法是公链的心脏,不同的算法决定了网络的性能、安全性和去中心化程度。目前主流的选择包括:
- Pow(工作量证明):比特币、以太坊1.0、Litecoin、Conflux、Dogecoin等
- dPow(延迟工作量证明):Komodo
- Pos(权益证明):以太坊2.0、Peercoin等
- Poa(权威证明):以太坊Kovan测试网、xDai、VeChain等
- Poh(历史证明):Solana
- Dpos(委托权益证明):BitShares、Steemit、EOS、Lisk、Ark等
- Paxos:ZooKeeper,主要用在联盟链场景
- Raft:联盟链里用得比较多
- PBFT(拜占庭容错):HyperLedger Fabric(<1.0版本)、Stellar、Ripple、Dispatch等
- dPBFT(授权拜占庭容错):NEO
- rBPFT(轮流拜占庭容错)
- Tendermint-BFT:Cosmos SDK生态的主流选择
- A valanche-BFT:A valanche
- HotStuff-BFT:Aptos-BFT算法就基于它
- Aptos-BFT:Aptos
3. 密码学
与wallet教程重合的部分这里不再重复列出。
- 零知识证明简介
- 算法介绍:Kzg、Groth16、Sonic、Fractal、Halo2、SuperSonic、Marlin、Plonk、STARK与SNARK
- 零知识证明应用场景分析
- 中国国家密码学算法(国密)
4. 数据库
- LevelDB 基本原理与小型项目实战
- RocksDB 基本原理与小型项目实战
- MongoDB 基本原理与小型项目实战
5. 网络协议
- TCP/UDP/IP协议
- P2P通信信息协议
- RPC和gRPC通信协议
- JSON-RPC通信协议
- HTTP/HTTPS通信协议
6. Bitcoin
随着比特币Layer2生态升温,深入研究比特币运行机制的价值越来越大。对公链开发者来说,需要掌握:
- 搭建比特币wallet节点
- 比特币UTXO模型
- 比特币POW共识算法原理和代码分析
- 比特币底层数据结构和算法
- 比特币的区块组织形式
- 比特币各种地址的生成原理及使用场景
- Taproot如何让比特币受益
- 比特币在什么条件下会产生回滚
- 比特币RPC接口的作用
- ElectrumX和比特币如何协作为去中心化wallet服务
- 比特币状态通道和闪电网络的原理
- RGB和RGB++协议
7. Ethereum
- Ethereum RPC服务节点搭建
- Ethereum使用的签名算法
- Ethereum各套带前缀RPC接口的作用
- Ethereum底层数据结构和算法
- EVM原理及源码
- EVM各op-code的作用
- Ethereum区块重组和回滚机制
- Ethereum重要的EIP协议分析
- Ethereum有哪些客户端,各客户端能实现什么功能
ETH2.0
- 以太坊信标链的共识机制
- 质押ETH给信标节点原理与代码实战
- LSD项目的基本原理
- 以太坊分片链(EIP4844)的原理和实现方式
8. 主流的DA项目
数据可用层(DA)是模块化区块链的核心组件,目前已经有一些成熟的方案。它们的实现原理大同小异——都用到BLS签名、KZG零知识证明、纠删码编解码等技术——但安全保障源各不相同:
EigenDA
- EigenDa基本原理
- EigenDa源码
- 交易数据Rollup到EigenDa实战
Celestia
- Celestia基本原理
- Celestia源码
- 交易数据Rollup到Celestia实战
NearDA
- NearDA基本原理
- 交易数据Rollup到NearDA实战
Anytrust
- Anytrust基本原理
- 交易数据Rollup到Anytrust实战
Eip4844
- Eip4844基本原理
- Eip4844源码
- 交易数据Rollup到Eip4844实战
区别在于:Eip4844由以太坊主链保证安全性;EigenDA通过EigenLayer的重新质押协议继承以太坊的安全性;Celestia和Anytrust则依赖DAC委员会来保证。
9. Bitcoin Layer2
- Stacks架构以及原理分析
Nervos
- Nervos基本原理
- Nervos架构解析
- Nervos RGB++协议解析
上面两个是目前技术解决方案比较扎实的比特币Layer2(比特币侧链)项目。其他项目几乎都是照搬以太坊Layer2的方案,而且大多做得四不像,这里就不做探讨了。
10. Ethereum Layer2
Layer2的基本概念和主流项目分析
Arbitrum Nitro
- Nitro架构解析
- 深入理解Nitro跨链调用过程及ETH和ERC20的充值变钱
- Nitro Rollup流程详解
- Nitro Fraud proof简析
- 如何在本地启动Nitro devnet网络
- Nitro l1->l2, l2->l1, rollup交易数据, 交易状态同步实战
- 如何基于Nitro开发自己的Layer2链
Optimistim
- Op-Stack架构解析
- 深入理解Op-stack跨链调用过程及ETH和ERC20的充值变钱
- Op-stack Rollup流程详解
- Op-stack Rollup流程改造到EigenDa实战
- Optimistim op-node json rpc
- Optimistim区块推导过程详解
- 如何在本地启动op-stack devnet网络
- 如何使用op-stack sdk进行充值变钱测试
- op-stack l1->l2, l2->l1, rollup交易数据, 交易状态同步实战
- 如何基于op-stack开发自己的Layer2链
- Op-stack配置项详解
- Op-stack服务运行状态监控
- 基于sepolia部署一个Layer2网络
PolygonZkEvm
- PolygonZkEvm架构解析
- 深入理解PolygonZkEvm跨链调用过程及ETH和ERC20的充值变钱
- PolygonZkEvm Rollup流程详解
- PolygonZkEvm zk proof流程和细节剖析
- 如何在本地启动PolygonZkEvm devnet网络
- PolygonZkEvm l1->l2, l2->l1, rollup交易数据, 交易状态同步实战
- 如何基于PolygonZkEvm开发自己的Layer2链
其他重要项目
- Scroll架构以及原理分析
- ZksyncEra架构以及原理分析
- Linea架构以及原理分析
- Starknet架构以及原理分析