500白菜注册送网址大全
博壹把白菜大全网站 老东谈主中途突发心梗,沧州这位大夫推着轮椅跑上街头……... 博壹把白菜大全网站 第三届儒商大会丨大咖说海报④:苦守儒家文化信念,投身强省确立... 999论坛白菜大全网站多少 “七彩”旅游购物大礼包亮相2023山东省旅游发展大会... 博壹把白菜大全网站 直播预报丨2023山东省旅游发展大会开幕式将于26日16:0... 500白菜注册送网址大全 山海诗韵,青岛宥恕您!...

让建站和SEO变得简单

让不懂建站的用户快速建站,让会建站的提高建站效率!

999论坛白菜大全网站多少展示>>你的位置:500白菜注册送网址大全 > 999论坛白菜大全网站多少展示 > 500白菜注册送网址大全如 Solidity

500白菜注册送网址大全如 Solidity

发布日期:2023-03-05 13:16    点击次数:57

500白菜注册送网址大全如 Solidity

原文:A Developer’s Guide to the zkGalaxy500白菜注册送网址大全

前年夏天,Vitalik 写了一篇博文,概述了不同类型的 zkEVM(零常识以太坊假造机)。Vitalik 字据性能和兼容性来界说与衡量。

这是一个相配有用的启发式次第,以远离救济 zkEVM 的次第。然则,zkEVM 是构建零常识应用门径的系数可能次第的一个子集。对于思要利用 zk 运筹帷幄的私有属性,即直爽性、零常识和正确性的门径员来说,zkEVM 可能不是最佳的遴荐。通过讲解系数这个词开辟器具集,本文但愿提供一个指南,匡助开辟者在决策经过中遴荐合适的 zk 堆栈。

抽象复杂度的力量

在曩昔的一两年中,zk 器具有了纷乱的率先。使得平素软件的开辟东说念主员不错利用 zk 的坚强属性,而不需要深入了解令东说念主生畏的基础数学和工程。另一方面,为高级用户提供的器具激增,使 zk 众人好像极其细腻地限度 zk 堆栈。

当代软件是修复在无数的抽象层上的,以最大限制地栽培众人的坐褥力。工程中的抽象有许多上风,这些上风在某种进度上是直不雅的--采集开辟者不需要深入了解操作系统的职责旨趣。

修复邃密的、可类似使用的抽象层的要害是封装一个层的复杂性,然后为堆栈中更高的层提供简短但有剖判力的接口。正确的作念法是,这使得具有不同专科边界和常识的开辟东说念主员好像在系数这个词堆栈中修复有用的器具。

绝不奇怪,这些原则也适用于 zk 系统,而且这些抽象层正变得满盈老练,一个 zk 生手今天就不错开动使用它们并构建应用门径。

zk 堆栈与各层的一些器具/手艺实例

初级别的 zk 开辟

Arkworks-rs

Arkworks-rs 是一个 Rust 库的生态系统,它为 zkSNARK 应用门径的子组件提供高效和安全的竣事。Arkworks 为开辟者提供了必要的接口,以定制 zk 应用门径的软件栈,而无须再行竣事与其他现存库的共性。

在 Arkworks 之前,创建一个新的 zk 应用门径的唯一次第是重新开动构建一切。与定制的垂直整合器具比较,Arkworks-rs 的主要上风在于其活泼性水平,减少类似工程,以及减少审计职责。Arkworks 组件之间合理的接口线允许升级的速率,不错使堆栈在 zk 手艺快速立异的经过中保抓关系性,而不会迫使团队重新开动重建一切。

优点

通过模块化竣事活泼性

减少类似代码

裁汰工程资本

减少审计/bug 的名义积

无需要紧重构即可升级任何组件

易于在快速发展的 zk 环境中试验新原语

缺陷

需要深入了解完整的软件堆栈

如果莫得正确领路,太多的限度会导致脚枪

