`

公链_Solana

 
阅读更多
共识:PoS
1.Solana生态系统中有多个角色(领导者、验证者、存档者等)。与DPoS区块链不同,Solana不会在网络参与者之间委派这些角色,而是由Solana节点履行网络的所有角色。

2.网络中都有且仅有一个Leader。每个验证者节点都具有与Leader节点相同的硬件能力,并且能够通过基于PoS算法的选举来成为Leader.

3.每个验证节点使用同一种算法来选择预期的领导者。当验证节点收到一个新的签名账本条目时,可以肯定某条目是来自预期的领导者。分配给每位领导者的插槽顺序称为leader schedule(领导者安排表),Solana以固定的时间间隔(称为插槽)轮换领导者。

4.Solana领导者的任务是生产新区块,它们每四个块(1.6秒)旋转一次。处于领导地位的节点将所有交易放入该节点正在生产的四个区块中。领导者因此对交易加上时间戳记,以便验证节点可以查找指定领导者的公钥。然后,领导者对时间戳进行签名,以便验证节点验证签名,证明签名者是指定领导者公钥的所有者

PoH
Solana 的核心是 PoH(Proof of History),这是一个全局可用、免许可的时间来源。每个 Solana 验证者通过将时间编码为一个简单的 SHA-256 序列哈希可验证延迟函数 (VDF) 来维护自己的时钟。Solana 使用 VDF 并不是为了随机性;相反,验证者使用 VDF 是为了维护自己的时钟。因为每个验证者都维护自己的时钟,所以选择领导者 (leader) 在先,进行一个完整的纪元在后。每个验证者运行 VDF 以证明它已经获得了传输区块和验证者的时间段 (slot),并得到补偿,正如区块生产者会因为生成区块而获得奖励一样。

PoH:为了将时间与状态更新分离,Solana 建立了一个全局可用的时钟,这就是历史证明机制(PoH),它相当于一个对于时钟问题的解决方案。历史证明机制就像一个秒表,想一想短跑比赛中的选手,他们每个人在冲过终点线的时刻都会收到一个确切的时间,这样就有了先后顺序,谁是第一名谁是第二三名。那 Solana 有了全局时钟,每个 Solana 节点既有了时间概念,又可以了解网络上发生事件的先后顺序。如此一来,就无需等待整个区块链节点同步更新数据和状态,从而提升了区块链整体的效率

其它:
除了历史证明机制(PoH)以外,Solana公链还使用了塔式BFT算法(Tower BFT),以减少消息传递的延迟,可将平均出块时间压缩至400毫秒;使用了涡轮(Turbine)传播协议,以解决区块链可延展性方面的难题;使用了海平面引擎(Sealevel),允许网络运行时并行处理数万个智能合约。

Solana 的 mempool 系统(内存和池的收缩)Gulf Stream 也不同于其他流行的区块链,因为它甚至在前一组交易完成之前将交易转发给验证器。这种无内存池的交易转发协议有助于最大限度地提高交易确认速度,以及网络的并发和并行交易容量。

Solana 使用权益证明 (PoS) 共识模型,如Cardano和 Tron,但它由 Tower BFT 共识加强。尽管存在来自恶意节点的潜在攻击,但 Tower 共识使网络能够达成共识。
分享到:
评论

相关推荐

    Python库 | mb_solana-0.2.0-py3-none-any.whl

    资源分类:Python库 所属语言:Python 资源全名:mb_solana-0.2.0-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    android_device_motorola_solana

    【Android 设备摩托罗拉 Solana - CyanogenMod 10.1】 摩托罗拉Droid3,代号为“Solana”,是一款基于Android系统的智能手机,由摩托罗拉制造并广受用户喜爱。这款设备的独特之处在于其强大的硬件配置和可定制性,...

    用于 Solana 代币和 NFT 的 基于命令行的空投工具_JavaScript_代码_下载

    用于 Solana 的基于 guerilla tactix 命令行的空投工具,没有抛光和最大功能。 快速启动设置 设置Solana 工具套件 设置spl-token 将您的配置设置为您将空投的网络,例如。测试网solana config set --url ...

    solana_exporter:用于Solana区块链的Prometheus监视器

    solana_exporter solana_exporter从Solana节点导出基本监视数据。 上提供了映像。 指标 recent确认水平的跟踪指标: solana_validator_root_slot-每个验证者看到的最新根。 solana_validator_last_vote-每个验证...

    validators:设置Solana验证程序集群的指南

    第一个是单节点验证器,可以用作查询链上Solana数据或验证事务的入口点。 第二个是由NGINX服务器进行负载平衡的Solana验证器集群。 NGINX在其高级版本中提供了主动运行状况检查功能。 还包括使用主动运行状况检查...

    TreatToolbox:糖果机Solana的生成NFT实用程序___下载.zip

    TreatToolbox:糖果机Solana的生成NFT实用程序___下载.zip

    solana-web3.js:Solana JavaScript SDK

    Solana JavaScript API 这是基于Solana 构建的Solana Javascript 安装 纱 $ yarn add @solana/web3.js npm $ npm install --save @solana/web3.js 浏览器捆绑 <!-- Development (un-minified) --> < ...

    Solana:面向高端的新架构 性能区块链 v0.8.13.pdf

    Solana:面向高端的新架构 性能区块链 v0.8.13.pdf

    Python库 | solana-data-scraper-0.0.0.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:solana-data-scraper-0.0.0.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    solana-program-library:Solana维护的链上程序的集合

    Solana程序库(SPL)是针对的链上程序的。 这些程序针对Solana的Sealevel实施,solana运行时进行了测试,并已部署到其主网上。 随着其他人实施Sealevel,我们将慷慨地接受补丁程序,以确保此处的程序可移植到所有...

    Python库 | solana-0.17.0-py2-none-any.whl

    资源分类:Python库 所属语言:Python 资源全名:solana-0.17.0-py2-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    solana-go:前往Solana区块链库

    用于Go的Solana库转到库以与Solana节点的JSON-RPC接口,Solana的SPL令牌和指令进行接口。 更多合同即将到来。安装 :warning: solana-go使用SemVer进行工作,但版本为0,这意味着当应用程序中引入了一些重大更改时,...

    dapp-scaffold:在Solana上构建的dapp的脚手架

    :building_construction: Solana App支架搭建基于Solana的dapp的脚手架快速开始git clone https://github.com/solana-labs/dapp-scaffold.gitcd dapp-scaffoldnpm installnpm start环境设定从安装Rust 从安装Solana ...

    solana.games:基于Solana的随机性游戏

    WIP:Solana游戏基于分散Oracle的Solana上基于随机性的游戏。第0层:简单游戏经典骰子-掷骰的结果由Oracle系统确定,该系统在Solana上生成随机数。 从12中选择-中奖号码由Oracle系统确定,该系统在Solana上生成...

    STEPN 是一款基于Solana链研发的,全球首款 Move To Earn(边运动边赚)NFT 游戏。GMT GST

    STEPN 是一款基于Solana链研发的,全球首款 Move To Earn(边运动边赚)NFT 游戏。内置 Game-Fi 和 Social-Fi 元素的运动赚钱的游戏,围绕大多数人的日常基本活动而构建的。用户以 Sneakers (运动鞋)的形式为自己...

    Solana 区块链的 Go SDK 库和 RPC 客户端.zip

    适用于 Go 的 Solana SDK 库 Go 库与 Solana JSON RPC 和 WebSocket 接口进行交互。未来将有更多合同。如果你正在使用/开发用Anchor Framework编写的 Solana 程序,则可以使用anchor-go生成 Golang 客户端如果您正在...

    solana-validator:Solana验证器资源的家

    Solana验证器 Solana验证器资源的家 旗帜 环法自行车赛(TdS)PICO通货膨胀 有关更多详细信息,请参见 Mainnet Beta(MB)验证器研讨会 有关更多详细信息,请参见 贡献者 :sparkles: 感谢这些很棒的人(): 该...

    Solana-JSON:一个用于从Solana区块链存储和检索JSON数据的库

    Solana JSON一个用于在Solana区块链上以JSON格式存储和检索数据的库该库使用位于solana-json.so的智能合约在Solana区块链上存储基于文本的数据,例如JSON。 部署应用程序时,其标准存储量为1000个字符。 然后可以将...

    锚::anchor:Solana海平面框架

    Anchor是Solana 运行时的框架,提供了几个方便的开发人员工具。 Rust eDSL用于编写Solana程序 规格 用于从IDL生成客户端的TypeScript包 CLI和工作区管理,用于开发完整的应用程序 如果你熟悉复仇的发展,, 或平价...

    solana-go-sdk

    solana-go-sdk

Global site tag (gtag.js) - Google Analytics