“不可能三角”——區塊鏈世界裡的 “三元悖論”?
在傳統貨幣銀行學中存在“不可能三角”,也稱為 “三元悖論”,即開放經濟下一國無法同時實現貨幣政策 獨立、匯率穩定與資本自由流動,最多隻能同時滿足兩 個目標,而放棄另外一個目標。相類似,當前的區塊鏈 技術也存在“不可能三角”,即無法同時達到“高效低能即可擴充套件性”、“去中心化”、以及“安全”這三個要求。
不可能三角”問題,是幾乎所有底層公鏈發展中不可迴避的問題,歸根結底要解決的問題是“如何在不影響安全性和去中心化程度下提升區塊鏈吞吐量?“這是目前區塊鏈行業領域的一個行業痛點,同時也是難點。
一、舍一取二
追求“安全”與“去中心化”則無法達到“可擴充套件性”:比特幣區塊鏈技術便是一種追求“去中心化”與“安全”的技術組合。它的每一個節點都下載和儲存所有的資料包,使得網路可以民主自治,但也同時帶來了巨大的儲存空間損耗和校驗成本。比特幣每秒只能處理7筆交易,這是遠遠無法承載全球貨幣支付場景需求的。
由於比特幣的發展,1M的區塊大小已經不夠用了,社群中礦工與開發團隊之間就這個問題產生了分歧,礦工的擴充套件區塊大小到8M的計劃,實際上是選取了“安全”與“可擴充套件性”而部分放棄了“去中心化”,因為對節點的運算能力有更高的要求。
追求“可擴充套件性”與“安全”則無法實現“去中心化”:從“共識機制”角度看,為了在確保“安全”的前提下,解決比特幣的POW共識低效性,POS、DPOS等機制被採用。但無論是基於網路權益代表的權益證明,還是利用101位受委託人通過投票實現的股份授權證明,實際上都是對“去中心化”的退讓,形成了部分中心化。
追求“可擴充套件性”與“去中心化”則需要犧牲“安全”:以太坊的區塊分片化儲存的方案。現在比特幣這樣的區塊鏈雖然是去中心化分散式儲存,但每個全節點儲存的是記錄全集,也就是規模總量和本地查詢明顯是受到制約的。使用分散式儲存的方式,讓每個節點只儲存某個子集是否可以呢?這樣結合提升出塊效率,並同比降低出塊獎勵,就可以極大提升系統的承載能力,並且不會對節點儲存和網路傳輸帶來過大的壓力。以太坊的分片其實相當於同構的半獨立的多鏈,世界狀態是共享的,但是交易歷史是分開的。多鏈也就是選取了“去中心化”與“可擴充套件性”而部分犧牲了“安全”,因為算力分散了。
二、解決不可能三角的嘗試
從目前來看,可擴充套件性、安全性、去中心化這區塊鏈的“不可能三角”,依然沒有得到完美的解決。大致來說,目前常見的方法有如下幾種:一是改變共識機制,比如Hyperledger的PBFT、EOS的DPoS,這也往往也犧牲了部分去中心化;二是改變了網路結構,比如IOTA、byteball就使用了不同於區塊鏈的DAG(有向無環圖)的資料結構;三是直接利用鏈外方式解決,比如鏈下的子鏈/側鏈、狀態通道,甚至是跨鏈中介軟體等;第四種,則是分片。
但是,無論是之前火極一時的EOS還是V神的口中經常所說的分片技術,目前在這個不可能三角上,都沒有給出一個很好的解決方案,當然,我相信日新月異的技術發展會在這股問題之上,給出越來越多的解決方案。
三、真的是“不可能”三角嗎?
最後,我們還還是回到最初的時候,區塊鏈“不可能三角”理念最早提出者來自巴位元創始人長鋏。他早在2000就開會時寫科幻小說,而後出版有國內第一本比特幣專著《比特幣:一個真實而虛幻的金融世界》。他所提出的所謂不可能三角,到底是不是真正的不可能三角?這是究竟他極富前瞻性的思考,還是來一個科幻作家的本能?其實也是值得我們認真思考,我不是說他不對,我只是覺得,不要讓這個所謂的不可能三角限制我們的認知和對未來的想象,畢竟,人類往往很多時候都是自我設限。
也許完全的中心化是沒有太大價值的,未來的區塊鏈、IOT架構很可能是中心化與去中心的結合,保障了安全性和可擴充套件性,究竟哪種技術會勝出目前還很難說,總之,時間會見證這一切,我們所做的就是不要掉隊!