一個“劍走偏鋒”的區塊鏈項目——亦來雲(Elastos)項目簡評

關於亦來雲的痛苦回憶

第一次和“亦來雲”接觸正好是我在極部落社區第二次做區塊鏈項目測評的時候,當時的測評項目正好就是“亦來雲”,在那之前我們剛好發佈完“本體(Ontology)”項目的測評報告(支點:https://www.zdpvt.com/web/postDetail/5ba10a5daade674dc40b7e0f)。測評亦來雲是個非常痛苦的過程,亦來雲背後的資金勢力非常龐大,不敢馬虎,而且項目倉庫繁多,需要耐心整理,不過在抽了兩個星期的業餘時間看項目代碼之後,最終還是把亦來雲給吃了下來。總的來說,感觸還是頗深的,尤其是亦來雲那讓人記憶猶新的DApp開發框架和它主推的側鏈思維。在寫這篇博客的時候距離我上次測評亦來雲這個項目已經有幾個星期的時間了,在這裏我還是把自己的看法和見解用博客的形式記錄下來,算是給那次測評畫上一個圓滿的句號。

亦來雲的三大特點

在我看來,亦來雲區塊鏈有三大特點:類比特幣的區塊鏈結構、跨語言的DApp開發解決方案和仲裁人式的主側鏈資產轉移方案。下面我來一一講解我對於這些特點的看法:

> 類比特幣的區塊鏈結構

要說爲什麼要採用類比特幣的區塊鏈結構,那是因爲亦來雲的主鏈要和比特幣的區塊鏈進行聯合挖礦,所以得采用相同的區塊結構,那自然鏈的結構也得相同,不過也做了些微的修改,那就是閹割掉了原比特幣的交易驗證腳本,爲了避免延展性攻擊。亦來雲的主鏈在和比特幣聯合挖礦之後,每當比特幣挖出一個區塊時,其主鏈上也會形成了一個區塊,並且算力和挖出的比特幣區塊相當,這下亦來雲主鏈的算力保護就相當雄厚了,那爲啥亦來雲要這麼搞呢?聽說他們家有礦場,算力不用白不用。再者,就是在亦來雲項目裏擁有POW共識的側鏈也是用的類比特幣的區塊鏈結構,從代碼上看,這條側鏈相比主鏈還包含SPV輕錢包的交易驗證模塊和VM智能合約虛擬機,這樣側鏈具備了交易的自我驗證功能,也具備了運行智能合約的功能。亦來雲的主鏈和這條POW側鏈均採用UTXO的賬戶模型,原閹割掉的比特幣交易驗證腳本也都被替換成了合約代碼外加合約參數,亦來雲想通過這種方式擴充原有UTXO模型的腳本功能,但至於這樣是否真能夠避免延展性攻擊,我也不太清楚。還有一條側鏈是採用DPOS共識的,不過這條側鏈還處在開發階段,不太清楚細節。順帶一提,目前亦來雲主鏈的挖礦獎勵只有35%分給礦工,其餘的都分給基金會,而側鏈的挖礦獎勵有70%分給礦工,其餘的分給基金會。

> 跨語言的DApp開發解決方案

聽說亦來雲以前是做操作系統起家的,並且對於編譯器之類的底層功能也玩得特別溜,再看了他們的代碼之後,我不得不相信,他們確實玩得很溜。亦來雲自研的“CAR跨語言構件技術”確實稱得上是他們的黑科技,這種技術類似於谷歌的Protobuf,或者也可以說類似於一個叫ICE的RPC框架,它能讓一個模板程序被編譯成各種語言的版本,並且自由度很高,你完全能夠用這種CAR技術寫各種應用程序,然後還能把它們編譯成各種語言的代碼在各種操作系統上運行。亦來雲拿它的CAR技術寫了一個能完全隔離運行的嵌入式操作系統,這個操作系統能讓亦來雲的區塊鏈在一個安全的環境中運行,但這個操作系統貌似有點重,所以亦來雲又寫了一個更輕的跨平臺運行時框架,就相當於一個虛擬機,它整合了輕錢包功能,這個運行時框架就是亦來雲的DApp開發框架,所以這個開發框架是完全跨平臺和跨語言的。整個亦來雲項目最重的部分就是那個操作系統和運行時框架,兩個項目都是用C++寫的,幾乎沒用STL,完全就是用C++來寫C代碼,然後用了些class來提供封裝性。這麼底層的代碼,還沒提供項目手冊,看得那叫一個崩潰,不過我覺得也有理由相信,在運行效率上他們肯定都是不用擔心的。還有一個值得一提的黑科技就是亦來雲自研的去中心化通信技術,名叫“Carrier”,它是一個去中心化的RPC框架,還支持NAT內網穿透技術,這項技術也被整合進了亦來雲的運行時開發框架中,由此這個運行時開發框架就包含了CAR技術、Carrier技術和SPV輕錢包技術。如此強大的DApp開發框架,看得出來亦來雲在DApp開發工具的完善上下足了功夫,也難怪他們能直接在白皮書裏直接強調他們的這一特性,不過不太清楚他們的這個DApp是數據上鍊還是代碼上鍊,按照一般的邏輯是普通功能數據上鍊、關鍵功能代碼上鍊,亦來雲想打造一個區塊鏈的操作系統,讓運行在其上的應用程序所產生的各種數據變得更有價值,所以我覺得數據上鍊的可能會佔更大的比重。

> 仲裁人式的主側鏈資產轉移方案

按照亦來雲的描述,他們早早地就發現單一區塊鏈的性能是存在上限的,因爲一條全球範圍的區塊鏈就相當於一臺對接全球的機器,一臺機器的運算上限在很難突破的情況下,一般是會朝着分佈式的方向發展,而區塊鏈中的“分佈式”,我覺得在亦來雲看來就是由多條區塊鏈組成的“分佈式”區塊鏈的模式,即主鏈加各種側鏈的模式:將運算壓力分散至各個側鏈,主鏈起協調和保護的作用。亦來雲的主鏈通過和比特幣聯合挖礦來共享比特幣網絡中的雄厚算力來爲整個亦來雲網絡提供安全支撐,然後主鏈和側鏈之間的轉賬也由主鏈全權決定,側鏈就負責運行各種智能合約。資產在主側鏈之間的轉移,需要通過用戶去觸發,至於觸發後資產如何實現雙向轉移,亦來雲也有自己的一套做法,這套做法在他們的側鏈白皮書中有詳細的介紹,只不過我當時還沒在代碼中找到,因爲他們根本就還沒實現。他們的做法是:主鏈上會選舉出一系列仲裁人組成拜占庭驗證網絡,然後交易從主鏈到側鏈的過程需要節點在主鏈上構建一個轉賬交易並由礦工打包,隨後主鏈的當前輪值仲裁人在該轉賬交易被多個區塊確認後從交易數據中取出儲存的側鏈地址並在對應的側鏈上發起正式的轉賬交易,此過程由當前輪值仲裁人全權決定,不在仲裁人網絡中進行拜占庭共識驗證,再者,交易從側鏈到主鏈的過程需要節點在側鏈上構建一個提幣交易並由側鏈礦工打包,隨後主鏈的當前輪值仲裁人在該提幣交易被多個區塊確認後將該交易在仲裁人網絡中進行拜占庭共識驗證,在獲得超過2/3的仲裁人簽名後才被允許在主鏈上構建正式的轉賬交易。之前還提到過亦來雲還有一條正在研發的採用DPOS共識的側鏈,那個側鏈上的代理人就直接交由主鏈的仲裁人去擔當了,簡單粗暴。

簡單總結

那次測評從可用性、安全性、架構清晰度、挖礦公平性、選舉公平性和代碼原創程度這幾個維度對亦來雲項目做了一次整體地分析,相比於傳統的區塊鏈項目,亦來雲這個項目算得上是劍走偏鋒了。從上面三大特點可以看出,亦來雲確實是一個很有誠意並且願意在技術創新上投入精力的區塊鏈項目,本人還是很期待亦來雲今後的發展的,希望他越來越好,越來越完善,爲國人帶來一個真正牛逼的又獨具創新的區塊鏈操作系統,幹翻EOS。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章