细腻限度需要堆栈系数级别的专科常识。

Arkworks 确乎提供了一些合理的默许建设。

zk 边界专用言语(DSL)

为了创建一个对于某些运筹帷幄的讲解,开头这个运筹帷幄必须以一个 zkSNARK 系统不错领路的表情来抒发。一些特定边界的言语照旧创建了编程言语,允许应用开辟者以这种形状抒发他们的运筹帷幄。这些言语包括 Aztec Noir、Starknet 的 Cairo、Circom、ZoKrates 和 Aleo 的 Leo 等等。底层的讲解系统和数学细节一般不会清晰给应用开辟者。

开辟者的劝诫

zkApp 的开辟者必须熟练地用特定边界的言语编写门径。其中一些言语看起来很像咱们熟悉的编程言语,而其他言语可能十分难学。让咱们来分析一下其中的几个。

Cairo - Starkware DSL 对于在 Starknet 上构建应用门径是必要的。编译成 Cairo 特有的汇编言语,可由 Cairo zkVM 解释。

ZoKrates - ZoKrates 是一个得志 SNARK 常见需求的器具包,包括一种编写电路的高级言语。ZoKrates 在弧线、讲解决策和后端方面也有一些活泼性,允许开辟者通过简短的 CLI 参数进行热交换。

Circom — Circom 是一种用于构建电路的专用言语。咫尺,它是坐褥电路的施行言语。该言语不是止境相宜东说念主体工程学,使开辟者尖锐地坚忍到正在编写电路。

Leo——Leo 被开辟为 Aleo 区块链的言语。Leo 有一些类似 Rust 的语法,格外用于区块链里面的情状治疗。

Noir – 受 Rust 启发的语法。围绕 IR 而不是言语自己构建,这意味着它不错有一个随性的前端。

适用于谁

任何思要在其应用门径中利用 zk 的私有属性的应用门径开辟东说念主员。

其中一些言语照旧过数十亿好意思元的实战测试,如在 ZCash 和 Starknet 等链的流动。天然咱们将谈判的一些名堂还莫得十足准备好用于坐褥,但使用其中一种言语编写电路是咫尺最佳的战略,除非需要像 Arkworks 这么的器具包提供的更细腻的限度。

优点

用户不需要了解底层的 zk 细节

有一定的坐褥劝诫,今天就不错使用

可在链上考据

生态系统不成知

缺陷

用户需要学习一个新的 DSL

围绕这些言语的器具和救济齐是孤独的

对底层讲解堆栈真实莫得限度权(咫尺)。

zkEVMs

zkEVM 的主要指标是选用 Ethereum 情状治疗,并使用直爽的零常识正确性讲解来讲解其灵验性。正如 Vitalik 的帖子中提到的,有许多次第不错作念到这小数,并有私密的各异和相应的衡量。

系数这些次第之间的主要手艺区别在于,在言语栈中,运筹帷幄究竟在那儿被治疗为不错在讲解系统中使用的表情(算术化)。在一些 zkEVM 中,这发生在高级言语中(Solidity、Vyper、Yul),而其他方端正试图将 EVM 一直讲解到操作码级别。这些次第之间的衡量在 Vitalik 的帖子里有真切的敷陈,但我将用一句话来综合它。在堆栈中发生的治疗/算术化越低,性能耗损就越大。

高操作资本

为假造机创建讲解的主要挑战是,电路的大小与每条践诺辅导的系数可能辅导的大小成比例地增长。这是因为电路不知说念在每个门径中会践诺哪些辅导,是以它需要救济系数的辅导。

在通用电路中,每条践诺的辅导的资本与系数救济的辅导之和成正比。

这在实践心仪味着,你要为最崇高的辅导支付(性能资本),即使你仅仅在践诺最简短的辅导。这导致了通用性和性能之间的告成衡量--当你为通用性增多更多的辅导时,你要为你讲解的每一条辅导付出代价!这便是通用电路的压根问题。

