2019 年 5 月 23 日,SorosReport 和 Winkrypto 主辦的 AMA 在真本聰社羣舉行,本次 AMA 邀請了 Harmony 的聯合創始人蘭榮堅,工程師 Leo Chen,討論了 Harmony 的願景和 Staking 機制。他們針對社區關注的熱點問題進行了解答,包括與以太坊分片、Zilliqa 和 Quarkchain 等同類項目的對比,Harmony 在生態上的佈局等。

分片領域強敵環繞,Harmony 如何衝出重圍?

以下是本次 AMA 的主要內容 (爲了便於閱讀,我們刪減了部分內容),enjoy it!

Q1:爲什麼選擇用分片來解決性能問題?和其他一些擴容方案像 zk-Snark、Plasma、State Channel 等,爲什麼選擇的是分片方案?

Leo Chen:分片方案是廣泛應用於傳統的分佈式計算,用來解決系統擴容瓶頸的工業界方案。它的有效性和可行性是已經被多年的實踐所證明了的。

分片技術借鑑到區塊鏈上面來解決性能問題也是很多項目研究和採用的。這個技術相對成熟。

Harmony 從成立伊始就致力於把成熟的技術應用到我們的區塊鏈上面來,所以我們選擇了分片方案。

zk-Snark 它能通過壓縮來減少數據傳輸,它需要在每個 Snark 上面做更新,總體需要相當的計算量。

這個方案還處於一個研究探索過程,工程上的可行性還有待發掘,我們其實也在積極研究這個方向,在主網上線後在考慮加入 ZK 的支持。

Plasma 網絡是一個 Layer2,第二層的側鏈解決方案。它在安全性上面的保證還需要依靠像 Harmony 這樣的 Layer1 鏈的支持。

State Channel 也是 Layer2 的一種,安全性上還是要依賴 layer1 的支持,並且它的應用場景主要限於小額點對點高頻交易,並不能滿足像 Harmony 打造一個通用的高性能網絡的要求。

Q2:想問一下 Harmony 的主網什麼時候上線?現在測試網的一些性能數據如何?

Leo Chen:Harmony 的主網將在今年 6 月上線。和其他項目比如 Cosmo, Zilliqa 一樣,第一個上線的版本 v0 並不是一個完全的方案。它將包括多個分片,和 block rewards 等核心功能。

我們的測試網從一月開始運行。剛結束的測試網 3.0 用了 4 個分片,穩定運行了三週時間,完成了二十二萬 block。

我們並沒有在當前的測試網上面做大規模的性能測試。主要側重於系統安全和穩定性。

在去年底的測試中,我們在 41,440 個節點,124 個分片中達到了 118357 TPS。

這篇文章 裏面有詳細報道。目前在測試網上面,我們運行了 4 個分片,每個分片 50 個節點。

Q3:你們怎麼看待以太坊 2.0,它也有分片計劃。你們認爲它的分片能幫它鞏固先發優勢嗎?如果能,你們又如何拆解?

Leo Chen:我們是以太坊 2.0 的強勁對手和合作夥伴。

我們的整體技術框架和以太坊 2.0 不相上下,包括 PoS 爲基礎的共識算法,信標鏈,libp2p 爲基礎的網絡傳輸層,VRF/VDF 產生隨機數等等。

我們的 account model 和以太坊兼容。也支持 Solidity 作智能合約開發。

我認爲在技術上面我們反而具有先發優勢。我們的創業團隊合作緊密,開發步伐很快。

以太坊當然具有強大的用戶基礎。

我們在幣安上面做 1E0,一方面證明了我們團隊和方案的技術實力,另一方面也會幫助我們建立更好的社區和去中心化的網絡。

我們採取完全公開開放的開發方式,所有工程項目全部開源,每週舉行公開的開發者會議。

同時我們建立了基礎節點計劃來吸引更多的社區參與運行我們的開放網絡。

在社區方面,我們目前仍然大大落後於以太坊,但是,隨着 1E0 的進行,更多的人會參與到我們的網絡和社區中間來。

我們的優勢在於迅速開發和項目落地,尤其是需要高性能的新興應用。區塊鏈的應用會越來越多,我們與以太坊 2.0 是競爭合作的關係。我們會一起把這個蛋糕做大,做好。歡迎大家積極參與!

