Rollup Decentralization

news2025/1/6 20:06:15

1. 引言

当前的Rollup为中心化的,这并不是必须的,而是当前的选择。

2. 何为Rollup?

在这里插入图片描述
Rollup与其它L2或侧链的主要区别在于:

  • L1数据可用性

Rollup:只要L1的数据可用性存在,用户可重构L2状态,然后exit the rollup by forcing a transaction on L1。不满足该约束的系统,不能称为Rollup,只能称为其它类型的L2或者是侧链。

Rollup的安全性依赖于L1的共识和数据可用性(data availability,简称DA)。

3.何为decentralized Rollup?

在这里插入图片描述
所谓Decentralized Rollup,在于:用户不仅可force ‘exit’ 交易,还应可force the inclusion of 任意交易。实现去中心化Rollup的禁忌可能在于:

  • 用户是否需要强大的计算资源来生成ZK proof;
  • 用户是否可使用消费级硬件或短期租用便宜的服务器?
  • 是否存在一些特权角色,在很长一段时间内享有自由统治权,从而降低某个人试图被列入名单的能力,从而被推迟了30天。

禁忌越少,权利越分散,去中心化程度越高。

所谓去中心化Rollup,是指:

  • 允许多方参与网络的每个角色:如:

    • 1)Proposers:为L2交易构建rollup区块,并提交到L1。有些rollup系统也称为Sequencers。
      • 可决定哪些交易包含在L2 rollup区块中,以及交易的排序。
      • Proposers角色权利强大,可从交易中提取价值,且具备排除特定交易、应用、用户的能力。

    去中心化应支持可包含用户所有有效交易

    • 2)Provers:为Proposers提交的L2交易和区块的有效性生成SNARK证明。
      • 可决定哪些proposed区块可被转换为on-chain verified blocks,从而决定何时某block可达成on-chain verified state。
      • Provers角色可持续挂起某些依赖validity proof的交易,或者,持续挂起某些would-be on-chain blocks持续等待其parent block to be on-chain verified。

    去中心化应支持用户的所有有效交易都可被验证

    • 3)Node runners:根据on-chain(L1)data来执行交易,以持续同步rollup状态。Proposers和Provers需运行full rollup nodes来完成各自角色。而其它想运行节点的成员,如提供类似block explorer、infrastructure providers服务的成员,需持续同步链上状态。
      去中心化应支持用户可执行其所有有效交易

当前,去中心化Proprosers/Provers的实现取决于具体的Rollup协议(如,合约配置为仅支持白名单提交的区块或证明)。而运行节点通常需考虑资源,如state growth、硬件配置等,这并不由Rollup协议决定。满足合理的state growth是至关重要的,但本文不展开讨论。

4. 中心化 VS 去中心化Rollup

在这里插入图片描述
根据Aztec L2’s Centralized or Censorship Resistant - Zachary Williamson可知,当前ZK Layer2的瓶颈在于:

  • 生成证明是昂贵的,要比原生计算慢约100万倍,因此还需避免creeping centralisation。

在这里插入图片描述
当前ZK-L2的长期风险在于:

  • 1)Sequencer griefing attacks:L2交易的cost模型必须能准确track Prover compute time。
    在这里插入图片描述

  • 2)Prover liveness:Prover参与不应是零和游戏。
    在这里插入图片描述
    在这里插入图片描述

  • 3)基础设施中心化风险
    在这里插入图片描述
    在这里插入图片描述

  • 4)Prover data moats
    在这里插入图片描述
    在这里插入图片描述

现有Rollup项目分析:
在这里插入图片描述
Taiko Labs团队致力于开发完全去中心化(且permissionless)的proproser and prover set的Rollup协议。

5. 去中心化实现 以及 去中心化治理

Vitalik在What in the Ethereum application ecosystem excites me中指出:

  • 去中心化治理架构可防止内部攻击
  • 去中心化实现框架可防止强大的外部攻击

在这里插入图片描述

参考资料

