风险提示:央行等十部委发布《关于进一步防范和处置虚拟货币交易炒作风险的通知》, 请读者提高风险意识。

一文读懂StarkNet的开源堆栈

有了开源的 Prover 之后,任何人都可以自行编译和运行自己的 Prover。

CryptoNerdCn
CryptoNerdCn
热度 ...

原文标题: (web3 降智系列) 一文读懂 StarkNet 的开源堆栈

原文作者:CryptoNerdCn

原文来源:Twitter

Web3 降智系列是我在 2023 年新开始的一个 以日常交流中 Web3er 对一些知识和概念的误解为引子,以即使你在忙了一天后大脑停机的降智状态也能读懂为目的,通过讲述设计思想而不是外在表现,尽量不涉及具体公式和代码的 面向非技术人员的科普系列。

继上次我们提到 StarkNet 发布了开源的 Sequencer(定序器)后,StarkWare 又搞了一个大新闻:StarkNet 的 Prover(证明器)即将开源!

不知不觉的,从去年 11 月Cairo 语言开源之后,三个月的时间内,StarkNet 的所有组件全部重写+开源。在这里,我们回顾一下 StarkNet 的开源堆栈吧。

整体架构

首先,我们先复习一下上次的文章里提到的 StarkNet 架构。



以太坊


Sequencer负责管理和协调交易的执行顺序。Sequencer 可以认为是一个交易队列,它确保在同一个区块内的所有交易按照指定的顺序执行,并且确保没有交易被重复执行。Sequencer 还负责验证交易的合法性,并将其写入区块链。

Prover 则负责生成关于 Sequence 执行轨迹有效性的加密证明。目前,这项工作是由单一的 Prover,即「Share Prover」或「SHARP」执行的。

Verifier 位于 L1,用于验证 Starknet Prover 产生证明的智能合约,如果运行成功,其将更新以太坊 L1 上的状态用于记录保存。

在上一篇文章里我们提到了上述三个部件,这一次除了 Sequencer 和 Prover,我们还将对 FullNode 进行说明(Verifier 和 StarkNet Core 属于以太坊上的合约,不在讨论范围内)。


Sequencer—Blockifier

Starknet 的新 Sequencer Blockifier已于 1 月 26 号发布,其节点部分和 CairoOS 部分分别基于将在下面提到的 Papyrus 和 Cairo-rs。之前的 Sequencer 是一个闭源的由 python 编写客户端,且只由 StarkNet 自己控制。而这个 Python 客户端是连官方也承认的慢,而且也没实现交易执行的并行性,这严重影响了 StarkNet 的 TPS,且不符合去中心化思想。

这个由 Rust 编写的 Sequencer 开源后,最基础的,是可以让任何人都可以自行编译和运行自己的 Sequencer 客户端。同时根据官方自己的信息,这个客户端大幅度的提高了执行速度。而官方的后继计划也在路上:

- 整合现有的 StarkNet Sequencer,通过替换其当前用 Python 编写的事务块化组件。

- 实现交易执行的乐观并发。

关于【一文读懂StarkNet的开源堆栈】的延伸阅读

  • BTC L2研究报告: L2整体的市值仅有BTC市值的0.1%?盘点时下主流解决方案

    本文探讨了比特币生态系统的发展和扩容方案的重要性,以及铭文、BRC-20代币、符文等对比特币交易费用的影响。比特币的可扩展性问题变得更加紧迫,本文将深入探讨Rollup、侧链和状态通道等解决方案。Taproot升级和BitVM技术是比特币扩容的两大进展,可以提高隐私性、可扩展性和可组合性。RGB和Stacks协议是扩展比特币功能的两种方式,BounceBit则是一个比特币扩容协议。它们都有各自的优势和挑战,但都旨在提高比特币的可扩展性和功能。

  • 用原生L2代币来支付交易手续费

    本文介绍了L2代币支付交易手续费的优缺点,包括增加代币用途、影响使用体验和L2之间的互通性。StarkNet是第一个计划使用STRK支付手续费的L2,引入第三方Oracle来报价汇率。使用者只能指定手续费并相信Sequencer,而Oracle适合在L1的Force Inclusion机制中避免超额手续费和滥用低廉手续费。L2可以规定使用L2代币支付手续费,但使用者需要同时支付L1和L2代币,影响使用体验。

