最近有一個詞語不管在官方博客還是官方Twitter上都被反覆提及,這個詞就是
“互操作”。那麼什麼是互操作,它有什麼用?Filecoin互操作多重客戶端實現有什麼意義?“互操作”的含義
互操作在百度上的解釋是互操作是指一種能力,使得分佈的控制系統設備通過相關信息的數字交換,能夠協調工作,從而達到一個共同的目標。傳統上互操作是指“不同平臺或編程語言之間交換和共享數據的能力。
Filecoin多重客戶端實現的互操作
目前,官方團隊公佈的Filecoin可以顯示互操作的節點有四個:
Go-filecoin(用Go編寫)
Lotus(用Go語言編寫)
Fuhon(用C ++編寫)
Fores(用Rust編寫)
儘管這四個Filecoin實施尚未完成功能,但它們實際上已經接近。在未來幾周Lotus和Go-Filecoin實現網絡互通。與Fuhon和Forest的互操作性將在不久後實現。礦工可以在GitHub上的各個客戶端實現中跟蹤每個實現的進度。
多重實現互操作意思就是Filecoin的四個不同節點既可以各自到達目的,又可以相互共享數據、優勢互補、共同促進主網的強大。
在2019年10月,Filecoin博客《宣佈Filecoin第一個實現網絡“Lotus”》中,提到多重客戶端實現的重要性。
博客提到,構建區塊鏈就像構建軟件火箭。為了確保協議和軟件實施的安全性–協議實驗室擁有內部協議安全團隊,並且正在執行內部實施安全審核,外部安全審核等。但是,無論團隊為保護系統和單個節點付出多大的努力,始終都有實現錯誤可能會給網絡帶來不利後果。
具有可在同一網絡上互操作的多個軟件實現,可以大大降低這種風險。儘管每個實現都有自己的錯誤集,但是所有實現都不太可能具有完全相同的安全問題集-尤其是如果這些實現不共享安全性至關重要的軟件組件。因此,啟動具有多種實現方式的加密貨幣網絡可降低發生災難性錯誤的可能性,該錯誤可能會對整個Filecoin網絡產生不利影響,甚至癱瘓整個Filecoin網絡。
就比如,當go-filecoin編寫的客戶端實現收到攻擊的時候,用Rust編寫的Fores客戶端實現可能可以抵制住攻擊,運行穩定。不至於會讓Filecoin整個網絡陷入全部癱瘓的局面。
多種實現方式還具有其他好處,例如增強與不同開發人員社區互動的能力,以及探索不同實現架構的機會(可能提供不同的性能和其他優化)。
IPFS與Filecoin也能實現互操作
除了Filecoin四個節點之間的互操作,有的社區成員也好奇IPFS與Filecoin之間是否能夠實現互操作。
對此,Filecoin創始人胡安回答道:“Filecoin節點是IPFS的節點,只是它與Go-ipfs是使用的不同的代碼庫。所以他們將能夠實現連接,因為所有的libp2p 都可以,通過Filecoin能鎖定和檢索任何IPFS網絡裡面的內容。我們將編輯更多關於具體的運作方式的內容。”
Filecoin與IPFS相輔相成,保證了互操作性才能夠保證協議和分佈式存儲交易市場持續健康、穩定的運行。
Filecoin可以鎖定和檢索IPFS網絡裡面的任何內容,是不是意味著,只要IPFS項目能夠嫁接Filecoin,Filecoin就能檢索IPFS的所有應用上的數據。目前IPFS項目已達130多個,Filecoin數據來源將基於IPFS應用不斷增加。
番外案例:以太坊多種客戶端實現
其實,Filecoin並不是第一個通過多個實現的互操作來保證網絡的穩定性和安全性,之前以太坊也是類似的做法。
目前以太坊支持8種語言的客戶端實現,這8個客戶端實現有共同特點也各有特色。
共同特點:
1、同一語言的客戶端在不同平臺上的使用是完全相同的。
2、不同語言的客戶端(Mist、Geth、Eth等等)之間在同一個平臺(Linux、Windows或OSX)上共用一樣的應用配置,同時其命令行可使用的參數也是一致。
各有特色:
1、Go-ethereum(用Go編寫)
可用於挖礦,組建私有鏈,管理賬號,部署智能合約等常用功能,不可以編譯智能合約。
2、Webthree-umbrella項目(用c++編寫)
AlethZero是圖形化的錢包客戶端,對應的是Geth的功能,不過是全圖形化的。
3、Mist項目(用Java編寫)
Mist定位不只是一個錢包,而是將來DAPP(智能合約的應用APP)市場。類似於蘋果市場,在這裡可以有你的賬號,可以瀏覽、發佈和買賣以太坊的DAPP應用。
4、Solidity項目(用C++編寫)
該項目是以太坊智能合約(DAPP)的編程語言,使用solc作為編譯程序,該項目主要用於編譯,嚴格來說是一個基本的編譯平臺,一般開發可用MIX替代。
5、Browser-solidity項目(用C++編寫)
該項目是智能合約瀏覽器版本的開發環境,可以支持在瀏覽器中直接開發、調試和編譯。
6、Pyethereum項目(用python編寫)
7、Ethereumj項目(用JAVA編寫)
8、Etheminer項目(用C++編寫)
該項目是Cpp-ethereum項目的一部分,用於和Geth配合進行GPU挖礦,也可以用於礦池挖礦。
在以太坊項目早期,在眾多不同的操作系統中就有多個可以彼此協作的客戶端實現。客戶端的多樣性對於整個生態系統來說是巨大的成功。它使我們能夠證明協議是明確清晰的,為創新打開大門,也讓我們都保持誠實。
以太坊存在5年左右,經歷過挫折但始終奮進向前。以太坊與Filecoin也在VDF(以設計和開發至少一個安全,高效和可用的可驗證延遲功能)等方面展開深入的合作,共同研發新功能。自身的強大加上強大的合作伙伴,Filecoin定能不負所望,帶著驚喜和自信,下好多個客戶端實現一盤棋,促進Filecoin網絡安全穩定地上線運行。
往期回顧:
更多來源
官網:www.ipfsmain.cn
閱讀更多 IPFS星際大陸 的文章