鏈與製作人| 不只是快,公鏈還要夠靈活才能適應行業發展
郝方舟
@OdailyChina
2018-10-15 00:00
本文约4361字,阅读全文需要约17分钟
與其預測下一殺手級應用出現在哪個領域,不如做一套能支持更多場景和需求的操作系統。

凜冬將至,“熊”關漫道。相比年初,區塊鏈項目的新增速度和融資步伐均有減緩,曾經對技術“華山論劍式”的高談闊論,逐漸分化出公堂撕扯公堂撕扯和潛心修煉幾條道路。又像是每個風口隨季節變動,追風者們來了又走,我去年聊過的項目,已有幾家因融資縮水而遣散員工、被迫轉(tao)型(li)。而堅守者大多手握信仰,專注於更底層的技術。他們實現了階段性成果,也重新思考一些基本問題。

比如,區塊鏈真的born for 通用計算嗎?公鍊和聯盟鏈到底將分別扮演什麼角色?哪個擴容解決方案能帶領區塊鏈走向商用化落地?一味追求性能是否是公鏈的誤區?之前所謂的“超級公鏈”主網上線後為何成績不佳?資本退潮後,公鍊是否已成“失寵”的細分賽道?除了更快,區塊鏈3.0 還應具備哪些特質? Odaily也抱著學習請教的態度,與行業中領跑的公鏈們討論上述問題,並通過公鏈101欄目與讀者分享觀點。

5 個月前,Odaily曾就區塊鍊是否能支撐起大型應用,與QuarkChain創始人周期展開討論。週期的團隊曾在Facebook、Google 等公司有多年高性能係統開發經驗,認為水平擴容才是真正能平衡成本的擴容之道,因此借鑒中心化系統構建集群(Cluster)的經驗,探索去中心化操作系統與分片技術(Sharding)的結合點。近期,我回訪了周期,了解到QuarkChain 的TPS 已從3 月底的2000 提升至峰值14000+,測試網也完成了1.0 版的主要功能,正在向支持更多共識機制、虛擬機和代幣協議的2.0 版進化;同時QuarkChain 在社區運營和生態互動方面也做出了一系列有趣的探索嘗試。

除了進一步討論分片等技術細節外,我們也試圖從互聯網巨頭崛起這面“鏡子”中窺探區塊鏈底層的未來。

週期對區塊鏈行業的判斷如下:

  • 寒冬中投資者大多觀望,技術社群卻在增多,只有埋頭做事、堅持下來,才能推動區塊鏈成為下一個互聯網。

  • 公鏈不只要追求快,還要夠靈活,才能不斷進化,適應發展。

  • 設計一個好的DAPP 既要有技術和產品層面的思考,還要有對模式的洞察和有趣的經濟學設計。

  • 分片不是萬能的,要結合場景的業務邏輯反推分片的設計規則。

我們以問答形式將專訪內容編輯整理如下:

Odaily:9 月份QuarkChain 在Github 上將代碼開源,我想先問下QuarkChain 開源後的數據表現和進展,以及是否“被發現”問題。

週期:從立項到測試網,QuarkChain 用了8 個月,跑得還不錯。在6000 多個節點、並發1 萬多個虛擬機的測試環境下,TPS 峰值超過了14000。目前我們正在完善文檔和開發環境,進行code review。

對比其他先發項目,我們仍在追趕。具體的動作有:新增了北京的開發團隊;在舊金山的Blockchain Week 中通過workshop 向大家呈現QuarkChain 的技術特點,與當地社區做線下討論和路演;與合作方共同發起hackathon,觀察對技術有不同理解的人是如何使用我們網絡的,並收集反饋。

更多地接觸程序員社區,既是給大家一個上手的機會,也是給自己更新的機會。開源後的確有人發現了關於智能合約的一兩個bug,在我們及時修復後還沒看到明顯的問題。

另一方面,我們也鼓勵技術人員從用戶角度開發些小程序,比如支付、遊戲和其他能用智能合約處理的常用功能。