[1] Twitter Rollups去中心化
[2] Taiko Labs团队2022年12月博客 Rollup Decentralization
[3] Horizen和IOHK Research团队2021年3月论文 Latus Incentive Scheme: Enabling Decentralization in Blockchains based on Recursive SNARKs
[4] A Token Model for Layer-2 Block Production
[5] 以太坊Research Against proof of stake for [zk/op]rollup leader election
[6] Scroll Decentralized zk-Rollup
[7] StarkNet Decentralization - Tendermint based suggestion
[8] Polygon zkEVM Proof of Efficiency: A new consensus mechanism for zk-rollups
[9] opsideL2 A Design of Decentralized ZK-Rollups based on EIP-4844
[10] Aztec L2’s Centralized or Censorship Resistant - Zachary Williamson
[11] Espresso Decentralizing Rollups: Announcing the Espresso Sequencer
[12] Celestia Sharing a Sequencer Set by Separating Execution from Aggregation
[13] Delendum Decentralization of ZK Rollups

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/146632.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SQL LIKE 操作符

LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。 SQL LIKE 操作符 LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。 SQL LIKE 语法 SELECT column1, column2, ... FROM table_name WHERE column LIKE pattern; 参数说明: column1, column2, ...&…

php://filter伪协议(总结)

文章目录php://filter伪协议总结php://filter伪协议介绍php://filter伪协议使用方法php://filter过滤器分类filter字符串过滤器string.rot13string.toupperstring.tolowerstring.strip_tagsfilter转换过滤器convert.base64-encodeconvert.base64-decodeconvert.quoted-printabl…

【Kotlin】空安全 ① ( Kotlin 的空安全机制 | 变量可空性 | 默认变量不可赋空值 | 声明可空类型变量 )

文章目录一、Kotlin 的空安全机制二、变量可空性1、默认变量不可赋空值2、声明可空类型变量一、Kotlin 的空安全机制 Java 中的空指针问题 : 在 Java 语言 编写的程序中 , 出现最多的崩溃就是 NullPointerException 空指针异常 , 该异常是 运行时 才爆出的 , 在 代码编写时 以…

冰冰学习笔记:C++11的新特性

欢迎各位大佬光临本文章!!! 还请各位大佬提出宝贵的意见,如发现文章错误请联系冰冰,冰冰一定会虚心接受,及时改正。 本系列文章为冰冰学习编程的学习笔记,如果对您也有帮助,还请各位…

k8s入门教程

文章导读 kubernetes,是一个全新的基于容器技术的分布式架构领先方案,是谷歌严格保密十几年的秘密武器----Borg系统的一个开源版本,于2014年9月发布第一个版本,2015年7月发布第一个正式版本。 kubernetes的本质是一组服务器集群&…

创建自己的docker镜像

dockerfile案例1导入dockerfiel以及java文件导入后第一步docker build -t javaweb:1.0 .docker build -t (名称以及对应的版本)javaweb:1.0 .(空格之后的一个点表示从当前目录开始)导入成功之后运行容器即可docker run --name web…

二十七、linux系统详解

一、Linux基础篇 1. Linux目录结构 ⑴ 基本介绍: linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录。 深刻理解linux树状文件目录是非常重要的,这里我给大家说明一下。 记住一…

Markdown生成目录结构的方法

参考文章:https://www.cnblogs.com/abc-x/p/13470575.htmlmarkdown生成目录结构的方法:示例:project│ README.md│ file001.txt │└───folder1│ │ file011.txt│ │ file012.txt│ ││ └───subfolder1│ │ file111.txt│ │ fil…

【Linux多线程编程】5. 线程锁(2)——死锁、读写锁

前言 上篇文章【Linux多线程编程】4. 线程锁(1)——互斥锁 我们介绍了线程同步的其中一种方式——互斥锁,互斥锁也可以理解为独占锁,只要有一个线程拿到该锁,其他的线程想要获取只能阻塞等待。但互斥锁的使用不当也可…

【云原生】Ceph 在 k8s中应用

