布洛克科技聯合blocktimes在臺灣發起【blocktimes線上專訪】系列節目,走訪臺灣頂級區塊鏈從業者們,促進區塊鏈交流合作。
嘉賓介紹
第三十五期【blocktimes線上專訪】blocktimes邀請Harmony聯合創始人,蘭榮堅進行對話。
蘭榮堅:現為Harmony聯合創始人,曾是擁有超過500名來自Google、Facebook、LinkedIn工程師的區塊鏈社群ABC的聯合主席。曾任Google Play Store工程師,發表過十餘篇關於地圖可視化和時空數據管理的學術論文。
【第一問】
Wade:請您先介紹一下自己,以及是怎麼踏入區塊鏈及加密貨幣領域的?
蘭榮堅:大家上午好,我是Harmony(和夢鏈)的聯合創始人蘭榮堅,很高興和大家討論分片技術的細節,以及現階段分片技術的發展方向。Harmony是一天基於分片技術的高性能公鏈項目,團隊位於美國矽谷。我17年在Google做search的infra,當時花了很多時間研究區塊鏈基礎技術和共識算法,之後也接觸過Zilliqa和Thunder等項目,最後和Stephen一同創立了Harmony。
【第二問】
Wade:Harmony是一個通用性公鏈計劃,與其他公鏈相比,您關注的面向有什麼不同?它的核心技術有哪些?
蘭榮堅:現階段區塊鏈的一個問題就是擴容問題,或者說是速度慢的問題。很多項目在用分片技術解決這個擴容問題,Zilliqa可以說是第一個利用分片技術的公鏈項目,Zilliqa對網絡層和交易層進行了分片,但是沒有對狀態進行分片,這裡的狀態是指區塊鏈帳本的數據,所以zilliqa的每個節點都需要存儲整個網絡全部帳本信息。對於一個高性能區塊鏈,這個帳本本大小增長極快,一年就要有上TB的大小,這樣對於存儲容量小的節點來說是個壞消息,因為他們就不能加入的網絡中了。Harmony與Zilliqa最核心的區別是Harmony做了狀態分片,可以容許更多的小節點加入網絡,從而有利於網絡的去中心化。
此外,Harmony的分片技術利用了安全的分布式隨機數產生過程,利用這個安全的隨機數,可以將驗證節點隨機得分配到不同的分片中,避免單一分片收到惡意節點的攻擊(1%attack)。在這點上其他基於分片的公鏈並沒法保障完全避免1% attack,主要原因是因為節點的分片過程的隨機性沒法保證,Zilliqa是基於PoW hash value來對節點進行分片的,而這個hash value很容易被惡意幹擾,是它並不是完全隨機的,這樣惡意節點就可以蓄意進入某個單一分片,從而將其攻佔。 Harmony的分片可以保證一個完全的不可預測,不可幹擾的隨機分片過程。進而保證整體分片網絡的安全性,是單一分片的安全性和網絡整體安全性一致。
其他方面,Harmony採用了雙層區塊鏈的構架,包括一條信標鏈(beacon chain),和多條分片鏈。信標鏈負責產生隨機數,以及接受抵押Staking,分片鏈負責同時處理交易。分片間的通信由跨片交易完成。Harmony採用的共識算法是基於BLS多重籤名的改進式pBFT算法,速度快,並且具有實時最終性。交易可以在幾秒內完成確認。Harmony的共識算法相比傳統的pBFT算法,因為利用了BLS多重籤名的特性,節約了大部分的網絡開銷,把網絡複雜度從O(N^2)降低到了O(N)的複雜度,使得共識算法可以支持上百個節點同時進行。
同時,大家公認的區塊鏈的瓶頸在於網絡開銷問題,一般區塊鏈利用了P2P Gossip的方法進行通信,效率低,容易造成阻塞。而Harmony在網絡層進行了眾多優化,包括基於糾刪碼的區塊廣播協議和基於Kademlia路由的跨片通信協議。
【第三問】
Wade:請問Harmony的激勵模型為何,它在設定上有什麼優點嗎?
蘭榮堅:Harmony的激勵模型是基於Staking(PoS)的模型。驗證節點要想進入網絡做驗證,需要預先抵押一部分代幣,這個需要抵押的數量是浮動調整的,調整的具體數字依據全網全部抵押的代幣數量決定。節點Staking之後,代幣會被鎖定,幾個周期。這段時間節點可以進入分片進行驗證工作,如果一切正常,節點將得到區塊獎勵和交易費作為回報。同時我們也加入了懲罰機制,如果節點被證明沒有遵循正常的驗證流程,或者長時間停止參與共識籤名,它的stake就會被slash(沒收)或者它的投票權會被稀釋。
這樣做的目的是儘可能打擊惡意行為,而正向激勵合法行為,保證整個網絡的安全性。同時我們也支持託管功能,這樣持幣者不需要自己作為驗證節點加入網絡,只需要把自己的幣託管給第三方驗證節點,即可得到一定的staking收益。
【第四問】
Wade:公鏈的成熟發展需經歷多次的迭代更新,請問您會以何種方式讓社群來參與重大更新又兼顧效率呢?
蘭榮堅:公鏈的主網上線只是一個起點,之後還要有不斷地更新和完善,功能的迭代,才能真正滿足不斷變化的需求。對於網絡的更新,我認為對於純粹技術上的迭代和改進,在不影響社區用戶的前提下,可以用項目方主導決定更新。而對於可能影響社區用戶利益的,協議改變,經濟模型改變等,這些不能用項目方決定,而需要由社區以代幣投票的方式來進行,這樣能最好的,根據每個人的不通情況,反應社區的需求,最後是公鏈的更迭更好地服務於社區。總而言之,公鏈自主網上線起就是屬於社區的,而不是項目方的,項目方應該代表社區的利益來行事。
【第五問】
Wade:吸引開發者與用戶是公鏈脫穎而出的關鍵,您對此目前有哪些策略?
蘭榮堅:在這點上Harmony非常認同,我們很早就開放了Discord和技術論壇,方便開發者和使用者和我們直接溝通需求和意見。
同時我們希望最大限度降低開發者的學習門檻,所以我們在主網上線是會兼容Solidity開發環境,這樣所以以太坊的開發者都可以快速的上手Harmony,把他們之前設想了但沒法實現的高頻應用實現到Harmony上。
之後我們還會升級支援基於WASM的智慧合約開發,WASM是一種支援多重語言的編譯環境,這樣更多的其他語言的開發者也可以上手Harmony。在使用者層面上,我們也將對接法幣入口,並且提供法幣入口SDK,讓更多非區塊鏈應用可以直接對接Harmony,讓使用者可以無縫利用法幣兌換虛擬代幣。在原生應用中直接體驗區塊鏈技術的好處。
【第六問】
Wade:目前能出現較高流量的DApp都集中在博弈、投資、遊戲,您怎麼看這個現況?您認為公鏈可以怎麼促進更多元化的DApp生態?
蘭榮堅:我認為區塊鏈的應用還是要和價值及信任掛鈎,如果這個應用不涉及價值和信任,那其實不需要在區塊鏈上做。所以對於博弈,投資,遊戲等應用,我個人認為,在合理的設計和滿足使用者需求的前提下,是區塊鏈落地的試金石。
尤其是遊戲類應用,在全民娛樂的大潮中,遊戲已經成為人們娛樂中的一個重要方式。而遊戲內的虛擬物品是具有實實在在的價值的,很多虛擬物品都被高價買賣,這證明遊戲內在是有價值流轉的,所以很適合利用區塊鏈的特性將這部分價值體現出來。
對於區塊鏈遊戲應用,我認為現階段有兩大技術問題需要解決:
第一是區塊鏈的速度問題,對於大規模,高頻的遊戲應用,現有區塊鏈的速度還是難以滿足需求。
第二是遊戲中的公平和隨機過程的安全性,這一點對於博彩類遊戲尤為重要,之前EOS上很多博愛遊戲被攻擊,都是因為隨機開獎過程被惡意篡改。Harmony的分片擴容方案和安全的分散式隨機數產生器,可以有效地解決這兩個重要問題,讓更多更安全的遊戲應用在Harmony的實現。
【第七問】
Wade:您的團隊成員來自Google、Apple、Amazon以及許多成功的公司,也包覆許多科技領域的專業人才。您認為這樣的團隊帶來什麼優勢,以及是以什麼樣的視角看待區塊鏈產業?
蘭榮堅:作為一個公鏈團隊,最重要的還是技術能力,作為來此矽谷頂尖公司的技術人員,Harmony團隊的最大優勢就是技術實力。我們在Google,Amazon,Apple等公司都有開發大規模分散式系統的經驗,開發的產品曾服務過全球上億人,這些經驗為我們打造服務全世界人民的高性能公鏈Harmony提供了技術支援和產品經驗。
我們團隊成員在地圖服務,搜索服務,人工智慧,大資料採礦等方面都有深厚的功底,這些背景讓我們可以更好的服務實際的應用場景,為它們提供最合適的技術支援,也為開發者提供最順手的開發工具。