火星链 火星链
Ctrl+D收藏火星链
首页 > OKB > 正文

OLA:了解Solana:涡轮机、海湾流和海平面

作者:

时间:1900/1/1 0:00:00

历经两轮牛市,Solana终于在2021年大放异彩。

Solana是一个高性能、高质量的公链,旨在不牺牲去中心化或安全性的情况下,提供快速、便宜、抗审查的区块链网络,以满足快速增长的应用落地需求。

目前,分片、侧链等仍是各大公链试图提高自身性能的主流方案。

然而,Solana另辟蹊径,利用自己独创的新技术,带来了更有效的可扩展性解决方案。

Solana利用工作历史证明PoH、基站拜占庭容错、涡轮机、海湾流、海平面、管道、云散以及档案八大突破性技术构建出一个超高性能的区块链。

本文将着重介绍三大技术:涡轮机、海湾流和海平面。

通过解析Solana的底层技术,大家可以从本质中更好的了解Solana如何解决区块链的可扩展性三元悖论问题以及对区块链网络造成严重影响的内存池问题。

涡轮机(Turbine):区块数据传输协议

区块链技术中的可扩展性三元悖论问题与带宽有关。如今,在大多数区块链网络中,鉴于每个节点有固定的带宽,增加节点数量将增加把所有数据传播到所有节点所需的时间。

Zhu Su:现在是构建和了解加密行业的最佳时机:金色财经报道,三箭资本联合创始人Zhu Su发推表示,“很多人向我咨询是否底部已经出现,我的回答往往是‘不知道也不在乎’。如果你还身处加密领域,现在是构建、了解加密领域如何工作以及如何改进的最佳时机”。[2023/1/9 11:02:08]

这是一个摆在所有人面前的难题。

不过也出现了许多新颖的数据传播技术,每一种都在根据特定的应用进行优化。例如,BitTorrent是为通过TCP向大群人提供大文件而优化的,而MediaFLO则是为物理层的数据传播而优化的协议,目的是提高无线网络上多点广播的效率。

而Solana的区块传播协议涡轮机,是如何解决区块链的可扩展性三元悖论问题的呢?

高性能区块链的挑战之一是网络如何将大量的数据传播给大量的对等体。例如,一个由2万个验证器组成的网络。领导者需要将一个128MB的区块传输给2万个验证器。要想实现传播,需要领导者与每个验证者产生一个独特的连接,并将整个128MB的数据传输20000次。

显而易见,一般没有足够的带宽来容纳这么多的连接。

Microstrategy CEO:如果Paul Tudor Jones真的了解比特币 他会买入更多:Microstrategy首席执行官Michael Saylor在接受采访时表示,如果知名对冲基金经理Paul Tudor Jones真的了解比特币,他会买入更多。

此前消息,Paul Tudor Jones称其已将约1%的资产投资于比特币,而Microstrategy则是通过两批交易先后买入了近3.8万枚BTC。(Bitcoin.com)[2020/9/24]

针对这一问题的解决方案——Turbine,在很大程度上借鉴了BitTorrent,但是两者之间在主要的技术细节上还是有一些区别。

通过将数据分成较小的数据封包,Turbine协议致力于帮助区块链节点间的数据传输变得更加容易。得益于此,Solana可以解决带宽限制的问题,并提高其整体容量,使得交易可以更快地完成。

Turbine针对流式传输进行了优化,使用UDP传输数据,并在领导者流式传输数据时,实现了每个数据包在网络中的随机路径。领导者将一个128MB数据块分成大小不超过64KB的数据包,并将每个数据包传输到不同的验证器。

掌柜调查署丨Aaron Choi:开发者需了解建立金融软件和基础设施的风险:在本期掌柜调查署上,针对Kava“以太坊上的DeFi协议标准兼容” 等问题,Kava全球业务发展副总裁Aaron Choi发言指出:我认为所有的DeFi项目和开发者都必须了解建立全新的金融软件和基础设施的风险。 这是一个新的行业,必须始终优先考虑用户资金的安全。 随着以太坊DeFi生态系统的发展,有大量的服务,使得开发者能够很好地利用和整合。 但他们也需要明白,如果不完全了解他们所集成的软体,风险会更大。[2020/6/11]

然后,每个验证器将数据包重传给一组称为“邻居”的对等体。每个邻居负责将部分数据传输到其下面的每个邻居。

如果领导者以擦除码的形式传输该区块33%的数据包,那么网络可以放弃任何33%的数据包并且不丢失该区块。

领导者甚至可以根据网络状况动态地调整这个数字。这些都是由领导者从以前的区块中观察到的丢包率做出的决定。

