中關村大資料產業聯盟秘書長趙國棟:今天咱們跨洋分享繼續請小虎同學給大家帶來一場技術的盛宴。小虎從2012年開始接觸區塊鏈,在區塊鏈領域已經遞交了30多項專利。
我提前跟小虎學習了一下。有幾個要點。
第一,就像以太坊一鍵發幣的功能類似,小虎在實作一鍵發鏈的功能。
第二,基于公鏈可以建立不同功能、不同型別的區塊鏈。
第三,公鏈,長期來看有可能成為下一代網路的基礎。
這里面涉及大量的技術問題,我們還是請小虎一一道來。
陳小虎:感謝趙國棟老師。非常高興能有機會跟大家共享區塊鏈的一些技術實踐。我們團隊最早可以追溯到6年前。從2017年開始,我們針對已有的區塊鏈技術的弱點,在我們對軟體系統,以及區塊鏈技術的深刻理解下,對可擴展的商用區塊鏈的公鏈實作,提出了獨特的設計和開發計劃。目前看起來,我們在2017年初提出的多層架構,多鏈系統,已經成為目前區塊鏈發展的重要方向。在與其他專案交流的程序中,看到越來越多的專案采用類似我們的框架。這個一方面是好事情,證明我們有很好的前瞻性,我們的努力是正確的,而且比其他的專案有了更多的發展時間。另一方面也說明區塊鏈現在是逆水行舟,不進則退,有這么多的追趕者,如果我們不努力,很快就會被超過。
這里的話特別提一下以太坊,以太坊在過去的3年中,基本上沒有值得讓人眼前一亮的技術進展。而且從目前看,按現有的技術進展,短時間內也不會有太大的突破。這是很可惜的事情,反過來講,也是我們的機會。在提出了我們自認為比較先進的架構之后,具體的實作也是非常有挑戰性的。經過團隊的不懈努力,我們在2018年四月成功地實作了主網上線,然后在此基礎上不斷拓展,基本實作了白皮書的要求。當前,我們的一個重要方向是在應用落地方面,我們與一些具有重大應用價值的應用合作,集中精力,讓它們能快速,穩定的上線。這里的例子有FileStorm,PAS專案等。后續我們的其他成員會陸續介紹。
第十八期:《可擴展區塊鏈的墨客實踐》
主持人:趙國棟
趙國棟,中關村大資料產業聯盟秘書長、國家大資料戰略1142工程副組長、現任上市公司朗新科技、富邦股份、奧維云網獨立董事、工信部專家庫成員,中國計算機學會大資料專家委員會委員,首輔智庫理事,盤古智庫發起人兼學術委員。北京郵電大學經濟管理學院特聘導師。《大資料時代的歷史機遇》、《產業互聯網》、《數字生態論》、《區塊鏈世界》、《區塊鏈與大資料》作者。
分享嘉賓:陳小虎
分享者簡介:
陳小虎:MOAC(墨客)公鏈創始人、CEO。浙江大學學士、碩士,加州大學碩士;硅谷18年以上的軟體研發和管理經驗;聯合創辦了多家初創企業;2012年起參與區塊鏈技術的研發,井通區塊鏈底層技術的發起和推動者之一;2017年推出墨客公鏈,首創多鏈分層分片架構;擅長演算法、軟體架構,具有非凡的洞察力和遠見;在區塊鏈技術領域遞交了30多項專利。
第一部分
系統鏈和應用鏈。
接下來,我會稍微具體介紹一下我們的架構,也是今天的主要內容。
先給大家看一個圖。

這是我們的雙層架構,原來叫母子鏈架構,后來應用方覺得叫子鏈不夠高大上,所以現在改稱系統鏈和應用鏈。
這種雙層架構有幾個特殊的地方:
應用鏈的生命周期是由系統鏈的智能合約來控制的。這個相當于是給應用鏈提供了一個去中心化的”上帝“的角色。這個概念很重要。因為對于一個區塊鏈來講,區塊鏈的初始化,可信的亂數,還有可信私鑰交換等等,都需要這么一個角色。如果沒有一個去中心化的,很多系統只能將就用中心化的。在這里,墨客的系統鏈能夠提供一個可編程的去中心化的“上帝”,是非常有用的。再給大家看另外一個圖。

