來源:登鏈社區
這是一個系列文章介紹Solana開發。
Solana是一個高性能的Blockchain平臺,通過獨特的共識機制和賬戶模型實現高吞吐量和低延。
作為系列文章第一篇,這篇文章主要介紹Solana開發前需要了解的一些知識:
Solana誕生背景
Solana是如何出塊(共識運作)
Solana核心概念:賬戶模型、PDA、交易及費用、集群等。Solana誕生背景
Solana于2017年由AnatolyYakovenko創立。Anatoly選擇名為Solana的名字,以致敬他們在工作于高通期間住和沖浪了三年的圣地亞哥北部的一個小海灘城鎮SolanaBeach。
在創立Solana之前,Anatoly在高通、Mesosphere和Dropbox工作過多年,在高性能網絡和分布式系統領域有著豐富經驗。
他認識到Blockchain在可擴展性方面的瓶頸限制了其大規模應用的潛力。受到分布式系統中時間同步技術的啟發,他提出了ProofofHistory(PoH)的概念。用于在不信任彼此的計算機之間進行時間同步。
我們開看看Solana如何應用PoH實現驗證者之間的高效同步的。Solana共識- 如何出塊
注:Solana共識算法文檔有些過時,這部分的內容是參考深入Solana共識加上我理解。
Solana是一條權益證明(PoS)Blockchain,共識算法遵循兩階段:1.選出驗證者出塊2.其他驗證者對塊進行投票,積累了足夠多投票之后,區塊被最終確認。選出驗證者
在Solana的協議中,有兩個重要時間間隔相關的詞:Epoch與時隙(slot):
時隙(slot):驗證者生成區塊的時間單位。每個時隙可以生成一個區塊,每個時隙持續400毫秒。
Epoch:在每個Epoch開始時,Solana網絡會根據質押權重和之前的區塊隨機選舉出一個驗證者(稱為領導者Leader)序列,這個領導者序列負責在該Epoch內出塊,領導者序列在此期間保持固定,每個領導者可以連續處理4個Slot(即出4個塊),每個Epoch大約持續兩天(包含432,000個Slot)。直到下一個Epoch重新產生領導者Leader。
PoH通過創建一系列加密哈希(SHA256算法),每次哈希計算都需要使用前一個哈希值,這樣就可以確保下一個哈希總是在上一個哈希之后發生,因此POH哈希鏈結合介意數據就可以確定交易次序。
區塊的驗證過程包括驗證區塊元數據和重新計算PoH哈希,會驗證并重放來自區塊的所有交易,并更新賬本。
驗證通過后,通過投票表示驗證者對一個區塊的承諾,驗證者持有的委托權益(幣)越多,投票的權重就越大。
通常,驗證者會選擇最重的鏈出塊和投票,如果出現了前一個領導者的區塊未能到達當前領導者,則可能會出現分叉的情況:
我們發送到Solana網絡中的一筆交易包括四個部分:
一個或多個指令(instructions)
一個要讀取或寫入的賬戶數組(account_keys)
一個或多個簽名(signatures)
最近的區塊哈希(recent_blockhash)
一個指令是Solana上最小的執行邏輯。指令指定了執行程序、涉及的所有賬戶和操作數據。指令調用程序更新狀態(例如,調用Tokens程序將Tokens從你的帳戶轉移到另一個帳戶),程序解釋指令中的數據,并對指定賬戶進行操作。
指令類似于Ethereum智能合約上的函數調用。
交易中多個指令的執行是原子性的,所有指令要么一起成功,要么一起失敗。
每個集群都獨立運行,完全不知道其他集群的存在。發送到錯誤集群的交易將被拒絕,以確保每個運行環境的完整性。
本文介紹了Solana的核心概念,包括其賬戶模型、出塊機制、交易記費用結構。
理解這些基礎知識,接下來我們就要開始上手Solana開發應用了。參考文章
Solana是如何工作的-工作原理
深入Solana共識-從分叉到最終確定性
免責聲明:Solana 開發系列 1 —— 理解 Solana文章轉發自互聯網,版權歸其所有。
文章內容不代表本站立場和任何投資暗示。加密貨幣市場極其波動,風險很高,可能不適合所有投資者。在投資加密貨幣之前,請確保自己充分了解市場和投資的風險,并考慮自己的財務狀況和風險承受能力。此外,請遵循您所在國家的法律法規,以及遵守交易所和錢包提供商的規定。對于任何因使用加密貨幣所造成的投資損失或其他損失,本站不承擔任何責任。
Copyright © 2021.Company 元宇宙YITB.COM All rights reserved.元宇宙YITB.COM