📢 Gate广场 #NERO发帖挑战# 秀观点赢大奖活动火热开启!
Gate NERO生态周来袭!发帖秀出NERO项目洞察和活动实用攻略,瓜分30,000NERO!
💰️ 15位优质发帖用户 * 2,000枚NERO每人
如何参与:
1️⃣ 调研NERO项目
对NERO的基本面、社区治理、发展目标、代币经济模型等方面进行研究,分享你对项目的深度研究。
2️⃣ 参与并分享真实体验
参与NERO生态周相关活动,并晒出你的参与截图、收益图或实用教程。可以是收益展示、简明易懂的新手攻略、小窍门,也可以是行情点位分析,内容详实优先。
3️⃣ 鼓励带新互动
如果你的帖子吸引到他人参与活动,或者有好友评论“已参与/已交易”,将大幅提升你的获奖概率!
NERO热门活动(帖文需附以下活动链接):
NERO Chain (NERO) 生态周:Gate 已上线 NERO 现货交易,为回馈平台用户,HODLer Airdrop、Launchpool、CandyDrop、余币宝已上线 NERO,邀您体验。参与攻略见公告:https://www.gate.com/announcements/article/46284
高质量帖子Tips:
教程越详细、图片越直观、互动量越高,获奖几率越大!
市场见解独到、真实参与经历、有带新互动者,评选将优先考虑。
帖子需原创,字数不少于250字,且需获得至少3条有效互动
以太坊优化交易确认时间探讨:SSF、Rollup与基础预确认方案对比
探讨以太坊优化交易确认时间的方案
区块链用户体验的一个重要方面是快速的交易确认时间。近年来,以太坊在这方面取得了显著进步。得益于EIP-1559和转向PoS后稳定的出块时间,用户在L1上发送的交易通常可以在5-20秒内确认,基本与信用卡支付体验相当。然而,进一步改善用户体验仍有价值,某些应用甚至需要亚秒级的延迟。本文将探讨以太坊改进交易确认时间的一些可行选项。
现有技术概述
单槽最终性
目前,以太坊的Gasper共识采用单个槽和Epoch的架构。每12秒一个槽,部分验证者对链头进行投票,32个槽内所有验证者都有机会投票一次。这些投票被重新解释为类似PBFT共识算法的消息,两个Epoch后提供强经济保证的最终性。
近年来,人们对这种方法越来越不满,主要有两个原因:一是复杂性高,槽对槽投票机制和Epoch对Epoch最终性机制之间存在诸多交互问题;二是12.8分钟的最终性时间过长。
单槽最终性(SSF)通过类似Tendermint的机制取代了这种架构,块N在块N+1生成前就能最终确定。与Tendermint的主要区别是保留了"非活跃泄漏"机制,允许链在超过1/3验证者离线时继续运行并恢复。
SSF的主要挑战是每个质押者每12秒需发布两条消息,给链带来巨大负载。虽然有一些缓解方案,如最近的Orbit SSF提案,但这并未改变用户需等待5-20秒的事实。
Rollup预确认
以太坊近年来一直遵循以rollup为中心的路线图,将L1设计为支持数据可用性和其他功能的基础层,供L2协议使用。这在生态系统内造成了关注点分离:L1专注于抗审查、可靠性和核心功能改进,L2则更直接地服务用户需求。
理论上,创建去中心化排序器网络是L2的责任。一小群验证者可能每几百毫秒就为区块签名一次,并将这些区块的头文件发布到L1。然而,要求所有L2都进行去中心化排序似乎不太公平,因为这相当于创建一个全新的L1。
基础预确认
基础预确认假设以太坊提议者是高度复杂的MEV参与者。该方法通过激励这些提议者接受提供预确认服务的责任来利用其复杂性。
其基本思想是创建一个标准化协议,用户可以支付额外费用以获得交易被包含在下一个区块的即时保证,以及对执行结果的声明。如果提议者违反承诺,将被罚没。
这种机制不仅适用于L1交易,也可为"基于"的rollups提供预确认。
未来展望
假设实现了单槽最终性,并使用类似Orbit的技术减少每个槽的验证者数量。槽时长可能增加到16秒,然后使用rollup预确认或基础预确认为用户提供更快确认。最终我们可能会得到一个epoch-slot架构。
epoch-slot架构似乎难以避免,因为就某事达成大致一致所需时间比达成最大程度"经济最终性"协议少。原因包括节点数量和节点"质量"。
在当前以太坊中,12秒槽划分为三个子槽。如果大幅减少证明者数量,可能减少到两个子槽并使用8秒槽时间。如果依靠专业化节点子集达成近似协议,可能进一步缩短到约2秒。
L2策略建议
L2目前有三种合理策略:
对某些应用,12秒出块时间已足够。对其他应用,唯一解决方案是epoch-slot架构。关键问题是以太坊原生的epoch-slot架构能做到多好,这将影响其他方案的意义。
目前我们离这些问题的最终答案还很远。区块提议者的复杂程度仍存在较大不确定性。像Orbit SSF这样的新颖设计值得进一步探索。我们拥有的选项越多,就能为L1和L2用户提供更好的服务,并简化L2开发者的工作。