Anchor 0.1.0 是 Sigma Prime 发布的基于 Rust 语言的 SSV (Secret Shared Validators) 客户端,旨在为 SSV 网络提供一个独立的、多样化的客户端实现,以提高网络的安全性和稳定性。该版本目前仅限于在测试网上部署,并提供了多种安装和运行方式,欢迎开发者参与贡献。
我们很高兴地宣布 Anchor 的首次公开发布,这是我们基于 Rust 的分布式验证器技术 (DVT) 客户端,用于 SSV 网络。
Anchor 是 SSV 协议的一个独立实现,用 Rust 编写,并建立在 Lighthouse(Sigma Prime 的 Ethereum 共识客户端)的基础上。截至本次发布,Anchor 可以在公共测试网上与 SSV Labs 现有的 Golang 实现互操作,从而为 SSV 网络提供了一个替代客户端。
重要提示:此版本仅限于测试网部署。由于 Anchor 仍在开发中,存在已知问题,并且尚未经过全面审计,因此已故意禁用主网连接。所有功能均被视为 WIP,CLI、HTTP API 和 Prometheus 指标等接口可能会在未来的版本中发生更改。
多个独立的客户端可以降低整个网络发生故障的风险。不同的代码库,由不同的团队用不同的语言编写,有助于防止错误或漏洞影响整个 SSV 生态系统。
DVT 允许多个运营商共同管理验证器职责,而无需任何单个运营商访问完整的验证器私钥。每个运营商都持有一个密钥份额,并参与阈值签名方案以签署证明和提议。这种方法将验证器运营的责任分配给多个参与方,减少了单点故障,同时保持了 Ethereum 质押的非托管属性。
Anchor 0.1.0 可以通过多个分发渠道获得:
预构建的二进制文件 Linux 和 MacOS 的预构建二进制文件可在我们的 Github 上的 sigp/anchor/releases 上找到。
Docker 镜像:预构建的 Docker 镜像可在 Docker Hub 上的 sigp/anchor 上找到。可用的标签包括:
latest
(稳定版本)latest-unstable
(开发版本)访问 hub.docker.com/r/sigp/anchor/tags 以查看可用 Docker 镜像和支持架构的完整列表。
源代码:完整的源代码也可在 GitHub 上的 sigp/anchor 上找到。你可以使用标准的 Rust 构建命令编译 Anchor:
## 克隆存储库
git clone https://github.com/sigp/anchor.git
cd anchor
## 使用 Cargo 构建
cargo build --release
## 该二进制文件将在 target/release/anchor 中可用
./target/release/anchor --help
安装:
## 使用 Docker
docker pull sigp/anchor:latest
## 或从源代码编译
git clone https://github.com/sigp/anchor.git && cd anchor
make install
Anchor 需要访问 Ethereum 执行客户端和共识客户端:
执行层:Anchor 需要执行客户端的 HTTP RPC 和 WebSocket 端点:
http://localhost:8545
)ws://localhost:8546
)共识层:信标节点 HTTP API 端点(默认:http://localhost:5052
)
生成你的运营商身份所需的 RSA 密钥:
## 生成未加密的密钥(开发)
anchor keygen
## 生成加密的密钥(推荐)
anchor keygen --password --output-path ~/.anchor
保存你的公钥输出 - 你将需要它来进行运营商注册。
使用 SSV webapp 在 SSV 网络上注册你的运营商:
有关详细说明,请参阅 SSV 运营商注册文档。
准备好你的数据目录并启动 Anchor 节点:
## 设置数据目录
mkdir -p ~/.anchor
mv key.pem ~/.anchor/hoodi # 如果在其他地方生成并在 Hoodi 测试网上运行
## 在 Hoodi 测试网上启动 Anchor
anchor node \
--network hoodi \
--beacon-nodes http://localhost:5052 \
--execution-rpc http://localhost:8545 \
--execution-ws ws://localhost:8546 \
--metrics
如果你加密了密钥,系统会在启动期间提示你输入密码。
验证你的运营商是否正常运行:
http://localhost:5164
上查看指标(如果启用了 --metrics
)在你的 Anchor 运营商运行后,你可以创建一个包含你的运营商的分布式验证器委员会。SSV 使用阈值签名方案,其中验证器职责在多个运营商之间分配,从而提供容错能力,而无需运营商之间的信任。
SSV 委员会遵循 n>=3f+1 结构,其中 f 代表委员会可以容忍的故障运营商数量:
根据你期望的容错能力选择委员会规模。较大的委员会提供更高的弹性,但会增加运营成本。
导航到 app.ssv.network 并将你的钱包连接到 Hoodi 测试网。
从界面中选择“分配验证器”。
为你的委员会选择运营商,包括选择你的 Anchor 运营商。选择其他运营商以达到你期望的委员会规模(4、7、10 或 13),并查看运营商绩效指标和费用。
设置运营周转期并存入所需数量的测试网 SSV 代币。你可以从 SSV 网络 faucet 获取测试网 SSV 代币。
对于测试网部署,请使用 SSV webapp 的在线密钥拆分工具。选择“在线”密钥拆分(仅在测试网上可用),上传你的验证器密钥库文件,输入密钥库密码,webapp 将自动生成和分配密钥份额。
替代方案:如果你不喜欢使用 Web 门户,请在本地使用 Anchor 的内置密钥拆分工具。请注意,截至本版本,本地拆分的密钥在拆分后仍需要通过 SSV webapp 添加,以便将其分配给运营商。
## Anchor 内置的 keysplitter
anchor keysplit onchain \
--keystore-path /path/to/validator.json \
--password validator_password \
--owner 0x<your_wallet_address> \
--output-path ./keyshares \
--operators 1,2,3,4 \
--rpc https://rpc.hoodi.node \
--network hoodi
你的验证器现在将作为一个分布式委员会运行,你的 Anchor 运营商与其他运营商一起参与,以提供容错验证服务。
此版本有几个已知的限制:
对于问题、反馈或疑问:
Anchor 欢迎有兴趣构建分布式验证器技术的开发人员做出贡献:
分支:
stable
:始终指向最新的稳定版本(非常适合大多数用户)
unstable
:用于开发(开发人员应该基于此分支创建 PR)
虽然此版本仅限于测试网部署,但我们很高兴收集社区反馈并继续构建更具弹性和去中心化的验证生态系统。
有关最新更新和详细文档,请访问 anchor-book.sigmaprime.io。
- 原文链接: blog.sigmaprime.io/ancho...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!