在这篇文章中,我会向你介绍三个东西
StarkNet的组成部分StarkNet的工作原理StarkNet网络延迟的原因首先我要说明,文中75%以上的知识是由StarkNet开发倡导者?@barretodavid?写的文章翻译而来,剩余的25%是我增添的,有英文阅读能力的小伙伴可以自行阅读原文。
https://david-barreto.com/starknets-architecture-review/#more-4602
组成部分
StarkNet有五个组成部分。分别是在StarkNet上的Prover,Sequencer和全节点;以及部署在以太坊上的验证者和核心状态合约。接下来我将逐步解释他们的功能,需要提醒的是下文出现的交易和事务都由transaction翻译而来,根据语境进行变换。
排序器
是一个链下服务器,接收所有的事务、订单,确认并捆绑他们到区块。目前只有一个由StarkWare控制的排序器。但在未来有去中心的区块创建计划。为了让排序器确认交易,它必须使用Cairo操作系统来执行交易,这是EVM的替代品,用于用Cairo编写的智能合约。
证明者
证明者负责生成一个加密证明,以证明排序器在通过执行新区块中包含的交易得出新的全局状态时进行计算的完整性。为了让验证器生成有效性证明,它需要得到由排序器执行计算的"执行轨迹",由Cairo语言生成。
目前系统中只有一个证明者,它不仅为StarkNet生成证明,也为所有其他运行在自己的StarkExRollup上的应用程序生成证明。这就是为什么这项服务也被称为"共享证明器"或SHARP。
全节点
是运行Pathfinder客户端的机器,以记录在Rollup中执行的所有事务,并跟踪系统的当前全局状态。
全节点通过p2p网络接收这些信息。全局状态的变化和与之相关的有效性证明在每次创建新区块时都会被共享。当一个新的全节点建立后,它能够通过连接到Ethereum节点并处理所有与StarkNet相关的L1事务来重构Rollup的历史
验证者
验证者是以太坊上的一个智能合约,它从证明者那里接收新生成的证明作为L1交易并在链上进行确认。确认的结果被发送到StarkNet的核心智能合约以保存记录,并从StarkNet触发一组新的L1交易来更新链上的全局状态以保存记录。
StarkNetCore
Core是一个智能合约,每当一个新的L2区块被创建并且其加密证明被验证者成功地在链上确认时,它就会从StarkNet接收对L2全局状态的改变。
状态转换以"calldata"的形式发送,以节省多个L1事务的气体,因为单个区块的空间有限。
这些关于StarkNet的"metadata"被StarkNet的全节点解密,以便在首次同步时重建网络的历史。
工作原理
当我们在StarkNet上发起一个交易,Starknet中的排序器给交易排序,确认、出块后执行交易;StarkNet上的证明者给交易生成证明,并发送给以太坊的验证者;验证者将收到的证明作为L1交易在以太坊验证(validata),验证结果发送给同在以太坊上的StarkNetCore合约,当StarkNetCore合约确认验证者在链上成功确认其加密证明时,它都会接收对StarkNet全局状态的更改。状态事务作为“calldata”来发送,以节省L1事务gas。这些“metadata”可被StarkNet全节点解密。全节点基本扮演存储角色,状态改变,元数据,证明。记录在Rollup中执行的所有事务,并跟踪系统的当前全局状态。在有必要的时候,解密“metadata”来重构StarkNet的历史。
网络延迟
目前我们在StarkNet上的网络延迟由两个因素构成。
第一个是StarkNet固定的一分钟出块时间。
关于一分钟出块时间,StarkNet上的证明者每隔一分钟就会生成一个有效性证明,对应于过去60秒内发生的所有交易。有效性证明和该间隔期间的状态转换被提交给完整节点,每一分钟完成一次StarkNet上的结算。
简单来讲,StarkNet每一分钟出一次块,有图为证:
而每隔一小时,系统会从每分钟创建的所有有效性证明中生成一个有效性证明,并将其与该区间内发生的所有状态变化一起提交给以太坊,每小时在以太坊上完成一次结算。不过这个一小时并不需要用户等待。
第二个因素是证明生成速度。它和一分钟出块的时间是并行的。
目前StarkNet的证明生成速度慢于排序的速度,但在StarkNet之后的升级中增加了并行交易,因此可以进一步提升处理量。
总结:StarkNet的等待时间由固定的一分钟出块和证明生成速度构成。前者实际不到一分钟,后者可以随着网络升级和ZK加速硬件的推进而得到改善,这两者也是并行的。因此,StarkNet的网络延迟将会越来越低。
责任编辑:Kate
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。