当前位置: 首页 > news >正文

Layer 2盛夏已至,StarkNet如何实现价值跃迁?

5724ce5ba3539c255dd20891b717ad2b.jpeg

作者|Jason Jiang

Layer 2概念在2023年夏天迎来爆发。Coinbase、ConsenSys等加密巨头纷纷下场,其部署的原生L2解决方案Base、Linea在过去两个月内相继完成主网上线;被誉为L2 四大天王之一的StarkNet也在夏天顺利完成“量子跃迁”升级,大幅提升交易性能与效率,顺利迈入发展新阶段。

在属于L2的盛夏,欧科云链OKLink正式推出了ZK Rollup明星项目StarkNet区块链浏览器。这是OKLink上线的第30条区块链浏览器,OKLink也由此正式集齐了曾被誉为L2 四大天王的Optimism、Arbitrum、zkSync和StarkNet。据悉,OKLink后续还将推出Polygon-zk、Base等ZK系L2区块链浏览器,为所有关注和参与ZK Rollup和L2生态建设的用户提供更全面和更丰富的链上数据洞察及服务。

d4a51c231a36feb1cdc093a8698959f0.jpeg

 从上线StarkNet浏览器到账户抽象解析  

 OKLink在L2盛夏做了这些事  

作为ZK Rollup赛道中估值最高和市场占比最大的项目之一,自 2021 年 11 月主网启动以来,StarkNet生态系统已囊括诸多场景,众多钱包、DeFi、GameFi和NFT项目都构建在其区块链网络中。StarkNet生态正加速拓展并更加充满活力,被业务认为有潜力成长为L2赛道的领跑者之一。

与其他扩容项目相比,除了使用zk-STARK技术作为证明系统外(下文将进行介绍),StarkNet在数据可用性以及账户体系设计方面也有所不同。

ZK Rollup本身相较于Optimistic Rollup的一个重要优势就是拥有更高效的数据可用性。事实上,数据上链到L1主网进行验证是非常重要的:只有数据上链才能在区块链浏览器上查询每一笔交易,从而保证交易是可溯源和可验证的,进而提升区块链网络的安全性。在Plasma以及之前的状态通道这两种扩容方案中,数据和计算完全放到L2网络中,当L2网络和以太坊进行交互时,L2的所有交易数据都并不包含在内。这导致以太坊如果脱离了L2网络,就无法复原之前状态变更的情况,因此以太坊数据可用性非常依赖对L2的数据保护

StarkNet目前则提供了三种数据可用性模式,即

1、Rollup方案:账本直接发布在区块链上,保证链上数据可用性,但由于主网消耗的gas成本大部分用于数据可用性的储存,而非验证证明,所以这种方案更昂贵;

2、Validium方案:由数据可用性协会 (DAC) 确保账本安全,只有哈希值保存在链上,这种模式由于链上存储的数据量降低,成本也大幅缩减,但其牺牲了去中心化,仅适合用于非重要交易的数据可用性。

3、Volition方案:用户在发起每笔交易时都可以选择该笔交易的 DA 模式,Rollup 或 Validium,更加灵活。

由于具有更高效的数据可用性,用户可以更便捷地借助OKLink StarkNet浏览器等工具查询链上交易详情

883c7f6003f1770ff340b3b5ac254511.jpeg

除此之外,OKLink最新上线的StarkNet浏览器还能提供丰富的区块和地址信息,帮助用户快速了解StarkNet网络的实时状况。

b4f7381e17acd560d82cb4d7aed20614.jpeg

在账户体系方面,StarkNet是现阶段少数支持账户抽象的区块链基础设施目前,帐户抽象在以太坊和 StarkNet 上均可实现,但实现方式有所不同:以太坊是在不忽略外部账户(EOA)功能的情况下,通过 ERC-4337 添加帐户抽象,而StarkNet直接将帐户抽象作为核心,摆脱EOA可能会带来的影响,直接跃入每个帐户都是智能帐户的世界。

这种模式要求StarkNet的所有基础设施,包括钱包和区块浏览器,都是为帐户抽象而设计并构建的:这在所有 L1 和 L2 链中都是独一无二的;但由于只支持账户抽象,也让StarkNet用户在与其他区块链交互过程中产生困难,因为其他区块链现阶段可能还并不支持账户抽象,更多还是通过将 EOA与帐户资产链接,从而与区块链交互并拥有资产。

