#starkware #starknet #starkex 撰文:@Yinan_cycle
(本文首发于PANews:StarkWare帝国:探析StarkEx和StarkNet的创新之旅)
背景
从 2018 年开始,StarkWare 开创性地运用 STARK 有效性证明来解决以太坊的可扩展性问题。它推出了基于 SaaS 业务模型的 StarkEx,创造了 Cairo 编程语言,并构建了 Starknet,这是第一个允许编写自定义逻辑的生产中的去中心化网络。
StarkWare致力于在包括技术、数学、创新与产品交付的双重关注;支持其他推动以太坊和/或 STARK 的团队;以及努力使产品开源、去中心化并专注于将 STARK 作为公共产品。
未来,StarkWare 将致力于让 Starknet 成为一个由 Starknet Foundation 治理的无需许可的去中心化有效性 rollup,并专注于去中心化 Starknet 的各个组成部分,例如 Prover、Sequencer 和治理。
STARK 技术基于证明,具体来说是完整性证明。STARK 利用数学来确保完整性,即使没有人监视,也能确保计算正确进行。这种技术的概念始于 László Babai、Lance Fortnow、Leonid Levin 和 Mario Szegedy 于 1991 年的一篇文章,其中介绍了使用单一可靠计算机监控一组不可靠超级计算机的概念。该技术被称为“PCP”,通过数学监控和确保大型计算的完整性。
STARK 技术是 PCP 技术的改进版本,可让小用户检查并确保大公司、垄断企业或政府的正确运作。区块链恢复了货币交换的点对点特性,消除了对可信中介的需求。以太坊则将此概念推向更远,允许创建构成社会经济基础的通用程序。
Starkware
StarkWare 是 zk rollups 赛道内最好的公司之一,由以色列理工学院的 Eli Ben-Sasson 教授(zk SNARK & zk STARK 的联合发明者)联合创立,它为区块链行业提供基于 STARK 技术的解决方案。目前开发了两款产品:StarkEx & StarkNet,均在下文中介绍。
Starkware团队
Eli Ben-Sasson:Co-Founder & 首席科学家,以色列理工学院计算机专业的教授。Zcash 的创始科学家,zkSNARKs 的发明者。
Alessandro Chiesa:Co-Founder & 首席科学家,加州大学伯克利分校计算机专业的教授。Zcash 的创始科学家,zk-SNARKs 的联合发明者,libsnark 的核心开发者。
Uri Kolodny:Co-Founder & CEO,Uri 是一个商业经验丰富、善于合作的连续创业者。
Michael Riabzev:Co-Founder & 首席架构师。以色利理工学院的博士,曾在 Intel、IBM 工作。
Oren Katz:工程副总裁。Hebrew 大学计算机专业毕业,Tel Aviv MBA,20 年经验的资深工程师。
融资
目前公司已经估值 80 亿美元,获得了 Vitalik、Paradigm、Sequioa 等资本的倾力支持,是扩容领域估值最高的团队。
StarkEx
一种基于以太坊区块链的应用特定的Layer-2扩展引擎,旨在解决以太坊等Layer-1区块链网络的可扩展性问题。StarkEx通过使用一种名为STARK证明的先进密码学系统,实现了快速、低成本的交易,同时不妥协安全性、隐私性和自我保管。
它提供了一系列用于实现便宜的链下计算的应用流程,将多笔交易打包在一个STARK证明中,然后在链上进行验证,降低了每笔交易的平均燃料成本。StarkEx扩展引擎的工作原理,包括批处理、验证和更新、生成证明以及链上验证四个步骤。
StarkEx已经成功部署在多个应用中,如dYdX、Immutable、Sorare、DeversiFi和Celer。
和StarkNet的区别在于:
StarkEx 和 StarkNet 是由 StarkWare 开发的两个不同的技术,它们都使用 STARK 零知识证明技术,但有不同的目标和用途。
StarkEx:StarkEx 是一个针对特定应用的 Layer-2 扩展引擎,主要关注优化以太坊区块链上的单一应用程序的性能。它通过将多个交易批量处理并在链下进行验证,实现了更快速、低成本的交易。主要用于去中心化交易所(DEX)、NFT 市场和游戏等。通过使用 STARK 证明技术,StarkEx 提供了安全、高效和低成本的交易体验。
StarkNet是一个无需许可的更为通用、完整的 Layer-2 解决方案,它为整个以太坊生态系统提供了一个去中心化的计算平台,开发者可以在其中部署用Cairo语言编写的智能合约。StarkNet支持与其他合约进行交互,允许丰富的协议组合,并可通过异步消息传递与以太坊合约进行交互。目标是提供一个可扩展、低成本且安全的环境,以便开发者在其上构建和部署智能合约。与 StarkEx 不同,StarkNet 可以看作是一个全面的 Layer-2 操作系统,允许开发者创建各种去中心化应用程序,而不仅仅是针对特定用途的解决方案。
总之,StarkEx 是一个应用特定的 Layer-2 扩展引擎,主要关注特定应用程序的性能优化,而 StarkNet 是一个更为通用、全面的 Layer-2 解决方案,旨在为整个以太坊生态系统提供一个去中心化的计算平台。
Starknet
Starknet是一个无需许可的去中心化有效性折叠网络(也称为“ZK-Rollup”)。它作为以太坊上的L2网络运行,使任何dApp都能在不影响以太坊可组合性和安全性的前提下实现无限扩展计算,这要归功于Starknet依赖于最安全且最具可扩展性的加密证明系统 STARK。
Starknet合约和Starknet操作系统使用Cairo编写 - 支持部署和扩展任何用例,无论业务逻辑如何。Starknet作为一种去中心化的二层网络解决方案,旨在为去中心化应用(dApp)提供更高的扩展性和性能。通过在以太坊上运行,它可以利用现有的基础设施和安全性,同时提供更高的计算能力。
Cairo是一种专为Starknet设计的编程语言,它旨在简化智能合约的开发和部署。通过使用Cairo,开发人员可以轻松地为各种用例构建高度可扩展的应用程序,包括金融、游戏、供应链等。
Starknet 是一个 validity rollup,这意味着每个块内的执行都需要被证明,这就是 STARKs 派上用场的地方然而,STARK 证明可以解决以多项式约束语言制定的陈述,并且不了解智能合约的执行。为了克服这个差距,所以开发了Cairo。
总的来说,Starknet是一个充满潜力的二层网络解决方案,它可以使现有的dApp在扩展性和性能方面迈出重要一步。通过采用STARK加密证明系统和Cairo编程语言,Starknet为开发者提供了一个强大且灵活的平台,以满足各种业务需求。
版本更新
接下来会发生什么?Starknet Alpha v0.11.0:开始向 Cairo 1.0 过渡
对 Cairo 1.0 的进一步语言改进
性能改进:正如承诺的那样,Starknet继续朝着显着提高 TPS 的方向前进。路线图中的下一步是过渡到Rust序列器,它是在 Apache 2.0 许可下公开开发的。新的音序器将使用Rust CairoVM和Papyrus全节点形成 Performance Trio。
链下DA
在这个版本中,Starknet处理了交易成本的计算部分。在即将推出的版本中,将处理链上数据成本,这是当今平均交易的主要成本。
这里对Starknet的音序器进一步说明:
音序器是指StarkNet Sequencer,它是StarkNet的一部分,旨在通过切换到Rust排序器、使用Rust CairoVM和Papyrus全节点来显著增加吞吐量(每秒交易数量),从而形成“性能三人组”。
“性能三人组”是指StarkNet Sequencer的三个组成部分:Rust排序器、Rust CairoVM和Papyrus全节点。其中,Rust排序器是StarkNet Sequencer的核心,它负责处理交易并生成区块。Rust CairoVM是一个虚拟机,它可以在StarkNet上运行智能合约。Papyrus全节点是StarkNet网络中的一个节点,它存储了StarkNet上的所有数据,并且可以处理交易。这三个部分共同工作,可以显著提高StarkNet的吞吐量(每秒交易数量)。
Starknet v0.11.0(目前仅在 Goerli 测试网上)
一旦 Goerli 测试期结束,Starknet v0.11.0 将在主网上发布。
Starknet v0.10.3(22 月 12 日、12 月 12 日)
性能——将状态承诺计算与交易执行分开
添加starknet-class-hash命令来计算已编译 Starknet 合约的类哈希
Starknet v0.10.2(22 年 11 月 29 日)
这个版本引入了音序器并行化!
一个新端点estimate_fee_bulk被添加到馈线网关。这将允许同时估算几笔交易的费用,其中每笔交易都是相对于应用前一笔交易的结果状态执行的。
Starknet v0.10.1(22 年 10 月 25 日)
添加DeployAccount交易(它将取代 Deploy 交易以部署账户合约)。要使用它,你应该首先向你的账户地址添加足够的资金来支付交易费用,然后你可以调用 DeployAccount
将starknet deploy_accountCLI 命令拆分为starknet new_account和starknet deploy_account
预计以这种方式部署的账户合约应该实现 validate_deployDeployAccount()入口点,它应该检查交易的签名
改进 L1 费用计算:根据存储状态的差异计算费用
API:entry_point_type从交易信息中删除字段
Starknet v0.10.0(22 年 9 月 5 日)
此版本介绍了 Starknet 帐户抽象设计的下一步,特别是验证/执行分离。
Starknet v0.9.1(22 年 7 月 20 日)
API 变化
星网 CLI
Starknet v0.9.0(22 年 6 月 6 日)
该版本将合约类/实例范式引入 Starknet
关于账户
以太坊账户结构
在以太坊中,单个用户账户被称为外部拥有的账户(Externally Owned Accounts,EOAs)。
EOAs 与智能合约不同,因为它们不受代码控制。EOA 是由一对私钥和公钥确定的。
账户的地址是根据这些密钥派生的,只有拥有私钥才能从账户发起交易。虽然以太坊合约是“被动”的,即它们只能在交易中被调用时发生变化,但 EOAs 可以发起交易。
尽管简单,但 EOAs 有一个主要缺点,即账户行为没有灵活性,以太坊协议规定了 EOA 发起的交易何时有效(签名方案是固定的)。特别是,对公钥的控制给了对账户的完全控制。尽管从理论上讲,这是一种安全的账户管理方法,但在实践中,它存在一些缺点,例如要求您保护种子短语的安全,同时使其对您可访问,并且钱包功能的灵活性有限。
EIP-4337 是一个针对以太坊的设计提案,概述了通过以太坊网络上的专用智能合约管理所有账户的账户抽象化,以提高灵活性和可用性。您可以在基本 EOA 功能的基础上添加自定义逻辑,从而将账户抽象化引入以太坊。
账户抽象化是什么?
账户抽象化背后的想法是允许在账户管理方面更具灵活性,而不是让它们的行为在协议层面上确定。这可以通过引入账户合约来实现 - 具有可编程逻辑的智能合约,决定用户的账户行为。
通过使用账户抽象化,您现在可以对您的账户功能进行编程。
例如,你可以:
确定有效签名的含义,或者您的账户允许与哪些合约互动。这被称为“签名抽象化”
用不同的代币支付交易费用 - 这有时被称为“费用抽象化”
设计自己的重放保护机制,并允许并行发送多个不相关的交易。将其与以太坊中使用的顺序nonce解决方案进行比较,该解决方案导致交易本质上是顺序的,即使你想并行发送两个交易,也必须等待第一个交易的一些确认,然后再发送第二个交易。否则,由于无效的nonce,第二笔交易可能会被拒绝。使用账户抽象化,可以讨论绕过顺序nonce需求的不同解决方案。这被称为“nonce抽象化”。
如今,Starknet提供了签名抽象化。将来,Starknet将丰富当前的账户抽象化设计。
使用账户抽象化自定义账户功能的两个示例
社交恢复 这是一个过程,当您丢失钱包时,可以通过所选社交网络检索它,大大改善了钱包恢复的典型体验。
通过面部识别操作您的账户 借助签名抽象化,您可以使用手机的原生硬件对交易进行签名,从而实际上不可能接管另一个用户的账户(即使在手机本身被盗的情况下也是如此)。
这些示例展示了如何利用账户抽象化为用户提供更灵活、安全和高度定制的钱包和账户管理体验。通过编写自定义逻辑,用户可以根据其需求和偏好定制账户功能,从而在提高安全性的同时,也提高了易用性。
Starknet 账户合约必须包括以下两个函数
validate
execute
这些函数具有不同的目的,以确保只有账户所有者才能发起交易,并且可以为你使用的资源收费。
Starknet 的账户类型受到以太坊 EIP-4337 的启发,其中,你现在使用具有任意验证逻辑的智能合约账户,而不是 EOA(外部拥有的账户)。
通过使用智能合约,在账户实现中获得了完全的灵活性。
虽然在协议级别上不是强制性的,但社区开发了一个更丰富的标准账户接口。这个标准是由 OpenZeppelin 开发的,与钱包团队和其他核心 Starknet 开发人员紧密合作。
代币经济学:
代币的作用:
交易费用:
目前,StarkNet 中的费用以以太币 (ETH) 支付。但稍后,我们预计费用将完全使用原生 StarkNet 代币支付。为了支持良好的用户体验,自动化和去中心化的链上机制将允许用户以 ETH 支付费用。
质押:
某些对 StarkNet 的活跃性和安全性至关重要的服务可能需要质押 StarkNet 代币。这些服务可能包括排序、在达到 L1 最终结果之前达成临时 L2 共识、STARK 证明服务和数据可用性供应。
治理:
改进 StarkNet 的提案将需要一个最小的令牌支持阈值,稍后定义。对 StarkNet 的活跃性、安全性和维护至关重要的协议的所有更改都需要直接或通过委托进行投票。例如,StarkNet 操作系统的所有重大更新都需要代币持有者的批准。
总量:100亿、代币初始分配:代币经济学
17% — StarkWare 投资者
32.9% — 核心贡献者:StarkWare及其员工和顾问,以及StarkNet软件开发合作伙伴
StarkWare 授予基金会的50.1% ,用途如下:
9%—社区补给:用于奖励为StarkNet工作并为其底层技术提供支持的人员,例如过去使用StarkEx L2系统的人员。重要的是,所有社区补给都将基于过去已完成的可验证工作。例如,对于过去的StarkEx用户,分配将根据2022年6月1日之前发生的可验证StarkEx技术使用情况来确定。
9%—社区返利:部分用于支付从以太坊转移到StarkNet的成本。为防止游戏化,社区返利仅适用于在返利机制公布后发生的交易。
12%—用于研究和开发、测试、部署和维护StarkNet协议的工作的资助。
10%—-战略储备,用于资助与基金会使命一致的生态系统活动。
2%—捐赠给受到高度尊重的机构和组织,例如大学、非政府组织等,由StarkNet代币持有者和基金会共同决定。
8.1%—未分配:基金会的未分配财务储备将用于进一步支持StarkNet社区,具体支持方式由社区决定。
为了使核心贡献者和投资者的长期激励与 StarkNet 社区的利益保持一致,并遵循去中心化生态系统的惯例,分配给核心贡献者和投资者的所有代币将受到 4 年的锁定期,与线性释放和一年悬崖。
如果你是一名终端用户,只有在StarkNet满足您当前需求时才使用它。将其用于您看重的交易和应用,而不是期望未来获得StarkNet代币的回报。当社区补给宣布时,它们将仅涉及在公告日期之前发生的快照,并根据当时可用的信息,过滤和排除被认为是滥用和操纵网络的使用情况。当社区返利制度建立时,它们永远不会适用于在返利公布之前发生的交易,因此期望未来返利而在今天进行交易是徒劳的。
基于上面代币经济学的总结分析:
第一个9%的社区供应部分是可能空投给用户的,也就是说用户在这4.5亿中和为Starknet工作及提供技术支持和开发的人一起去划分。
第二个9%的社区回扣,用于后续返利规则公布后的手续费补贴,公布规则前刷手续费是没用的。
第三个10%的战略储备,是用于链上生态应用,分配给生态上的应用协议。
商业模式
出售定制化技术引擎服务 StarkEx,直接向有扩容需求的客户收取服务费,本质上是定制化的 2B 服务。
打造去中心化的 Layer2 网络 StarkNet,支持 dApp 自主部署,可以向用户收取 Layer2 的交易费用,也可以通过 sequencer 的拍卖机制获取 MEV 的价值,还可以在未来发 token,用技术和资金孵化 StarkNet 项目,通过 tokenomics 驱动生态发展。
总结
StarkWare 是 zk rollups 赛道内最好的公司之一,产品有StarkEX和StarkNet。
StarkEx 是一款 Layer2 扩展引擎,为 dApp 提供技术服务。
StarkNet是一个无需许可的更为通用、完整的 Layer-2 解决方案。
团队成员有80多个,而且核心成员比较瞩目,Eli Ben-Sasson是Zcash 的创始科学家,zkSNARKs 的发明者,在ZK-Rollup领域有非常深的研究及影响力,且目前估值达到80亿,像paradigm、Pantera、polychain和V神等顶级VC和个人均是StarkWare的资方。
在生态应用上面,因为采用的是Cairo语言,所以并不兼容EVM,所以在生态发展上进度会比较慢,目前开始向 Cairo 1.0 过渡,朝着一个更高的TPS发展,就算这样,但是目前的应用体验并不是十分流畅,技术还有现实之间还是存在差距,期望以后看到Starknet更好的发展。