Q4:你們有研究過其他一些競爭對手的分片方案嗎?像 Zilliqa、Quarkchain、Ontology、Tomochain、MultiVac、NEAR
Protocol、Elrond 等。相比於這些對手,Harmony 的分片方案有什麼特別之處和優勢?

Leo Chen:在幣安的 Harmony 官方研究報告裏面有一個表專門比較了幾個分片項目,包括 Zilliqa, Quarkchain,
MultiVac, Eth2.0:https://info.binance.com/en/research/ONE-2019-05-14.html

這是第三方的比較和評價,我就不再過多王婆賣瓜了哈!

我們的分片是深度分片方案 Deep Sharding。這是一個端到端的、安全可靠的技術方案。

這是我們的技術優勢。可以看白皮書瞭解更多細節。

在系統開發方面,我們是第一個實現了基於 BLS 多重簽名的快速共識,我們的項目使用 golang 實現,減少系統不穩定性。

同時我們的開發工程項目全部開源,工程能力經得起社區檢驗。

透露一下,我們是第一個正在實現獨立的 VDF 的 golang 模塊,也會給貢獻給開源社區。

簡短的說,我們的技術優勢在於腳踏實地、切實可行的 Deep Sharding 技術方案和快速高效的開發進展。

Q5:我有看到你們提出了 Deep Sharding 這個概念,能夠詳細講講這個概念嗎?是單指分片還是代表一個性能擴展方向?

Leo Chen:Deep Sharding 是 Harmony 提出的對於分片技術的一個深化方向。

分片技術可以應用在不同的層面,具體包括網絡傳輸層,共識協議層,和用戶應用層。

這是一個端到端的技術方向。我們認爲這個方向是值得我們投入和鼓勵社區來研究的。

單一層面上的分片方案只能解決部分問題,比如單純網絡分片會造成系統資源冗餘浪費,單純用戶應用分片會帶來跨分片交易昂貴且緩慢。

Deep Sharding, 在網絡層面,我們使用了基於 RaptorQ 的噴泉碼來加速區塊廣播;在共識層面,各個分片獨立異步運行來達到線性增長;

在用戶應用層面,我們用 Kadelimia Routing 來加速跨分片運算。

簡而言之,我們首創性的提出 Deep Sharding 這個擴展方向,並且引領開發,這個方向會給分片區塊鏈技術帶來更多的思考和研究。

我們期望與同行做更多的交流,與社區做更多的分享來深化這個方向和拓展它。

Q6:Harmony 這個項目是什麼,項目的願景和目標是什麼?又試圖解決哪些問題?

蘭榮堅:Leo 已經對 Harmony 的技術做了很深入的討論,我就簡要說說吧。

Harmony 是一個基於狀態分片和 PoS 的高性能公鏈項目,我們的設計利用了安全的隨機分片過程,在保證安全性和去中心化的同時,可以極大提高系統的交易處理能力,並且交易處理成本被分攤到多個分片,從而大大降低交易處理成本。

Harmony 試圖解決的問題是當下公鏈性能瓶頸和成本太高的問題,並且我們旨在打造一個真正去中心化的網絡,讓無論大小的任何節點都可以參與到其中做貢獻。

Harmony 的目標是爲未來的全球去中心化經濟體提供最安全和高效的信任基礎設施,讓所有人都可以在一個互信共贏的經濟中獲得贏得的回報。

Q7:Harmony 是如何誕生的,團隊是怎麼組建的?你們現在依然在 Stephen 的車庫工作嗎,團隊有着怎麼一個工作文化?

蘭榮堅:確切的說 Harmony 誕生於 Stephen 在美國硅谷組織的前谷歌員工創業聚會”TGI”中,Stephen 自之前的創業公司 Spotsetter 被 Apple 收購併在 Apple 做了兩年的 Director 之後,辭職出來找創業想法,同時組織了這個每週一次的 TGI 創業聚會,Harmony 的大部分早期成員都是在 TGI 相識的。

我們的核心技術團隊有 Google,Amazon,Microsoft,Apple 等公司的研發背景,商務團隊也均畢業於美國名校如斯坦福,哈佛等。

