迎接 Starknet 开发者季,这些基础知识你都了解了吗?
2024-06-1722:04
OpenBuild
2024-06-17 22:04
OpenBuild
2024-06-17 22:04
收藏文章
订阅专栏


近日,StarkWare 宣布计划支持比特币扩容,Starknet 此后将同时支持比特币和以太坊扩容,引发了社区的广泛热议。一方面,有用户认为通过支持比特币和以太坊的扩展,StarkNet 将能能够为用户提供更加多样化的应用场景。而反对者则担心这会增加系统的复杂性和技术挑战。


虽然扩展支持比特币可能会带来系统复杂性和技术难题,但 Starknet 拥有的技术优势和专业团队或许能够有效解决这些问题。Starknet 是一个基于以太坊的 Layer 2 扩展解决方案,旨在通过 zk-STARK 技术实现高性能和低成本的去中心化应用。其母公司 StarkWare 汇集了一批密码学和区块链技术的顶尖专家,例如联合创始人 Eli Ben-Sasson 是零知识证明领域的先驱之一,曾在 Technion 以色列理工学院担任教授,并在 zk-SNARK 技术的早期开发中发挥了重要作用。StarkWare 团队的其他成员也都在密码学、分布式系统和区块链技术方面拥有深厚的专业知识和经验。


接下来,我们将对 Starknet 几大主要主要技术特性进行简述,包括利于 ZK 证明生成的 Cairo 语言、 原生级别的账户抽象等。



StarkNet 主要技术特性速览


> STARK 证明


StarkWare 团队开发的 STARK 技术是作为 SNARK 的替代方案而设计的,二者的名称仅一个字母之差。SNARK 中的 N 代表非交互式,意味着在生成证明的过程中不需要与验证者交互,从而提高了效率,但也带来了一些安全隐患。相对地,STARK 虽然也属于交互式证明系统,但它通过哈希函数碰撞来确保安全性,因此同样能实现高效的证明过程。此外,STARK 中的 T 代表透明性,它不依赖任何第三方进行 CRS(公共参考字符串)的设置,从而提供了更高的透明度。


尽管 STARK 技术具有许多优势,但在验证过程中仍面临一些挑战。例如,STARK 需要处理大量计算,这导致生成和验证证明的过程非常耗时。此外,STARK 生成的证明通常较大,这意味着在区块链上存储和验证这些证明需要更多的资源和更高的成本。为了解决这些问题,StarkWare 提出了递归 STARK(Recursive STARK)技术。递归 STARK 可以为不同的交易区块并行生成证明,并将这些证明聚合成一个提交到主区块链的单个区块证明。这意味着一个 STARK 可以验证其他 STARK。相比于每个 STARK 证明仅能验证单个交易块,递归 STARK 能将多个 L2 区块的单独证明合并为一个,然后提交到 L1 上,实现对多个交易块的同时验证。这种方法不仅提高了处理效率,还增强了系统的可扩展性。



此外,递归证明技术还能带来一些新用例,例如「递归应用」。递归证明允许将两个证明合并为一个,而这两个证明可能各自有独立的输入。通过这种方法,可以减少需要验证的证明数量,同时保留所有原始输入。这种递归合并不仅提高了验证效率,还可以用来更新或验证链上的某些状态,如状态根或执行链上操作。如果递归过程能识别到应用程序的特定需求,它可以进一步优化处理,确保证明的合并不仅技术上有效,还符合应用逻辑和需求。这种方法称为递归应用,即允许更复杂的操作在链上更高效地执行。举个例子,如果有两个操作,一个从状态 A 更新到状态 B,另一个从状态 B 更新到状态 C,应用递归可以合并这两个操作的证明,直接生成一个从状态 A 到状态 C 的证明。而 Starknet 也宣布将在 v0.13.2 升级中纳入应用递归。




> Cairo 编程语言


Cairo 是一种为 Starknet 特别设计的智能合约语言,支持生成可验证计算的 STARK 证明。Cairo 语言可以拆解为三个部分理解,其中 C 很好理解,代表 CPU,指的是为 Cairo 语言专门设计的虚拟 CPU。而 AIR 则代表「Algebra Intermediate Representation」,这是语言编译的一部分,在 Cairo 中,代码会被首先编译成 Sierra,然后再编译成 CASM。而最后的字母 O 则代表「One AIR (verifier smart contract) to rule them all」,指的是任何使用 Cairo 写的程序都能够使用单一通用的 Verifier 进行验证,每个应用不再需要产生自己也只有自己能用的 Verifier 合约。


