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