什么是加密领域的流水线处理?
流水线处理是一种性能优化技术:区块链系统将工作拆分为不同阶段,让系统的不同部分能够同时处理不同的交易、区块、证明或消息。
在加密货币领域,流水线处理可以提高吞吐量、降低延迟、减少硬件闲置时间,并帮助节点处理更多网络活动,同时不改变交易的基本含义。
其基本原理类似于装配线:一个阶段接收数据,另一个阶段验证数据,随后执行数据、存储数据,再由其他阶段广播结果。
每笔交易仍可能按顺序经过各个阶段,但多笔交易可以同时处于不同阶段。
例如,验证者可以在从网络接收一组交易的同时,验证另一组交易的签名,并将第三组已经执行的结果写入存储。
Solana 官方关于 Solana 流水线处理的文章将其解释为一种让网卡、CPU 核心、GPU 核心、磁盘写入和网络输出在交易处理期间持续运转的方法。
流水线处理不是代币,也不是共识机制本身,更不能保证区块链实现去中心化或安全。
理解流水线处理最简单的方式是:它让区块链基础设施同时处理多个任务的多个步骤,而不是完成一个完整任务后才开始下一个。
流水线处理为何重要
流水线处理很重要,因为区块链必须快速处理大量任务,同时保持安全性和正确性。
节点可能需要接收交易、检查签名、验证账户规则、执行智能合约代码、更新状态、存储数据、传播区块,并与其他节点通信。
如果这些任务全部依次进行、彼此毫无重叠,那么高成本硬件可能会在等待系统其他部分完成任务时闲置。
这种闲置会降低吞吐量,并延长交易确认时间。
流水线处理会将工作负载的不同阶段分配给最适合处理该阶段的硬件或软件组件,从而尽量让各项资源保持繁忙。
这对加密领域很重要,因为区块链持续面临压力,需要支持更多用户、交易、智能合约、Rollup 数据和验证者通信。
在采用更激进的扩容改动之前,流水线处理可以帮助网络更高效地利用现有硬件。
它还可以帮助节点软件避免签名验证、磁盘写入、区块传播、证明验证和交易执行等环节出现瓶颈。
不过,流水线处理必须经过谨慎设计,因为提升速度不应削弱验证、共识安全性或用户资金安全。
流水线处理如何运作
流水线处理通过将重复流程拆分为可以并发运行的阶段来实现。
在区块链交易流水线中,第一阶段可能负责接收来自网络的数据包。
第二阶段可能负责验证交易签名。
第三阶段可能检查账户锁定状态、余额、nonce、Gas 规则或费用规则。
第四阶段可能执行智能合约指令或状态转换。
第五阶段可能将结果写入存储。
第六阶段可能向其他节点广播确认、投票、区块或账本条目。
流水线允许不同交易同时处于不同阶段,而不是等一笔交易完成所有阶段后才开始处理下一笔。
流水线的最大吞吐量通常受最慢阶段限制。
如果签名验证速度较慢,那么除非对签名验证进行优化或并行处理,否则即使其他阶段提速,整体改善也不会太大。
因此,区块链工程师会先研究瓶颈,再决定在哪些环节使用流水线处理最有效。
流水线处理与交易处理
交易处理是加密领域中最容易看到流水线处理的环节之一。
交易不会仅因用户签署了它就自动被接受。
节点必须检查签名是否有效、交易格式是否正确、账户余额是否充足、nonce 或近期区块哈希是否有效、指令是否符合协议规则,以及状态更新是否符合网络共识规则。
Solana 官方交易文档说明,交易包含指令、签名和近期区块哈希;所有指令会一并处理,因此交易要么以原子方式整体成功,要么整体失败。
流水线可以将交易处理过程拆分为接收、去重、验证、调度、执行、提交和广播等阶段。
这让交易处理更容易扩展,因为每个阶段都可以分别衡量和改进。
如果网络接收交易的速度超过签名验证速度,签名验证就会成为瓶颈。
如果执行很快但磁盘写入很慢,存储就会成为瓶颈。
如果区块传播缓慢,验证者之间可能会更长时间地存在分歧,或浪费时间处理过时信息。
流水线通过将复杂流程拆分为清晰可见的阶段,帮助发现这些瓶颈。
流水线处理与 Solana
Solana 是最知名的、与流水线处理相关的区块链案例之一。
Solana 的流水线设计与其交易处理单元(Transaction Processing Unit,通常简称 TPU)有关。
Solana 的流水线处理文章介绍了多个阶段,例如在内核层获取数据、在 GPU 层验证签名、在 CPU 层进行 Banking 处理,以及在内核层执行写入。
其目的是让不同硬件组件保持活跃,而不是等待某个组件完成交易批次中的所有工作。
签名验证尤为重要,因为许多加密货币交易在被接受之前都需要经过数字签名检查。
如果某项工作高度适合并行处理,且不依赖共享状态,那么将其交由 GPU 处理可能会有所帮助。
执行和账户状态更新可能需要采用不同的处理方式,因为智能合约和账户可能会在交易之间产生依赖关系。
Solana 对流水线处理的应用说明,区块链性能不仅取决于共识理论,也取决于底层系统设计。
这也说明,评估吞吐量相关的说法时,应考虑实际瓶颈、硬件要求和网络状况。
流水线处理与 Ethereum 节点
Ethereum 通常不会像某些其他网络那样用“流水线处理”来描述其当前架构,但 Ethereum 节点仍包含多个相互协作的软件组件和处理阶段。
Ethereum 官方节点和客户端文档说明,节点运行执行客户端和共识客户端,两者协同工作以跟踪区块链并验证数据。
执行客户端会监听新交易,在 Ethereum Virtual Machine 中执行交易,并维护状态。
共识客户端实现权益证明共识,并协调各方对已验证数据达成一致。
这种分工并不等同于单一交易流水线,但它说明现代区块链通常会将工作拆分给专门的组件处理。
Ethereum 客户端还使用内部队列、缓存、点对点网络、数据库层、区块验证路径和同步阶段来管理大量数据。
节点从其他节点接收区块后,必须验证区块头、负载、状态转换、收据、签名和共识规则,之后才能接受相应的链状态。
Ethereum 客户端的性能改进通常涉及提高这些阶段的效率,同时不改变共识规则。
对用户而言,重要的是要知道,节点性能既取决于协议设计,也取决于软件实现质量。
流水线处理与 Flow 的多角色架构
Flow 是另一个明确采用类似流水线模型的区块链架构。
Flow 官方架构文档介绍了一种由 Collection、Consensus、Execution 和 Verification 节点组成的模块化流水线。
该模型将交易收集、交易排序、计算和验证分配给不同的节点角色。
其目标是让专门的节点处理各自最擅长的任务,从而提高吞吐量。
Collection 节点可以专注于收集和批量处理交易。
Consensus 节点可以专注于排列交易集合的顺序并保障协议安全。
Execution 节点可以专注于计算交易结果。
Verification 节点可以专注于检查执行过程。
这是一种更广义的流水线架构,因为链的验证工作被拆分给不同的专业角色,而不是让每个节点都以相同方式执行所有繁重任务。
这种设计需要权衡:协议必须在使用专业化角色的同时,谨慎维护安全性、活性、问责机制和去中心化。
流水线处理与共识协议
流水线处理也可以应用于共识协议内部。
在拜占庭容错系统中,验证者通常需要提出、投票、认证、提交并最终确认区块或指令。
非流水线共识协议可能会等一个区块完成所有阶段后,再开始认真处理下一个区块。
采用流水线处理的共识协议则可能让多个区块的阶段重叠,使验证者在为一个区块投票的同时,准备、广播或验证另一个区块。
一项关于区块链共识协议瓶颈的研究指出,在多个共识实例之间使用流水线处理,是有助于缓解性能瓶颈的一种技术。
这种方法可以提高吞吐量,但也会增加协议推理的复杂度。
验证者仍必须防止重复最终确认、双重表态、不安全分叉和无效状态转换。
因此,共识流水线处理不只是工程层面的优化。
它必须建立在严谨的安全性证明、消息规则、超时逻辑和验证者问责机制之上。
流水线处理与区块传播
区块传播是将新区块扩散到点对点网络中的过程。
快速传播区块很重要,因为传播缓慢可能会增加陈旧区块、分叉、孤块以及验证者或矿工的无效工作。
流水线处理可以通过将区块拆分成多个数据块,并在整个区块接收完成前传输、验证或转发这些数据块,来加快区块传播。
关于采用流水线处理和分块技术的 PiChu 区块广播的研究提出,通过流水线处理并并行验证区块数据块来加速区块广播。
这种方法可以缩短延迟,因为节点不必等到整个大区块接收完毕后才开始进行有用的处理。
对区块较大、交易吞吐量较高或验证者分布于不同地理位置的网络而言,区块传播尤其重要。
如果区块广播缓慢,网络中可能会出现更多相互竞争的链状态。
流水线处理区块传播可以提高效率,但仍必须保护节点免受无效数据块、垃圾信息、带宽滥用和拒绝服务攻击的影响。
可靠的传播既需要速度,也需要验证保护措施。
流水线处理与签名验证
签名验证是区块链中常见的瓶颈,因为每笔交易都必须证明账户所有者已授权该交易。
许多签名可以彼此独立地验证,因此适合批量处理、并行执行、GPU 加速和流水线阶段处理。
节点可以在一个阶段接收交易,在另一个阶段验证签名,然后只将签名有效的交易传递到执行或调度阶段。
这样可以避免后续阶段把资源浪费在无效交易上。
如果签名验证延迟,有效交易可能要等待一段时间才能进入执行流水线。
如果签名验证不严格或被跳过,攻击者可能提交无效交易,浪费系统资源或威胁系统安全。
设计良好的流水线会将签名验证同时视为性能处理步骤和安全关卡。
一些系统会使用专门的加密库、CPU 向量化、GPU 加速或批量验证来降低这部分成本。
难点在于提高验证效率的同时,不能接受无效签名,也不能引入时序或实现漏洞。
流水线处理与智能合约执行
智能合约执行比简单的签名验证更难进行流水线处理,因为交易可能依赖共享状态。
如果两笔交易尝试更新同一个账户、资金池、金库或合约存储,就可能需要谨慎安排执行顺序。
如果两笔交易影响的是互不相关的账户,则可能可以并行执行,或进入不同的执行通道。
流水线处理通过拆分调度、依赖关系检查、执行和提交阶段来提供帮助。
调度器可以判断哪些交易可以安全地同时运行。
执行阶段可以在等待其他操作的同时运行彼此独立的交易。
执行完成且验证有效后,提交阶段可以写入最终状态变更。
这对 DeFi 应用很重要,因为兑换、强制平仓、借贷状态更新、预言机读取和套利交易经常会涉及共享状态。
忽略状态冲突的流水线可能产生无效或非确定性结果。
安全的流水线必须保持执行的确定性,使所有诚实节点最终都能达到相同状态。
流水线处理与 Rollup
Rollup 也可以受益于流水线处理思路。
Rollup 运营方或排序器可能需要接收交易、排序、执行、批量处理、压缩数据、生成证明、发布数据,并向基础层提交结算交易。
这些步骤都可以成为流水线阶段。
零知识 Rollup 可以在执行一个批次的同时,为前一个批次生成证明,并为另一个批次准备数据发布。
Optimistic Rollup 可以将交易排序、发布数据、维护状态根和跟踪挑战期作为不同阶段处理。
流水线处理可以提高 Rollup 吞吐量,因为证明生成、数据可用性、执行和结算不一定要依次进行。
不过,流水线必须维护正确的批次顺序和最终性假设。
如果前面要求的状态无效或不可用,Rollup 就不能安全地最终确认后续状态。
因此,Rollup 流水线处理可以改进运作效率,但不能免除证明验证、数据可用性和跨链桥安全方面的要求。
流水线处理与挖矿
工作量证明挖矿在硬件和软件层面也会使用类似流水线处理的思路。
ASIC 矿机专为高效执行重复哈希运算而设计。
挖矿固件、矿池通信、任务分发、nonce 搜索、份额提交、散热控制和错误监控,都可以像运行流水线中的阶段一样运作。
矿池可能需要接收网络任务、构建区块模板、向矿工发送任务、接收份额、验证份额并核算奖励。
如果任务更新缓慢,矿工在找到新区块后可能仍继续处理过期任务。
如果份额验证缓慢,矿池的奖励核算可能会滞后。
如果散热系统发生故障,硬件可能会降频或关机,从而导致流水线在物理层面中断。
挖矿流水线处理通常不会像智能合约流水线处理那样被专门讨论,但原理相同。
挖矿是否盈利,取决于能否让运营中的每个阶段持续运转,并尽量减少时间浪费。
流水线处理与并行处理
流水线处理和并行处理有关联,但两者并不相同。
并行处理是指同时执行多项任务。
流水线处理是指将重复流程拆分为多个阶段,让不同任务同时处于不同阶段。
区块链可以同时采用这两种方法。
例如,验证者可以利用流水线处理,让交易依次经过接收、验证、执行和写入阶段。
在签名验证阶段,验证者可以利用并行处理一次验证多个签名。
在执行阶段,验证者可以并行运行彼此不冲突的交易。
流水线处理改善的是各阶段之间的工作流,并行处理则提高单个阶段内完成的工作量。
优秀的区块链性能设计往往需要同时采用这两种方法,并进行谨慎的调度和安全检查。
流水线处理与批量处理
批量处理是指将多笔交易或多条消息归为一组,再进行处理或提交。
流水线处理是指在多笔交易或多个批次之间,让不同处理阶段重叠运行。
系统可以同时采用批量处理和流水线处理。
例如,Rollup 可以将数千笔交易组成一个批次,执行一个批次、证明另一个批次,并为第三个批次发布数据。
批量处理可以降低单笔交易的开销,因为一个证明、区块或数据提交可以涵盖多笔交易。
流水线处理可以让不同批次同时经过不同阶段,从而缩短等待时间。
批量处理关注的是将工作分组。
流水线处理关注的是让工作高效地流经各个阶段。
两者都可以降低成本,但都需要谨慎处理排序、故障恢复和资源限制。
流水线处理与分片
分片是将区块链工作负载拆分到不同分区、分片或数据区域中。
流水线处理则是将流程拆分为多个阶段。
分片区块链可以在不同分片中处理不同组的交易。
采用流水线处理的区块链则可以更高效地让同一工作流经多个阶段。
这两种方法解决的是不同的扩容问题。
分片通过将工作负载拆分到多个领域来提高容量。
流水线处理通过减少处理路径中的闲置时间来提高效率。
区块链架构可以同时采用两者,但组合使用会增加复杂度。
开发者仍必须维护安全性、数据可用性、跨分片通信、最终性和确定性执行。
流水线处理通常属于内部性能设计,而分片会改变网络划分状态或数据的方式。
流水线处理的优势
流水线处理的第一项优势是提高硬件利用率。
网卡、CPU、GPU、内存、数据库和磁盘系统都可以持续运转,而不是彼此等待。
第二项优势是提高吞吐量,因为系统能够在一段时间内完成更多交易或区块。
第三项优势是在瓶颈减少、各阶段负载均衡时降低延迟。
第四项优势是便于分析性能,因为工程师可以分别衡量各个阶段。
第五项优势是提升验证者、排序器和挖矿基础设施的可扩展性。
第六项优势是,如果队列和阶段设计得当,就能更好地应对活动量激增。
第七项优势是可以在最需要的环节使用专用硬件,例如使用 GPU 处理适合并行计算的签名验证工作负载。
第八项优势是可以支持更复杂的区块链系统,而不必将所有任务都塞进一个缓慢的串行流程。
流水线处理的局限
流水线处理的第一项局限是,最慢阶段仍会限制整个系统。
第二项局限是会增加复杂度,因为需要管理更多队列、线程、缓冲区和故障模式。
第三项局限是,如果工作堆积速度超过最慢阶段的处理速度,流水线阶段可能造成延迟。
第四项局限是,即使各阶段并发运行,区块链执行仍必须保持确定性。
第五项局限是,攻击者可能利用垃圾信息、无效签名、超大数据或拒绝服务模式攻击流水线瓶颈。
第六项局限是,如果设计依赖 GPU、高速磁盘、大容量内存或强大的网络能力,流水线处理可能会提高硬件要求。
第七项局限是,故障可能发生在多个异步阶段之间,因此调试会更加困难。
第八项局限是,吞吐量提高并不自动意味着去中心化程度也提高。
如果流水线需要昂贵硬件,能够运行全节点或验证者的用户数量可能会减少。
流水线处理的安全风险
如果验证被延迟、跳过、错误排序,或以不安全的方式与执行分离,流水线处理可能带来安全风险。
节点不能仅仅因为后续流水线阶段试图加快进度,就提交无效状态。
验证者不能在完成必要检查前就广播承诺。
如果证明生成仍在进行,排序器就不应将未经验证的批次视为最终结果。
矿池必须验证份额是否达到矿池目标,不能未经验证就记入份额。
攻击者可以通过向第一阶段大量发送垃圾数据来利用薄弱的流水线,消耗后续阶段的资源。
他们还可以利用依赖调度,创建表面上互不相关、之后却发生冲突的交易。
优秀的流水线设计会采用尽早拒绝机制、明确的资源限制、背压、确定性调度,以及提交前的严格验证。
在加密领域,性能优化绝不能凌驾于共识安全之上。
区块链流水线中的背压
背压是一种控制机制:当后续阶段过载时,它会减慢前置阶段的处理速度。
没有背压时,节点可能会接收超出自身验证、执行、存储或转发能力的交易。
这可能导致内存持续增长、队列延迟、消息丢失、交易失败或节点不稳定。
在区块链系统中,背压可以体现为交易费市场、内存池限制、请求限制、节点评分、队列上限、速率限制,或暂时拒绝低优先级流量。
背压很重要,因为流水线可能会掩盖过载情况,直到队列变得过大才暴露问题。
健康的流水线应能在瓶颈形成时发出信号。
例如,如果签名验证超负荷,网络阶段可能需要减缓接收新交易的速度。
如果磁盘写入过载,执行阶段可能需要暂停,以免提交更多状态变更。
背压可以防止高吞吐量系统被自身的输入速率拖垮。
流水线处理与去中心化
流水线处理可以提升性能,但也可能影响去中心化。
如果流水线依赖昂贵硬件、高带宽、专用 GPU 或先进存储系统,能够运行节点的独立参与者可能会减少。
这会造成吞吐量和可参与性之间的权衡。
如果许多用户都能用合理的硬件验证区块链,去中心化网络就会受益。
高度优化的流水线可能帮助专业验证者处理更多交易,但不应让普通节点运营者无法进行诚实验证。
不同区块链对这种权衡有不同选择。
有些网络通过积极利用硬件来优先追求最高吞吐量。
有些网络则优先降低节点运行要求,并接受较低的吞吐量。
因此,流水线处理并非天然有利或有弊。
其价值取决于性能提升是否符合网络的去中心化目标。
流水线处理与开发者体验
对区块链开发者而言,流水线处理的重要性会因平台不同而异;有时它并不明显,有时则十分关键。
应用开发者可能不需要直接管理验证者流水线。
不过,他们仍会通过交易延迟、费用表现、最终确认时间、失败交易和账户锁定规则感受到流水线处理的影响。
涉及多个共享账户的智能合约,可能比能够清晰隔离状态的合约更难以高效调度。
生成大量证明工作负载的 Rollup 应用,可能需要考虑证明流水线的容量。
提交大量交易的钱包或 dApp 可能需要处理排队、重试、nonce、区块哈希过期和确认时间等问题。
良好的开发者体验需要清晰说明交易在系统中的处理流程。
了解流水线后,开发者可以设计应用,避免不必要的冲突并改善用户体验。
流水线处理与用户体验
用户通常不会直接看到流水线处理。
他们感受到的是更快的确认、更短的延迟、更少的失败交易,以及网络在繁忙时段更可靠的表现。
如果流水线设计得当,用户可能只会觉得交易流程顺畅。
如果流水线过载,用户可能会遇到交易待处理、交易丢失、费用上涨、兑换失败、提现延迟或钱包状态提示不清晰等情况。
流水线处理还会影响钱包判断交易已被接受、执行、提交还是最终确认所需的时间。
用户应记住,交易状态显示很快,并不一定代表最终结算已经完成。
一些系统可能会在达到更高等级的最终性之前显示初步确认。
如果区块链支持这些状态区分,钱包和区块链浏览器就应清晰区分已提交、已处理、已确认和已最终确认等状态。
良好的流水线处理应在提速的同时避免让用户对结算确定性产生误解。
区块链工程师的最佳实践
在增加流水线复杂度之前,先找出真正的瓶颈。
只有在拆分阶段能改善吞吐量、延迟、可靠性或清晰度时,才进行拆分。
当状态冲突可能影响智能合约结果时,应采用确定性调度。
尽早拒绝无效数据,保护后续流水线阶段。
采用背压机制,避免过载阶段导致节点崩溃。
衡量各阶段的延迟、队列深度、失败率和资源使用情况。
在垃圾信息、无效签名、网络延迟、磁盘压力和节点故障等情况下测试流水线。
确保故障恢复过程安全,避免部分处理的数据变成已提交的无效状态。
使硬件要求符合网络的去中心化目标。
记录交易生命周期,帮助开发者和基础设施团队理解每个阶段的含义。
加密用户的最佳实践
不要认为吞吐量指标更高就代表安全性更强。
确认网络的性能设计是否仍允许独立用户验证区块链。
了解快速处理与最终结算可能属于不同阶段。
使用能够清晰显示交易状态的钱包和区块链浏览器。
网络拥堵时要谨慎,因为采用流水线处理的系统也可能过载。
不要在不了解 nonce、费用、区块哈希或过期规则的情况下反复重新提交交易。
学习特定区块链的交易处理方式时,应参考官方文档。
请记住,流水线处理可以提高基础设施效率,但不能消除智能合约风险、钱包风险、市场风险或跨链桥风险。
进行大额交易时,应等待网络或应用建议的最终性等级。
关于流水线处理的常见误解
一种误解是,流水线处理意味着所有交易都会同时执行。
流水线处理的含义是,不同交易可以同时处于不同阶段,而每笔交易仍须遵守必要的排序规则。
另一种误解是,流水线处理会自动提高去中心化程度。
流水线处理可以提高效率,但如果采用激进实现,也可能提高硬件要求。
另一种误解是,流水线处理等同于并行执行。
流水线处理负责组织各个阶段,而并行执行是在一个或多个阶段内同时处理多项兼容任务。
另一种误解是,流水线处理可以彻底消除瓶颈。
流水线仍受最慢阶段、不良队列设计、数据依赖、网络延迟或存储性能限制。
另一种误解是,流水线处理会改变区块链的所有权规则。
流水线处理只应改变有效工作被处理的速度,而不应改变共识规则下哪些交易有效。
常见问题
区块链中的流水线处理是什么意思?
流水线处理是指将区块链处理过程拆分为多个阶段,使不同交易、区块、证明或消息可以同时经过不同阶段。
加密网络为何使用流水线处理?
流水线处理用于提高吞吐量、降低延迟、让硬件保持忙碌,并减少交易处理、区块传播和验证中的瓶颈。
流水线处理是共识机制吗?
不是。流水线处理是一种性能和架构技术,而共识是节点就有效的区块链历史达成一致的过程。
流水线处理与并行处理有何不同?
并行处理是指同时执行多项任务;流水线处理则是让工作流经多个同时运行的阶段。
流水线处理与批量处理有何不同?
批量处理是将多个项目组合在一起,流水线处理则是在这些项目或批次之间,让不同处理阶段重叠运行。
流水线处理能让交易更快最终确认吗?
流水线处理可以减少处理延迟,但最终性仍取决于区块链的共识、确认和结算规则。
流水线处理能改善智能合约执行吗?
可以。如果调度、依赖检查、执行和状态提交经过安全设计,流水线处理就能改善智能合约执行效率。
流水线处理会带来安全风险吗?
会。如果无效数据进入后续阶段、状态过早提交、队列过载或执行变得非确定性,设计不佳的流水线处理就可能带来风险。
为什么签名验证通常是流水线的一部分?
签名验证的开销通常较大,而且不同交易的签名可以独立验证,因此可以将其拆分为单独的优化阶段。
流水线处理需要专用硬件吗?
不一定,但有些流水线设计可以受益于 GPU、高速网络、高性能 CPU、大容量内存或高速存储。
Rollup 会使用流水线处理吗?
Rollup 运营方可以采用流水线设计,让排序、执行、证明生成、数据发布和结算任务重叠进行。
流水线处理最大的局限是什么?
最大的局限是,整个流水线仍受最慢阶段限制,而且必须维护共识安全性。
总结
流水线处理是一种区块链性能技术,它将重复工作拆分为多个阶段,使系统可以并发处理多笔交易、多个区块、证明或消息。
它对加密领域很重要,因为节点、验证者、排序器、Rollup 和挖矿系统必须在维护正确性和安全性的同时处理大量数据。
流水线处理可以提高吞吐量、降低延迟、让硬件保持忙碌,并使瓶颈更容易衡量。
它可用于交易处理、签名验证、智能合约执行、区块传播、Rollup 运作、共识协议和挖矿基础设施。
Solana 的交易处理单元是基于流水线优化交易验证的知名案例。
Flow 的多角色架构则展现了更广义的流水线处理方式,将收集、共识、执行和验证分配给不同的专业节点角色。
流水线处理不同于并行处理、批量处理和分片,但成熟的区块链系统可能会同时采用其中多种方法。
主要风险包括复杂度增加、瓶颈转移、过载、更高的硬件要求、执行非确定性和验证错误。
良好的区块链流水线必须尽早拒绝不良数据、应用背压、维护确定性状态转换,并使性能目标符合去中心化要求。
理解流水线处理最简单的方式是:它将区块链处理变成一条安全的装配线,让多项工作同时经过不同阶段。
您可能也喜欢
反恐融资(CTF)
框架
波动性爆发
热门
目前热门备受市场关注的加密货币
最高成交量
按交易量计算交易量最大的加密货币

