Solana創建于2017年,當時它的創始人AnatolyYakovenko在尋求一種讓去中心化的節點網絡與單個節點的性能匹配的方法。還沒有主流區塊鏈能夠接近于實現這一特性。于是實現這一點成為了Solana的目標。
原文標題:《7InnovationsthatMakeSolanatheFirstWeb-ScaleBlockchain》
作者:AnatolyYakovenko
譯者:詹涓
比特幣和以太坊等工作量證明(ProofofWork)系統支持大約每秒10筆事務(TPS)。以實用拜占庭容錯(PBFT)為基礎的權益證明(PoS)系統,如Tendermint,當節點數在100-200個時,可支持大約1,000TPS。Solana是一個類似于PBFT的PoS區塊鏈,在當前的測試網迭代中以超過200個節點支持高達50,000TPS,使其成為性能最好的區塊鏈和世界上第一個Web規模的去中心化網絡。
自Solana成立以來,由來自高通、英特爾、網景和谷歌的技術先驅組成的Solana團隊一直致力于構建這些突破性性能標準所需的技術。
為了創建一個去中心化、無許可,并且可以匹配單個節點性能的網絡,Solana團隊開發了以下7項關鍵技術:
?歷史證明(POH):共識之前的時序;
?TowerBFT:PBFT的PoH優化版本;
?Turbine:區塊傳播協議;
?GulfStream:快速事務轉發協議;
?Pipeline虛擬機:并行智能合約運行時;
?Cloudbreak:水平縮放的帳戶數據庫;
?復制器(Replicators)?:分布式賬本存儲
EOS短線突破1.7 USDT,24H漲幅為13.75%:行情顯示,EOS短線突破1.7 USDT,最高至1.7199 USDT;現報1.6775 USDT,24H漲幅為13.75%。[2022/8/22 12:41:27]
在本文中,我們將簡要地解釋以上每項技術。如果您想要深入了解,可以點擊上面的鏈接,內有我們提供的詳細說明。
歷史證明
如果區塊鏈網絡作為一個整體要匹配單個節點的性能,這意味著帶寬不能成為瓶頸,而計算才是。為了實現這一點,我們需要首先對網絡中的節點通信進行優化。
無線蜂窩網絡與基于區塊鏈的網絡有著許多相似之處,長期以來無線蜂窩網絡一直致力于優化網絡通信。從規模上看,沒有哪一個無線發射塔有足夠的帶寬讓每部手機都能分到自己的無線頻率用于傳輸,因此電信公司需要「多址技術」來在同一頻率里擠進多個電話呼叫。
時分多址(TDMA)是實現蜂窩網絡大規模可擴展性的主要技術之一。TDMA指定發射塔將每個無線電頻率劃分為時間段,并將這些時間段分配給每個電話呼叫。通過這種方式,蜂窩塔為網絡提供了一個全局可用的時鐘。這極大地提高了有限帶寬的可伸縮性,允許每個頻率支持多個同步數據通道,并減少來自多個手機在同一頻率上同時廣播的干擾。
當前基于區塊鏈的網絡則面臨著時鐘問題。每當一個新的區塊生成時,他們的時鐘就會「滴答」一次。對于以太坊來說,這種情況每15秒發生一次,因此一個區塊中只能塞入這么多的信息。對于基于區塊鏈的網絡,與TDMA類似的時鐘機制應當具有時小于秒的粒度,并且得到所有驗證節點的同意,這樣它們就可以更有效地處理事務。
Solana的核心創新是「歷史證明」,這是一個全局可用、免許可的時間來源,可以在達成共識之前在網絡中運行。POH不是一個共識協議,也不是抗女巫攻擊機制。應該說,POH是時序問題的一個解決方案。
IOST突破0.07 USDT關口 24h漲幅超16%:據火幣交易平臺數據顯示,IOST今日持續拉升,現報價0.07 USDT,24h漲幅超16%,24h交易量超5億IOST。[2021/4/14 20:17:06]
其他區塊鏈要求驗證者相互通信以確認時間已經過去,而每個Solana驗證者通過將時間編碼為一個簡單的SHA-256序列哈希可驗證延遲函數(VDF)來維護自己的時鐘。Solana使用VDF并不是為了隨機性;相反,驗證者使用VDF是為了維護自己的時鐘。因為每個驗證者都維護自己的時鐘,所以選擇領導者(leader)在先,進行一個完整的紀元在后。就像Tendermint一樣,一個紀元的時間表可以持續數千個區塊。然而,與Tendermint不同的是,網絡從不等待失敗的節點。每個驗證者運行VDF以證明它已經獲得了傳輸區塊和驗證者的時間段(slot)。每個驗證者都會因為這樣做而得到補償,正如區塊生產者會因為生成區塊而獲得獎勵一樣。
有了歷史證明,領導者繼續輪換,不管網絡狀況如何,網絡作為一個整體都在前進。這意味著網絡永遠不會停止,可以在沒有任何驗證者相互通信的情況下決定輪換驗證者。這是一個微妙而深刻的轉變,沒有其他區塊鏈擁有類似的機制。在其他所有區塊鏈中,驗證者必須通過通信才能做出決策,可是在Solana中,領導者的輪換決策是異步調用的。
這一核心創新打開了全面提升的設計空間。除了提供用于時間戳的時鐘之外,POH還使得Solana能夠優化網絡上可用的區塊時間(800ms)、區塊傳播(log200(n)、吞吐量(50K-80=KTPS)和分類帳存儲(pb)。
TowerBFT
在歷史證明的基礎上,Solana運行TowerConsensus,這是一種類似PBFT的共識算法,專門設計為可以充分利用已同步的時鐘。但是與PBFT不同,TowerConsensus傾向于活性而非一致性。與PBFT同樣的是,節點會成倍增加超時時間以達成協議,但由于區塊鏈賬本也是一個免信任的時間源,節點可以觀察和檢查網絡
今日恐慌與貪婪指數為47 等級由恐慌轉為中性:金色財經報道,據Alternative.me數據顯示,今日恐慌與貪婪指數為47(昨日為45),等級為平衡。
注:恐慌指數閾值為0-100,包含指標:波動性(25%)+市場交易量(25%)+社交媒體熱度(15%)+市場調查(15%)+比特幣在整個市場中的比例(10%)+谷歌熱詞分析(10%)。[2020/9/27]
想象你置身在一個孤島上,一個瓶子漂了過來,里頭裝著一個U盤。在U盤里存著一個Solana帳本。如果你只查看帳本本身,你將看到每個節點都可以計算當前驗證者的數量、每個驗證者的狀態——以及關鍵的一點,每個驗證者向網絡中的任何區塊提交的超時時間。僅僅是根據數據結構,不需要任何對等網絡消息,驗證者就可以做出投票決定,網絡可以據此達成共識。
Turbine
由于Solana共識層不依賴于對等網絡消息,它能夠獨立于共識去優化區塊在網絡中傳輸的方式。Solana的區塊傳播技術被稱為Turbine,它主要是從BitTorrent那里「偷師」。當一個區塊被流化時,它與擦除碼一起被分解成小數據包,然后在一大組隨機的對等點上散開。扇出200個數據包,網絡的第二層可以覆蓋40,000個驗證者。因此,驗證者能夠傳播對最終性具有log200(n)影響的區塊。對于所有實際用途,如果每個連接都是100ms,那么對于一個擁有40,000個節點的網絡,復制可以在400ms內完成,實現最終性只需500ms。
扇出機制必須能抗故障。因此,驗證者使用里德-所羅門編碼(Reed-Solomon)以糾刪代碼編碼數據,提供一定程度的容錯。
GulfStream
在高性能網絡中,內存池管理是一種新的問題,不過對于其他區塊鏈來說并不是那么迫在眉睫。GulfStream通過推送事務緩存和轉發到網絡邊緣來發揮作用。由于每個驗證者都知道Solana架構中即將輪值的領導者的順序,客戶端和驗證者會提前將事務轉發給預期的領導者。這樣便于驗證者提前執行事務,減少確認時間,更快地切換領導者,并減少來自未確認事務池對于驗證者的內存壓力。
近24小時SushiSwap手續費高達519.87 ETH,位列以太坊全網第三名:據歐科云鏈OKLink數據顯示,近24小時SushiSwap Staking Pool合約地址手續費高達519.87 ETH,約合23.06萬美元,占以太坊全網手續費的2.69%,僅次于Uniswap和Tether USD,位列全網第三名。[2020/9/1]
客戶端簽署引用特定區塊哈希的事務。客戶端選擇一個最近才被網絡完全確認的區塊哈希。區塊大約每800ms被提議(propose)一次,并且需要一個指數級增長的超時來展開每一個新增區塊。使用我們的默認超時曲線,在最壞的情況下,一個完全確認的區塊哈希為32個區塊時長。假設區塊時間為800ms,則相當于25.6秒。
一旦事務被轉發到任何驗證者,驗證者就會將其轉發給即將到來的領導者之一。客戶端可以訂閱來自驗證者的事務確認。客戶端知道區塊哈希在有限的時間內過期,或者事務由網絡確認。這便于客戶端簽署保證執行或失敗的事務。一旦網絡超過回滾點,使得事務所引用的區塊哈希過期,客戶端就可以確切知道事務已經是無效的,并且永遠不會在鏈上執行。
Pipeline虛擬機
我們構建了Pipeline虛擬機(VM),以充分利用Solana的高性能網絡,這是一個超級并行的事務處理引擎,旨在橫向擴展到GPU和SSD。請注意一點:所有其他區塊鏈都是單線程計算機。Solana是唯一一個在單個分片中支持并行事務執行的區塊鏈。
這個問題的解決方案很大程度上借鑒了名為「散點-聚集」的操作系統驅動程序技術。事務預先指定它們在執行時將讀取和寫入的狀態。運行時能夠找到在一個區塊中發生的所有非重疊狀態轉換函數,并并行地執行它們,同時優化跨RAID0SSD數組調度對狀態的讀寫。
行情 | 數據:比特幣挖礦難度上調至10.77 T,兩周平均算力持續保持在70 EH/s以上:據BTC.com數據顯示,北京時間9月1日10點35分,比特幣在區塊高度592,704處調整挖礦難度至10.77 T,續刷新高,較8月17日增長5.78%。預測下次難度將上調5.32%至11.34T,距離調整還剩13天15小時。此外,過去兩周比特幣平均算力持續保持在70 EH/s以上,為77.08 EH/s,遠高于8月19日時的兩周平均算力(72.79 EH/s)。截至目前,比特幣全網算力為77.83 EH/s。[2019/9/1]
盡管Pipeline本身是一個調度事務的虛擬機,但Pipeline實際上并不在虛擬機中執行事務。相反,Pipeline將事務傳遞給本地硬件上,直接使用一種業界驗證過的,被稱為伯克利包過濾(BerkeleyPacketFilter,BPF)的字節碼來執行。這種字節碼是為高性能包過濾器設計的,自1990年代早期就已經進行了優化,并已部署到全球數百萬個交換機的生產環境中,以便在一個40千兆比特的網絡上每秒處理6,000萬個數據包。
每次英偉達(Nvidia)將SIMD可用線程的數量增加一倍,我們的網絡的計算能力就會增長一倍。事實上,所有其他單線程計算機區塊鏈都無法以這種方式擴展。
使用同樣針對WASM的編譯器LLVM,我們為開發人員提供了一組很棒的工具,可以用C/C和Rust語言編寫高性能智能合約,并在GPU上執行。雖然Solana沒有使用WASM,但是只需要少量修改,開發人員就可以將為WASM編譯器編寫的C和Rust代碼在Solana編譯器中重新編譯。因此,開發人員可以輕而易舉地從其他主流WASM鏈遷移他們的應用程序。
以太坊曾因其軟件架構出現過一些漏洞。舉兩個相關的例子:
MultipleparityhacksthroughDelegateCall
TheDAOrentrancybugthrough「call」
通過委托調用導致多個Parity錢包攻擊
通過「調用」導致DAO重入漏洞
編寫安全的Solidity代碼是完全可能的,就像可以用C語言編寫復雜的軟件而不需要內存保護一樣。但是,只要不安全行為易于添加且難以檢測,驗證復雜軟件行為的難度就會幾何級增長。Solana和Libra團隊都很早就認識到這個問題,并開發了在不同模塊之間保持嚴格狀態分離的架構。
Move語言引入了資源(Resources)和腳本(Scripts)作為高階概念。兩者都可以很自然地適應SolanaPipeline運行時以及我們的本地程序設計。我們的目標是支持將Move作為第一層語言,這樣資源就可以像原生Solana程序一樣運行,并且可以通過Move或我們自己的原生RustABI進行開發和組合,而不會對性能或安全性造成任何影響。
Cloudbreak——水平伸縮內存
光是可伸縮計算還不夠。用于追蹤帳戶的內存很快就會在大小和訪問速度方面成為瓶頸。比方說,一般認為,許多現代區塊鏈使用的本地數據庫引擎LevelDB不能支持超過5,000TPS。
一個略天真的解決方案是在RAM中維持全局狀態。然而,指望消費級計算機擁有足夠的RAM來存儲全局狀態,這也不太合理。對于Solana,我們設計了Cloudbreak,這是一種狀態架構,它針對分散在SSDRAID0配置中的并發讀寫進行了優化。每個新增磁盤都增加了鏈上程序可用的存儲容量,并增加了在執行時可執行的并發讀寫程序次數。
與我們的事務設計相結合,這個架構支持事務的提前(AheadOfTime,AOT)執行。一旦驗證者觀察到事務,Pipeline虛擬機就可以開始從磁盤預取所有帳戶并準備運行時執行。驗證者和區塊生產者甚至可以在將事務編碼到區塊之前開始執行事務,這便于我們進一步優化區塊時間和確認延遲。
復制器
以1GBPS的速度,區塊鏈網絡每年將為賬本生成4PB的數據。存儲數據將很快成為主要的中心化向量,這與區塊鏈實現的目的背道而馳。
在Solana上,存儲的數據從驗證者下載到稱為復制器(Replicator)的節點網絡。復制器不參與共識。狀態歷史被分割成許多部分,并執行糾刪代碼。復制器存儲狀態的一小部分。每隔一段時間,網絡就會要求復制器證明它們還在存儲其應該存儲的數據。Solana使用的復制證明(PoRep)理念主要借鑒自Filecoin。
我們能夠使用歷史證明——達成共識之前的時鐘——來優化PoReps的創建方式。復制器節點不參與共識,使用PoH生成輕量級的證明,通過這種證明可以復制分類賬的各個部分,而且驗證者能夠跨GPU批量驗證它們。
復制器可以是輕量級節點。通過糾刪代碼,復制器網絡可以提供超過AWS或GCE所希望提供的任何數據的可用性保證。
小結
由于這7項重大創新,Solana網絡是一個快如閃電的快速分布式賬本技術,而且將永遠保持運行。它不會因為共識而放緩。此外,該系統優化了數據傳播,大量利用并行GPU進行事務處理,并且不會因為大量鏈上歷史數據存儲而對驗證者造成負擔。
Solana軟件設計的指導原則是不應妨礙硬件,方便硬件以最大容量運行。因此,Solana可以自然地擴展帶寬、SSD和GPU內核。它是唯一實現上述目標的區塊鏈,正是通過以上創新,得以令Solana在全球200個物理上不同的節點網絡上實現50,000TPS。
網絡狀態
Solana的測試網現已上線。可以點擊testnet.solana.com查看。出于成本考慮,我們只運行少數幾個節點。但是,我們已經在許多實例上將它擴展到超過200個不同的物理節點,這些節點跨越了AWS、GCE和Azure上的23個數據中心,以進行基準測試。
目前網絡運行正常,開發人員現在就可以在測試網上部署代碼。他們可以用C語言構建智能合約,我們還在積極地開發Rust工具鏈。Rust將成為Solana智能合約開發的旗艦語言。作為SolanaJavascriptSDK的一部分,Rust工具鏈是公開可用的,我們正在進一步迭代軟件開發工具包。
Solana將很快推出一個公開測試版,鼓勵驗證者通過TourdeSOL運行節點——類似于Cosmos的GameofStakes競賽——這向公眾提出了一個挑戰,即在獲得代幣的同時測試Solana網絡的極限。
傳奇投資人MarkMobius在接受BNNBloomberg采訪時稱,隨著央行的降息和比特幣價格的上漲,人們應該買入黃金.
1900/1/1 0:00:00尊敬的ZDCoin用戶:ZDCoin&AGG共同舉辦“交易大賽”的活動已順利結束,感謝大家的積極參與.
1900/1/1 0:00:00法定數字貨幣近期頻頻出現在官方表態中。 8月21日,央行微信公眾號發布兩篇有關數字貨幣的文章,一是發表于2018年1月的范一飛副行長談央行數字貨幣幾點考慮,二是央行支付結算司副司長穆長春8.
1900/1/1 0:00:00本文從隱私安全的角度,將比特幣和匿名幣門羅、Zcash、Grin、Beam之間的優劣勢進行對比,誰會是大勢所趨?本文原作者EricWall,發表于Medium.
1900/1/1 0:00:00民主黨2020年美國總統候選人、加密倡導者AndrewYang表示,他當選后將實施基于區塊鏈的移動投票系統.
1900/1/1 0:00:00據TokenGazer數據分析顯示:截止至8月19日17:30,BTC價格為$10,718.58,市值為$191.
1900/1/1 0:00:00