Odaily:除了技術壁壘,社區運營和吸引開發者也是公鏈的核心競爭力。我看到QuarkChain 官網有一個TPS 競賽的入口,優勝者會獲得1 個BTC。這個比賽現在進展如何?

週期:因為QuarkChain 在設計時預埋了支持橫向擴容的功能,所以理論上是可以用多個機器提升TPS 的,可以簡單地理解為“並聯”。我們自己還沒測試過這點,所以可以放入比賽中。

參賽者會被要求先錄一個短視頻,證明基於QuarkChain 的工具達到了一定速度,再寫一個包含機器配置、參數的報告,提交到github 上公示,我們會隨機檢查前幾名。

當然,“快”只是一方面,很多公鏈都已達到較高的TPS,QuarkChain 更大的優勢在於靈活。

Odaily:靈活似乎是QuarkChain 2.0 版的重點,我在最新的技術文本中看到2.0 版將支持不同分片內採用不同的共識機制,在問具體的實現路徑之前,我想先了解下QuarkChain 是基於什麼樣的判斷,認為應用層會需要支持不同共識機制的底層操作系統?區塊鏈的殺手級應用會出現在不同於互聯網產品的領域嗎?

週期:是先搭性能足夠支撐應用的底層,還是從需求倒逼底層設計,有點類似“先有雞還是先有蛋”。站在QuarkChain 的角度,我們其實也不清楚真正的殺手級應用會誕生在什麼領域,只是很泛地感覺支付和遊戲的可能性大些。

因此,我們不做過多的未來預測,而是選擇開發一條靈活、能不斷迭代、適應發展的公鏈。即使以後出了新的更好的共識機制和虛擬機,我們也能立刻迭代好並支持。比如,當某個應用需要A 的虛擬機、B 的共識和C 的代碼時,我們可以靈活到能兼容支持它們之間的排列組合。

Google 和Facebook 能發展起來,並不是因為猜到十年後的互聯網應用長什麼樣子,而是做到足夠靈活,可以隨時加入各種插件。而將傳統互聯網的底層系統設計經驗平移到區塊鏈中,恰好是我們團隊擅長的。

Odaily:既然聊到了與互聯網發展史的對比,那我會很好奇,QuarkChain 站在公鏈的角度,如何看區塊鏈應用的未來? DAPP 有哪些要追趕APP 的地方,又會有哪些不同於APP 的點?

週期:應用層還是應該從用戶的角度出發。現在的區塊鏈應用會讓用戶感到“不舒服”,比如fomo3D、加密貓等更多是基於web,很多應用還沒做到很好地適配手機上的體驗。

我們回看微信的歷史,最開始也沒引起太大關注,爆發點還是在推出了語音消息和聊天后,再之後通過不斷增加新功能鞏固壁壘。好的區塊鏈產品其實也可以先從一兩個點入手,比如支付、遊戲,關鍵在於結合用戶需求,讓用戶感受到解決了現實痛點,之後再擴充功能。

手機應用也有了一段歷史,只是在Apple 出現前不太好用。這也說明,要拋棄舊思想,從人性和經濟學去思考產品應該是什麼樣。

設計一個好的DAPP 需要更多的考慮,不只是技術和產品,還有對模式的洞察。之前比較成功的DAPP 的共同點,是有趣的經濟學設計,雖然獲取的是短期流量,但能讓人不停地參與和停留。區塊鏈產品和APP 最大的不同在於token 經濟的激勵機制,這也是去中心化的魅力之一。

Odaily:那再回到公鏈的定位,我們具體如何幫助應用落地?應用開發者有諸多的公鏈選擇時,如何爭取到他們的認可與合作?

週期:我們BD 團隊的工作,是研究什麼樣的產品具有殺手級應用的潛質,反饋到技術團隊後,在2.0 版中向更多應用提供更好用的功能。