Harmony 創業的開始階段我們確實是在 Stephen 的車庫工作的,當時天氣炎熱,車庫又沒有空調,只能開着車庫門工作,雖然條件堅苦,但對於創始團隊來說也是一種歷練和體驗。

我們現在已經搬出了車庫,現在的總部是一個坐落在美國加州的 House,我們還延續着之前的 TGI 聚會,每週六都會邀請硅谷的創業者來暢談區塊鏈和創業。

Harmony 團隊成員的關係很融洽,因爲我們之前都是同事或者朋友,之前有過合作經歷或者已經認識很久。並且 Stephen 是個非常有領導魅力的人,在他的帶領下,團隊氣氛很好,我們既是戰友,也是朋友。

Q8:Harmony 這名稱還有整個品牌形象是怎麼傳達你們的願景和目標的,另外我知道你們有個中文名叫和夢鏈,能否聊一下這個中文名的誕生小故事呢?

蘭榮堅:Harmony 的品牌取名其實是要傳達一個這樣的概念,Harmony 的中文直接翻譯是”和諧韻律“的意思,就像一首音樂雖然可以包括不同的樂器,不同的音調,甚至不同的節奏,但最終這些不同的因素可以協調共進,最終組合成一個美妙的樂曲。

Harmony 希望在區塊鏈網絡中也可以讓不同的人,不同的設備,不同的場景有機的整合在一起,最終達成一致的共識,就像一首和諧的樂曲一樣美妙。

而”和夢“同時與 Harmony 諧音,並且也蘊含了我們希望爲全球“所有人”打造共通共享的信任基礎設施。

Q9:在很多投資者的觀念中,Harmony 的定位標籤是分片,競爭對手是 Zilliqa 或者 Quarkchain。你們怎麼看待這個觀念,你們又認爲 Harmony 的真正定位標籤和競爭對手是誰?

蘭榮堅:對於分片的標籤,大家比較熟悉的是 Zilliqa 和 Quarkchain,我們很欣賞這兩個項目的技術和團隊,但對於一個完全去中心化,可擴展,高效率的分片公鏈,我們的目標競爭對手其實是以太坊 2.0。

Harmony 的系統設計不論在安全性,去中心化,還是速度上都是和以太坊 2.0 在同一個思考水平的,比如我們對於分片系統的安全性,尤其是如何避免單一分片受攻擊的問題,進行了很深入的研究,我們採用分佈式安全隨機數的方法來隨機分片,並且進行有定期的再分片,這樣可以有效防止攻擊者控制單一分片的節點。

Harmony 的系統設計不論在安全性,去中心化,還是速度上都是和以太坊 2.0 在同一個思考水平的,比如我們對於分片系統的安全性,尤其是如何避免單一分片受攻擊的問題,進行了很深入的研究,我們採用分佈式安全隨機數的方法來隨機分片,並且進行有定期的再分片,這樣可以有效防止攻擊者控制單一分片的節點。

以太坊 2.0 的架構在某種意義上和 Harmony 類似,都是信標鏈和分片鏈的結構,但 Harmony 的共識機制採用高效的 FBFT 算法,可以保證交易能夠及時確認,這也有助於安全的跨片交易處理。並且 Harmony 的 Staking 模型對於驗證節點來說,更加高效,可以沒有等待時間。

此外,由於開發速度的優勢,Harmony 將是早於以太坊 2.0 第一個實現 PoS 和 Sharding 結合的公鏈項目,我們對於 Staking
Economy 的設計可以有效避免中心化節點的行程,並且可以激勵更多小節點的加入。

Q10:最近聽到 Harmony (One) Token 會在幣安鏈上發行的消息,爲何做出這樣的決定,而不是像過去大部分的項目基於以太坊 ERC-20?

蘭榮堅:之所以選擇在幣安鏈上發行初始 Token,主要考慮到這樣在幣安首發 1E0 會更加便利,並且如果之後在 Binance
Dex 上交易,技術實現上也最簡單。

並且我們對幣安技術團隊的能力很有信心,我們測試了 Binance Chain 的功能和速度,相比以太坊都有很大提升,對於實現去中心化交易是個很好的選擇。我們是看好幣安鏈未來的前景的,它正在取代以太坊 ICO 的功能,並且遷移更多對速度要求高的虛擬貨幣資產。

