Cairo 或将取代 Solidity 的原因
在这篇文章中,我将论证Cairo可以影响即将到来的可证明计算的浪潮,就像Solidity支持可组合计算一样。Cairo是StarkNet的原生编程语言,StarkNet是一种用于扩展 以太坊 的L2网络。
当我们把智能合约仅仅看作是金融的延伸(DeFi)或网络的泛化(web3)时,这是令人遗憾的。智能合约网络实际上是可组合计算的平台。
以太坊嵌入了一些允许其计算机程序互操作的标准:
-
透明字节码(没有隐藏的Web API)
-
标准化API结构(称为ABI)
-
保证正常运行时间(每个应用都托管在多台机器上,每个应用程序拒绝服务是不经济的)
-
内置支付基础设施(不依赖于Stripe等第三方)
-
完整的部署和交易沿袭
-
不同应用程序层(治理、所有权等)之间无摩擦的合约
这些限制可能会降低开发人员的生产力,但也会以前所未有的规模激励有状态应用程序的组合和重用。
Solidity 是可组合计算的第一个主流语言
Solidity被创建为一种与上述标准兼容的简单语言。它提供了:
-
基本状态机功能(状态、访问、更新等)
-
无法访问不可组合的原语(例如,外部数据馈送)
-
合约对合约交互的接口(组合方式)
-
用于交易费用的内置gas计量
-
对底层虚拟机(程序集)的高性能访问
虽然现有的编程语言可以适应可组合计算,但它们需要扩展(为组合添加接口)和限制(消除所有形式的非确定性和外部访问)的组合,这很难合并。此外,在优化上其是与优化 Solidity 代码(gas 成本)完全不同的性能指标(执行足迹),这些语言的编译器就是这么被定义的。
引入可证明的计算
StarkNet的可扩展性工具ZK-Rollups启用了一种被称为可证明计算的新范式。在这个范例中,我们保留了可组合计算的所有优点,但也允许程序证明它们已被执行,而无需重新运行。
这个简单想法允许我们从一个需要重新运行交易的网络(以太坊)转移到一个更好的网络(StarkNet),在这个网络中,通过验证交易已以特定结果执行的证明来验证交易,这是一个更经济的操作。
因为这个范式是如此不同,它也需要一个不同的计算模型,有效地将程序转换成数值理论方程,而不是在机器上执行它们。
我们可以用什么编程语言来实现呢?
Solidity vs. Cairo
考虑Solidity是很自然的。首先,它已经支持组合(调用其他智能合约),并被广泛采用。第二,在Solidity上部署了一系列应用程序,可以很容易地迁移到其他Layer 2解决方案(包括支持可证明计算的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
MetaPlanet Boosts Bitcoin Holdings to 6,796 BTC, Solidifying Position as Asia’s Largest Corporate Holder
The post MetaPlanet Boosts Bitcoin Holdings to 6,796 BTC, Solidifying Position as Asia’s Largest Cor...
Solana (SOL) Poised for Takeoff — Bulls Prepare for Rally Reboot
Solana started a fresh increase above the $162 zone. SOL price is now consolidating near $175 and mi...
Metaplanet Adds $126.7M in Bitcoin, Now Holds 6,796 BTC
The post Metaplanet Adds $126.7M in Bitcoin, Now Holds 6,796 BTC appeared first on Coinpedia Fintech...