solana简介

Posted ozzzzxzzzzo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了solana简介相关的知识,希望对你有一定的参考价值。

 什么是Solana?

Solana是一条高性能、无需许可的公链。它提供了快速、便宜且可扩展的交易体验,每秒能够处理数千笔交易,并且每次交易费要低很多。

Solana 以牺牲去中心化来提高交易速度,使用PoH最大限度地提高出块速度,试图解决区块链“不可能三角

公链

代号

每秒交易量

每笔交易平均手续费(USD)

交易延迟时间

验证节点数量

总交易量(30天)

Solana

SOL

65,000

0.0015

0.4 sec

702

$85,640,853,017

Etherum

ETH

15

15

~5mins

11,000+

$479,789,020,954

Polkadot

DOT

1,000

1

2mins

297

$30,890,483,920

Cardano

ADA

270

0.25

10mins

2,376

$45,591,852,164

Tron

TRX

2000

0.069

1min

1124

$29,381,719,408

Ripple

XRP

1500

0.00007

3-5 seconds

70

$65,583,412,623

Avalanche

AVAX

5,000+

5%

few seconds

650+

$62,293,712,571

资料来源:CoinMarketCap  (2022/3/31)


·  为什么那么快?

「历史证明(Proof-of-History)」

 想象一下,你是机要交通局副局长你需要委托你的机要人员坐火车送一封给关键部门的重要文件,因为文件的重要性,这列火车不会使用网络和计算机记录在调度站内,列车的号不会在火车站大屏显示,当然也不会在我们的手机软件查到。这列火车从西安出发,下午17:00点到达北京,沿途经过洛阳石家庄保定。因为这封文件很重要,所以每次停靠时,你都要派人确认这封信是否在火车上。

因为是专列,所以火车没有时刻表。因此每次列车停车时都要花费很大的时间和资源来确定信件是否在车上,信件的密封程度是否安全等等。在洛阳火车站的工作人员必须与其他城市的工作人员联系,以确认这是正确的火车——“石家庄站,我这列火车会出发了,不出意外预计5个小时就到你们车站”;“洛阳站,这辆车你是从西安来的吗?”——为了核对这个车的出发时间和预估他们的经过时间,车站调度员会提前根据以往的数据做一个集中的时间表,但因为它是集中的,任何不准确的(或篡改的)信息都可能打乱整个过程(如金正恩访问中国,车已经在路上了)。车站和车站之间的联系、核实,可能都要花上几个小时。

持续了很久,solana站出来说他可以解决这个问题,提高效率。一个月后,solana接管了这条铁路。solana为了解决效率低下的问题,想出了用时间戳来核对地点,每次火车停靠时,机要文件都会盖上印有时间的邮票。当火车到北京时的时候,它已经有来自洛阳、石家庄和保定的时间戳了——所有途经点的火车站的工作人员知道它是开往北京的,预计在下午17:00点到达。使用这种方法节省了大量的时间和金钱。

通过PoH,节点有自己的内部时钟来验证事件和时间的推移,该证明使用可验证的延迟函数(Verifiable Delay Function,VDF)对传入的事件进行散列,同时记录下事件发生的时间。当其他节点查看哈希值的序列时,他们可以立即知道事件发生的顺序,而不需要与其他节点验证时间。

从本质上讲,这意味着 PoH 就像一个加密时钟,可以帮助网络就时间和事件顺序达成一致,而无需等待其他节点的消息。这就像古老的水钟可以通过观察水位上升来记录时间的流逝一样,历史证明的区块链状态哈希的连续输出能够给出可验证的事件顺序[资料来源]

其他区块链要求验证者相互确认时间,而每个 Solana 验证者通过将时间的流逝编码为简单的 SHA-256、顺序散列可验证延迟函数 (VDF) 来维护自己的时钟。Solana 不使用 VDF 来实现随机性。相反,每个验证者都使用 VDF 来维护自己的时钟。因为每个验证者都维护自己的时钟,所以在整个 epoch 中提前安排了领导者的选择。