文章目录一、概述二、Ceph Rook 介绍三、通过Rook在k8s中部署Ceph1)下载部署包2)部署 Rook Operator3)创建 Rook Ceph 集群4)部署Rook Ceph 工具5)部署Ceph Dashboard6)检查6)通过ceph-tool工具…

VirusTotal智能搜索itw查找从github下载的恶意Android样本

1. Introduction ITW是in the wild的缩写,VirusTotal提供了itw这个搜索关键词,可以搜到从某个url(部分url)上下载到的样本。 作者写过的其他VirusTotal智能搜索用法的文章见参考1和2. 2. itw使用 比如为了查找从github下载的恶…

Day852.Thread-Per-Message模式 -Java 性能调优实战

Thread-Per-Message模式 Hi,我是阿昌,今天学习记录的是关于Thread-Per-Message模式的内容。 Thread-Per-Message 模式,简言之就是为每个任务分配一个独立的线程。 并发编程领域的问题总结为三个核心问题: 分工同步互斥 其中&…

client-go源码学习(三):Indexer、SharedInformer

本文基于Kubernetes v1.22.4版本进行源码学习,对应的client-go版本为v0.22.4 3、Informer机制 4)、Indexer Indexer中有Informer维护的指定资源对象的相对于etcd数据的一份本地缓存,可通过该缓存获取资源对象,以减少对Kubernete…

计算Java对象大小(附实际例子分析)

对象大小如何计算 对象大小包括俩部分的内容,对象头和对象内容。(图片源于网络) 对象头 此处假设是64位的JVM 对象地址,占4个字节。对象标记,占8个字节,包括锁标记,hashcode, age 等。数组…

python 如何使用 pandas 在 flask web 网页中分页显示 csv 文件数据

目录 一、实战场景 二、知识点 python 基础语法 python 文件读写 python 分页 pandas 数据处理 flask web 框架 jinja 模版 三、菜鸟实战 初始化 Flask 框架,设置路由 jinja 模版 渲染列表数据 分页请求数据 显示详情页数据示例 运行结果 运行截图 …

[oeasy]python0040_换行与回车的不同_通用换行符_universal_newlines

换行回车 回忆上次内容 区分概念 terminal终端 主机网络中 最终的 端点 TeleTYpewriter 电传打印机终端硬件 shell 终端硬件基础上的 软件壳子 Console 控制台 主机旁边 的 控制面板 存储文件 的 时候 我 在文件里 打了回车\n系统 将0x0a存入字节 进文件换行 自动就有 回车…

航空客运订票系统(C语言,软件用的DEV)

这两天整理之前的作业代码,把自己一点一点敲出来的系统又看了一下,挑几个发出来供大家参考。想要源码、报告可以找我啦,代码的注释之前写的都是非常详细的! 但是不是无偿的啦(不坑,一杯奶茶喽,不…

Java逃逸分析(附实际例子分析)

Java逃逸分析 1. 什么是Java逃逸分析 我们知道对象一般是在堆上生成的,但这并不是绝对的。特例就是今天要说的逃逸分析。 JVM 在分析代码以后,发现一个对象在声明之后,只有在它当前声明的这个函数中调用,那么它就会将这个对象在…

《微SaaS创富周刊》第3期:GPT-3\ChatGPT、Stable Diffusion等AI模型驱动的微SaaS创意盘点

大家新年好!第3期《微SaaS创富周刊》问世啦!本周刊面向独立开发者、早期创业团队,报道他们主要的产品形态——微SaaS如何变现的最新资讯和经验分享等。所谓微SaaS,就是“针对利基市场的SaaS”,特点是一般由个人或者小团…

网络爬虫的危害与防御方法

爬虫程序是一种计算机程序,旨在通过执行自动化或重复性任务来模仿或替代人类的操作。爬虫程序执行任务的速度和准确性比真实用户高得多。爬虫程序在互联网上扮演着各种各样的角色,超过一半的网络流量是由爬虫程序产生的。有些爬虫程序非常有用&#xff0…