但跟着 IVC(增量可考据运筹帷幄)等手艺的新发展,这种截止不错通过将运筹帷幄分红更小的块来改善,每个块齐有格外的、更小的子电路。

今天的 zkEVM 竣事使用不同的战略来缓慢这个问题的影响......举例500白菜注册送网址大全,zkSync 去掉了更崇高的操作(主淌若加密的预编译,如哈希值,以过火他一些操作)

zkEVM 的理思客户是那些需要比L1以太坊上的交往低廉几个数目级的智能合约应用。这些开辟东说念主员不一定有专科常识或带宽来重新开动编写 zk 应用门径。因此,更可爱用熟悉的更高级的言语来写应用门径,如 Solidity。

宽大开辟团队

彭胀 Ethereum 是咫尺 zk 手艺最需要的应用。

zkEVM 是一个以太坊彭胀不竭决策,不错无摩擦地缓解截止L1 dApp 开辟者的拥挤问题。

开辟者体验

zkEVM 的指标是救济一个尽可能接近现时以太坊开辟的开辟者体验。十足救济 Solidity 意味着团队无须修复和顾惜多个代码库。这在某种进度上是不切施行的,因为 zkEVM 需要交换一些兼容性,以便好像在合理的时天职生成合理范围的讲解。

提起郑天亮,或许很多人都不太熟悉,但她主持的《东方时空》《午夜新闻》《新闻直播间》《朝闻天下》等栏目大家都非常熟悉。

zkSync 与 Scroll

zkSync 和 Scroll 之间的主要区别在于它们在堆栈中的何处/何时践诺算术运算——也便是说,它们从平素 EVM 构造治疗为 SNARK 友好暗示的位置。对于 zkSync,当他们将 YUL 字节码治疗为他们我方的自界说 zk 辅导集时,就会发生这种情况。对于 Scroll 来说,这发生在终末,当施行的践诺追踪用施行的 EVM 操作码生成时。

因此,对于 zkSync,在生成 zk 字节码之前,一切齐与与 EVM 交相互同。对于 Scroll,在践诺施行的字节码之前,一切齐是相同的。这是一个私密的各异,它以性能疏浚救济。举例,zkSync 不会像开箱即用的调试器那样救济 EVM 字节码器具,999论坛白菜大全网站多少展示因为它是十足不同的字节码。天然 Scroll 很难从辅导集会得回邃密的性能,但这并不是为 zk 策画的。这两种战略各成心弊,最终有许多外生成分会影响它们的相对见效。

zkLLVM 电路编译器

正如详备谈判的那样,开辟 zk 应用门径有无数不同的遴荐,系数这些齐有我方私有的衡量。此图表将匡助转头此决策矩阵,以便字据您的 zk 专科常识水顺心性能需求,遴荐最适合该职责的器具。这不是一个完整的列表,会跟着 zk 的发展更新。

zkLLVM 被策画为现存 LLVM 基础设施的彭胀,LLVM 基础设施是一个行业轨范器具链,救济许多高级言语,如 Rust、C、C++ 等。

何如运行

思要讲解某些运筹帷幄的用户只需用 C++ 竣事该运筹帷幄即可。zkLLVM 选用其修改后的 clang 编译器(现时为 C++)救济的高级源代码,并生成电路的一些中间暗示。此时,电路已准备好进行考据,但用户可能但愿字据一些动态输入来考据电路。为了处理动态输入,zkLLVM 有一个称为分派器的附加组件,它生成一个分派表,其中包含系数输入和见证,这些输入和见证已十足预处理并准备好与电路沿路进行讲解。

这两个组件是生成讲解所必需的。表面上,用户不错我方生成讲解,但由于这是一项有点专科化的运筹帷幄任务,可能需要费钱请领有硬件的其他东说念主作念这件事。对于这种交往敌手发现机制,=nil;Foundation 还修复了一个“讲解市集”,讲解者竞相为支付给他们的用户讲解运筹帷幄。这种摆脱市集动态将导致讲解者优化最有价值的讲解任务。