- 将 Blockifier 扩展成一个完整的 StarkNet Squencer,替换当前使用的 sequencer。


FullNode—Papyrus

FullNode,即全节点,在 Starknet 中指的是一个 PathFinder(寻径者)客户端或者运行这个客户端的机器。一个全节点会记录 rollup 中执行的所有交易,并跟踪系统的当前全局状态。它通过 p2p 网络接收此信息,每当创建一个新块时,都会共享全局状态和与其相关的有效性证明。

而Papyrus,是一个 StarkNet 全节点的 Rust 实现,已经于 1 月 16 号发布。它将成为新的 StarkNet Sequencer 的基础的一部分,大大提高 StarkNet 的 TPS。开源 Papyrus,将有助于提高 StarkNet 性能和去中心化。


Cairo OS—Cairo-rs

Cairo OS 是 Sequencer 中用来执行以 Cairo 语言编写的合约的虚拟机(VM)。而Cairo-rs,是一个由第三方开发团队 Lambdaclass 开发的新的开源 Cairo VM,用以替换老旧的由 Python 开发的 CairoVM。


Prover—???(名称未定)

那么这次的开源 Prover 又对于 StarkNet 的架构有什么意义?第一是为 Prover 的去中心化做准备,第二则是为了提高 StarkNet 的 TPS。目前 StarkNet 仅有官方运行的单一 Prover,叫做即「Share Prover」(共享证明器,简称「SHARP」)。为什么它的名称里有个共享?是因为这个证明器不仅负责生产 StarkNet 的证明,还要负责生成 StarkEX 的证明(关于什么是 StarkEX 参考此处)。这严重影响了 StarkNet 的 TPS,且不符合去中心化思想* agian。

有了开源的 Prover 之后,任何人都可以自行编译和运行自己的 Prover。当然,Prover 还仍然只是宣布开源,暂未放出 Git Repo。而且因为 ZK 的特性,Prover 为计算生成证明所需的计算远远多于 Sequencer 所执行的计算,所以根据官方的旧文档,Prover 可能需要极高的配置,准入门槛非常高(如图所示,4 核 CPU 和 16GB 内存只能每秒处理 100 个哈希)。



以太坊



Cairo Language

Cairo 1.0 也已经在今年开源,由于 Cairo Language 是由 Rust 编写,StarkNet 整个官方生态可以说已经变成了 Rust 全家桶。当然,Cairo 1.0 还未被 StarkNet 所支持,因此还不能用来编写智能合约。根据官方消息,将在 2023 年 Q1 之内实现对 Cairo 1.0 支持。

免责声明:本文仅代表作者个人观点,不代表链观CHAINLOOK立场,不承担法律责任。文章及观点也不构成投资意见。请用户理性看待市场风险,以及遵守所在国家和地区的相关法律法规。
图文来源:CryptoNerdCn,如有侵权请联系删除。转载或引用请注明文章出处!

标签:

分享至
https://www.chainlook.cn/toutiao/1691127909.html

下一篇:

Uniswap 早期支持者:我为何要起诉 Hayden Adams?

Paradigm 是加密货币领域最敏锐的团队之一,尽管它拒绝了我的公司 Balance,但是显然他们非常关注以太坊生态系统。

免责声明:
链观CHAINLOOK作为区块链技术应用与Web3行业研究的智库媒体,旨在为中国区块链专家、学者们提供最新的行业资讯信息与数据样本,用于区块链技术研究与创新。本站所发布的文章仅代表作者的个人观点,不代表链观CHAINLOOK官方立场,本站所发布的区块链行业研究报告与数据分析成果是通过人工智能算法对数据内容进行分析与归纳生成,不代表任何投资暗示与建议,链观CHAINLOOK不承担法律责任。

风险提示:
虚拟货币不具有法定货币等同的法律地位,参与虚拟货币投资交易存在法律风险,链观CHAINLOOK坚决反对各类代币炒作,请读者提高风险意识,理性看待区块链技术应用及市场风险。

© 链观CHAINLOOK All Rights Reserved. 京ICP备18054193号-5