Q11:最近 PoS 和 Staking Economy 是近期一個熱點,可以講講 Harmony 在 Staking 方面的一些機制設計嗎?

蘭榮堅:我最近剛剛寫了一篇 Medium 文章,內容關於 Harmony 的 Staking Economy 的設計,裏面提到了分片系統的 Staking 模式需要有特殊的解決方案。

具體來講,不同於其他 PoS 系統簡單的 21 個或者 100 個節點,我們的分片系統需要承載上千甚至上萬個節點,並且允許小節點的加入。

我們每個分片都會分配 400 個投票權,投票權的獲得是需要節點通過 staking 代幣的形式,以類似拍賣的過程完成的,對於一個投票權,你願意 stake 的代幣越多,你就越有機會獲得這個投票權,從而變成一個驗證節點。

這種基於拍賣的機制可以使得投票權最終去向最高效的驗證者手裏,最終增強網絡的運行效率。

同時 Harmony 每個分片的節點都會輪流作爲領導者出塊,每個節點連續負責 40 個塊,對於不在線的節點,我們會通過 view
change 協議立刻換掉,從而保證系統整體運行速度不受掉線節點的影響。

對於出塊者和驗證者我們也有不同的相應的激勵和懲罰機制,比如出塊者會有更多一些的獎勵,出塊者收集更多簽名也會有更多回報,驗證者如果長期不簽名的話會被 slash 等等,具體歡迎閱讀 這篇文章

Q12:可以講講爲什麼選擇在幣安上進行 1E0 嗎,是幣安找到你們還是你們主動找的幣安?

蘭榮堅:是這樣的,我們在之前的一年時間裏主要在抓緊研發工作,沒有像其他項目很早做 1C0,我們選擇了先做事後發 Token。現在我們離主網上線已經越來越近了,我們認爲通過一個好的 1E0 可以讓更多社區的支持者拿到我們的 Token,這樣不僅擴大了社區,也讓 Token 更加分散,去中心化。

當然融到的資金也有助於我們今後更大規模的生態建設和團隊擴展。

我們之前和很多交易所接觸過,但最後決定和幣安合作,是因爲我們看到了幣安團隊的專業性和幣安社區平臺的體量。

幣安做的盡職調查是非常詳細的,並且追加很多對於我們技術和公司的問題,可以說選擇項目非常謹慎。可以說和幣安合作對於 Harmony 和幣安來說都是有積極意義的。

Q13:你們計劃在主網上線後怎麼構築自己的去中心化應用生態,你們會重點發展哪方面的應用?有計劃或者有成功邀請到以太坊、EOS、或波場的去中心化應用遷移過來嗎?

蘭榮堅:生態方面我們已經有近 30 個生態合作伙伴,整個生態建設的思路我們主要考慮應用需求,整個 end-to-end 的應用功能都需要公鏈來支撐,包括穩定幣,數據存儲服務,隱私計算,預言機,甚至地圖信息服務等等,這些生態基礎設施將爲未來的區塊鏈應用提供全方位的支持。

Harmony 在穩定幣,分佈式數據庫,隱私計算,地圖信息等方面都有合作佈局,包括和 Stably、Picolo、Hyperion 等的合作以及對零知識證明的投入等。

此外,我們在 Defi 方面有深厚研究,我們的創始團隊成員提出的 Delfi 鏈上預言機設計曾在 EthDenver 開發者大會上獲得最佳創意獎,這個鏈上預言機技術可以很好地爲區塊鏈應用提供準確的鏈下信息。

我們對區塊鏈遊戲的前景比較看好,在今後會和更多這個方向上的頭部企業進行合作,我們已經和遊戲開發領域的頭部企業 Animoca 合作開發更多基於區塊鏈的遊戲應用,並且也和專注區塊鏈遊戲 SDK 的公司 Drep 商討怎樣把更多的區塊鏈遊戲接入 Harmony 鏈中。

對於已有大公鏈的應用向 Harmony 的遷移,我們會在近期 SDK 發佈之後開始推進。

Q14:官網上看到項目的口號是“Open Consensus for 10 billion people”,你認爲實現這個口號大約需要多久?談談你對未來幾年區塊鏈和加密貨幣的發展預想?

蘭榮堅:這個口號是我們的終極願景,既打造一個世界所有人蔘與的互信共贏的去中心化經濟體,併爲其提供基礎設施的支持。