在PoH的支持下,领导者继续轮换,无论网络状况如何,整个网络都会正常运行。这意味着网络永远不会停止。网络可以直接决定轮换验证者。这是一个微妙但深刻的转变。在 Solana 中,领导者轮换决策是异步做出的。

Yakovenko在白皮书中指出,当时的区块链不依赖于时间,网络中的每个节点都依赖于自己的本地时间,而不知道网络中任何其他参与者的时间。缺乏标准时间意味着使用消息时间戳来接受或拒绝消息时,不能保证网络中的每一个其他参与者都会做出完全相同的选择。PoH克服了这一障碍,网络中的每个节点都能够依靠在去信任的基础上记录的时间流逝,这是区块链功能的关键。


Solana不能挖矿,我们只有两种方法可以将新区块引入solana。

验证者(Validation)

验证包括使用功能强大的计算机或服务器批准区块链中的所有事务。与大多数使用权益证明机制验证交易的加密货币一样,Solana使用奖励来激励持有其他参与者权益的验证者。

这种方法需要在设备上投入大量资金,很少有参与者能够承担起验证者的角色。

您需要投资昂贵的服务器,并熟练使用Linux系统。

质押(Staking)

我们可以质押索拉纳获得奖励,你的质押对象是验证者。SOL系统中的大多数验证器都会奖励你高达8%的奖励。

质押是一种风险共担、共享回报的资金模型,可以为代币的长期持有者提供回报。这是通过调整代币持有者(委托人)和他们委托的验证人的资金激励来实现的。


Solana 8项核心创新功能

历史证明(PoH)——共识前的时钟

POH 是时钟问题的解决方案。这是一种全球可用、无需许可的网络时间来源,在达成共识之前就可以工作。

Tower BFT(拜占庭容错)

在历史证明之上,Solana 运行Tower 共识,这是一种类似 PBFT 的共识算法,专门设计用于利用同步时钟。

Turbine——区块传播协议

由于Solana共识层不依赖于点对点消息,因此Solana能够依赖于共识而优化区块在网络中传输的方式。Solana的块传播技术Turbine很大程度上借鉴了BitTorrent。当一个块被传输时,它被分解成带有erasure code的小数据包,然后在一组大的随机对等点上展开。通过200个输出输出端,第二层网络可以覆盖4万个验证。因此,验证能够将影响为log200(n)的块传播到终结。对于所有实际目的,如果每个连接为100毫秒,则可以在400毫秒内实现复制,在500毫秒内完成40000个节点的网络。

简而言之,Turbine 是一种区块传播协议,可将数据分解为更小的增量——使节点之间的数据传输更容易。Turbine 帮助 Solana 解决与带宽相关的问题并提高网络的整体事务处理速度。

Gulf Stream——无内存池的交易转发协议

Gulf Stream使 Solana 能够达到 50,000 TPS。这是负责事务缓存并将它们转发到网络边缘的协议。这允许网络验证器提前执行交易,大大减少确认时间和来自未确认交易池的验证器的内存需求。

Sealevel — 并行智能合约运行时

这是一个并行化事务处理引擎,使 Solana 能够跨 GPU 和 SSD 进行水平扩展。简而言之,Sealevel 允许在同一链上进行并发交易,从而为网络带来更好的运行时间。

Pipelining——用于验证优化的事务处理单元

Pipelining是 CPU 设计中常用的过程。它是指将输入数据流分配给不同硬件进行处理的过程。这使得能够在网络节点上更快地复制和验证快速交易信息。

Cloudbreak——横向扩展的账户数据库

Cloudbreak 是网络可扩展性和吞吐量所需的数据结构。它组织帐户数据库,使网络的 32 个线程之间的并发读写成为可能。

Archivers——分布式账本存储

Solana 的验证器将数据卸载到称为存档器的节点网络。存档器节点可以是网络用于数据存储的基本笔记本电脑或 PC。

以上是关于solana简介的主要内容,如果未能解决你的问题,请参考以下文章

Solana区块链智能合约开发简要流程

Solana区块链智能合约开发简要流程

区块链 solana TPS吞吐率

区块链的分类与地址长度

Solana白皮书中文翻译

在Solana中使用固定PDA账号实现管理员权限验证和全局状态变量保存