原文標題:高性能公鏈的得與失
如果說今年下半年最出彩的鍊是哪一個,毫無疑問,solana名副其實,SOL由前高通,英特爾和Dropbox工程師於2017年底創立,solana的高性能、快速、項目方大方有錢、團隊有SBF加持,這幾個鮮明特點,使得solana上的defi從5月份開始就開始陸續推出,並達到了井噴的程度,這主要得益於solana不斷發展市場和生態,一年內連續舉辦三場黑客鬆活動,大部分項目都得到有效孵化相關,很顯然,solana的名氣已經蓋過了polkadot,成為新的公鏈巨頭。
Solana網絡崩潰引發討論
solana使用的是時間歷史證明機制(POH)和可驗證的延遲機制,允許節點通過本地生成時間戳,無需在整個網絡上進行廣播時間戳信息,最大化的提高了公鏈數據的傳輸線程,提高傳輸效率,也就是我們說的高TPS,支持每秒71萬次交易,可以說當之無愧的高性能公鏈,在以太坊高手續費的今天,solana成為了資本關注的寵兒。
但是巨頭也有自己成長的煩惱,高TPS也敵不過牛市投資者的熱情,此時公鏈的穩定性成為關鍵,近期在solana上的一個DEFI項目IDO成為壓垮公鏈的一根稻草。
具體情況其實很簡單,生態項目parrot進行IDO,根據官方規定,IDO完成時用戶可以領取代幣,然後同時可以交易,而一方面參與熱情高漲,用戶基數大,另一方面在開始交易的時候,大部分人都想第一時間高價賣出,因此造成了鏈上的擁堵和大部分節點的數據溢出崩潰,最終網絡癱瘓十幾個小時,可以說類似的事件幾乎很難碰到。
一方面是用戶的熱情確實太高,另一方面,高性能公鏈也面臨著被質疑的風險,不過還好,在官方團隊發布了新版程序之後,solana網絡恢復正常,大家可以繼續接著玩耍。
不過這件事情卻給很多人帶來一個思考,到底什麼樣的公鍊是未來我們需要的。
一方面像比特幣這樣的POW類型挖礦公鏈面臨著TPS低的問題,無法承載現有DEFI的高要求交易,另一方面像Solana、fantom、polygon這類鏈又面臨著趨近於中心化的情況,在出現峰值的時候,導致網絡變得不穩定,甚至出現這種網絡癱瘓的情況,但是似乎目前仍然沒有一個很好的解決方案,讓兩者優點同時兼得的情況。
高TPS公鍊為什麼不穩定
很多人可能都聽過幣圈的“不可能三角”,即可高性能,安全和去中心化這三個是不可兼得的,安全是目前主要的方向之一,那麼高性能和去中心化就成為對立面,而solana主要提高了傳輸速率,也就是性能,那麼在去中心化方面自然就存在一定的不足。
不過這種情況在牛市來說,並不傷大礙,牛市DEFI的崛起還是遵循著實用為主,solana的實用性顯然更高,因此這並不妨礙資本對它的關注。
但是對於其他高性能公鏈來說,可能都會面臨類似的問題,當用戶群體情緒高的時候,鏈上轉賬達到負載上限,且沒有一定的保護措施,那麼可能就面臨網絡的崩潰,solana有資金支持,即使崩潰了,幣價還是比較穩的,並沒有跌多少,反而從側面說明生態發展成功,用戶參與程度高。相對於其他公鏈來說,如果崩潰了,那麼還能有這麼好運麼?可能並沒有。
POW鏈仍然保持了較好的網絡安全性和去中心化
對於早期的pow鏈來說,它們的去中心化目前還是比較高的,比如比特幣、萊特幣、以太幣這樣的幣種,網絡的去中心化程度主要看的是算力真正的擁有者分散程度,而不是礦池的算力,很多人誤認為目前比特幣有的礦池算力佔比很大,如果礦池被攻擊,那麼相當於出塊節點被攻擊,這樣會影響網絡安全性。在一定程度上這種觀點還是有部分缺陷的。
我們所說的算力主要是以用戶的實際自主分配權來看待,而不是出塊節點的運行狀態,比如現在大部分礦池實際上也是運行在專業機房裡,礦池算力高,在一定程度上會導致中心化,但是個體的算力選擇挖礦權是可以隨時變動的,也就是說礦池的出塊權利是礦工們通過選擇做出的結果,而這種選擇可以瞬間進行改變,比如將算力切走,也是分分鐘的事情,非POW的節點要進行重新選擇、投票等一系列流程,因此也耽誤了一定時間,因此相對而言,POW更具有優勢。
比如POW鏈當A礦池受到攻擊或節點出現問題的時候,理論上這時鏈上出塊速度會大幅降低,以前10分鐘一個塊,可能現在平均就要15分鐘了,除非到了難度調整的時候,但是對於礦工來說,可以將自己的算力切到其他礦池上,這樣就完成了算力的再分配過程,礦池算力重新洗牌,也不會影響整體網絡的效率,而出塊時間也很快會回到之前的10分鐘,這就完成了網絡的自適應調整。
因此攻擊比特幣、以太幣某個礦池節點對網絡的影響是比較小的,那麼POW網絡為何不提高鏈上的效率?
其實這主要是因為POW的鍊是需要進行大量計算哈希值來確定的,這在一定程度提高了篡改和分叉的難度,從而保證了安全性,雖然目前一部分POW鏈的出塊速度也在增加,但是我們能夠明顯對比出當速度增加時,可能存在的問題,即容易分叉的問題。
比特幣10分鐘一個區塊,不容易出現分叉
以太坊13秒左右一個區塊,有時候需要叔塊來確保交易不會分叉
更高出塊速度的公鏈,每一兩秒一個塊,除了叔塊之外,挖礦的時候,都存在一定的拒絕率來確保不分叉。
更快的鏈,分叉的可能性越高,因此為了保證完整的鏈條,只能帶來更高的拒絕率或者盡量保證算力的同時提高同時進行多任務處理能力,稍有不符合的分叉就要很快被扼殺進搖籃裡。
對於非POW的公鏈來說,就沒有這種情況的發生,因為它們不再需要靠競爭來保證自己的出塊資格,有的是通過輪流的方式,有的通過隨機的方式,這樣等到節點擁有出塊資格的時候,僅需要一部分小額算力就可以成功生成符合條件的區塊。也正因為此,所以非POW的公鏈本身可以擁有高的出塊效率,資源也會被大部分利用到出塊速度之上。
未來的以太坊2.0採用的是分片的方式,其實本質上是將節點的權利分散化了,在整體上實現另一種模式的去中心化,但是在單獨每個分片鏈上來看,仍然是比較接近中心化的,因此正和別人開完笑的說法那樣,大部分公鏈都運行在中心化的機房裡,只要機房一斷電,那麼公鏈都能死一大片,雖然這種說法有失偏頗,但是可以說明目前公鏈的探索仍然還有很長的路要走。