🎉 Gate xStocks 交易开启啦,现货、合约、Alpha齐上线!
📝 在Gate广场发帖,晒出你的交易体验或精彩截图,瓜分$1,000大奖池!
🎁 广场优质创作者5名,每人独享$100合约体验券!
🎉 帖文同步分享到X(推特),浏览量前十再得$50奖励!
参与方式:
1️⃣ 关注 @Gate广场_Official
2️⃣ 带 #Gate xStocks 交易体验# ,原创发帖(不少于20字,仅用活动标签)
3️⃣ 若分享到推特,请将链接提交表单:https://www.gate.com/questionnaire/6854
注:表单可多次提交,发布更多帖文可提升获奖机会!
📅 7月3日16:00—7月9日24:00(UTC+8)
详情:https://www.gate.com/announcements/article/45926
每一条体验,都有机会赢取大奖!快在Gate广场show出你的操作吧!
Polkadot弹性扩展:Web3生态中的扩展性与安全性权衡
扩展性与权衡:Polkadot与Web3生态的技术抉择
在区块链技术不断追求更高效率的今天,一个关键问题逐渐显现:如何在扩展性能的同时,兼顾安全性与系统弹性?这不仅是技术层面的挑战,更是架构设计的深层抉择。对Web3生态而言,仅仅追求更快的系统而牺牲信任和安全性,难以支撑真正可持续的创新。
作为Web3可扩展性的重要推动者,Polkadot在追求高吞吐、低延迟目标的同时是否也做出了某些牺牲?其rollup模型是否在去中心化、安全性或网络互操作性上有所妥协?本文将围绕这些问题展开,深入分析Polkadot在扩展性设计中的取舍与权衡,并与其他主流公链的解决方案进行对比,探讨它们在性能、安全与去中心化三者之间的不同路径选择。
Polkadot扩展设计面临的挑战
弹性与去中心化的平衡
Polkadot的架构依赖于验证者网络以及中继链,这是否可能在某些方面引入中心化风险?是否可能形成单点故障或控制,从而影响其去中心化特性?
Rollup的运行依赖于连接中继链的排序器,其通信使用collator协议机制。该协议完全无需许可、无需信任,任何有网络连接的人都可以使用它,连接少量中继链节点,并提交rollup的状态转换请求。这些请求会通过中继链的某个core验证,只需满足一个前提:必须是有效的状态转换,否则该rollup的状态将不会被推进。
垂直扩展的权衡
Rollup可以通过利用Polkadot的多core架构来实现垂直扩展。这项新能力由"弹性扩展"功能引入。在设计过程中发现,由于rollup区块验证并不固定在某一个core上执行,这可能会影响其弹性。
由于向中继链提交区块的协议是无需许可、无需信任的,任何人都可以将区块提交到rollup所被分配的任一core上进行验证。攻击者可能会利用这一点,将之前已经验证过的合法区块反复提交到不同core上,恶意消耗资源,从而降低rollup的整体吞吐量和效率。
Polkadot的目标是在不影响系统关键特性的前提下,维持rollup的弹性以及中继链资源的有效利用。
Sequencer的可信度问题
一种简单的解决方法是将协议设置为"有许可的":例如采用白名单机制,或默认信任排序器不会恶意行为,从而保障rollup的活性。
然而,在Polkadot的设计理念中,我们不能对sequencer做任何信任假设,因为要保持系统的"无需信任"和"无需许可"特性。任何人都应该可以使用collator协议提交rollup的状态转换请求。
Polkadot: 不妥协的解决方案
Polkadot最终选择的方案是:将问题完全交由rollup的状态转换函数(Runtime)解决。Runtime是所有共识信息的唯一可信来源,因此必须在输出中明确声明应在哪个Polkadot core上执行验证。
这种设计实现了弹性与安全性的双重保障。Polkadot会在可用性流程中重执行rollup的状态转换,并通过ELVES加密经济协议确保core分配的正确性。
在任何rollup区块写入Polkadot的数据可用性层(DA)前,由约5位验证者组成的小组会先验证其合法性。他们接收排序器提交的候选回执和有效性证明,其中包含rollup区块及相应的存储证明。这些信息将交由平行链验证函数处理,由中继链上的验证人重执行。
验证结果中包含一个core selector,用于指定应在哪个core上验证区块。验证人会比对该索引是否与自己负责的core一致;若不一致,该区块将被丢弃。
这种机制确保系统始终保持无需信任和无需许可的属性,避免排序器等恶意行为者操控验证位置,确保即使rollup使用多个core也能保持弹性。
安全性
在追求扩展性的过程中,Polkadot并未在安全性上妥协。rollup的安全由中继链保障,只需一个诚实排序器即可维持存活性。
借助ELVES协议,Polkadot将其安全性完整扩展到所有rollup,验证所有core上的计算,无需对使用核心数量做任何限制或假设。
因此,Polkadot的rollup可以在不牺牲安全性的前提下实现真正的扩展。
通用性
弹性扩展不会限制rollup的可编程性。Polkadot的rollup模型支持在WebAssembly环境中执行图灵完备的计算,只要单次执行在2秒内完成。借助弹性扩展,每6秒周期内可执行的总计算量得以提升,但计算类型不受影响。
复杂性
更高的吞吐量和更低的延迟不可避免地引入复杂性,这是系统设计中唯一可接受的权衡方式。
Rollup可通过Agile Coretime接口动态调整资源,以维持一致的安全水平。它们还需实现部分RFC103要求,以适应不同使用场景。
具体的复杂性取决于rollup的资源管理策略,这些策略可能依赖链上或链下变量。例如:
自动化方式虽然更高效,但实现与测试成本也显著上升。
互操作性
Polkadot支持不同rollup间的互操作性,而弹性扩展并不会影响消息传递的吞吐量。
跨rollup的消息通信由底层传输层实现,每个rollup的通信区块空间是固定的,与其分配的核心数量无关。
未来,Polkadot还将支持链下消息传递,由中继链作为控制面,而非数据面。该升级将使rollup间通信能力随弹性扩展一同提升,进一步增强系统的纵向扩展能力。
其他协议的权衡
众所周知,性能提升往往以牺牲去中心化与安全性为代价。但从Nakamoto系数来看,即便一些Polkadot竞争对手的去中心化程度较低,其性能表现也并不如人意。
某公链A
某公链A不采用Polkadot或以太坊的分片架构,而是以单层高吞吐架构实现扩展性,依赖历史证明、CPU并行处理和基于领导者的共识机制,理论TPS可达65,000。
一个关键设计是其预先公开且可验证的领导者调度机制:
历史证明与并行处理对硬件要求极高,导致验证节点集中化。质押越多的节点出块机会越大,小节点几乎无slot,进一步加剧中心化,也增加了被攻击后系统瘫痪的风险。
某公链A为追求TPS,牺牲了去中心化和抗攻击能力,其Nakamoto系数仅为20,远低于Polkadot的172。
某公链B
某公链B宣称TPS可达104,715,但这一数字是在私有测试网、256个节点、理想网络与硬件条件下实现的。而Polkadot在去中心化公网上已达128K TPS。
某公链B的共识机制存在安全隐患:分片验证节点的身份会提前暴露。某公链B白皮书也明确指出,这虽能优化带宽,但也可能被恶意利用。由于缺乏"赌徒破产"机制,攻击者可等待某个分片被其完全控制,或通过DDoS攻击阻断诚实验证者,从而篡改状态。
相比之下,Polkadot的验证人是随机分配、延迟揭示的,攻击者无法提前得知验证人身份,攻击需赌全部控制成功,只要有一个诚实验证者发起争议,攻击就会失败并导致攻击者损失质押。
某公链C
某公链C采用主网+子网架构进行扩展,主网由X-Chain(转账,~4,500 TPS)、C-Chain(智能合约,~100-200 TPS)、P-Chain(管理验证者与子网)组成。
每个子网理论TPS可达~5,000,类似Polkadot的思路:减少单个shard的负载以实现扩展。但某公链C允许验证者自由选择参与子网,且子网可设置地理、KYC等额外要求,牺牲了去中心化与安全性。
在Polkadot,所有rollup共享统一安全保障;而某公链C的子网没有默认的安全保证,部分甚至可完全中心化。若想提高安全性,仍需在性能上妥协,且难以提供确定性的安全承诺。
某公链D
某公链D的扩展策略是押注于rollup层的可扩展性,而不是在基础层直接解决问题。这种方式本质上并没有解决问题,而是将问题传递到了堆栈的上一层。
Optimistic Rollup
目前大多数Optimistic rollup都是中心化的(有些甚至只有一个sequencer),存在安全性不足、彼此孤立、延迟高(需等待欺诈证明期,通常几天)等问题。
ZK Rollup
ZK rollup的实现受到单笔交易可处理数据量的限制。生成零知识证明的计算需求极高,且"赢者通吃"机制易导致系统中心化。为保证TPS,ZK rollup往往限制每批次交易量,在高需求时会引发网络拥堵、gas上涨,影响用户体验。
相比之下,图灵完备ZK rollup的成本大约是Polkadot核心加密经济安全协议的2x10^6倍。
此外,ZK rollup的数据可用性问题也会加剧其劣势。为了确保任何人都能验证交易,仍需提供完整交易数据。这通常依赖额外的数据可用性解决方案,进一步推高成本和用户费用。
结语
可扩展性的尽头,不应该是妥协。
与其他公链相比,Polkadot并未走上以中心化换性能、以预设信任换效率的道路,而是通过弹性扩展、无需许可的协议设计、统一的安全层和灵活的资源管理机制,实现了安全性、去中心化与高性能的多维度平衡。
在追求更大规模应用落地的今天,Polkadot所坚持的"零信任扩展性",或许才是真正能支撑Web3长远发展的解决方案。