Harmony 的分片技術可以橫向擴展來提供超高的吞吐能力,對於最終實現我們的願景,我們還需要有更多的社區支持者加入我們,成爲我們的節點,爲實現 Harmony 的最終目標出一份力。

我認爲現在區塊鏈行業還處於早期階段,未來還有很多的可能性等待着從業人員去探索,去開發。無論是更有趣的區塊鏈遊戲,還是更安全可靠的支付途徑,或者是隱私保護和數據交易平臺,還有太多的應用場景等待用區塊鏈來拓展,賦能,和提速。

我希望未來 5-10 年區塊鏈的應用能夠真正的爲社會的組織結構和運行效率帶來翻天覆地的改進,到時候 Harmony 也會真正實現我們的願景。

以下是真本聰社羣成員對 Harmony 的自由提問:

Q15:我們知道,隨時間推移,區塊數據越來越臃腫。比如現在比特幣數據就幾百個 g, 你們有什麼辦法處理這種狀態嗎?

Leo Chen:對於數據量過多的問題,我們的方案是檢查點和多種不同類型的節點。全節點可以存儲所有數據。輕型節點可以至少同步到上一個檢查點的數據。然後仍然可以通過 Merkle 樹來驗證新的區塊數據。

蘭榮堅:其實區塊鏈的歷史數據沒有必要讓每一個節點都去存儲,通過一定的機制,比如 Archival node、Checkpoingting 等,可以很好的減小歷史數據的存儲負擔。而對於不能刪減的狀態數據來說,我們的狀態分片就是最好的解決辦法。

Q16:我想請問 harmnoy 的分片是狀態分片嗎,如何支持跨分片的狀態交互和同步,安全性可靠嗎?

蘭榮堅:harmony 的深度分片架構裏面,包含了狀態分片。

對於跨分片的交易,我們選擇基於分片自身的傳輸方案,既跨片交易通過分片節點去傳遞。並且我們運用了 Kademlia
Routing 的技術,提高跨片消息的傳輸效率。具體的跨片交易邏輯,是有最終一致性的基於 Merkle Proof 的模式。

Q17:請用一句話來說明和 eth2.0 的區別

蘭榮堅:一句話有點難哈,不過我認爲我們和 Eth2.0 最大的區別在於我們是基於 BFT 的共識,交易延遲會比 eth2.0 低很多。此外我們肯定是要比 Eth2.0 至少早一兩年上線主網:)

Q18:你們項目有沒有跟 cosmos 互聯的計劃?

蘭榮堅:我們之前邀請了 Cosmos 的負責人 Zaki 來過我們的 TGI 做客,我們關係不錯,我們主網上線之後會考慮和 Cosmos 對接。

Q19:你願意 stake 的代幣越多,你就越有機會獲得這個投票權,從而變成一個驗證節點。這種基於拍賣的機制可以使得投票權最終去向最高效的驗證者手裏,最終增強網絡的運行效率。這裏存在一個問題 , 增強網絡運行效率的同時 , 投票權容易掌握到大戶手上 , 如何防止大戶作惡呢?

蘭榮堅:這個是大家容易有的一個誤解。我們全網有幾千個投票權待分發,一個投票權的封頂價格會很低,小散戶也有機會成爲節點。拍賣的形式主要作用是讓更加高效的節點有話語權,因爲低效的節點是沒法競爭過高效節點的。

Q20:現有 bft 共識項目,都沒很好的解決多中心化的問題

蘭榮堅:前幾代的 BFT 共識項目是存在問題,不過我們的基於 BLS 多籤的快速 FBFT 算法,可以支持至少 400 個節點同時共識。

Q21:BLS 多籤需要的 DKG,要求 400 個節點兩兩進行 tcp 通信,你們是怎麼在去中心化的網絡中做到這一點的?任何一個節點掉線都可能導致這一步失敗

蘭榮堅:我們利用的不是 BLS 閾值簽名,而是 BLS multi-sig。是不需要 DKG 的初始設置的,這點和 Dfinity 不同。Dfinity 用了 BLS 閾值簽名,目的是用最後的簽名當做隨機數。而我們的安全隨機數是基於 VDF 的分佈式隨機數,更加高效和安全。