并非所有的验证器都是平等的,最重要的验证器是那些拥有最多质押的验证器。

因此,相应的传播将会进行优先排序。权益加权选择算法构建了一个树,使质押较高的验证器在邻居中更接近领导者。每个验证者都独立计算相同的树。

声音 | Diar创始人:加密领域不会推翻银行业,但让人们了解了真正的资产所有权:据Medium消息,加密货币周报出版机构Diar创始人Fadi Aboualfa近期接受采访时表示:“我们现在所处的是一个平行的金融体系。无论如何加密领域也不会推翻银行业。不过,它已经播下了一颗种子,让人们了解了真正的资产所有权,以及让人们更容易进入金融市场的精神,而不是我们今天在银行和经纪商身上看到的那种。所以现在不少传统企业推出了自己的区块链项目,比如高盛和JP摩根。一年前,Defi这个词还不存在,而现在它却是一个重点。明天,谁知道事情将如何发生,朝什么方向发展。这个领域将继续作为一个实验前进下去,直到它不再被认为是一个实验。”[2019/5/6]

虽然擦除码可以修复故障,但在树中的敌对节点可能会导致故障,特别是当与DoS相结合时。

Solana如何处理这种日蚀攻击(EclipseAttack)?

扇出算法。

Solana的扇出算法使用基于数据包数字签名的随机源为每个数据包生成一棵权益加权树。由于每个数据包采取不同的路径,而且路径是事先不知道的,邻居级的日蚀攻击需要几乎完全控制网络。

北航教授伍前红:区块链监管分了解、监视、发现、建议、重塑五个层次:伍前红教授表示,区块链监管包括五个层次,不能泛泛说能监管和不能监管。第一个层次是了解,第二个层次是监视,第三个是发现,第四个是建议,第五个是重塑。只有形成这样一个闭环,我们才能说是一个监管。目前的区块链或者数字货币,符合前两个层次。第一个层次,发现异常。第二个层次,发现证据。发现异常现在的很多能做到,第二个很多区块链或者现有的数字货币系统很难发现证据,可以发现异常,但是第二个层次很难做,介入就更难了。而对于最后一个层次重塑,因为不是系统开发者,没有发言权,就没有资格或者没有抓手去重塑它。[2018/3/27]

这种技术可以扩展到200到1000个节点之间。支持1gbps的网卡每秒可以传输100万个数据包。如果网络连接允许,单个验证器可以在一秒钟内将最多64kb的数据包发送给1,000台机器。

海湾流(GulfStream):无内存交易转发协议

内存池(MemPool)是一组已经提交,但尚未被网络处理的交易。

就比特币和以太坊而言,内存池的大小通常以未确认交易的数量来衡量,取决于区块空间的供应和需求。即使在区块链时代早期,当内存池增加时,也会对整个网络造成严重的瓶颈影响。

那么,Solana是如何精益求精的?

在不增加网络吞吐量的情况下,Solana验证器可以管理10万笔交易的内存池大小。这意味着,在网络吞吐量为5万TPS的情况下,10万笔交易的内存池在几秒钟内就能执行。这就是让Solana成为世界上性能最强无许可区块链的原因。

Solana网络对这个问题的解决方案是将交易缓存和转发推送到网络边缘,这被称之为海湾流。

由于每个验证器都知道未来领导者的顺序,客户和验证器提前将交易转发给预期的领导者。这使得验证器可以提前执行交易,减少确认时间,更快地切换领导者,并减少未确认交易池对验证器的内存压力,让Solana每秒可处理5万笔交易。这种解决方案在领导者不确定的区块链网络中是不可能的。

它又是如何工作的呢?

客户端(比如钱包)签署引用特定区块哈希的交易。客户端选择一个已经被网络完全确认的、最近的区块哈希。区块大约每800毫秒被提出一次,每增加一个区块都需要成倍的增加时间来展开。使用默认的超时曲线,在最坏的情况下,完全确认的区块哈希是32个区块。

一旦一笔交易被转发到任何验证器,验证器就会将其转发到未来的领导者之一。客户端可以订阅验证器的交易确认信息。客户端知道区块哈希在有限的时间内过期,或者交易被网络确认。这允许客户端签署对保证执行或失败的交易进行签名。

一旦网络过了回滚点,交易引用的区块哈希就会过期,客户就可以保证交易现在是无效的,且永远不会在链上执行。

到目前为止,很明显,区块链网络的功能只有在其内存池最小的情况下才会发挥作用。

