自2020年以来,Ethereum的扩张路线图一直围绕「Rollup」展开:使用证明来继承Ethereum安全性的独立执行环境。
经过多年的发展,Rollup终于完成了部署,并正在获得采用。Arbitrum的王牌optimisticRollup已经上线近一年,期间有价值超过27亿美元的资产存入跨链桥,而Optimism则紧随其后。Loopring和dydX等针对于特定应用程序的零知识Rollup也得到了广泛使用,许多竞争性的通用零知识Rollup将在未来几个月内推出。
尽管Rollup如今正在快速迅速,但一些人还是担心其费用居高难下。
事实上,Arbitrum和Optimism的交易费用仍然显著高于Solana和Polygon等「低费用」链。
那么,是什么阻碍了这些Rollup的发展?
Rollup经济学
为了理解交易费用,我们首先需要分清区块链交易所产生的各种成本:
?执行
这是一个网络中所有节点执行交易并验证结果是否有效所需的成本。
?存储/状态
这是用新值更新区块链「数据库」的成本。
?数据可用性
为了让区块链保持去信任化并可被所有人验证,区块链必须确保所有关于交易的相关数据与所有网络参与者公开共享。从本质上讲,这就是要保证世界上每个人都能看到你的交易。如果没有这种保证,各种攻击就都有可能发生。
ParaSpace新官推:核心开发者正申请重获多签资格以推进协议升级:5月12日消息,NFT借贷协议ParaSpace新官推“Paraspace_Official”(由创始人Yubo及核心开发团队创立)表示:“鉴于前几日的混乱事件为用户带来负面影响,核心团队计划于近期公开内部计划,目前,我们正在部署3个多数协议升级。这些将优化协议利率、gas费优化、时间锁升级、多链部署。由于多重签名控制,这些部署暂停。目前正为核心开发者申请重新获得多签资格以继续推进这些工作。”[2023/5/12 14:59:14]
正如我们所见,数据可用性是当今区块链的关键瓶颈之一。
Rollup:将执行转移至链外
Rollup的主要进步在于,它将区块链的执行和存储转移到了「链外」,即一组有限的节点上进行。与其让网络中的每个Ethereum节点执行所有交易或存储每条更新,我们可以直接把这个任务委托给Rollup运营商。
不过,这是否意味着我们需要信任这群操作员?难道这不是中心化吗?
Rollup会使用各种证明类型来继承Ethereum的安全性。OptimisticRollup允许单一诚实的实体提交一个「欺诈证明」,并为一个行为不端的序列器赢得奖励,而ZKRollup使用零知识证明来证明Layer-2链已经正确更新。
数据可用性的权衡
将执行从主链转移可以大大降低执行和状态存储的成本,不过Rollup仍需要将他们的数据发布到Layer-1链上以确保数据的可用性。从本质上讲,Rollup支付低廉的Layer-2执行和存储成本,但仍需要支付Layer-1的费用来发布他们的数据。
这可以在ArbiScan区块浏览器中任何交易的「AdvancedTxInfo」标签上看到。交易费用由发布到L1的调用数据成本、L2上使用的计算和L2存储构成,而在几乎所有的交易中,L1的调用数据都是费用的主要来源。也就是说,Rollup上最需要解决的问题便是将数据发布到Layer-1的费用问题。
前门罗币主要开发者Riccardo Spagni将于7月5日向美国法警局自首:金色财经消息,据周四提交给田纳西州中区的法庭文件,门罗币(Monero)前主要开发者、表情符号用户名项目Yat联合创始人Riccardo Spagni将于7月5日向美国司法部下属部门法警局自首,以便被引渡到南非,他将在南非面临欺诈指控。南非官员指控Spagni对他的前雇主Cape Cookies进行了10万美元的发票欺诈。在2021年初面临审判时,Riccardo Spagni从南非逃往美国,随后于8月份在田纳西州Nashville被捕。(cointelegraph)[2022/7/1 1:43:20]
数据可用性的未来
虽然数据可用性对于Rollup来说仍是一大瓶颈,但随着时间推移这种情况也会得到缓解。
Ethereum的升级,如Proto-Danksharding和最终的完全Danksharding将大大降低向Ethereum发布数据的成本。此外,Celestia这样的项目旨在提供独立的链,而这些链是专门为提供廉价的数据可用性而建立的。
从长远来看,Danksharding和Celestia这样的系统将降低数据可用性成本并增加其丰富性,同时将问题抛回到执行层面。然而,这些解决方案还需要时间才能完全成熟:Celestia还有几个月的时间才会发布其主网,而在Ethereum能够增加像Proto-Danksharding这样的数据可用性升级之前,可能还需要一年多的时间。
调用数据压缩
数据压缩是一个比计算机本身还要古老的领域。莫尔斯电码发明于1838年,是已知最早应用数据压缩的实例。然后,计算机的使用加速了人们对于数据压缩的研究,于是上世纪50年代哈夫曼编码这样的算法就发明了出来。
VeChain基金会:将向迁移至VeChain的Terra开发者提供3万美元资助:5月17日消息,VeChain(唯链)基金会在推特上表示,将向有意迁移至VeChain上的Terra开发者提供3万美元资助。[2022/5/17 3:22:07]
鉴于Rollup的执行成本低廉,但数据可用性成本昂贵,这些团队一直在将数据压缩算法整合到他们的协议当中。Optimism已经将Zlib压缩算法整合到他们的Rollup中,而Arbitrum即将推出的Nitro升级版则使用了brotli压缩算法。
注意:这个实验可能是在Nitro发布之前仓促完成的,以便在未压缩的Arbitrum调用数据上进行实验。
数据压缩算法肯定是有用的工具,有助于降低这些调用数据的成本。然而,压缩区块链交易是一项艰巨的任务:数据压缩的作用是寻找相同的模式并缩短它们。然而,交易中充满了地址、哈希值和签名,对于这些压缩算法来说,它们本质上是「随机数据」,不具有相似性。
只有当开发者开始关心如何减少他们应用程序中的调用数据,该类数据的成本才能真正降低。2020-2021年的天价Gas价格迫使开发者优化他们的代码,以尽量减少执行和状态存储。
当我们过渡到L2世界时,调用数据将从最便宜的资源变成最昂贵的资源,因此开发者必须再次学习这些新的优化方案。
分析 | EIDOS挖矿攻击分析:开发者上线CPU代付工具应自查潜在安全风险:昨天晚间19:04-23:29之间,PeckShield安全盾风控平台DAppShield监测到黑客向EOS竞猜类游戏BigGame发起连续攻击,利用其新推出的CPU代付功能进行恶意挖矿,致使其CPU资源被耗尽,共计获得1,993个EIDOS代币。PeckShield安全人员分析发现,BigGame新上线的CPU代付功能,存在可劫持转账通知发起内联操作的缺陷,使得其CPU可被恶意控制。随着EIDOS的持续火热,不少数字钱包或DApp都相继开发了一键挖矿功能,通过智能化程序帮助用户自动实施转账操作,但一旦存在潜在安全风险的话,该辅助工具便会成为攻击者的帮凶,致使普通用户体验受到伤害。PeckShield在此提醒广大开发者,若已上线CPU代付功能的话应自查潜在安全风险,避免因恶意攻击造成普通用户使用体验受损,必要时可寻求第三方安全公司协助,帮助其完成新功能上线前攻击测试及基础安全防御部署。[2019/11/6]
实验:我们可以将一次简单的Token传输压缩到什么程度
现在让我们在Arbitrum上做一个实验:我们可以将一个简单的Token传输所需的调用数据压缩到什么程度?这些优化能在多大程度上降低交易费用?
实验设计与控制组交易
为了进行我们的实验,我们将建立一个简单的智能合约,将一个Token从交易发送方转移到任何给定的地址。
这个智能合约确实需要用户在发送我们的实际测试交易之前,先发送一个approve()交易。由于这个限制,用户可能不会想用这个系统进行Token转移。然而,本实验中用到的节约成本方法也可以应用于其他合约。
在实验开始时,我们将发送一个「控制」交易以获得基准成本,它会调用一个简单的Solidity函数,用于传递Token地址、接收者地址和要转移的Token数量。
动态 | 美国金融科技公司Square聘请三名区块链技术开发者加入其加密货币团队:据TheBlock消息,美国区块链概念股、金融科技公司Square19日宣布,聘请Valentine Wallace、Jeffrey Czyz和Arik Sosman加入Square的加密货币开发者团队Square Crypto。其中Wallace来自旧金山比特币闪电网络技术开发公司Lightning Labs,Czyz来自谷歌,Sosman来自Facebook的加密货币项目Libra。在这三人加入后,Square Crypto完成了初始开发者团队的筹建。今年6月Square的CEO Jack Dorsey称,Square Crypto可能招募五名工程师和一名设计师。如果组建五个人的团队专门做比特币的代码审核,可能极大推动社区,加快开发速度。[2019/9/20]
我们的测试交易使用了576,051个ArbiGas,总费用为0.43美元。
数据删减
用于对照组的调用数据有很多我们可以剥离出来的不必要数据。首先,我们需要删除所有的零,这些零只是用于数据填充。虽然它们非零字节更便宜,但仍会产生成本,所以我们需要将其删除。
开头还有一个4字节的函数签名,它是我们试图调用哪个Solidity函数的标识符。我们可以删除这个数据,让我们的代码推断出我们所要采取的行动。
经过这两步优化之后我们已经将字节码从100减少到43了。这样一来,我们的测试交易使用了494,485ArbiGas,花费0.37美元。
「助手」合约
现在我们的大部分数据是由调用数据中的两个地址组成的:一个是我们要转移的Token地址,另一个是转移的接收地址。
然而,我们可以假设大多数用户都在转移同样的几种Token。所以,从调用数据中删除整个Token地址的其中一个方法是为该Token部署一个特殊的「助手」合约。如果我们可以把交易发送给这个助手,就完全避免了发送Token地址的必要。
这样我们就把数据字节码减少到了23字节,测试交易使用了457,546ArbiGas,成本为0.34美元。
地址查询表
上一阶段我们用「助手合约」从调用数据中删除了一个地址,但是我们的调用数据中仍包含有另一个地址。
我们是否可以可以找到另一种更可靠的「压缩」地址方法呢?
值得庆幸的是,Arbitrum有一个名叫「地址表注册」的内置合约,我们可以用它来缩短我们的调用数据。
这个合约本质上是一个「电话簿」,可以将20字节的Ethereum地址转换为简单的整数。想象一下,你的朋友有一本传统的电话簿:与其把你的整个电话号码读给他们听,不如直接说「我是电话簿第200页上的第4个电话号码」,然后让他们查到你的号码。
因此,我们可以制定一个合约并用「地址索引」来代替完整的地址,并在内部查询到它。
这样我们既省去了Token地址又省去了接收地址,从而将将调用数据减少到9字节。如此一来,我们的测试交易使用了428,347ArbiGas,成本为0.32美元。
方法合并
最后,让我们把所有的方法整合到一起:
?移除数据填充与函数选择器
?使用辅助合约来删除常见的地址
?使用Arbitrum地址表来缩短其他地址
全部加在一起,我们的调用数据大小现在只有6个字节了。最后的测试交易使用了426,529ArbiGas,花费0.32美元。
有损压缩
我们刚刚谈到的所有压缩方法都属于「无损压缩」,即压缩后的输出包含与原始输入相同的所有数据。
但就像照片和视频文件通常会使用「有损压缩」算法来删除不必要的信息一样,我们也可以在大多数情况下删除不必要的数据。
我们可以通过缩短数字来去除不必要的精度。例如,ERC-20Token往往有着18位小数的精度,但大多数用户通常只关心小数点后4位。为此,我们可以建立一个合约,默认接受小数点后8位的数字并乘以10的10次方,并为需要更多精度的用户提供相应的辅助功能。
同样,日期通常表示为「1970年1月1日以来的秒数」。合约可以通过设定的不同的时间单位,如分钟、小时或天来减少这个整数的大小,并可以设置自己的「纪元」,例如,2015年1月1日。
经验总结
总之,调用数据已经从EthereumL1上最便宜的资源,变成了EthereumRollup上最昂贵的资源。Proto-Danksharding和Celestia这样的数据可用性技术最终会解决这一问题,但二者都还没有上线,而且数据可用性变得廉价且普遍可能还需要几年时间。
因此,区块链开发者需要非常注意他们交易所需的调用数据数量,因为这对终端用户的交易费用会产生重大影响。
这篇文章概述了一些可用于减少调用数据的技术方法,我相信随着越来越多的「优化大军」将注意力转向Layer2,此类方法将变得愈发丰富。
原文标题:《CrunchingtheCalldata》
原文作者:DavidMihal
原文编译:Kxp,BlockBeats
来源:区块律动
原文:《SolutionstoDelayAttacksonRollups》byEdFelten,OffchainLabs联合创始人Rollup协议设计者面临的一个微妙问题是如何应对延迟攻击.
1900/1/1 0:00:00破产大戏、金融欺诈、操弄、2.5亿保释金......近期,FTX前实控人几乎以一己之力贡献了加密资产圈最引人注目的一系列年末大戏,随着其被巴哈马政府正式引渡到美国受审.
1900/1/1 0:00:00PoW、PoS、DPoS,分别代表区块链网络的三种主要记账规则,它们的作用非常大,直接关系到记账权和相关收益的分配。不夸张地说,共识机制是区块链的灵魂.
1900/1/1 0:00:00整理:饼干,链捕手2022年加密市场上充斥着太多坏消息——?5月Terra崩溃,三箭资本、Voyager等加密巨头相继暴雷.
1900/1/1 0:00:00DeFi数据1、DeFi代币总市值:353.06亿美元 DeFi总市值及前十代币数据来源:coingecko2、过去24小时去中心化交易所的交易量13.
1900/1/1 0:00:00原文:《什么是通证标准?》作者:ZubinPratap介绍通证标准是一组商定的规则,在给定区块链协议上,约定加密通证的设计、开发、行为和操作。为了使通证标准有用,它们必须被广泛采用.
1900/1/1 0:00:00