欧科云链OKLink浏览器是目前可提供账户抽象解析为数不多的选择,也是唯一支持查询用户操作的可视化窗口通过欧科云链OKLink多链浏览器,用户就可以像使用谷歌一样来查询账户抽象的有效信息,了解区块链上交易和合约执行的相关信息,包括交易费用、合约执行的相关信息和日志,从而更好地了解智能合约的执行情况等等。

无论是真实参与StarkNet链上交互的普通用户,还是希望未来参与空投活动的投机者,如今都可以通过OKLink提供的StarkNet浏览器查询链上交易进度,并通过多链聚合功能和多维度统计数据实现精准的账户抽象跨链交互和数据查询,这是官方浏览器所无法比拟的

9517544dad10240ff4d9b0c3810d5eb9.jpeg

StarkNet浏览器是OKLink推出的第30条区块链浏览器,也是继zkSync之后的第2条ZK Rollup浏览器。据OKLink产品经理介绍,OKLink会持续发展ZK Rollup技术创新及生态布局,后续继续推出Polygon-zk、Base等知名ZK Rollup项目的区块链浏览器。

那可能有人会问:为什么OKLink如此关注ZK Rollup及L2赛道发展?ZK技术又是如何进化到如今的水平?下面就让我们回归本源,去探究ZK Rollup被关注的背后原因。

 为什么我们要关注ZK Rollup?

随着以太坊上部署的去中心化应用(DApp)日渐增多,链上交互活动也日益频繁,拥堵的网络和高昂Gas费让扩容势在必行。常见的扩容方式有两类:一是对区块链本身进行改造的链上扩容;二是通过将计算与交易执行放在链下,由主链负责验证交易有效性和提供安全保证的链下扩容方案,也就是我们常说的L2方案。

与链上扩容相比,L2扩容能大幅降低主网局限性,且不需改变主网共识。状态通道、Plasma、侧链等都曾是L2扩容曾出现的技术方案,但如今开发者们正转向以Rollup为核心的L2扩容路线图。

所谓Rollup,是指将交易执行外包给L2,然后将多笔交易数据捆绑后进行压缩,并将它们和状态根发送到L1网络进行验证和确认。Rollup用一次性验证多笔交易提升性能,并通过向L1同步交易数据和网络状态,保证链上数据可用性的同时得到主链安全性保证。

这依旧很抽象,不妨用个形象的例子类比:

小欧在公司附近的商场办了张购物卡,并充值了2000元,每次去消费时只需要直接刷购物卡而不需要用银行卡支付。一个月后小欧不打算继续在这家商场购物,注销购物卡时余额还有200元,于是就将余额提现到自己的银行卡。


在这一个月的消费过程中,小欧的银行卡只与商场账户交互过两次,期间所有消费都在商场内部系统内完成。这种方式大幅降低银行网络所承载的结算压力,Rollup类似地也能降低主网交易压力。

在 Rollup提出前,Plasma等扩容方案不会将L2中发生的数据发送给主链储存验证,只会提交一个最终的状态结果。这就导致结果不可验证,就像是商场只向你提供最后余额,但不给你交易明细。

Rollup则会将数据提交给主链,但它会通过聪明的编码方式,最大限度地压缩数据,同时基于Rollup本身特性适当删除和缩减部分数据,只保证最终提交的数据可供所有人验证。

根据交易数据同步到L1的方式不同,Rollup通常分为ZK Rollup和OP Rollup两种方案。ZK Rollup的关键在于“质疑一切”,这与 OP Rollup 的“乐观的假设所有人都不作恶”形成对比。

回到上面的例子,ZK Rollup和OP Rollup的差别就像是:

如果小欧最后提取余额后,并没有检查明细,而等到未来某天突然察觉到不对劲时再去检查,就类似于OP Rollup;但如果小欧在提取余额时,就要求商场提供一份交易明细文件以确保余额的准确性,那就类似于ZK Rollup。

虽然OP Rollup由于技术实现难度较低且与以太坊兼容性更高,现阶段在交易体量和市场份额等方面均处于领先位置。但由于使用欺诈证明机制,OP Rollup方案的提款时间和安全性目前来看值得商榷,其成本优化相比ZK Rollup也略逊一筹。而ZK Rollup的弱点基本都属于技术问题,随着大量优秀的开发人员投入到相关研究,凭借理论中更高的安全性、更快的验证效率和更好的数据可用性,ZK Rollup或许在未来会成为更优秀的扩容选择。

