Cairo 或将取代 Solidity 的原因_STARK:Stark Chain

在这篇文章中,我将论证Cairo可以影响即将到来的可证明计算的浪潮,就像Solidity支持可组合计算一样。Cairo是StarkNet的原生编程语言,StarkNet是一种用于扩展以太坊的L2网络。

当我们把智能合约仅仅看作是金融的延伸(DeFi)或网络的泛化(web3)时,这是令人遗憾的。智能合约网络实际上是可组合计算的平台。

以太坊嵌入了一些允许其计算机程序互操作的标准:

透明字节码

标准化API结构

保证正常运行时间

内置支付基础设施

StarkWare:StarkNet将在“Regensis”上重新启动,Cairo 1.0年底推出:金色财经报道,以太坊Layer 2开发公司StarkWare总裁Eli Ben-Sasson透露,他们正在开发的以太坊Layer 2扩展解决方案StarkEx和StarkNet即将迎来两个重要里程碑:首先是发布StarkNet原生智能合约语言升级版Cairo 1.0,该语言现在已经完成开发,预计在2022年底前推出;之后,该团队还将在名为“Regensis”的以太坊主网上重新启动StarkNet,旨在提高网络DoS攻击保护能力并降低gas费用。

此外,Eli Ben-Sasson表示原定于9月的原生Token发行计划已被推迟,因为他们希望在Solidity合约方面做得更好一点,因此StarkWare原生Token将在10月内上链。不过,Eli Ben-Sasson指出他们在初始阶段不会为用户提供免费Token,所有Token会在发布后立即锁定。Eli Ben-Sasson还透露,StarkWare很快会宣布成立基金会并由其负责Token分配和分发。(decrypt)[2022/10/17 17:28:25]

完整的部署和交易沿袭

StarkWare将推出Cairo 1.0版本,支持StarkNet的无许可网络要求:9月11日消息,零知识证明技术开发公司StarkWare宣布编程语言Cairo1.0版本,核心将是中间表示层(intermediary representation layer)Sierra,可增强可用性、安全性和便利性,支持StarkNet的无许可网络要求,并将简化和保护协议,目前开发已经在进行中,预计第一个版本将很快发布。

此外Cairo1.0也会影响Regenesis,StarkWare将在未来几周内发布有关Regenesis的更多信息。

注:Cairo语言是StarkNet的原生智能合约语言,于2020年推出。[2022/9/13 13:25:48]

不同应用程序层之间无摩擦的合约

Nethermind开发团队Nubia推出EVM到Cairo的转译器Wrap:以太坊客户端Nethermind开发团队Nubia推出EVM到Cairo的转译器Wrap,实现将EVM合约转译为Cairo语言合约并直接部署至ZK Rollup扩容方案StarkNet。Cairo语言是StarkNet的原生智能合约语言,Wrap通过将Solidity或Vyper语言的智能合约编译为EVM字节码,然后将该字节码转换为Cairo语言,并安全地保留原智能合约的语义。Nubia团队表示,下一步的计划将是把AMM(例如Uniswap)部署至StarkNet。[2021/8/18 22:21:16]

这些限制可能会降低开发人员的生产力,但也会以前所未有的规模激励有状态应用程序的组合和重用。

动态 | 西班牙银行CaixaBank引入区块链贸易解决方案we.trade:西班牙银行CaixaBank已将区块链贸易解决方案we.trade添加到公司服务目录中。据了解,we.trade声称是欧洲第一个以区块链技术为基础的外贸平台,旨在为全球贸易提供快速、安全、简便的服务。它是由15家欧洲金融机构组成的一个财团开发的,允许进出口商从一个单一的连接点,通过简单和用户友好的方式进行数字格式的贸易。(NS Banking)[2020/1/6]

Solidity是可组合计算的第一个主流语言

Solidity被创建为一种与上述标准兼容的简单语言。它提供了:

基本状态机功能(状态、访问、更新等)

无法访问不可组合的原语(例如,外部数据馈送)

合约对合约交互的接口

用于交易费用的内置gas计量

对底层虚拟机的高性能访问

虽然现有的编程语言可以适应可组合计算,但它们需要扩展和限制的组合,这很难合并。此外,在优化上其是与优化Solidity代码完全不同的性能指标,这些语言的编译器就是这么被定义的。

引入可证明的计算

StarkNet的可扩展性工具ZK-Rollups启用了一种被称为可证明计算的新范式。在这个范例中,我们保留了可组合计算的所有优点,但也允许程序证明它们已被执行,而无需重新运行。

这个简单想法允许我们从一个需要重新运行交易的网络(以太坊)转移到一个更好的网络(StarkNet),在这个网络中,通过验证交易已以特定结果执行的证明来验证交易,这是一个更经济的操作。

因为这个范式是如此不同,它也需要一个不同的计算模型,有效地将程序转换成数值理论方程,而不是在机器上执行它们。

我们可以用什么编程语言来实现呢?

Solidityvs.Cairo

考虑Solidity是很自然的。首先,它已经支持组合(调用其他智能合约),并被广泛采用。第二,在Solidity上部署了一系列应用程序,可以很容易地迁移到其他Layer2解决方案(包括支持可证明计算的zkSync)。第三,Solidity有一个维护良好的多层编译器,可以适应不同的用例。

但是Solidity并不是可证明计算的固有特性。任何接受惯用的Solidity代码并将其转换为证明的编译器都会遇到以下问题:

依赖于低效的数据结构,如`uint256

语言层面的可变性

缺乏高效的内置插件

没有底层访问

技术细节:在实践中,有两种不同的技术来证明通用程序(SNARK和STARK)。SNARK青睐的指令集更适合作为Solidity等语言的编译目标。STARK提供了更多的可伸展性,同时具有不太自然的指令集。当我们说“Solidity不是可证明计算的有效语言时,我们实际上是指两件事:1)Solidity可以有效地编码为SNARK,但它们不像STARK那样可扩展2)Solidity不是编译到STARK的最佳语言,因为在Solidity中常见的构造对于STARK来说是“昂贵的”。

Cairo有上述所有解决方案:

一个称为felt的底层字段整数数据类型是可用的(与uint256类型一起)

Cairo语言习惯上只编写一次(类似于函数式编程语言)

正在为常见计算开发越来越多的内置非确定性提示

Cairo提供了对底层原语的完全底层访问

Cairo编程更具挑战性,生态系统工具仍在不断成熟。但扩展以太坊的全部意义在于超越现有的限制,构建更好的可组合应用。如果是这样,为什么止步于Solidity?

Source:https://medium.com/yagi-fi/provable-vs-composable-computation-or-why-cairo-will-supersede-solidity-6b00e69bfc9e

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

BNB金色荐读|怎么部署一个JPG NFT项目?_ARK:SOL

2021年NFT流行度迅速上升,诞生了许多项目,社区围绕着它们形成。春节临近,我们何不自己部署一个NFT来奖励自己呢?作为对项目的忠诚或支持的展示,许多用户选择将他们的个人资料图片更改为一个NF.

[0:0ms0-5:778ms