在这篇文章中,我将论证Cairo可以影响即将到来的可证明计算的浪潮,就像Solidity支持可组合计算一样。Cairo是StarkNet的原生编程语言,StarkNet是一种用于扩展以太坊的L2网络。
当我们把智能合约仅仅看作是金融的延伸(DeFi)或网络的泛化(web3)时,这是令人遗憾的。智能合约网络实际上是可组合计算的平台。
以太坊嵌入了一些允许其计算机程序互操作的标准:
透明字节码(没有隐藏的Web API)
标准化API结构(称为ABI)
保证正常运行时间(每个应用都托管在多台机器上,每个应用程序拒绝服务是不经济的)
Starkware开源Cairo编程语言的最新版本:金色财经报道,区块链开发公司 Starkware 开源了其编程语言 Cairo 的新版本,Cairo 支持 Starkware 的Layer 2网络 StarkNet 和 StarkEx。根据一份声明,这是该语言自创建以来的第一个主要版本,新版本将很快被引入 StarkNet。[2022/11/25 8:06:15]
内置支付基础设施(不依赖于Stripe等第三方)
完整的部署和交易沿袭
不同应用程序层(治理、所有权等)之间无摩擦的合约
这些限制可能会降低开发人员的生产力,但也会以前所未有的规模激励有状态应用程序的组合和重用。
Web3开源大学WTF Academy获得Starkware资助,将合作开发ZK和Cairo开源教程:11月5日,据官方消息,Web3开源大学WTF Academy获得以太坊二层扩容方案Starkware的资助,将合作开发ZK和Cairo的中英文开源教程,为以太坊和Layer2培养更多开发者。据介绍,WTF Academy是一个Web3开源学院,提供免费开源Web3技术教程,目前WTF Solidity极简教程已经更新50讲。据此前消息,WTF Academy发布习题测试和链上技能认证模块,并已开启公测。[2022/11/5 12:19:54]
Solidity被创建为一种与上述标准兼容的简单语言。它提供了:
Open Zeppelin发布智能合约库Cairov0.2.0,改进了可扩展性模式:7月6日消息,区块链安全公司Open Zeppelin发布为StarkNet编写的智能合约库Cairov0.2.0,该版本利用Cairo命名空间迭代了可扩展性模式;实施了与以太坊兼容账户合约的第一个版本;附带了安全访问和权限管理的基本构建块Access Control库;增加免受重入攻击的实用程序Reentrancy Guard等。[2022/7/6 1:54:22]
基本状态机功能(状态、访问、更新等)
无法访问不可组合的原语(例如,外部数据馈送)
合约对合约交互的接口(组合方式)
币核科技Bluehelix投资的Caitex交易所上线离岸人民币稳定币CNT:币核科技Bluehelix投资的数字合约交易平台Caitex.io上线离岸人民币稳定币CNT。
CNT是基于离岸人民币,面向全球发行的稳定、透明、安全的数字资产。CNT作为依托以太坊公链,通过足额的现金类资产为支撑,帮助人们快速、便捷的融入数字世界。
Caitex成立于2019年,成立伊始便获得Bluehelix生态基金会数百万早期投资。币核科技是领先的区块链金融信息技术服务商,致力于为客户提供专业的技术支持和服务,现阶段已经为全球超过240家知名企业提供区块链金融技术。[2020/5/20]
用于交易费用的内置gas计量
对底层虚拟机(程序集)的高性能访问
虽然现有的编程语言可以适应可组合计算,但它们需要扩展(为组合添加接口)和限制(消除所有形式的非确定性和外部访问)的组合,这很难合并。此外,在优化上其是与优化 Solidity 代码(gas 成本)完全不同的性能指标(执行足迹),这些语言的编译器就是这么被定义的。
StarkNet的可扩展性工具ZK-Rollups启用了一种被称为可证明计算的新范式。在这个范例中,我们保留了可组合计算的所有优点,但也允许程序证明它们已被执行,而无需重新运行。
这个简单想法允许我们从一个需要重新运行交易的网络(以太坊)转移到一个更好的网络(StarkNet),在这个网络中,通过验证交易已以特定结果执行的证明来验证交易,这是一个更经济的操作。
因为这个范式是如此不同,它也需要一个不同的计算模型,有效地将程序转换成数值理论方程,而不是在机器上执行它们。
我们可以用什么编程语言来实现呢?
考虑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
随着Ergo生态发展壮大,我们的社区现在可以享用几个关键dApp的功能。Ergo有一个稳定币协议,用户可以在其中铸造SigUSD和SigRSV代币.
1900/1/1 0:00:00西班牙《世界报》网站1月21日发表题为《元宇宙架构的巨额生意》的报道,报道认为,元宇宙空间设计是门大生意。全文摘编如下:虚拟现实对人类意味着什么?这个问题的完整答案唯有时间才能给我们.
1900/1/1 0:00:00不论元宇宙将来发展出什么值,函数值恒等于 Web3.0。元宇宙,常见于 2021 年大街小巷的谈论中,以 Roblox 上市和 Meta 改名两大事件最为著称,也因此向全球数亿乃至十数亿人传递了.
1900/1/1 0:00:00波卡未来是一个庞大的异构分片架构。在这个庞大的结构里。中继链是波卡的中心链。Polkadot的所有验证者的DOT都被质押在中继链上,并为中继链进行验证.
1900/1/1 0:00:00物联网是元宇宙核心底层技术,通过应用、网络和感知层共同协作,整合多种新技术而产生的新型虚实相融的互联网应用和社会形态,为元宇宙万物链接及虚实共生提供可靠技术保障.
1900/1/1 0:00:00一个家境普通、资质平平的普通人如何逆天改命,从社会底层跃升到高阶?这是从古至今,人类历史、文学、电影都在讲述的故事。战争、修仙、变异、奇缘、高人相助……总之,要有一段奇迹之旅.
1900/1/1 0:00:00