Solana的独特之处
什么是Solana
Solana 由 Solana Foundation 于 2017 年提出并于 2020 年推出,将自己定位为解决以太坊可扩展性问题的答案, 尽管有其起源,但它现在不仅仅是以太坊的替代品,相反它已成为一个倍受敬佩的网络,拥有流行平台的生态系统。Solana 旨在通过快速且低成本的交易来支持去中心化和可扩展的应用程序。 因此,该网络支持无数的Dapp,DeFi、NFT市场和游戏生态系统。
Solana的概念
Solana链的架构与功能
Solana区块链平台提出了一种混合共识机制,在去中心化上妥协,以最大化速度。PoS与PoH的创新结合,使Solana成为区块链行业中独一无二的项目。
Proof of History (PoH): Solana 的核心创新之一是 “历史证明”(Proof of History, PoH)。PoH 是一种去中心化时钟,可以为整个网络中的所有节点提供一个统一的时间参考。PoH 通过记录历史事件的顺序,使区块链能够更加高效地确认交易,而不需要传统的区块链中常见的全局共识。
Tower BFT: 这是 Solana 使用的一种拜占庭容错机制,它基于 PoH 构建。Tower BFT 允许节点通过 PoH 时间戳快速达成共识,从而提高了交易确认速度。
Turbine: Solana 的 Turbine 协议通过将交易数据分片,并以分层方式传播到网络中的节点,极大地减少了带宽需求。这有助于提高网络的可扩展性。
验证者(Validator):验证者是运行 Solana 协议的软件节点,它们负责验证交易、维护账本状态、以及参与共识过程。验证者在 Solana 网络中的作用包括: 交易处理共、识达成(Tower BFT)、网络安全性、质押和奖励等。
集群(Cluster):集群是指一组验证者,它们协同工作来维护同一个账本,处理用户提交的交易,并且确保网络的正常运行。Solana 中的集群可以理解为一个独立的区块链网络。一个集群通常包括以下组件:**Ledger(**共同账本)、 网络拓扑、 功能隔离(多个独立集群各自处理不同的任务)、容错机制
Solana 账户模型
Solana中每个帐户都可以通过其唯一的地址来识别,用 Ed25519 PublicKey 格式。此账户及其地址之间的关系可以被视为键值对, 而地址是定位相应的链上账户数据的键。
帐户信息:帐户有一个最大大小为 10MB(10 Mega Bytes) ,并且 Solana 上每个帐户上存储的数据有以下结构AccountInfo:
data: 存储帐户状态的字节数组。 如果帐户是程序(智能合约),则存储可执行程序代 码。 此字段是,通常称为“帐户数据”。
executable: 表示帐户是否为程序的布尔标识符。
lamports:账户余额的数字表示方式为 lamports,这是SOL中最小的单位(1 SOL = 10亿 lamports)。
owner:指定哪一个程序的公钥 (程序ID) 拥有该帐户。
Solana 上的每个账户都有一个指定为“所有者”,特别是程序。 只有指定为帐户所有者的程序可以修改帐户中存储的数据或扣除lamport余额,虽然只有所有者可以扣除余额,但任何人都可以增加余额。