Untitled

Syshems 北邮在读硕士

研究主题: Turbine 机制拆解

内容提要: 1、Solana 概述 2、Turbine 传输机制 2.1、Turbine 工作原理 2.2、Erasure Coding 2.3、Turbine Tree 3、对比以太坊区块广播

Turbine 是 Solana 区块链使用的 multi-layer 区块传播机制,用于向所有节点广播账本。Turbine 背后的核心思想已经在学术界存在了很多年。本课题旨在探讨 Turbine 是如何工作的,拆解 Solana 上的区块传播机制,并与以太坊的区块传播进行比较,探索未来区块传播和数据可用性可能的样子。

一、Solana 概述

公链的效率主要指其处理交易的能力,也就是吞吐量 TPS ,该指标受限于区块大小和出块速度。大区块方向的探索饱受诟病,公链扩容叙事主要围绕出快速度。

Solana 扩容主要基于:高效利用网络带宽、减少节点间通讯次数、加快节点运算速度三大方面,缩短了出块和共识通讯的时间,但也降低了系统可用性(安全)。

二、Turbine 传输机制

带宽是一种稀缺资源,Turbine 是一种 multi-layer 的区块传播机制,旨在优化「从 leader 到网络其他节点」的交易序列的传输。与其他区块链采用的 flooding 广播方式不同,Turbine 采用更结构化的方法来最大限度地减少通信成本,减少单个节点的负载。

概括的说,Turbine 将交易序列(区块)分解成更小的块,并以「节点层次」的结构进行传播。在该结构下,单个节点只需与选定的几个节点进行通信,而非全网所有节点。随着网络规模的扩大,这一点变得越来越重要。

此外,Turbine 在不需要大量带宽的情况下解决了数据可用性问题,确保所有节点都可以访问所需的数据以有效地验证交易。这是其他区块链网络中的面临瓶颈。

1、Turbine 原理概述

Leader 生成交易序列后,下一步需要做的就是序列广播。

Untitled

Shreds 是交易序列的一部分。总的来说,Turbine 负责获取 shreds,并将它们发送到一组预定的 validator ,随后由验证器再将这些 shreds 转发给新的一组 validator 。