衡量轻重

由于每个要讲解的运筹帷幄任务齐是唯独无二的,而且会生成不同的电路,因此讲解者需要好像处理的电路数目是无尽的。这种强制的通用性使得单个电路的优化变得贫困。讲解市集的引入允许对市集合计有价值的电路进行专科化。如果莫得这个市集,由于这种天然的冷启动问题,劝服考据者优化该电路将是一项挑战。

另一个衡量是经典的抽象与限度。惬心选用这种易于使用的界面的用户正在撤废对底层加密原语的限度。对于许多用户来说,这是一个相配灵验的衡量,因为让密码学众人为您作念出这些决定每每更好。

优点

用户不错用熟悉的高级言语编写代码

系数的 zk 里面结构齐被抽象出来,不受用户影响

不依赖增多迥殊支拨的特定 "假造机 "电路。

缺陷

每个门径齐有一个不同的电路。难以优化。(讲解市集部分不竭了这个问题)

交换/升级里面 zk 库并非易事(需要分叉)

zkVM

zkVM 描画了系数 zk 假造机的超集,而 zkEVM 是一种特定类型的 zkVM,由于其在现在的流行,值得动作一个单独的主题进行谈判。除了定制的加密 VM 除外,还有一些其他名堂正在勤劳于构建基于 ISA 的更通用的 zkVM。

系统不错讲解不同的辅导集架构 (ISA),举例新 VM 中的 RISC-V 或 WASM,而不是讲解 EVM。勤劳于这些通用 zkVM 的两个名堂是 RISC Zero 和 zkWASM。

让咱们在这里深入了解一下 RISC Zero,以讲解这种战略是怎样职责的,以及它的一些上风/缺陷。

Risc Zero

Risc Zero 讲解生成的高级架构

RISC Zero 好像讲解任安在 RISC-V 架构上践诺的运筹帷幄。RISC-V 是一个开源的辅导集架构(ISA)轨范,照旧越来越受接待。RISC(精简辅导集运筹帷幄机)的理念是以最小的复杂性修复一个极其简短的辅导集。这意味着堆栈中较高级次的开辟者在使用这种架构竣事辅导时最终会承担更大的负荷,同期使硬件竣事愈加简短。

这种理念也适用于一般的运筹帷幄,ARM 芯片一直在利用 RISC 格调的辅导集,并开动主导迁移芯片的市集。事实讲解,更简短的辅导集也具有更大的能量和芯单方面积效果。

这个类比对于生成 zk 讲解的效果来说十分适用。正如前边所谈判的,在讲解 zk 的践诺轨迹时,你要为轨迹中每一项的系数辅导的资本之和买单,是以更简短、更少的总辅导是更好的。

怎样职责

从开辟者的角度来看,使用 RISC Zero 来处理 zk 讲解,很像使用 AWS Lambda函数来处理后端就业器架构。开辟东说念主员通过简短地编写代码与 RISC Zero 或 AWS Lambda 互动,就业处理系数后端复杂性。