這里就是第二個特殊的地方。
這個架構定義了一個應用鏈和系統鏈,以及應用鏈和應用鏈之間通訊的通用框架,使得應用鏈有強大的功能,同時又可以“一鍵發鏈”的方式快速部署。
這里還值得一提的是,應用鏈可以周期性地將自己的區塊哈希重繪記錄到系統鏈當中,相當于是用系統鏈錨定了應用鏈的最終性。補充一句,一鍵發鏈,主要是針對標準化的簡單應用,有點宣傳的意思在里面。這樣應用鏈即使是沒有最終性的,比如POW,POR,也就有了最終性。另外,由于系統鏈通常比應用鏈安全許多,這樣的錨定,可以大大提高應用鏈的安全性。并且由此可以衍生一些附加的功能,比如區塊鏈扁平化等。舉個例子,比如對于存盤容量比較小的應用鏈節點,可以在重繪之后,把不需要的歷史記錄洗掉,只要少量的節點記錄全部歷史即可。這樣的做法,對于IOT節點是非常有用的。這個雙層結構,非常有意思。就像DC/EP,既可以改革,還不顛覆現有格局。
我們完成了應用鏈的多種共識方式的實作。這是基于這樣一個邏輯,應用是多種多樣的,不能靠一個共識方式支撐所有應用。因此,我們提出了幾種不同的共識模式供應用方選擇:
第一個是快速合約應用鏈ProcWind,可以認為是一個通用處理器。
第二個是去中心化存盤應用鏈FileStorm,可以看成是一個去中心化的檔案存盤系統。
第三個是強亂數應用鏈RandDrop,可以看成是一個專用處理器。
第四個是物聯網應用方案IOTMist。
特別針對物聯網節點容量小(包括存盤,cpu,記憶體)的特點,采用多層(>2)的結構,應用鏈可以作為上層應用鏈的系統鏈,從而構建一個樹狀的區塊鏈系統,滿足物聯網特殊的需求。
前面三個都已經實作,最后一個還在開發中。
第四個特殊點在于,我們由此可以根據不同共識協議構建多樣性的應用。
更為重要的是,一個應用可以采用多個應用鏈來滿足需求。
由于前面提到過的統一的框架,所以,一個應用可以同時使用兩種不同的應用鏈ProcWind和Filestorm,實作應用邏輯和相關資料存盤的去中心化。物聯網這個可以做垂直4層。這樣的應用,對未來基于海量用戶以及用戶自己控制的海量資料的場景,這個框架是很合適的。可以容納10億個節點。想一想現代數字城市。
對于應用來講,降低用戶的準入門檻非常重要。現有的區塊鏈的訪問方式其實并不友好。最常見的基于智能合約的應用,用戶在呼叫任何一個功能的時候,都需要消耗一定量的gas,這樣要么用戶事先就有了一定量的token,或者應用方自動給潛在用戶事先充值。都很麻煩。墨客的應用鏈的實作可以不需要采用token,所以避免了用戶的準入門檻的問題。但是底層的系統鏈通過資源控制,可以避免應用鏈上的惡意用戶的sybil 攻擊。至于用戶說不想要token,我們的應用鏈完成可以實作。
第二部分
底層的系統鏈
接下來我想提一下底層的系統鏈。剛才講了,應用鏈可以有多種共識,而且可能有很多的應用鏈實體。那么系統鏈必須是一個有足夠安全性和去中心化的公鏈,才能支撐得起上面的大量的應用。墨客的底層公鏈采用POW的方式。因為我們認為目前只有POW滿足這樣的要求。墨客的POW采用類似于以太坊的GPU挖礦。但是所有的POW公鏈有個問題,就是如果你不是所有同質POW的老大,你很容易受到51%攻擊。具體做法就是短時間內,從其他同質POW網路中租用大量算力,對目標POW公鏈進行攻擊,得手后再退出。這種短時間的租用其實成本非常低,低的讓人驚訝。那么作為小算力的POW公鏈,我們必須解決這個問題。etc好像就是這樣被攻擊了。是的,再給大家看一個圖。

