金色观察|读懂StarkNet、Layer3及须关注的StarkNet上的项目
本文对StarkNet生态做了完整分析,首先将介绍理解所讨论主题的所有基本概念(零知识、ZkRollup等)。任何对加密货币和区块链技术感兴趣的人都必须吸收这些知识。
第二部分,将介绍StarkWare开发的解决方案StarkNet/StarkEx,StarkNet: Cairo的智能合约语言及其与Solidity相比的特殊性,以及一些非典型和创新的微妙之处。
最后将分享一小部分正在构建的项目,这些项目将会在生态系统爆发中发挥重要作用。
词汇表
ZKP = 零知识证明(Zero Knowlegde Proof)
ZKSTARK = 零知识可扩展透明知识论证(Zero-Knowledge Scalable Transparent ARguments of Knowledge)
Rollup = 来自ETH智能合约交易的链下聚合(Off-chain aggregation of transactions from a Smart Contract ETH)
ZK-Rollup = 使用ZKP进行Rollup
Scalabilité
SHARP = 共享证明者(Shared Prover)
Zero Knowledge、ZKSTARK和Rollup
零知识证明(Zero Knowledge Proof)
虽然区块链为我们带来了透明度、不变性和去中心化等巨大好处,但隐私的概念却很少被讨论。这就是零知识证明 ( ZKP ) 的用武之地:可组合性、隐私性和不变性的组合。
ZKP是一种加密方案,通过该方案,一方(PROVIDER,我们将其称为PR)可以向另一方(VERIFIER,我们将其称为VER)证明特定信息的真实性,而无需透露任何额外信息。
在一个具体的例子中,VER想要从金库中收集奖励。在ZK中:
PR秘密生成密钥 (K)
VER验证密钥(K),允许获得奖励
ZKP被验证证实
同样的,ZKP也可以解决:
PR生成密钥 (K) 并秘密地从保险库中检索奖励
VER验证奖励对应于仅在同一保险库中可用的奖励
ZKP被验证证实
总之,VER验证者将不知道除布尔语句之外的任何信息。其他方的信息和个人数据的详细信息保持匿名。
如你所见,ZKP允许隐私。但是这种方法的有趣之处在于它非常简单、安全并具有令人难以置信的可扩展性,许多区块链应用程序都选择它来实现这些优点。
Rollup和Zk-Rollup
以太坊Rollup是以太坊智能合约中交易的链下聚合,通过将吞吐量从当前的15 tps提高到超过 1000 tps来减少费用和拥塞。
ZK-Rollups是正在开发的用于构建2层的选项之一,通过在单个交易中处理大量转账来提高可扩展性。Plasma每次转账创建一个交易,ZK-Rollups将数百个转账聚合成一个交易。智能合约将解构并验证单笔交易中的所有转账:另一个可扩展性证明。
ZKP方法用于公开展示和记录以太坊区块链上区块的有效性。ZK通过减少交易中持有的数据量来减少验证区块的计算和存储资源;不需要数据集的知识。
ZKSNARK — ZKSTARK
下面将介绍本文的一个关键概念:ZKSNARK和ZKSTARK,它们实际上是两种不同类型的零知识证明。
ZK-Rollup方案由两种类型的用户组成:中继者和交易者。
1、交易者创建他们的转账并通过网络广播转账。智能合约将数据存储在两个Merkle树中:
一个默克尔树中的地址
另一个默克尔树中的转账的金额。
2、中继者收集大量转账以创建聚合。生成SNARK证明是中继者的工作:ZKSNARK。
SNARK证明是代表区块链状态改变的哈希值。SNARK证明将转账前的区块链快照与转移后的区块链快照进行比较,并仅向主网络报告可证明哈希的变化。
在ZK-STARK之前,ZK-SNARK用于创建ZK证明系统,但需要一个或多个受信任方来初始配置 ZK证明系统,这引入了这些受信任方的漏洞,从而危及整个系统的机密性。ZK-STARK通过消除对可信配置的需求来改进这项技术。
这个新证明解决了旧SNARK证明的最大缺陷之一。这个证明是由StarkWare团队提出。我稍后将介绍。
STARKs改善了无许可区块链的两个问题:可扩展性和隐私。
STARK通过允许开发人员将计算和存储转移到链下来提高可扩展性。链下服务将能够生成证明链下计算完整性的STARK证明。然后将这些证明送回链上,供任何相关方验证计算。使用 STARK转移大部分的链下计算工作允许现有的区块链基础设施以指数方式扩展,同时保持计算完整性:它将改变游戏规则。
现在你拥有进入StarkWare:StarkNet生态系统的钥匙了。
Starware x StarkNet
StarkNet是一种去中心化、无需许可的ZK-Rollup(基于ZKP),并使用ZKSTARK技术在不损害隐私的情况下实现指数级扩展。
StarkNet Alpha于2021年6月在公共测试网上发布,并于2021年11月主网上线。在主网部署时,StarkNet已经在类似以太坊的状态下提供通用计算。
在整个开发过程中,StarkWare团队选择了一种专注于首先发布最重要功能的方法,本质上是与社区共享进化过程。
StarkNet远未完成,但即使是现在,开发人员已经可以创建有意义且复杂的应用程序。如今,有数百名开发人员依赖StarkNet、大量dApp,以及一些外部团队为StarkNet生态系统开发工具和基础设施(我们将在最后一节中看到)。
一系列更新提供了许多重要功能。有几个引起了我的注意:
L1 <-> L2消息传递
链上数据和可组合性支持
活动支持
基础定价机制,合约升级
钱包抽象(现在是智能合约)
测试框架、开发工具、快速确认