skalenetwork/skale-consensus

GitHub: skalenetwork/skale-consensus

一个用C++编写的高性能区块链共识引擎,基于异步拜占庭容错协议实现万级TPS和单块最终性。

Stars: 83 | Forks: 34

# SKALE Consensus:C++ 区块链共识引擎 [![Discord](https://img.shields.io/discord/534485763354787851.svg)](https://discord.gg/vvUtWJB) ![Build and test skale-consensus](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/b0721e6adc024515.svg) **SKALE Consensus** 是一个用 C++ 编写的超高性能区块链共识引擎。 ## SKALE Consensus 的主要特性 - **超过 10,000 TPS** - **拜占庭容错 (Byzantine fault tolerant)** —— 无区块间隙,即使多达 1/3 的节点离线也能保持性能稳定 - **可证明安全** - **无分叉** - **单块最终性** —— 区块在提交后立即最终确认 - **通过异步网络模型,能够抵御任意长度的网络中断和延迟** - **每个区块拥有多个区块提议者** —— 即使部分提议者离线也能确保协议稳定性 - **防御 MEV 和抢跑交易** —— 可证明抵抗操纵 阅读规范以了解更多激动人心的特性 [https://docs.skale.network/technology/consensus-spec ](https://github.com/skalenetwork/skale-consensus/blob/develop/docs/consensus-spec.md) 查看实时共识可视化 https://www.youtube.com/watch?v=0NGCSRjjPkk ## 从源代码构建 首选的构建和执行环境是 **Ubuntu 22.04**。 更高版本的 Ubuntu 可能可以工作,但未经过官方测试。 ### 1. 安装软件包 ``` sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt update sudo apt install -yq libprocps-dev gcc-11 g++-11 valgrind gawk sed libffi-dev ccache \ libgoogle-perftools-dev yasm texinfo autotools-dev automake \ python3 python3-pip cmake libtool build-essential pkg-config autoconf wget \ git libargtable2-dev libmicrohttpd-dev libhiredis-dev redis-server openssl \ libssl-dev doxygen libgcrypt20-dev ``` ### 2. 克隆仓库 ``` git clone --recurse-submodules https://github.com/skalenetwork/skale-consensus.git ``` ### 3. 在 Debug 模式下构建依赖项 ``` cd skale-consensus/deps && ./build.sh DEBUG=1 ``` ### 4. 在 Debug 模式下配置 CMake 构建。 ``` cd .. && cmake . -Bbuild -DCMAKE_BUILD_TYPE=Debug ``` ### 5. 使用所有可用 CPU 代码构建所有目标 ``` cmake --build build -- -j$(nproc) ``` ## 测试 SKALE Consensus 包含全面的测试套件,涵盖单元测试、集成测试和端到端场景。 ### 快速测试运行 构建完成后,您可以运行一个基本测试: ``` cd test/onenode sudo NO_ULIMIT_CHECK=1 TEST_TIME_S=60 TEST_TRANSACTIONS_PER_BLOCK=10 ../../build/consensust [consensus-basic] ``` ### 运行特定测试 测试采用多维标签系统进行组织: ``` # 运行仅测试正确性的 RLP 单元测试(忽略安全性和性能测试) ./build/consensust [rlp][unit][correctness] # 运行所有 crypto 测试 ./build/consensust [crypto] # 运行性能测试 ./build/consensust [performance] ``` ### 多节点测试 有关更详细的测试场景,包括带有 SGX 模拟的 4 节点和 16 节点测试,请参阅我们详尽的 **[测试指南](TESTING.md)**。 该测试指南涵盖: - 详细的测试组织和标签 - 使用 Docker 进行 SGX 模拟设置 - 性能测试流程 ## 贡献 **如果您有任何疑问,请在 [Discord](https://discord.gg/vvUtWJB) 上询问我们的开发社区。** [![Discord](https://img.shields.io/discord/534485763354787851.svg)](https://discord.gg/vvUtWJB) ## 许可证 [![License](https://img.shields.io/github/license/skalenetwork/skale-consensus.svg)](LICENSE) 版权所有 (C) 2018-present SKALE Labs
标签:ABBA, Bash脚本, BFT, BLS签名, C++, Cmake, EVM兼容, Layer 1, skale-consensus, SKALE网络, Web3基础设施, 共识引擎, 分布式系统, 加密算法, 区块链共识, 区块链开发, 单块确定性, 去中心化, 响应大小分析, 异步二进制拜占庭协议, 抗MEV, 拜占庭容错, 数据擦除, 无分叉, 阈值加密, 高TPS