這個是我們的解決方案。具體的做法,我們創造性地采用考慮歷史權重的POW,英文是POW-HWD。這個方案的作業原理是利用:誠實的挖礦節點會持續地挖礦,而攻擊者只是愿意短時間內消耗一定資源來攻擊。因此,在考慮歷史貢獻的情況下,可以降低突然涌入的大算力的影響。
在配置合適的歷史視窗引數下,我們可以把攻擊者的成本提高100倍-1000倍。這樣,小算力的POW的公鏈也能相當程度地提高抗攻擊能力。相關的內容我們已經發表在今年7月的IEEE blockchain conference上面。
第三部分
共識方案的一些總結
最后,我再給一點新的干貨。這個是我對現有的共識方案的一些總結,也是對未來墨客發展方向的一個探索。之前都沒有公開過,這里給大家共享,大家看這個圖。

基本上所有的區塊鏈的共識協議,需要解決一個根本問題。就是用什么方式決定誰可以產生下一個區塊。可以是上帝選擇,或者輪流出塊,或者投票選取,或者是隨機選取。選用不同的方式,就對應著不同的特性。也對應著不同的功能,成為不同的鏈。比如說PBFT,問題就是訊息量太大,準入許可要求,在線率問題。POW的問題就是消耗能源,沒有最終性。但是POW有個很好的特點是抗拷貝。因為POW的算力是物理要求,不能同時復制多份。對于POS來講,就很容易復制另外一份。在這個圖里面,一個重要的資訊是不同的協議能夠適用的節點數量。目前,支撐節點數量最多,也就是最去中心化的是POW。大家看最下來兩個綠色的協議,一個是RBFT,這個是目標之一,我們希望是能夠超越Libra的Hotstuff協議。
在系統鏈這層,能夠把pow+pos同時結合起來。另外一個是SAV Protocol,這個是未來發展的方向。我們希望它能夠支持百萬以上的節點,并且不需要消耗太多的能量。這個圖大家可以體會一下,我今天的講話就到這里,謝謝大家。
第四部分
交流互動環節
趙國棟:辛苦小虎,感謝小虎的分享,的確不負技術盛宴之名。
趙國棟:大家有什么問題,可以敞開問哈,不要錯過了和硅谷大牛直接切磋的機會。
趙國棟:而且井大也一直在線,隨時補充。
井大:首創分層架構,應用鏈這里,實作了分片,而且實作了原子跨鏈,比cosmos和pokadat先落實。
群友:問題1:RBFT在容錯性上有改進嗎?
陳小虎:回答問題1:有很大的改進,而且可以解決目前Libra的準入限制和節點數量問題。
顏陽:問題2:目前,這種分層架構能否用幾個技術指標體現出它的性能?
陳小虎:回答問題2:分層架構有兩種擴展,水平擴展和垂直擴展。垂直擴展剛才井大講了,可以最多有4層,水平擴展是無限的。可以至少支持1000條應用鏈。具體的tps我就不講了。每一條應用鏈都類似于一個以太坊。可以支持多合約。
趙國棟:目前區塊鏈幾個熱點技術,都有涉及,而且取得了成果。
顏陽:問題3:分層架構體現了它的應用的靈活性,但是有的時候底層鏈需要不得不update的時候,會不會增加發布的復雜性?
陳小虎:回答問題3:應用鏈其實有一個很好的特性,應用鏈的代碼是和底層系統鏈的代碼是分開的。底層的更新不影響上層的應用。更加極端一點,應用鏈可以脫離底層單獨運行,但是就少了很多跨鏈和重繪的功能。但是神奇的是,根據需要,應用鏈可以再接回呼層。
陳小虎:補充一下,上述講的應用鏈的4種共識方式,每個都有獨立的代碼。
陳小虎:未來可以讓用戶自己定義新的共識方式。
武源文:真正面向海量應用生態的強大架構設計 。
顏陽:多層架構這樣其實解決了我們在應用程序中,還要倒回來重新修改封裝的底層的問題,對于運營來講,帶來了很大的便宜性。
陳小虎:對的。
趙國棟:咱們今天交流就結束了,謝謝小虎,謝謝井大,明天跨洋交流我們繼續哈。
陳小虎:謝謝各位的觀看。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/28601.html
標籤:區塊鏈技術
上一篇:沈小說幣——12.6早間行情分析 多頭將至后市如何布局?
下一篇:dapp投票系統
