date
Jul 10, 2024
slug
cau-truc-mang-solana
status
Published
tags
Blockchain
summary
Tìm hiểu tổng quan về mạng Solana
type
Post
  1. Cấu trúc mạng Solana
    1. Trong Solana, không có thuật ngữ Smart Contract như của Ethereum, mà thay vào đó là thuật ngữ program. Khi có 1 ứng dụng muốn tương tác với Cluster trong mạng Solana, nó sẽ gửi đi các transactions lên mạng, mỗi transaction sẽ có 1 hoặc vài instruction. Solana sau đó sẽ điều hướng các transaction tương tác trực tiếp với program mà Developer đã deploy trước đó. Để hiểu rõ hơn về cách tương tác với mạng blockchain Solana, hay cấu tạo 1 transaction gửi lên thế nào, bạn có thể tham khảo ở Programming Model.
       
      Điểm yếu :
      Điểm yếu của Solana được nhìn thấy rõ nhất đó là sự kiện ngày 14/9/2021. Khi đồng loạt các Validators đều ngừng hoạt động. Gián đoạn kéo dài 17h cho đến khi được hoạt động lại. Nguyên nhân được cho là Raydium - Một blockchain layer 2 chạy trên nền của Solana, thực hiện đợt IDO với 300.000 transactions/s. Điều đó làm cho các Validators bị tràn bộ nhớ khi gặp phải lượng giao dịch đột biến như vậy, trong khi các Validators cũng đã được Solana khuyến cáo về sức mạnh tính toán tối thiểu là 128 GB Ram. Câu hỏi đặt ra là: Việc xác thực các Block bị phụ thuộc quá nhiều vào sức mạnh tính toán của tập các Validators thì blockchain của họ có thực sự phi tập trung
       
  1. Nội dung
    1. Quay lại với Solidity trong Ethereum một chút, có 2 loại address trong Solidity đó là:
      • User Address: Để lưu trữ các token, ký lên các giao dịch, tạo Smart Contract mới
      • Contract Address: Chỉ có thể lưu trữ các token và tương tác với các Smart Contract khác
      Trong Solana thì chia làm 3 loại Account (có thể hiểu đơn giản là public address):
      • Account được sở hữu bởi System program. Đó chính là các địa chỉ của chúng ta dùng để ký lên các giao dịch tương tự như User Address trong Solidity, ví dụ là địa chỉ mình đã tạo trên máy local.
      • Account được sở hữu bởi Token Program. Đó là các địa chỉ có thể chứa coin hoặc token mà thuộc sở hữu của 1 chương trình nào đó. Tuy nhiên, khi có giao dịch thì người ký lên giao dịch vẫn là chúng ta
      💡
      Loại Account thứ 2 này thuộc sở hữu của Token Program, nhưng người tạo ra nó sẽ là chúng ta (Account owned by system program).
      • Account được sở hữu bởi chính chương trình của chúng ta, nó sẽ lưu trữ các biến state của chương trình.

“Success is not final, failure is not fatal: it is the courage to continue that counts.“

Winston Churchill


© Hiếu Trần 2020 - 2025

Tip: Use console.table() for better array logging!
Anime Character