7cabb0e2a52568e40ee72f76504572de.jpeg

 ZK技术的进化  

 从zk-SNARKs到zk-STARKs  

ZK Rollup是基于ZK技术落实Rollup的L2解决方案,项目间的主要差异就在于采用的ZK技术不同。目前市面上主流的ZK技术包括三类,分别是zk-SNARKs、zk-STARKs以及Bulletproofs。其中,zk-SNARKs和zk-STARKs在ZK Rollup扩容方案中都有所应用(注:Bulletproof曾被用于隐私币的设计当中)。

zk-SNARKs技术是由加州大学伯克利分校教授 Alessandro Chiesa等人于2012年在论文《From extractable collision resistance to succinct non-interactive arguments of knowledge, and back again》中提出,是最早和最受欢迎的ZK方案之一,也是目前在区块链领域应用最广泛的ZK技术。SNARKs是一种非交互性质的证明,验证者只需使用由证明者生成的 proof 即可获得验证结果。知名ZK Rollup项目zkSync等都是基于zk-SNARKs技术构建的低成本且无需信任扩容协议,用于在以太坊上进行可扩展的低成本支付。

但ZK-SNARKs存在一些问题,如该技术使用椭圆曲线密码学 (ECDSA) 进行加密,虽然ECDSA算法目前是安全的,但量子计算机的发展可能会打破其安全模型;此外,zk-SNARKs在密钥生成阶段需依靠可信设置,可能存在中心化风险。因此,2018年StarkWare联合创始人Eli-Ben Sasson在论文《Scalable, transparent, and post-quantum secure computationalintegrity》中提出了一种新的ZK技术方案:zk-STARKs。

zk-STARKs是zk-SNARKs算法的一种技术演变,解决了SNARK依赖可信设置的弱点,可以不依赖任何信任设置来完成区块链验证,从而降低启动网络的复杂性并消除任何串通风险同时,zk-STARK 使用更精简的加密方法,避免了椭圆曲线、配对和指数假设知识的需要,而是依赖散列和信息理论,因此理论上能够抵御量子攻击。

被称为L2四大天王之一的StarkNet目前采用的就是SATRK有效性证明来解决以太坊可拓展性难题。

7324a28f7bde1e32129ef96274c6c9af.jpeg

除底层技术不同外,当前ZK Rollup项目都是将交易数据生成ZKP发送到主链再被验证,项目间的直接差异更多体现在和EVM的兼容性方面。

根据改造程度和EVM兼容程度,Vitalik将目前的ZK Rollups分为以下等级:

de893302ea72948e34b8f7b5bf8260a8.jpeg

一般来讲,和以太坊/EVM兼容性越好的方案,所需的设计重构工作量越小,但后续工作中的生成ZK验证计算工作量越大。但作为当前的 ZK Rollup 赛道的两大绝对龙头项目,无论是StarkNet还是zkSync,现阶段都只属于高级程式语言等效的ZK Rollups不过,尽管StarkNet 本身并不兼容EVM,但可以通过包括 Kakarot(Kakarot 是一个用 Cairo 写的 zkEVM,是一个字节码等效 EVM 的 zkEVM)等其他方式兼容以太坊,从而降低开发难度。

总结

ZK技术可能是我们这个时代最被低估的技术之一,与铺天盖地的人工智能和大数据技术相关的新闻宣传不同,ZK技术至今少有人问津。但尽管如此,这项技术仍然是一项伟大创新,因为它为我们在个人信息无处藏身的大数据时代带来了宝贵的隐私保障。而作为当前ZK技术在区块链领域的重要应用方向,ZK Rollup还有望解决限制区块链大规模应用的最大难题,让更多Web3创新能在现实中的复杂商业环境中得到广泛应用。

相关文章:

Layer 2盛夏已至,StarkNet如何实现价值跃迁?

作者|Jason Jiang Layer 2概念在2023年夏天迎来爆发。Coinbase、ConsenSys等加密巨头纷纷下场,其部署的原生L2解决方案Base、Linea在过去两个月内相继完成主网上线;被誉为L2 四大天王之一的StarkNet也在夏天顺利完成“量子跃迁”升级&#x…...

