- 區塊鏈架構與實現:Cosmos詳解
- 溫隆 賈音
- 864字
- 2021-09-27 17:47:43
1.2.5 IBC協議
Tendermint Core和Cosmos-SDK解決了應用專屬區塊鏈系統的開發問題。短時間內Kava、Band、Peg Zone、Aragon等項目的涌現,證實了Tendermint團隊所選擇的策略的可行性。然而想要真正實現Cosmos網絡的愿景,還缺少最后一塊“拼圖”:IBC協議。目前IBC協議1.0版本已在“星際之門”升級計劃中正式發布,隨著鏈間資產轉移等跨鏈應用的蓬勃發展,這些目前暫時隔離的區塊鏈將會互聯互通,實現價值的進一步提升,如圖1-6所示。

圖1-6 基于IBC協議的Cosmos網絡
IBC協議的完整協議規范文檔參見GitHub倉庫cosmos/ics。IBC協議是基于中繼機制而逐步推演出的協議,其核心機制的原理是,任意兩個希望跨鏈通信的區塊鏈可以依賴密碼學證明技術向對方鏈證明自身鏈上發生了特定的事件。兩條鏈之間的網絡通信通過中繼者(relayer)完成。一個問題是,如果中繼者惡意篡改網絡消息,是否會危及IBC協議的安全性?答案是否定的。由于有密碼學證明技術提供安全性保證,被中繼者惡意篡改過的消息無法通過驗證。
讀者如果對于比特幣輕客戶端有所了解,可以注意到IBC協議與比特幣輕客戶端機制之間的相似性。輕客戶端(light client)通常運行在移動電話等計算資源受限的環境中,通常僅存儲少量的必要數據,因此其也不具備驗證所有交易的能力。為了向輕客戶端證明鏈上的一筆交易的真實性,通常需要提供這筆交易的密碼學證明。借助自身存儲的信息,輕客戶端可以檢驗證明的合法性。通過IBC協議進行跨鏈通信的兩條鏈,可以粗略地理解成,在鏈自身的應用邏輯之外,兩條鏈分別在自己的鏈上構建了關于對方鏈的輕客戶端,并據此驗證跨鏈數據的真實性。
基于PoW機制和中本聰共識協議的理念,比特幣輕客戶端僅需要存儲區塊頭信息即可。比特幣的PoW機制、中本聰共識協議以及80字節的區塊頭,使得存儲和驗證區塊頭無須耗費太多的資源。但是PoS機制、Tendermint共識協議以及分層設計帶來的Tendermint Core中區塊頭復雜度的增大,導致驗證所有區塊頭需要耗費可觀的計算資源,也為構建輕客戶端帶來不可小覷的技術挑戰。然而對PoS機制和Tendermint共識協議的深入研究發現,看似更難以駕馭的輕客戶端,實際上可以通過簡潔、高效的方式構建,這使得在鏈上構建其他區塊鏈的輕客戶端成為現實,也為IBC協議的構建奠定了堅實的基礎。
- Mastering Ext JS(Second Edition)
- 數字媒體應用教程
- 在最好的年紀學Python:小學生趣味編程
- Twilio Best Practices
- Python從入門到精通(精粹版)
- 數據結構(Python語言描述)(第2版)
- Visual C
- Hands-On Microservices with Kotlin
- 單片機應用與調試項目教程(C語言版)
- Julia高性能科學計算(第2版)
- 西門子S7-200 SMART PLC編程從入門到實踐
- RESTful Java Web Services(Second Edition)
- OpenMP核心技術指南
- 貫通Tomcat開發
- Mastering PowerCLI