对于 RISC Zero,开辟者编写 Rust 或 C++(最终是任何针对 RISC-V 的东西)。然后,系统罗致编译经过中产生的 ELF 文献,并将其动作假造机电路的输入代码。开辟者只需调用讲解,复返一个收条(包含践诺追踪的 zk 讲解)对象,任何东说念主齐不错从任何地点调用`考据'。从开辟者的角度来看,莫得必要了解 zk 是怎样职责的,底层系统处理系数这些复杂的问题。

为了救济这么一个通用接口,需要多半的支拨(在讲解大小和生成速率方面)。

需要对讲解生成手艺进行要紧纠正,以竣事对现存库的等闲救济

预建的可类似使用电路

对于一些对区块链应用或其他地点止境有用的基本和可类似使用的电路,团队可能照旧为你构建和优化了这些电路。你只需为你的特定用例提供输入即可。举例,Merkle 包容讲解是加密货币应用中广阔需要的东西(空投清单、龙卷风现款等)。动作一个应用门径的开辟者,你老是不错再愚弄用这些经过实战练习的合约,仅仅在上头修改一些层,以创建一个私有的应用门径。

举例,Tornado Cash 的电路不错再行用于私东说念主空投应用门径或私东说念主投票应用门径。Manta 和 Semaphore 正在构建一个完整的器具包,包括像这么的通用电路孤寒具,不错在 Solidity 合约中使用,而无需了解或不了解底层的 zk moon 数学。

正如详备谈判的那样,开辟 zk 应用门径有无数不同的遴荐,系数这些齐有我方私有的衡量。

此图表将匡助转头此决策矩阵,以便字据您的 zk 专科常识水顺心性能需求,遴荐最适合该职责的器具。这不是一个完整的列表,会跟着 zk 的发展更新。

zkGalaxy 应用开辟者指南

1. 初级 Snark 库

适用场景

需要对系数这个词讲解堆栈进行细腻限度

幸免重建人人组件

尝试讲解决策、弧线和其他初级原语的不同组合

不适用场景

寻找高级讲解接口的生手

可选用器具

Arkworks-rs

2. zk DSLs

适用场景

思使用一些久经考验的言语

需要最小的电路尺寸,惬心撤废抽象

不适用场景

需要对讲解的后端进行细腻限度(咫尺,不错为一些 DSL 交换后端)

可选用器具

Circom

Aztec Noir

Cairo

ZoKrates

Leo

3. zk 编译器

适用场景

不肯意承担通用电路的支拨

思用熟悉的言语编写电路

需要高度定制的电路

不适用场景

思要限度底层加密原语

需要一个照旧高度优化的电路

可选用器具

nil zkLLVM

4.zkEVM

适用场景

有一个照旧在 EVM 上运行的 dApp

需要为用户提供更低廉的交往

但愿将部署到新链的职责量降到最低

只温雅 zk(压缩)的直爽性

不适用场景

需要齐备的 EVM 等效性

需要 zk 的心事属性

有一个非区块链用例

可选用器具

zksync 2.0 

Polygon zkEVM

Scroll

Starknet

5.zkVM

适用场景

思用高级言语编写代码 

需要讲解该践诺的正确性 

需要向考据者隐蔽该践诺的一些输入信息

真实莫得 zk 方面的专科常识

不适用场景

在蔓延极低的环境中(它仍然很慢)。

有一个纷乱的门径(咫尺)。

可选用器具

RISC Zero

zkWASM

6. 预建的可类似使用的电路

适用场景

有一个依赖常见的 zk 构建模块的智能合约应用,比如 Merkle 包容。

对 zk 底层的东西真实莫得专科常识

不适用场景

有高度专科化的需求

用例不被预建电路所救济 

可选用器具

Manta Network

Semaphore

论断

zk 处于多项手艺的前沿,构建它需要对数学、密码学、运筹帷幄机科学和硬件工程有真切的领路。然则,跟着每天齐有越来越多的抽象层可用,应用门径开辟东说念主员无需博士学位即可利用 zk 的坚强功能。跟着时分的推移,通过对堆栈的系数级别进行优化,讲解时分的截止会徐徐灭亡,咱们可能会看到针对平素开辟东说念主员的更简短的器具。

致谢

本文编译职责得回 DAOrayaki 社区的救济与反映500白菜注册送网址大全。



首页 关于500白菜注册送网址大全 产品中心 博壹把白菜大全网站资讯 999论坛白菜大全网站多少展示 联系我们

Powered by 500白菜注册送网址大全 @2013-2022 RSS地图 HTML地图