2020 年,StarkWare 发布了支持可验证计算的图灵完备编程语言 Cairo 0,引入了图灵完备的冯·诺依曼架构,能够验证任何 Cairo 程序的计算完整性和执行后的状态正确性。但一开始,Cairo 的推出并没有得到普及。一方面,是因为其是一种低级语言,并没有完全抽象出构建程序执行证明需要的底层加密原语。另一方面,也是因为其与主流开发语言 Solidity 并不兼容,增加了开发者的学习成本。为了提升开发体验,Starknet 于 2022 年 9 月推出了 Cairo 1.0,进行了效率和安全方面的改进,新增了 Sierra(Safe Intermediate Representation)设计,作为 Cairo 1.0 和 Cairo 字节码之间的新中间表示层,确保每次 Cairo 的运行都能得到证明。Cairo 1.0 对编程语言自身也提供了很多改进,包括不再有 local 和 tempvar,只用 let 来处理所有变量、改进 if 命题语法及更直观的代码库等。该版本于 2023 年 6 月被正式激活。


目前,Cairo 已经更新至 v2.6.0 版本。这次更新主要聚焦于性能优化和编程功能的增强。新版中不仅优化了合约执行流程,降低了执行步骤和交易费用,还引入了诸如更多内联处理、提高函数调用的成本效率以及支持 Rust 风格的 if let 和 while let 表达式和复杂常量等功能。这些改进旨在提高 Cairo 程序的编写和执行效率,使得开发者在 Starknet 上部署智能合约的过程更为简便。


我们还可以理解一下其运行环境 CairoVM。CairoVM 是一种虚拟机,专门用来执行 Cairo 程序并生成相应的零知识证明。其核心特性是将程序执行转化为多项式表达,从而确保执行过程的可验证性,并利用 STARK 证明技术保证所有 Starknet 交易的正确性。这样的设计允许开发者用高级语言编写需要验证的程序,而无需深入了解复杂的电路设计。


在实际应用中,基于 Cairo 语言开发的 Kakarot zkEVM 提供了一个创新的解决方案。与传统的 zkEVM 设计不同,它不是通过构建低级电路来执行 EVM 代码,而是使用 Cairo 构建一个转译器,这样在 Cairo 上执行的输出结果便是可验证的。这种方法更加侧重软件工程而非传统电气工程,目前已经作为智能合约部署在 Starknet 上。此外,Kakarot 已于去年 6 月完成了 Pre-Seed 轮融资,Vitalik Buterin 等参投。未来,Kakarot zkEVM 可能发展成为一个完整的应用链或智能合约系统。



最后,值得一提的是,得益于丰富的文档、教程和代码示例,Cairo 开发者社区在过去两年内实现了 350% 的增长。




> 原生帐户抽象


账户抽象(AA)代表了用户在区块链网络中管理账户和交易的方式。从交易角度看,账户抽象支持多个签名者及允许智能合约为交易支付 Gas。从用户体验而言,其允许智能合约处理复杂的交易验证和执行过程,用户无需管理多种密钥或处理复杂交易逻辑,且其支持入社交恢复等账户恢复机制,为用户带来便利。


为了实现账户抽象,以太坊先后提出了 ERC-4337、EIP-3074、EIP-5003 及 EIP-7702 等提案,可见账户抽象的重要性。然而,Starknet 的账户抽象是原生的,即所有账户都是智能账户。在 Starknet 中,账户抽象将传统账户管理和交易验证逻辑内置于智能合约中,用户可以根据自己的需求定制验证逻辑,同时由排序器确保交易的正确执行,从而简化交易流程并增强用户体验。


具体流程上,当用户发出交易请求后,排序器接收后对其进行排序和验证。通过调用账户合约中的 validate 函数确认交易是否得到正确授权。这是 Starknet 账户抽象的一个关键特点,用户可以在这个函数中实现自定义的验证逻辑,这比以太坊的标准 ECDSA 签名验证提供了更多的灵活性。交易通过验证后,排序器会从用户账户扣除相应费用,随后排序器会在 Starknet OS 中执行这些交易,并生成一个执行轨迹,这些执行轨迹会被发送至 Prover 以确保所有交易的正确执行和合规性。



由于在 Starknet 中,所有账户都被视为合约,因此创建新账户时,必须部署一个合约,这涉及生成新的密钥对并在链下对账户地址进行计算等步骤。除了账户部署外,Starknet AA 钱包的用户体验与以太坊 EOA 钱包的体验没有显著差异。



区块链扩容前景:

Layer3 是未来吗?


区块链的扩容问题一直是热门话题,而以太坊 Dencun 升级之后 ,随着大多数 L2 的费用下降,扩容话题已迅速转向潜在的发展方向:Layer3。Layer3 这个概念最早由 StarWare 在「Fractal Scaling: From L2 to L3」一文中提出。StarWare 在文中表示,Layer3 作为构建在 Layer2 上的新的独立层存在,将继承 Layer1 的安全性和 Layer2 的性能,一方面能够降本增效,另一方面可以实现定制化,控制技术堆栈以满足各种需求和隐私。


