時間對于分布式賬本技術的意義不言而喻,任何賬本都需要達到「有序」,而在時間和狀態分離的時鐘體系中,時間和狀態并非耦合綁定,鏈上交易的時間戳將會被編碼,交易像水一樣在網絡間流動。
Solana將基于哈希的時間鏈與狀態更新進行分離,首先為其智能合約平臺提供一個免許可、全局可用、信任最小化時鐘體系,并在達成共識前優化網絡運行,Solana把這個核心創新稱之為「歷史證明機制」。
撰文:小毛哥Mao特別感謝RockX聯合創始人董心書博士的審讀及建議
「今天是2019年8月16日,起遲了,今天又是平淡的一天。」
幾年幾月幾日、早與遲、今天和明天,都是我們對時間的概念,時間可以來源于iPhone手機、玩具手表、最精確的原子鐘等任何可信賴的第三方,重要的是,我們所說的「時間」好像是一個人類社會賦予的概念。愛因斯坦的廣義相對論嘗試從更科學的角度探索時間的真正定義,當然,人們還是以自己感覺最直觀的定義理解著自己的時間。
反直覺的是,在完全開放的分布式系統中,因為失去了可以完全信賴的第三方,我們很難依賴幾年幾月、早與遲這些習以為常的時間概念來確定事件的順序。在分布式系統中,我們所需要的「時間」不是我們習慣的時間粒度,而是需要的是一種機制,通過該機制我們可以驗證一個事件發生在另一個事件之前、之后或者同時發生。
為什么時間是區塊鏈的根本問題?
時間戳的概念
試想一種情況:你在某日舉著《紐約時報》閱讀,被記者拍下一張照片,過了幾天之后,你發現你的這張照片被刊登在了新一期《紐約時報》。
假設《紐約時報》信息是正確無誤的情況下,因為這個巧合,即使多年之后,雖然你忘記了被拍下照片的日期,但通過這份情報,你也可以準確地判定照片拍攝的日期:在2014年10月12日至2014年10月14日之間。
這個巧合實際構造出一種時間機制,我們建立了兩個可信的時間點,而案例中《紐約時報》提供的信息就是這個機制里的時間戳。
正如上文我們所提到的,要確定事件的前后關系問題,需要的不是可信的物理時鐘,而是去建立擁有可信時間點的時間機制。根據愛因斯坦的相對論中觀點,全宇宙中位于不同空間的時間不是一致同步的。比特幣通過創建自己的時間概念來解決這個問題,證明實現分布式賬本技術是可行的。
分布式系統中的基本問題:時鐘問題
根據一份比特幣最初的源代碼,中本聰最初將比特幣的數據結構,即大家熟悉的「區塊鏈」表述為「時間鏈」。
數據:一地址在半小時前將6314枚BTC從未知錢包轉入幣安:1月19日消息,據Whale Alert監測顯示,半小時前一地址將6314枚BTC(約1.3億美元)從未知錢包轉入幣安。[2023/1/19 11:21:32]
時間對于分布式賬本技術的意義不言而喻,任何賬本都需要達到「有序」,人們不能花沒有收到的錢,也不能花已經花了的錢。區塊鏈技術本身必須在無需第三方的情況下,明確地對賬本進行排序。雖然區塊鏈中還有許多其他技術細節,但時間是至關重要的,沒有時間與順序,就沒有區塊鏈。
美國計算機科學家LeslieLamport在1978年發布的論文《Time,Clocks,andtheOrderingofEventsinaDistributedSystem》首次將分布式系統中的時序與相對論中的時間概念進行對比,并提出一種可用于「同步邏輯時鐘的系統,以對事件進行全局排序」的分布式算法。他在1982年發表一篇關于可容錯的計算機系統的經典論文《TheByzantineGeneralsProblem》,也就是著名的拜占庭將軍問題的來源。
拜占庭將軍問題是分布式系統發展中的殿堂級問題,而對于該類問題解決方案,背后的概念基本上是將可能引發不一致的并行操作進行串行化的排序。2008年11月13日,中本聰在一份解釋比特幣的早期郵件開頭寫道,工作量證明機制是拜占庭將軍問題的解決方案之一。
如何確定事件的時間和順序,是分布式系統的基本問題。引入全局時鐘是實現拜占庭將軍問題中線性一致性的方法之一。全局時鐘可以讓讓許多互不信任的節點有全局同步的時間來源,再加上時間戳,就可能實現全局一致的有序交易。為了分布式系統達到強弱不等的一致性結果,許多建立在此思路上的區塊鏈共識作為解決方案應運而生。
全局一致的時鐘+時間戳=有序的交易
理解時間和狀態——解構區塊鏈時鐘
PoW時鐘體系:工作量證明機制+時間鏈/區塊鏈
為了理解這個晦澀的密碼學問題,我們不妨將比特幣的PoW工作量證明機制想象成一個時鐘,反復計算出符合條件的哈希值相當于參與一個人人都可以參與并且會走到滿足結果那一刻的時鐘體系:
時間價值
時間對于工作量證明機制的意義在于通過持續消耗的動能來保護網絡的安全。我們可以使用「存量和流量」描述基于時間的能量及價值累計現象,使用以下三個公式簡要概括PoW時鐘體系的時間價值:
時間流量/存量=已經消耗/將要消耗的動能時間存量價值=挖礦已經消耗的動能+挖礦硬件的庫存價值時間流量價值=挖礦將消耗的動能+挖礦硬件的潛在盈利
狀態更新
數據:801455枚LINK從Binance轉移至未知錢包:金色財經報道,Whale Alert數據顯示,801,455 LINK(價值5,562,393美元)從Binance轉移至未知錢包地址。[2022/11/11 12:51:13]
狀態更新實際上是由出塊決定,每個新出的區塊反映出一個新的狀態。這一時間鏈結構被設計為平均每隔十分鐘出塊一次,即PoW時鐘大約每10分鐘指針滴答轉動一次。同時,每一次指針轉動都意味著該時鐘完成一個不可回溯、無記憶性的全局狀態更新。
指針轉動,滴答一次=有序出塊,狀態更新滴答時間=出塊時間轉速調整=挖礦難度調整最終狀態更新=最長鏈原則
時間與狀態:緊耦合
在工作量證明機制中,一個區塊產生之后,整條鏈會鎖定,此時沒有任何狀態更新,直到產生或接收到下一個有效的新區塊。每個新的區塊都包含前一個區塊的哈希,作為在該區塊有效的證據。總之,在PoW時間體系中,時間和狀態是耦合在一起的,總是相互綁定、一致行進。沒有狀態更新,時間就無法推進。
PoW時鐘體系特點
PoW時鐘體系是對解決分布式系統中時間和狀態問題的開創性的解決方案,PoW體系是一個安全、成熟、無許可的、全球共享的網絡設施,值得注意的是,PoW時鐘體系成本透明公開,但時鐘性能、可拓展性不足,仍有改進空間。
PoS時鐘體系:權益證明機制+時間鏈/區塊鏈
PoS時鐘體系將共識機制跟加密經濟激勵結合,有時通過限制驗證人數以提高系統性能。本文以目前成果最佳的高性能、無須許可的BFT共識算法Tendermint+BPoS(BondedProofofStake)為例來理解該時鐘體系。
時間價值
時間對于權益證明機制的意義是圍繞著PoS機制的核心行為staking產生的,我們可以將理解PoW時間價值體系的方式引申至該PoS時鐘體系。
時間的流量/存量=已經質押/即將質押的資金成本時間存量價值=已參與質押資金的機會成本+質押累計收益時間流量價值=長期持幣者的預期質押量+預期質押收益
狀態更新
PoS時鐘體系狀態與PoW時鐘體系相似,
指針轉動,滴答一次=有序出塊,狀態更新滴答時間=出塊時間(Tendermint約6秒)
時間與狀態:松耦合
在權益證明機制中,時間和狀態依然是耦合綁定的。因此,該分布式系統性能的改良思路依然是在時間和狀態之間做取舍,要么增加區塊大小,要么減少區塊時間,以增加時鐘的性能,即系統的吞吐量,用公式來表示:
XEN Crypto將推出多重鑄造功能VMU,啟用后可獲得XEN Torrent NFT:10月27日消息,XEN Crypto創始人Jack Levin在其官方Youtube頻道中宣布,XEN Crypto將推出基于NFT技術的多重鑄造功能VMU(Virtual Minting Unit),用戶啟用該功能后將獲得可用于交易的XENT orrent NFT。
Jack Levin表示,用戶使用多個錢包鑄造ZEN的過程單一冗長,還會消耗大量GAS費。VMU將優化鑄幣過程,用戶不再需要重復創建錢包,而是可以直接進入XEN Crypto的網頁版App,選擇多個VMU,并一次性支付所需Gas費。
一旦用戶啟用VMU,將會獲得NFT XEN Torrent。該NFT將會記錄所有平行進行的鑄幣過程,并且可以在OpenSea上進行交易。[2022/10/27 11:48:04]
吞吐量=區塊大小/區塊時間
如果Tendermint網絡達到5秒的出塊時間,5MB的區塊大小,理論上可以達到4000TPS的吞吐量。
PoS時鐘體系特點
PoS時鐘體系在解構分布式系統時間和狀態的嘗試中邁出了重要的一步,在系統的吞吐量上獲得了巨大的提升,但同時也付出了巨大的成本,比如圍繞staking的質押時間的長短含有影響PoS體系安全性的不確定因素。
分片時鐘體系:狀態分片架構+時間鏈/區塊鏈
分片架構體系,雖然不同項目的解決方案存在差異,但基本架構基本包括信標鏈,為網絡的其余部分提供時間源。該時鐘體系的改進性能思路很簡單,就是在時鐘體系下增加更多小的時鐘體系。
時間價值
分片時鐘體系擴展了單一區塊鏈的時間存量及流量,從而量化擴展了時間價值
狀態更新
信標鏈可以提供分片架構的全局時鐘,但每個分片僅是周期性地將其各自的獨立時鐘體系與信標鏈的時鐘體系同步,分片交互時需要狀態的周期性更新,更新所需的時間可能會帶來延遲。
時間與狀態:將耦合的時間和狀態同時分割
狀態分片架構將整個時鐘體系分割為一堆單獨的時鐘體系,將全局狀態分割為一堆較小的單獨分片,每個分片有自己的獨立時鐘體系,相互獨立但共同推進。
分片時鐘體系的特點
在理想狀態下,若分片之間跨分片交互最小,每個分片的性能維持不變,所有分片的累計吞吐量將會隨著分片數量的增加而線性增加。分片概念的設想顯著提升了系統性能,但可以預見是,由于每個單獨分片的時間和狀態依然是耦合的,同時還存在著分片安全、跨分片交易、網絡通信等技術問題,分片時鐘體系的現實情況依然會受到基礎區塊鏈,包括信標鏈及主鏈自身擴展性的限制。
Watcher.Guru:目前還有188.51萬枚比特幣待開采:金色財經報道,據Watcher.Guru發推稱,目前還有188.51萬枚比特幣待開采。[2022/8/7 12:08:02]
跳脫時鐘框架體系:分離時間和狀態
讓我們回顧一下以上討論的時鐘體系,PoW時鐘體系開創性地為比特幣創建了信任最小化的時鐘;PoS時鐘體系中我們以Tendermint+BPoS共識為例,說明了如何減少驗證者人以改善時鐘體系性能;分片時鐘將整體的時鐘體系分割為一堆單獨的時鐘體系,顯著地提高了吞吐量。
值得注意的是,所有這些時鐘體系依然是建立在時間和狀態耦合的框架內,也必然會受到限制。看起來每一個時鐘體系都有獨到之處,但都不完美。讓我們繼續思考繼續優化區塊鏈時鐘體系的方法:
時間一定要和狀態綁定嗎?
如果我們能「證明歷史」且「編碼時間」,可以分離時間和狀態嗎?
如果技術上能做到分離時間和狀態,這個時鐘體系會是什么樣?
首先,該時鐘體系依然需要一個全局可用、無需許可的時間來源,只有在全局可用的時鐘體系下,狀態更新可以持續且異步進行。其次,要改善節點之間的通信,需要快速、精準并保持信任最小化。
在時間和狀態分離的時鐘體系中,時間和狀態并非耦合綁定,鏈上交易的時間戳將會被編碼,交易像水一樣在網絡間流動。
基于該思路,Solana將基于哈希的時間鏈與狀態更新進行分離,首先為其智能合約平臺提供一個免許可、全局可用、信任最小化時鐘體系,并在達成共識前優化網絡運行。
Solana把這個核心創新稱之為「歷史證明機制」,PoH歷史證明機制是在達到成共識前在網絡運行的優化解決方案,提供了一種全新的時鐘概念。POH在達成共識之前充當一種特殊的時鐘,使得優化數據傳播到內存池管理等的各種獨特的時序假設在上層設計上產生。
這一核心創新打開了全面提升的設計空間。除了提供「編碼時間」的時間戳的時鐘之外,PoH還使得Solana能夠優化網絡上可用的區塊時間、區塊傳播、吞吐量和分類帳存儲。
PoH時鐘體系:分離時間和狀態的時間來源+時間鏈/區塊鏈
時間價值:
PoH歷史證明機制中提供了一種全新的時間概念,同為時鐘體系提供了一個特殊時間來源,起到了時鐘體系「計時」和「定序」的作用,使得系統時間不再受限于狀態。
狀態更新:
PoH歷史證明時鐘體系將時間和狀態分離,狀態更新不限于每次時針轉動。也就是說,該時鐘體系分離了時鐘轉動一次和滴答一次。
三星或將調整芯片制造價格,上調至多20%:5月14日消息,三星商討將芯片制造價格上調至多20%。除了三星之外,臺積電此前也宣布,將從明年1月起將全面調整晶圓代工價格,漲幅達6%。(彭博社)[2022/5/14 3:16:26]
時針轉動∈狀態更新滴答時間=區塊時間
時間與狀態:解耦/分離
時間維度:基于可驗證延遲函數(VDF)編碼時間戳可驗證延遲函數是一類數學函數,能夠使得該函數的計算需要至少一段已知的時間。其他區塊鏈要求驗證人相互通信、同步信息以確認時間已經過去,可以進行下一步行動,而每個Solana驗證人可以通過將標準時間戳編碼為一個SHA-256序列哈希的可驗證延遲函數(VDF)進入區塊鏈中。Solana使用VDF并不是為了隨機性,而是為了維護該時鐘體系的方法之一。
Solana如何將標準時間戳編碼至區塊鏈中
狀態維度:先選擇領導者,后進行完整的紀元因為每個驗證人都需要維護自己的時鐘,所以選擇領導者在先,進行一個完整的紀元在后。如同Tendermint機制,一個紀元的時間表可以持續數千個區塊。然而,與Tendermint不同的是,Solana網絡從不等待驗證失敗的節點。每個驗證人運行VDF以證明它已經獲得了傳輸區塊和驗證人的區塊時段,同時可獲得獎勵。
PoH時鐘體系的特點
1.縮短節點通信間隔時間其他區塊鏈要求驗證人相互通信、同步信息以確認時間已過去、狀態可更新,而Solana的節點在持續不斷接收最新交易時,每個交易都有發送者附加的已簽名PoH時間戳哈希,并將其轉發給其他節點,節點可以立即通過PoH時間戳哈希對直接對交易進行排序,而縮短了等待對應節點確認的通信時間。
2.無需等待領導者的輪換在POH歷史證明機制下,領導者的輪換不會影響網絡狀況。網絡可以在沒有任何驗證人相互通信的情況下決定領導的輪換,網絡會作為一個整體,持續不斷地處理交易,領導者的輪換決策是異步調用的。
3.新節點只需要數據結構便可驗證區塊鏈完整性PoS機制受到常見的批評之一在于其不是完全客觀的,而是弱主觀的。但由于POH對Solana的改進,Solana變得客觀。因為隨著時間的推移,時間也被編碼到區塊本身中。同時由于驗證人通過并行驗證POH的速度可以比POH的初始速度快1000倍,所以一個新的節點可以在沒有外在信息的情況下,只需要賬本的數據結構即可驗證區塊鏈從創世到當前的完整性。
如何基于歷史共識繼續優化PoH時鐘體系?
TowerBFT:充分利用PoH時鐘體系時間來源,優化PBFT共識
PBFT實用拜占庭容錯的瓶頸
說明什么是TowerBFT之前,我們首先來說明一下實用拜占庭容錯,PBFT誕生于比特幣出世之前,至今已逾二十年,源于解決分布式系統的著名共識問題:拜占庭將軍問題。
一群拜占庭將軍圍攻一座城市,他們必須達成同時進攻或同時撤退的共識,且各將軍只能透過信使將自己的決定通知其他人。然而,這群將軍中有叛徒,發出相反的訊息,或者只通知一部分的將軍。在已知有叛徒存在的情況下,該如何達成正確可用的共識?
在分布式系統中,我們可以將:
將軍看作節點
信使看作節點間的通訊
進攻/撤退的決策看作需達到的共識
將軍的隨機行為稱為拜占庭錯誤
在叛徒節點存在的情形下仍能達成共識的特性稱為拜占庭容錯(ByzantineFaultTolerance)
從結果來說,一個正確可用的共識必須確保拜占庭將軍一定會達成唯一的共識,且共識終究會形成。
PBFT實用拜占庭容錯是一個基于選出領導者、基于通訊、傾向于一致性的共識解決方案,由于PBFT含有驗證者需要把其投票廣播給其他驗證人的通訊機制,大大增加了通信復雜度和通訊量,導致難以擴展的瓶頸。
基于PoH歷史證明的改良版共識算法
在PoH歷史證明的基礎上,Solana改良運行TowerBFT,這是一種類似PBFT的共識算法。TowerBFT在達成共識之前利用Solana的PoH時鐘已經同步的時間來源,減少了通訊復雜度和通訊延遲。
與PBFT不同的是,TowerConsensus傾向于活躍性而非一致性。與PBFT相同的是,節點會成倍增加超時時間以達成協議,但由于該時鐘體系的賬本結構本身也是一個免信任的時間源,節點可以觀察和檢查網絡中所有其他驗證人的超時時間。我們可以通過一個例子讓方便大家更好地理解這一點:
想象你置身在一個孤島上,一個瓶子漂了過來,里頭裝著一個U盤。在U盤里存著一個Solana賬本。如果你只查看賬本本身,你將看到每個節點都可以計算當前驗證人的數量、每個驗證人的狀態——以及最為重要的一點,每個驗證人向網絡中的任何區塊提交的超時時間。僅僅是根據數據結構,不需要任何點對點的對等信息,驗證人就可以做出投票決定,網絡可以達成共識。
驗證人和復制器:雙節點分工生成輕量級證明,優化數據儲存
目前區塊鏈網絡以1GB每秒的速度,每年將為賬本生成4PB的數據。按照這樣的速度,區塊鏈數據的存儲將很快成為主要的中心化向量,這與區塊鏈實現的去中心化愿景背道而馳。
Solana利用兩種類型的節點分工生成輕量級證明,使其有PoS網絡更有效地運行。
驗證人節點:負責驗證網絡數據,但PoH歷史證明和TowerPBFT幫助其提高驗證速度。
復制器節點:從驗證人節點中獲取計算權重,以極小的硬件要求進行操作。
復制器節點對硬件的要求不高,我們日常所有的筆記本電腦就可以執行。但是復制器節點在網絡中的作用卻很重要,能夠優化分布式數據存儲系統,旨在解決處理數兆字節級(pb)數據的數據可用性問題。
Solana的復制器節點不需要參與共識并存儲整個數據歷史,而是利用多個復制器節點分別儲存數據歷史的小片段,以生成輕量級證明并執行糾刪碼功能,從而將整個狀態歷史被分割成許多部分。每隔一段時間,網絡就會要求復制器證明它們正在存儲其應該存儲的數據。
Solana使用的復制證明理念主要借鑒自Filecoin,并利用PoH共識提供的時序來源優化復制證明的創建方式。復制器節點將在不參與共識的情況下,使用PoH歷史證明生成輕量級的證明,這種證明可以復制賬本的各個部分,而且允許驗證人能夠跨GPU批量驗證。
結語
理解「編碼時間」的意義,重塑區塊鏈Layer1可拓展性
Solana通過將時間與狀態分離,證明在一個信任最小化、無須許可世界計算機是可能會被實現的。本文我們探討了三個Solana的創新點:
歷史證明(ProofofHistory,PoH):Solana其他獨特的架構都是建立在PoH的基礎上,PoH提供共識之前的時間源,起到了計時和定序的作用,是解決時鐘問題和重塑區塊鏈可拓展性的一個深刻而巧妙的解決方案。
TowerBFT:充分利用PoH時鐘體系的時間來源,優化PBFT共識。
復制器(Replicators):使用PoH歷史證明生成輕量級證明,優化分布式數據儲存。
從「時間維度」理解分布式系統的性能至關重要,時間就是一切,通過PoH歷史證明「編碼時間」的全新思維,無許可的分布式系統甚至可以媲美經過驗證的中心化的云計算提供的性能。
當前Solana在5個大洲的200個驗證者構成的測試網絡上,吞吐量超過50000TPS,平均TTF為1.5秒。這基本上可以媲美目前最好的全球分布式的數據庫Spanner,但Solana更有實質意義的去中心化。
同時,邏輯簡單、信任最小化的可拓展Layer1底層網絡實際上在邏輯上抽象了復雜性,使得往后的開發人員能將精力集中在應用程序邏輯上。將期待留給Layer2的可拓展解決方案和優化應用場景,實際上增加了用戶、開發人員和服務商的復雜性和摩擦。
Vitalik于2014年1月在向世人揭開以太坊的面紗時,他所強調的正是這一點:世界計算機的意義在于抽象所有不特定于應用程序的東西。隨著時間的推移,在2019年8月21日,Vitalik又在推特上發文稱,對于layer2鏈下擴容方案感到悲觀,因為對于激勵要做很多應用層處理,并且很難大規模應用。
對于絕大多數用例,構建在Solana區塊鏈之上的開發人員根本不需要考慮可拓展性,因為Solanalayer1的意義就在于抽象復雜性,在此基礎優化上層layer2的設計,筆者會再下一篇文章詳細論述這層邏輯。
參考文章
BlockchainProof-of-WorkIsaDecentralizedClockWorkisTimeless,StakeisNotBitcoin,Stock&Flow若想搞懂區塊鏈就不能忽視的經典:PBFTIt’sthesettlementassurances,stupidVitalikButerinrevealsEthereumatBitcoinMiami2014引介|以太坊2.0:信標鏈BandwidthandtheBlockchain重塑區塊鏈的可擴展性:狀態和時間的分離一文搞懂可驗證延遲函數VDF若想搞懂區塊鏈就不能忽視的經典:PBFTCryptographyMailingListBitcoinP2Pe-cashpaper
Tags:區塊鏈SOLAOLALANA怎么做區塊鏈solana幣今日價格行情FRZ Solar System Coinsolana幣總量
區塊鏈自2017年大火至今,已經2年了。眾所周知,現在很多項目都在蹭“區塊鏈”的熱點,如何判斷是否需要用到區塊鏈技術?國外學霸總結了12個思維模型,幫助你理清思緒.
1900/1/1 0:00:00據Cointelegraph8月30日報道,英國億萬富翁、資產管理公司布勒旺霍華德(BrevanHoward)創始人艾倫?霍華德(AlanHoward)門下的艾爾伍德資產管理公司(ElwoodA.
1900/1/1 0:00:00「我的比特幣提前減半了!」炒幣群里這句話不斷被復制粘貼。6月底,比特幣在首次漲到1萬美元后,直接沖上了1.4萬美元。以往來看,比特幣大漲,其他主流山寨幣也會跟著上漲.
1900/1/1 0:00:00“HODL”是虛擬資產領域中一個相當常用的術語,經常被使用,指的是投資者或交易員之間進行金融討論時使用的“比特幣”.
1900/1/1 0:00:00Libra的首要宏觀經濟影響可能是會影響利率水平和主權債務市場。Libra的廣泛應用將會增加對支持Libra的有價證券的需求,從而推高其價格,降低其回報率.
1900/1/1 0:00:00字節數組 字節數組可以看作一種特殊的數組,其元素類型是字節。在類型聲名時有其專有的聲名方式。作為數組他有不固定長度字節數組和固定長度字節數組。 1.固定長度字節數組.
1900/1/1 0:00:00