shard blob transaction是什么

简介: 文章讨论了Rollup技术中数据可用性(DA)的概念,解释了为什么Rollup需要将数据上传到Layer1,并介绍了EIP-4844引入的shard blob transaction,这是一种为Rollup设计的新型交易,具有数据不可被合约访问和有保存期限的特点。

在 Rollup 的语境下, DA(Data Availability)指什么,为什么 Rollup 需要上传 DA 到 Layer1?

Nic Lin:如果目前我们已经熟悉 Layer1 这条链,那其实根本不会意识到 DA 这个问题。因为资料本身就是全都在链上,我们每个区块、每一笔交易的资料在每个节点都可以看到,所以我们根本不会意识到资料不可用这个问题。

但是,比如说 Layer1 的区块时间是固定的 12 秒、13 秒,它的 Gas limit 就像现在是 3,000 万,最多就是这样。所以如果你想扩容的话,不可能让所有 DApp 和团队都把交易在 Layer1 执行。

所以,从很早以前就讲的 Scaling solution 就是我们进到 Layer2,把执行和资料等搬到链下去,而不是在 Layer1,因为 Layer1 太贵太慢,要跟大家去竞争,资源很稀少。过去就有很多不同的扩容方案,比如 Sidechain、PlasmaRollup,中间其实有几个关键的改进,我习惯把 Sidechain、Plasma 和 Rollup 看作一个演进的路线图。

相比来说,Sidechain 现在是最不安全的,Plasma 针对 Sidechain 的改变就是它把中心化权力很大的 operator 的角色去掉并换成了智能合约。而 Rollup 针对 Plasma 解决的是资料不可用的问题。

Plasma 其实把资料都是交给 operator,operator 虽然不能随意地把钱拿走,或者说它如果做坏事的话,你可以自己离开 Plasma,这是它的优点,因为它把这些规则都写在了智能合约里面。但是如果 operator 今天把资料藏起来的话,你就不能自己来产生一些证明。比如在 Plasma 上有多少钱,因为你需要通过实际的交易资料,才能计算出现在有多少钱,但如果这些资料都在一个中心化角色手上的话,还是有攻击的风险。

Rollup 的解决方法就是把资料都上传到 Layer1,但并不在 Layer1 上去执行交易,而是把交易的执行搬到链下,即搬到 Layer2。

EIP-4844 所引入的 shard blob transaction 有什么特点?

Nic Lin:基本上 shard blob transaction 就是为了 Rollup 所设计的。由于 calldata 的目的不符合 Rollup 的目的,成本又太高,因此对 Rollup 来说,设计一个新的交易类型,专门给 Rollup 来存放他们的资料。

所以在 shard blob transaction 里面,它比一般的 transaction 多了一个 blob 栏位,用于让 Rollup 来存放它们的资料。这个 blob 有以下两个特性:

blob 的资料不像 calldata 一样能够被合约存取到;
blob 的资料有一个保存期限,它不会像 calldata 一样,只要资料存放到 calldata,所有节点就必须要永远保存它。

相关文章
|
9月前
|
缓存 前端开发 UED
React 侧边栏组件 Sidebar
本文介绍了如何使用React创建交互式侧边栏组件,涵盖基础结构、状态管理、样式设计等方面。通过`useState`钩子控制侧边栏的展开与收起,并利用CSS实现动画效果。同时,文章还探讨了响应式设计、性能优化、可访问性和路由集成等常见问题及解决方案,帮助开发者构建高效、美观且易于维护的侧边栏组件,提升Web应用的用户体验。
288 8
|
6月前
|
机器学习/深度学习 人工智能 数据可视化
1.4K star!几分钟搞定AI视频创作,这个开源神器让故事可视化如此简单!
story-flicks 是一个基于AI技术的自动化视频生成工具,能够将文字剧本快速转化为高质量短视频。开发者@alecm20通过深度学习算法,实现了从文本解析到视频合成的全流程自动化处理,支持多平台适配输出,是内容创作者和自媒体运营者的效率神器。
228 0
|
9月前
|
存储 网络协议 安全
用于 syslog 收集的协议:TCP、UDP、RELP
系统日志是从Linux/Unix设备及网络设备生成的日志,可通过syslog服务器集中管理。日志传输支持UDP、TCP和RELP协议。UDP无连接且不可靠,不推荐使用;TCP可靠,常用于rsyslog和syslog-ng;RELP提供可靠传输和反向确认。集中管理日志有助于故障排除和安全审计,EventLog Analyzer等工具可自动收集、解析和分析日志。
557 2
|
10月前
|
移动开发 JavaScript 前端开发
html table+css实现可编辑表格的示例代码
html table+css实现可编辑表格的示例代码
279 12
|
vr&ar 图形学 API
Unity与VR控制器交互全解:从基础配置到力反馈应用,多角度提升虚拟现实游戏的真实感与沉浸体验大揭秘
【8月更文挑战第31天】虚拟现实(VR)技术迅猛发展,Unity作为主流游戏开发引擎,支持多种VR硬件并提供丰富的API,尤其在VR控制器交互设计上具备高度灵活性。本文详细介绍了如何在Unity中配置VR支持、设置控制器、实现按钮交互及力反馈,结合碰撞检测和物理引擎提升真实感,助力开发者创造沉浸式体验。
679 0
|
Ubuntu Linux 持续交付
在Ubuntu 16.04上安装Docker Compose的方法
在Ubuntu 16.04上安装Docker Compose的方法
305 1
|
网络协议 Go
[golang]gin框架接收websocket通信
[golang]gin框架接收websocket通信
284 0
直接使用阿里图标SVG图片
直接使用阿里图标SVG图片
409 0
直接使用阿里图标SVG图片
|
监控 Linux 数据处理
深入了解Linux的logger命令:日志记录与监控
`logger`命令在Linux中用于向系统日志发送消息,便于记录系统事件和应用程序状态。它与`syslogd`配合,允许用户指定优先级、标识符和内容。简单易用,灵活适应不同日志需求。示例:`logger -p user.warning -t MYAPP "A warning occurred."`。注意选择合适优先级,使用有意义的标识符,并结合其他工具如`logrotate`进行日志管理。
|
容器
kubernetes的timeout问题
kubernetes+alpine+php特别容易出现访问外网/解析外网地址的时候出现超时的问题.
4771 0