然而,关于 Layer3 是否真的有必要的争议也一直存在。一方面,Layer3 确实能带来高度定制化的灵活性和自主性,使得在游戏和社交领域的项目可以迅速构建;但另一方面,将 Rollup 上再加一层 Rollup 是否真的具有扩容意义?这种方式是否会增加系统的复杂性,并带来更高的操作成本?以太坊联合创始人 Vitalik Buterin 对此也提出过一些质疑,主要是关于数据不可能无限次压缩的问题,这也意味着 Layer3 可能无法实现与 Layer2 同样级别的效率改进。不过他也承认 Layer3 是一个具有潜力的发展方向。


在此背景下,Dojo 成为一个典型案例。Dojo 是 Starknet 基于 Cairo 编写的链游专用链,也是在 Layer3 架构下实现特定应用,其生态系统组件包括:

用 Cairo 编写的 ECS:属于游戏开发中的设计模式,让代码更易于维护,并支持在链上构建复杂和动态的游戏;

Sozu 迁移规划器:用于将开发的游戏部署到 StarkNet 上;

Torii 网络和索引堆栈:综合索引和网络层,系统地组织 Dojo 世界状态,使客户端的数据查询更方便高效;

Katana RPC 开发网络:允许开发者在测试网上测试应用程序,实现高效本地开发。


通过这些组件,Dojo 不仅展示了 Layer3 在游戏开发领域的潜力,也为其他应用场景提供了一个模板。目前,Starknet 上已经有超过 15 个基于 Dojo 构建的游戏,包括大型战略 MMO Influenc 和策略游戏 Realms 等。通过这些强大的工具和框架,Dojo 为开发者提供了一个高效且安全的环境,以构建和部署链上游戏,并推动区块链游戏的发展。



Starknet 开发者季来袭

如何参与?


截至目前,Starknet 生态系统已集成了超过 100 个应用,但其 TVL 仅为 301,408,291 美元,相较于同类项目仍有较大增长潜力,表明其生态尚处于早期发展阶段。为推动生态发展,StarkNet 推出了 Seed Grant Program 计划,目前已经公布了其首批入选项目,包括链游开发商 Underware、Cairo 学习协议 CodeJam、开源钱包 Cypherock、AMM 协议 BrownFi 及身份和治理的工具包 Coordination Stack 等 20 个项目。其中 AMM 协议 BrownFi 则来自 OpenBuild 和 Starknet Foundation 发起的 Starknet APAC Hackathon 获奖项目。


而为了进一步帮助开发者学习和掌握 Starknet 网络架构,OpenBuild 联合 Starknet 推出了「Starknet Developer Season」。通过参加这个课程,开发者可以深入了解 Starknet 的技术细节和实际应用,包括手把手实现 Dojo 开发游戏及了解 AMM 在 Starknet 上的实现等内容。


扫码报名


💰课程费用:免费

🔗报名链接:

https://openbuild.xyz/learn/challenges/2037971949

(复制链接在浏览器打开  或 下方 “阅读原文” 报名)



 加入 Starknet 学习交流群

扫码添加小助手,进入 Starknet 学习交流群



🌟课程详情🌟


Starknet DeFi 公开课是由 Starknet 和 OpenBuild 共同发起的专注于介绍和讲解 Starknet 生态系统中去中心化金融(DeFi)应用的课程。该课程旨在帮助参与者深入了解 Starknet 平台及其底层技术,并展示其在扩展性、安全性和去中心化方面的优势。


>核心亮点

全面掌握 Starknet 网络架构和 Cairo 编程语言

从测试到部署,场景化深度落地实践

手把手教你实现 Dojo 开发游戏

了解 AMM 在 Starknet 上的实现 

索引 Starknet 链上数据 


>适合人群

对 Starknet 及 Cairo 语言感兴趣的开发者

对 Web3 充满热情,渴望深入学习加密领域的知识和技能


>学习大纲

1,从 0-1 带你了解 Starknet 基础知识

2,Cairo—— Starklings 练习

3,Cairo 智能合约实战

 4,前端开发实战与 Starknet 交互

 5,Dojo 入门与实战

 6,AMM 详解

 7,在 Starknet 中使用 Chainlink 喂价

 8,通过 theGraph 访问 Starknet 链上数据


>时间计划

Starknet Defi Bootcamp 时长 4 周

共学期间每周两节课,每周二四


>学习形式

OpenBuild 网站➕在线视频➕微信社群


>成果检验

本次训练营结束后将开展 Starknet Quiz

达成指定分数,即可有机会参与瓜分 3000USDT 的奖金!


>课程讲师

>组织方

>战略伙伴

>Starknet 全球社区

>合作社区

【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。

专栏文章
查看更多
数据请求中

推荐专栏

数据请求中

一起「遇见」未来

DOWNLOAD FORESIGHT NEWS APP

Download QR Code