当交易吞吐量有限的网络承担着尝试改造全新的扩展技术来解决不断增加的内存池的努力时,Solana从一开始就通过海湾流等优化设计来解决第一代区块链网络的问题,并实现巨大的交易吞吐量。

海平面(Sealevel):智能合约运作并行引擎

以太坊的EVM和EOS的基于WASM的runtime都是单线程的。这意味着每次都会有一个智能合约修改区块链的状态。

而Solana建立的智能合约运作并行引擎——海平面,可以并行处理数以万计的合约,并使用验证器作为核心。它可以使Solana的执行时间更有效率,还可让交易在相同状态的区块链上同时执行。

Solana之所以能够并行处理交易,是因为Solana的一笔交易在执行时,将读取或写入所有状态。这不仅允许非重叠的交易并发执行,而且允许只读取相同状态的交易也并发执行。

Solana的帐户数据库Cloudbreak是一个公钥到帐户的映射。所有者是管理账户状态转换的程序的公钥。程序是代码,无状态。它们依靠分配给它们的账户中的数据向量进行状态转换。

默认情况下,所有账户开始时都是由系统程序拥有的。用户定义的程序由加载器程序加载。加载器程序能够将账户中的数据标记为可执行。

此时,加载器验证了字节码,字节码被加载到的账户可以作为一个可执行程序使用。新账户可以被标记为由用户定义的程序所拥有。

这里的关键是,程序是代码,在键值存储中,存在一些键的子集,这个程序并且只有这个程序有写访问权限。

交易指定一个指令向量。每条指令都包含程序、程序指令和交易要读写的账户列表。

像readv或writeev这样的接口会提前告诉内核用户想要读取或写入的内存。这允许操作系统预取、准备设备并在设备允许的情况下同时执行操作。

在Solana上,每条指令都会提前告诉虚拟机它要读和写哪些账户。

SIMD指令允许单段代码在多个数据流上执行。这意味着Sealevel可以执行一个额外的优化,这是Solana设计所特有的。

在性能方面没有免费的午餐。为了使SIMD优化可行,所执行的指令应该包含少量的分支,而且应该都采取相同的分支。

通过海平面的并行处理,与单线程运行时相比,Solana能够实现极高的吞吐量和可用性。

结语

可以看到,在技术创新等方面,Solana独树一帜开拓出一条独属于Layer1的道路。在未来,Solana将会继续发展,为应用层的大规模应用提供一个高性能和低廉费用的去中心化解决方案。

在Solana大规模发展的DeFi生态,令人期待。

标签:SolanaSOLSOLAOLAsolana币怎么挖矿APT币未来能超过SOL吗Solareumsolana币下半年会涨到多少价格

OKB热门资讯
区块链:DappReview创始人:浅谈NFT和Metaverse

差不多三年前,写过一篇文章《浅谈你们根本不懂的区块链游戏》,把站在那个时间点能想到的一些脑洞和思路,尽可能的梳理出来.

1900/1/1 0:00:00
TIE:抹平虚拟与现实的边界,元宇宙是泡沫还是变革?

目前,元宇宙的概念还没有公认的定义。不过,从具体特征上看,头号玩家中的“绿洲”和马化腾提出的“全真互联网”都与元宇宙十分类似,而且这一发展趋势正在得到越来越多人的认可.

1900/1/1 0:00:00
数字人:支付宝依托蚂蚁链试水NFT

“在时代的浪潮之巅,互联网巨头也不想错过这个机会。”6月23日零点,支付宝在“蚂蚁链粉丝粒”小程序上限量发售“敦煌飞天”“九色鹿”两款付款码NFT皮肤。这两款皮肤各限量8000份,迅速被抢光.

1900/1/1 0:00:00
ROS:蔡维德:摩根大通银行这次带来什么信息?

摩根大通银行与比特币的关系是著名的,从早期批评比特币是没有价值,而且是愚蠢的,但是每一次批评后比特币却继续暴涨,使得摩根大通总裁脸上无光.

1900/1/1 0:00:00
OIN:世界银行拒绝帮助萨尔瓦多过渡到采用比特币为法定货币

世界银行拒绝了萨尔瓦多关于该国过渡到采用比特币作为法定货币的请求。世界银行以比特币的环境影响和透明度问题为理由,拒绝支持萨尔瓦多采用比特币作为官方接受的货币.

1900/1/1 0:00:00
加密货币:60亿美金季度期货期权到期 对加密市场有何影响?

市场情绪脆弱前几天,比特币价格跌破29000美元之后开启反弹。整体而言,过去一个月比特币和以太坊的表现乏力.

1900/1/1 0:00:00