KaiwuDB 受邀亮相 2023 中国国际“软博会”

8月31日,第二十五届中国国际软件博览会(以下简称“软博会”)在天津盛大开幕。KaiwuDB 受邀亮相展会,围绕“塑造软件新生态,赋能发展新变革”主题,重点展示自研分布式多模数据库及各大行业解决方案&#xff…...

RS-485/RS-422收发器电路 DP3085 国产低成本替代MAX3085

DP3085是5V、半双工、15kV ESD 保护的 RS-485/RS-422 收发器电路,电路内部包含一路驱动器和一路接收器。 DP3085具有增强的摆率限制,助于降低输出 EMI 以及不匹配的终端连接引起的反射,实现 500kbps 的无误码数据传输。 DP3085芯片接收器输入…...

R-which函数(带有arr.ind参数)

目录 一、which()函数 二、元素位置 一、which()函数 which()函数是R语言中的一个基础函数,用于返回满足指定条件的元素的位置或索引。 语法:which(x, arr.ind FALSE, useNames TRUE) 参数: - x:一个向量、数组或矩阵&#x…...

单片机通用学习-什么是时钟?

什么是时钟? 时钟是同步单片机系统各个部件工作时序的最小时间单位,时钟通过 CPU 控制,产生其他与时钟保持一定关系的同步控制信号,协调各部件的工作时序,没有时钟系统就崩溃了。 如 CPU 与存储器(RAM&am…...

PCL入门(二):初识点云数据

目录 1. 点云数据2. 对点云数据的简单操作3. 结果 1. 点云数据 在pcl里面,定义了很多点云数据类型,比如PointXYZ、PointXYZI、PointXYZRGBA等等,每一个都可以看做是点云的一个点的数据。而整个点云的数据类型被定义为PointCloud。 以pcl::P…...

LeetCode 面试题 03.01. 三合一

文章目录 一、题目二、C# 题解 一、题目 三合一。描述如何只用一个数组来实现三个栈。 你应该实现push(stackNum, value)、pop(stackNum)、isEmpty(stackNum)、peek(stackNum)方法。stackNum表示栈下标,value表示压入的值。 构造函数会传入一个stackSize参数&#x…...

【WebSocketIndexedDB】node+WebSocketIndexedDB开发简易聊天室

序幕介绍: WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。 讲人话就是说:WebSocket 使得客户端和服务器之间的数据交换变得更加简单,在 WebSocket API 中,浏览器和服务器只需要完成一次握手&#x…...

【01】弄懂共识机制PoW

基于工作量证明机制的共识机制PoW(Proof of Work) 特点就是多劳多特 共识过程 一个区块链系统中,交易历经多个步骤才能得以上链,并且需要经过多个节点的验证。以下是这些步骤的详细叙述: 交易进入交易池(内…...

QT C++ 基于TCP通信的网络聊天室

一、基本原理及流程 1&#xff09;知识回顾&#xff08;C语言中的TCP流程&#xff09; 2&#xff09;QT中的服务器端/客户端的操作流程 二、代码实现 1&#xff09;服务器 .ui .pro 在pro文件中添加network库 .h #ifndef WIDGET_H #define WIDGET_H#include <QWidget>…...

SpringMVC入门详细介绍

一. SpringMVC简介 Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架&#xff0c;通过把Model&#xff0c;View&#xff0c;Controller分离&#xff0c;将web层进行职责解耦&#xff0c;把复杂的web应用分成逻辑清晰的几部分&#xff0c;简化开发&a…...

R3LIVE源码解析(9) — R3LIVE中r3live_lio.cpp文件

目录 1 r3live_lio.cpp文件简介 2 r3live_lio.cpp源码解析 1 r3live_lio.cpp文件简介 在r3live.cpp文件中创建LIO线程后&#xff0c;R3LIVE中的LIO线程本质上整体流程和FAST-LIO2基本一致。 2 r3live_lio.cpp源码解析 函数最开始会进行一系列的声明和定义&#xff0c;发布的…...

如何高效的解析Json?

Json介绍 Json是一种数据格式&#xff0c;广泛应用在需要数据交互的场景Json由键值对组成每一个键值对的key是字符串类型每一个键值对的value是值类型(boo1值数字值字符串值)Array类型object类型Json灵活性他可以不断嵌套&#xff0c;数组的每个元素还可以是数组或者键值对键值…...

MySQL——分组查询

2023.9.4 MySQL 分组查询的学习笔记如下&#xff1a; #分组查询 /* 分组查询中的筛选条件分为两类&#xff1a;数据源 位置 关键字 分组前筛选 原始表 group by前面 where 分组后筛选 分组后的结果集 group by后面 having */ #查询每…...

thinkphp 使用 easypay 和 easywechat

easypay 是3.x easywechat 是6.x 引入&#xff1a; use Yansongda\Pay\Pay;//easypayuse EasyWeChat\MiniApp\Application as MiniApp;//easywechat use EasyWeChat\Pay\Application as Payapp;//easywechat public function suborder(){$order [out_trade_no > time(…...

无涯教程-JavaScript - DVARP函数

描述 DVARP函数通过使用列表或数据库中符合您指定条件的记录的字段(列)中的数字,基于整个总体计算总体的方差。 语法 DVARP (database, field, criteria)争论 Argument描述Required/Optionaldatabase 组成列表或数据库的单元格范围。 数据库是相关数据的列表,其中相关信息的…...

Databend 开源周报第 108 期

Databend 是一款现代云数仓。专为弹性和高效设计&#xff0c;为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务&#xff1a;https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展&#xff0c;遇到更贴近你心意的 Databend 。 多源数据目录 …...

Android-Intent实现数据传递

在activityA中使用putExtras(bundle)传递数据&#xff0c;在activityB中使用getExtras()获取数据 MainActivity.java及其xml package com.example.intentactivity;import androidx.appcompat.app.AppCompatActivity;import android.content.ComponentName; import android.co…...

系统学习Linux-zabbix监控平台

一、zabbix的基本概述 zabbix是一个监控软件&#xff0c;其可以监控各种网络参数&#xff0c;保证企业服务架构安全运营&#xff0c;同时支持灵活的告警机制&#xff0c;可以使得运维人员快速定位故障、解决问题。zabbix支持分布式功能&#xff0c;支持复杂架构下的监控解决方…...

基于MediaPipe的人体摔倒检测

1 简介 1.1 研究背景及意义 现如今随着经济等各方面飞速发展&#xff0c;社会安全随之也成为必不可少的话题。而校园安全则是社会安全的重中之重&#xff0c;而在我们的校园中&#xff0c;湿滑的地面、楼梯等位置通常会发生摔倒&#xff0c;尽管有“小心脚下”的告示牌&#xf…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

大话软工笔记—需求分析概述

需求分析&#xff0c;就是要对需求调研收集到的资料信息逐个地进行拆分、研究&#xff0c;从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要&#xff0c;后续设计的依据主要来自于需求分析的成果&#xff0c;包括: 项目的目的…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中&#xff0c;我们可能会遇到一些流式数据处理的场景&#xff0c;比如接收来自上游接口的 Server-Sent Events&#xff08;SSE&#xff09; 或 流式 JSON 内容&#xff0c;并将其原样中转给前端页面或客户端。这种情况下&#xff0c;传统的 RestTemplate 缓存机制会…...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

生成 Git SSH 证书

&#x1f511; 1. ​​生成 SSH 密钥对​​ 在终端&#xff08;Windows 使用 Git Bash&#xff0c;Mac/Linux 使用 Terminal&#xff09;执行命令&#xff1a; ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" ​​参数说明​​&#xff1a; -t rsa&#x…...

关于 WASM:1. WASM 基础原理

一、WASM 简介 1.1 WebAssembly 是什么&#xff1f; WebAssembly&#xff08;WASM&#xff09; 是一种能在现代浏览器中高效运行的二进制指令格式&#xff0c;它不是传统的编程语言&#xff0c;而是一种 低级字节码格式&#xff0c;可由高级语言&#xff08;如 C、C、Rust&am…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...

根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:

根据万维钢精英日课6的内容&#xff0c;使用AI&#xff08;2025&#xff09;可以参考以下方法&#xff1a; 四个洞见 模型已经比人聪明&#xff1a;以ChatGPT o3为代表的AI非常强大&#xff0c;能运用高级理论解释道理、引用最新学术论文&#xff0c;生成对顶尖科学家都有用的…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...