JGTech

Technology drives us

Solana Beats Ethereum in Gas Fees

2021-09-06 JGTechBlockchain

Solana is an open source project implementing a new, high-performance, permissionless blockchain.

The possibility for a centralized database to process 710,000 transactions per seconds on a standard network is high if the transactions are no more than 176 bytes. Using a centralized database can also replicate itself and maintain high availability without significantly compromising that transaction rate using the distributed system technique know as Optimistic Concurrency Control.

To achieve the goals above, Solana found a way to share time when nodes cannot rely upon one-another.

Solana fees are $0.00025 per transaction, but they fluctuate over time. The fees are set by the competition for block-space, which increases when the traffic on the blockchain increases. Compared to Ethereum, Solana has 60 thousand times lower fees. This is because of the high scalability of Solana compared to Ethereum. As Solana keeps scaling better, the fees will decrease even more in the future.

Transactions

One of more instructions signed by the client using one or more keypairs and executed atomically with only two possible outcome: success and failure.

Transaction Format

A transaction contains a compact-array of digital signature of the given message. At runtime, Solana verifies that the number of signatures matches the number in the first 8 bits of the message header. Also, it verifies that each signature was signed by the private key corresponding to the correct public key.

Message Format

A message contains a header, followed by a compact-array of account addresses, followed by a recent blockhash, followed by a compact-array of instructions.

Instruction Format

An instruction contains a program id index, followed by a compact-array of account address indexes, followed by a compact-array of opaque 8-bit data.

Instructions

The smallest unit of a program that a client can include in a transaction. Within its processing code, an instruction may contain one or more cross-program invocations.

Program Id

The instruction’s program id specifies which program will process the instruction.

Accounts

The accounts referenced by an instruction represent on-chain state and serve as both the inputs and outputs of a program.

Instruction data

Each instruction carries a general purpose byte array that is passed to the program along with the accounts. The contents is program specific and used to convey what operations the program should perform and any additional information.

References

  • Chat with me about technology
  • Learning is the best ability a human has
  • Always strive for a better self