舉個例子,雖然並非每個應用都要開發自己的token,但仍有不少項目希望建立自己的生態,所以它們一方面從頭到尾搭建底層,另一方面又要結合垂直領域需求,“兩頭”的工程量和人才需求巨大。 QuarkChain 會通過添加新的分片的方式,支持這些應用創建自己的原生代幣,更好地滿足他們設計的規則,同時也不受ERC20 協議的約束,比如用水平擴容方案提速,避免網絡擁堵。

稍作總結,就是QuarkChain 負責所有底層事務,比如存儲、塊、以及對DAPP 個性化需求的支撐。

Odaily:您剛才提到用分片實現靈活性,讓我回想到上次採訪時我們把分片比作修高速公路。那麼目前QuarkChain 是否已實現狀態分片?具體的分片規則是怎樣的?比如如何分配節點集群和交易任務?以及在設計上能否避開跨片交易?

週期:在實現1.0 功能後,QuarkChain 正在做狀態分片。

這裡我也要強調一下,分片不是萬能的,比如我們仍在與業內共同觀察和學習怎樣真正支持水平擴容,以及哪些case 的業務邏輯真正適合用到分片技術。另外,分片不是分得越多越好,更多的分片意味著更高的維護成本。

所以,我們一開始不會做得太複雜,有些工作會類似於在修比高速公路更快的路之前,先清理地面、預留空間。

同時,分片規則也不是一成不變的,QuarkChain 會根據業務場景靈活調整。比如說地理位置可以作為節點分組的一個維度,可以想像成“人口普查”,要先從大到小劃分調查任務,再按“鄉→縣→市→省”地匯總數據,這背後的基本原則是合理地設定最小地區單位,避免浪費不必要的精力,以及盡量讓相鄰的地區先匯總數據。

跨片交易很難完全避免,QuarkChain 希望做到當跨片出現時,縮短交易的距離。交易背後代表的商務環境也和地理位置有很大的關係,我們會在設計分片時理解業務邏輯,降低跨片出現的頻率,來保證性能。

Odaily:我們官網上的數據顯示QuarkChain 中現有256 個分片,50 個集群,每個集群129 個節點,目前這樣的設計是基於什麼原則?單個片內節點數量是否會影響安全性? Layer 2 在確認分片計算結果時是否容易堵塞?

週期:因為QuarkChain 是由集群機制驅動的,先來說集群的設計原則。集群負責幫助並發處理所有分片和主鏈上的數據。每個節點對應兩個分片,每個集群中留出一個節點負責與根鏈的數據交換。所以每個集群內包含129(=256/2-1)個節點。

Layer 2 相對獨立,Layer 1 甚至可以不知道Layer 2 的存在。由於不是每筆交易都要隨時匯總給根鏈,所以根鏈的塊很小,我們預測以後吞吐量上來了,有可能會擁堵,不過在此之前還好。

而安全性主要是靠算力和經濟機制來保護,目前還未出現因為一個分片內節點數少而導致的安全問題。 QuarkChain 最大的特點是靈活,所以以後也會不斷優化。

英文

中文中文英文,編者補充)。這套共識機制可以類比成一系列的交通規則,比如在高速公路超車要打燈。

關於硬分叉的問題,歷史上比較出名的硬分叉更多是因為出現了安全問題,或社區對一些功能的想法無法統一。 QuarkChain 在做挖礦算法時就與技術人員討論過,通過對CPU 更友好以及設計地更靈活來避免硬分叉。

Odaily:最後,我想問下,分片作為一條公鏈擴容之路,被眾多項目方看好,有沒有哪一條是QuarkChain 覺得相對領先的?

週期:其他做分片的公鏈可以說是各有所長。我認為創新較多的還是以太坊,無論是共識機制還是探索分片,以太坊在試圖解決更宏大的問題。

此文主要為探討下一個現象級公鏈、底層設計、共識機制等的更多可能,由於項目仍處於早期、市場待成熟,Odaily不為項目背書,此文亦不具備投資指導性。

郝方舟
@OdailyChina
作者文库