我們在不久以前剛剛更新 MTFS 的 github repo蠢棱,對于過去兩年的工作硅急,進行了幾行字的總結赊窥。對于高性能可擴展,區(qū)塊鏈世界早已經(jīng)聽煩了臊旭,于是我們把 MTFS 的實時性 放到了第一位落恼。沒錯,就是要等好久才能確認轉賬的區(qū)塊鏈离熏,現(xiàn)在可以用來做實時支付以及聊天應用了佳谦。
兩年前,我們提出了一個大容量高性能區(qū)塊鏈的理論基礎滋戳,發(fā)表了論文钻蔑,接著花了不少功夫完成了實現(xiàn)。圍繞著這一理論方向不斷深入研究的過程中奸鸯,我們發(fā)現(xiàn)采用圖數(shù)據(jù)結構(非DAG)咪笑,以及樹結構的網(wǎng)絡拓撲設計,可以很高效的即時產(chǎn)生區(qū)塊娄涩。對實時性要求較高的應用蒲肋,比如聊天和支付都可以在此區(qū)塊鏈平臺上實現(xiàn)。這可能是第一個能夠實現(xiàn)即時聊天軟件功能的區(qū)塊鏈系統(tǒng)。
大部分的區(qū)塊鏈是基于固定的出塊時間兜粘,比如比特幣每十分鐘一個塊,以太坊則是十五秒弯蚜。如果一段時間內(nèi)沒有任何交易可供打包進區(qū)塊鏈孔轴,那么這些系統(tǒng)也會產(chǎn)生一個空塊。
傳統(tǒng)區(qū)塊鏈系統(tǒng)這樣設計碎捺,我們可以把區(qū)塊鏈想像成一條馬路路鹰,為了讓很多人可以高效的使用這條馬路,所以馬路上只允許跑公交車收厨,比特幣只允許每十分鐘一班車晋柱,這輛巴士空間有限,只有一兆空間诵叁,所以如果乘客們都比較胖(交易數(shù)據(jù)比較大)雁竞,那么能上車的人就少。以太坊縮短了發(fā)車的間隔時間拧额,原理上并沒有做太大改變碑诉。
由于在我們設計 MTFS 區(qū)塊鏈的時候,容量也就是道路問題已經(jīng)被解決侥锦,這樣就可以允許大家開小汽車而不是大巴进栽。既然是自己開車,就不需要等代巴士發(fā)車時間恭垦。任何人有出行需求快毛,可以坐上私家車隨時出發(fā)。
這使得實時區(qū)塊鏈的成為現(xiàn)實番挺,當然區(qū)塊鏈上的數(shù)據(jù)還是要經(jīng)過共識的唠帝,不像即時通信軟件那樣,只需做到把消息傳遞到目的地就結束了建芙。共識就好像一個收費站(假設早期只有一個車道)没隘,一次只能通過一輛車,哪怕是幾乎同時出發(fā)的兩輛車禁荸,在收費站之前右蒲,都必須一個先一個后。這樣比喻赶熟,大家就很能理解瑰妄,為什么早期區(qū)塊鏈需要使用巴士而不是小轎車,因為都開小轎車路就會更堵映砖,換成巴士至少還能撐一段時間间坐,只要進收費站的隊伍還不算長。
MTFS中,首先是把路給修寬了(無限寬)竹宋,然后也在收費站修了很多 ETC劳澄,ETC 實際上是收費動作很快的工人,背后其實只有一臺中心電腦控制蜈七。即使兩輛車幾乎同時開過不同的ETC出口秒拔,在中心電腦看來,他們也是分先后通過的飒硅。如果出現(xiàn)了套牌車(兩輛車使用同一個車牌砂缩,并且 ETC 賬戶余額只夠支付一輛車的高速費用),那么只有一輛車能夠抬桿三娩,扣費庵芭,出高速,另外一輛車就會被攔住雀监,這就防止了雙花双吆。
實時區(qū)塊鏈的測試的結果另人振奮,我們決定盡快將它放在網(wǎng)上供大家測試滔悉,當然目前我們還有很多的工作要做伊诵,比如驗證算法(區(qū)塊鏈名言,不要信任回官,去驗證)曹宴,比如文件系統(tǒng)的構建。很多區(qū)塊鏈項目都把自己和 IPFS 綁在一起歉提,我們看到了這個現(xiàn)象笛坦,說明文件存儲和數(shù)據(jù)庫一樣是做落地應用的剛需。所以我們在設計 MTFS 的時候苔巨,確定要讓分布式數(shù)據(jù)庫和文件系統(tǒng)放在一起版扩,這種做法被流行的成為“自帶電池”,在此基礎上開發(fā)應用就會更方便侄泽。
OK礁芦,今天就寫到這里,希望能幫助大家樹立一些概念悼尾。下一篇柿扣,我們要深入的講一講,MTFS 是具體怎么做到高性能的闺魏。
2020新的開始未状,新年好!