From WEB3 Vulnerapedia
Jump to navigation Jump to search

Solana is a high-performance proof of stake blockchain platform designed to support decentralized applications (DApps) and cryptocurrencies within the Web3 ecosystem.

Solana was launched in 2020 by Solana Labs which was founded by Ethereum co-founder Anatoly Yakovenko and Raj Gokal in 2018. It is known for its scalability and speed, achieved through innovative consensus mechanisms and sharding techniques.

Solana aims to provide a secure and efficient environment for developers to build and deploy DApps, smart contracts, and tokens. It has gained popularity for its ability to process a high volume of transactions and support a wide range of decentralized use cases, making it a significant player in the Web3 landscape.

Rust is mainly used for smart contracts on Solana, however recently-developed frameworks have opened doors for Solana smart contract development to be possible using Python and even Solidity.

Consensus Mechanisms

Solana utilizes proof of stake alongside proof of history for its operations. It also uses Byzantine fault tolerance.

Proof of history makes sure transactions are in sequence to ensure security and efficiency from proof of stake's consensus. This combination allows Solana to have high transaction speeds, low latency and healthy scalability.

Leader Schedule Rotation

Solana assigns a slot leader that signs blocks for validators to accept, there can only be one slot leader at a time and this leader is rotated through a schedule. This leader schedule assigns slot leaders for an epoch and the identity of these leaders are computed in advance.


In Solana, accounts function differently compared to accounts in Ethereum.

l3 main types of accounts of Solana include:

  • Data accounts, stores data
    • System-Owned accounts, generated by native programs on Solana
    • Program Derived accounts, authorization done through program accounts instead of private keys
  • Program accounts, stores executable programs
  • Native accounts, refers to native programs such as System, Stake and Vote on Solana

Every Solana account has a public key (address) like Ethereum, but differs with an owner, which is the address of a program account, which can be understood as the program that created the account.

If you create an account through a wallet, that account is categorized as system-owned accounts under data accounts.