對話Alephium:如何用區塊流突破不可能三角?

買賣虛擬貨幣


unitimes.io

全球視角,獨到見解

前言

Unitimes AMA(Ask Me Anything)是 Unitimes 重點打造的微信群線上問答系列活動,每週舉辦一期。我們邀請發展較成熟的區塊鏈專案的創始人、CEO、CTO或核心開發者等嘉賓做客社群,與群成員就該專案的突出技術亮點以及用例等進行高質量互動問答,旨在學習交流區塊鏈最新技術和應用。

期數:第34期

特邀專案:Alephium

特邀嘉賓:王成,創始人&CEO

主題:如何用區塊流突破不可能三角

AMA分為固定問答和自由問答兩個環節。

固定問答

1

Unitimes:王博士您好,歡迎參加 Unitimes AMA,請先介紹一下您自己以及Alephium吧!

王成:大家好,我叫王成,是Alephium專案的創始人兼CEO。之前在瑞士留學和工作,現在和朋友在瑞士做Alephium的技術研發;我的技術背景是密碼學和分散式計算,讀了兩個輟學的PhD,所以不能算真正的博士,哈哈。2015年年初公佈了世界上第一個線性時間非同步Byzantine共識演算法(http://tiny.cc/c5978y),同年開始瞭解到區塊鏈,去年建立的Alephium。

Alephium是一個基於全新分片演算法的高效能的公鏈平臺,可以在不犧牲去中心化和安全性的情況下實現可擴充套件性。同時,我們也為如何擴充套件智慧合約設計了實用解決方案,方便有區塊鏈需求同時對效能要求高的開發者和企業接入進來。我們在亞馬遜雲上實測Alpha版本顯示演算法能達到平均1萬TPS。

2

Unitimes:可能大家對Alephium採用的共識演算法區塊流(BlockFlow)不太熟悉,請您用通俗易懂的語言給大家解釋一下吧。

王成:區塊流(BlockFlow)是Alephium所採用的獨創分片演算法,區塊流運用可擴充套件的UTXO模型,結合了DAG和分片技術,是第一個支援單步跨分片交易的橫向擴充套件演算法。和現有的主流方案不同的是,區塊流演算法不需要依賴於beacon chain和去中心化隨機數(這兩者都很難設計和實現,目前還不實用),更加的優雅和實用。

3

Unitimes:Alephium如何用區塊流突破“不可能三角”(去中心化、擴充套件性、安全性)?

王成:Alephium突破不可能三角透過我們創新的區塊流演算法來實現的。區塊流演算法巧妙的運用了我們提出的可擴充套件的UTXO模型,並透過兩步分片(地址分片和交易分片)來提升系統的效能和擴充套件性;值得一提的是我們交易模型首次支援單步跨分片交易,跨分片效率是同類演算法的兩倍;在安全性方面,區塊流演算法結合DAG和分片技術,透過DAG(有向無環圖)建立了不同分片之間的相互依賴關係來保證系統的安全性;區塊流最終透過PoW終局演算法來確保Alephium網路的去中心化。

4

Unitimes:目前做分片的專案很多,例如QuarkChain、Zilliqa等,Alephium和他們相比有哪些不同?

王成:

  • 1)我們實現了全維度的區塊鏈分片,跨分片效率是同類演算法的兩倍;

  • 2)我們是一個無許可的去中心化平臺,每個人都可以為網路的共識做貢獻;

  • 3)我們對網路的假設和比特幣一樣,不依賴於網路的(部分)同步性,安全性方面成功的解決了單分片攻擊,跟比特幣一樣僅受51%攻擊;

  • 4)目前很多分片演算法都沒有解決資料可用性問題,我們的區塊流演算法用新的架構模型解決了這個問題,比其他依賴於資料證明和概率安全的方法要更加能落地;

  • 5)Alephium的使用者體驗將和非分片的區塊鏈相同,這得意於我們的演算法首次支援單步的跨分片交易;

  • 6)最後,區塊流演算法的設計更加優雅和實用,不依賴於beacon chain和去中心化隨機數,這使我們能夠比其他專案更快地實現真正可用的主網。

據目前所知,其他分片專案都會犧牲上面提到的一個或幾個重要特性(比如Zilliqa不是全分片,Harmony目前只能做4個分片等),而Alephium僅以很小的儲存和計算代價獲得了上面所有的優勢。

5

Unitimes:在分片技術中,因為每個分片都有自己的驗證者,所以每個分片的安全性就會比整條鏈更差。請問針對單分片的攻擊,你們有什麼應對辦法?

王成:BlockFlow解決單分片攻擊的辦法也是獨創的。我們利用DAG資料結構來解決其分片依賴性,所有分片的挖礦工作都會累積到每個新的區塊中。如果攻擊者想要攻擊一個分片中的一個區塊,他必須同時攻擊依賴於該區塊的其他分片上的區塊。因此,與比特幣相同,Alephium只會受到51%的攻擊。

6

Unitimes:Alephium 如何支援DApp?

王成:Alephium提出了實用的token協議、資料協議和智慧合約來解決DAPPs的擴充套件性問題。token協議和資料協議自然地被擴充套件到所有分片,我們在組內分片中可以支援智慧合約。DAPP也可以在不犧牲智慧合約效能的情況下受益於我們高效的跨分片交易。開發者巧妙的結合我們的token協議,資料協議和智慧合約能獲得更好的應用層的可擴充套件性。

7

Unitimes:Alephium是用哪種程式語言來實現,智慧合約要使用什麼語言?

王成:我們目前是使用scala語言來編寫我們的首個官方實現。同時我們也在探索Rust生態,計劃後面實現一個Rust版本,透過使用更底層的最佳化來提高效率。在智慧合約方面,我們密切關注ewasm的發展(我們的advisor Casey是以太坊核心開發者,主要做ewasm方面的工作),並計劃設計一種基於wasm的虛擬機器。

8

Unitimes:請問你們近期的計劃是什麼?

王成:技術方面,我們前面在亞馬遜c4.large上已經測試了32個節點的Alpha版本,demo也放在我們的官網上可以檢視(Roadmap版塊處);同時我們也開始社羣建設和市場宣傳方面的工作。近期Alephium最重要的計劃就是在本月上線測試網1.0,希望大家多多關注,還會有更多驚喜哦。

然後在生態建設方面,我們會有開發者社羣激勵專案,我們自己也會參與建設平臺基礎服務設施;同時我們會尋求與有區塊鏈需求的傳統應用合作,讓傳統應用也能使用大規模的區塊鏈服務。

自由問答

固定問答環節結束後,參與此次AMA的成員可以自由提問。以下為 Unitimes 從群成員的提問中精選的幾個問答:

1

如何解決DAG容易出現的雙花問題?

王成:DAG是有向無環圖,多個頭部可以同時產生區塊,使用的時候各個專案其實是不同的。之前大家用DAG有雙花問題是因為各個區塊可以隨意打包交易,這個時候就會有雙花問題。在Alephium的UTXO模型裡,圖的結構是確定的,交易的打包也是分配好的,不會有DAG本身帶來的雙花問題,但是使用者或者攻擊者的雙花問題,可以用和其他區塊鏈一樣的辦法解決。

2

請問你們的資料處理和儲存都分片嗎?

王成:對,我們的狀態是分片的,交易也是分片的,按通用的說法就是全分片的專案。

3

怎麼解決跨分片交易的使用者體驗問題?

王成:這個問題問的好,目前所有的分片專案都需要採用二步提交(two phase commit)來做跨分片交易,也就是說一個跨分片交易其實是拆分為兩個交易了,這肯定會影響使用者體驗。

但是Alephium的全新演算法裡只需一步,一個交易就能實現跨分片,從使用者的體驗的角度看,和傳統的單鏈其實沒有區別,我們是目前第一個做到這一點的專案!

4

能具體描述下Alephium的分片演算法和資料結構嗎?

王成:我這裡只能大概講一下哈,有興趣的希望去閱讀我們的白皮書:我們首先把地址分成n個組,然後再把UTXO交易基於輸入輸出分成n * n個組,對於每一個組我們都有一個分片去處理其中的交易。一個組裡的使用者只需要下載與其相關的分片上的交易即可,不需要全不下載。具體的分片共識比較複雜,fork choice rule有具體的規則來確保分片之間的相容性,最後透過PoW來做finality。

5

白皮書第二章說:1. Alice could use a new address for every transaction. In our example, Alice would create a new address in group j and transfer the rest 10 coin to her new address. This is recommended in practice due to privacy and security reasons. 2. If Alice makes transaction frequently, she might consider creating one address for each address group. 3. Alice could split the transaction into two transactions: one changes her 100 coins into 90 coins and 10 coins, one sends 90 coins to Bob directly.

我的問題是,在 Alephium 的實現中,這是依賴於每個使用者自覺把交易構造成上述形式,還是 Alephium 網路自動做到這一點?如果是依賴於使用者自覺,那麼使用者有沒有可能故意建立低效的跨片交易,故意攻擊拖累網路效能?如果是 Alephium 網路自動做到,請問是如何實現的?

王成:第一個方案其實是對使用者最佳的方案,bitcoin官方錢包也是推薦每做完一次交易就使用一個新的地址,這樣子安全行最高。使用者不需要考慮太多,完全由錢包負責。第二個方案適合某些特定場景,比如一個應用需要同時在各個組都有交易。兩個方案對網路都沒有影響的。

6

王博士,您好,請問你們對使用者進行分組的方式是隨機進行的嗎?如果不是的話會不會出現單點過熱的問題? 

王成:這個問題也問的好!我們的分組是固定,但是使用者的地址是變動的。就像我之前一個回答裡提到的,出於安全性考慮(比特幣官方推薦),使用者做完一個交易最好換一個地址,從這個角度而言,使用者其實是隨機分配的。

7

公鏈是不是過剩了?

王成:公鏈專案是很多,但是技術靠譜,使用者體驗好的,能落地的非常少。就拿我熟悉的分片來舉例吧,很多專案跨分片交易和通訊,資料可用性,安全性都沒有解決,就說測試網,甚至主網都出來了。現在行業還在早期,真正能看懂的人可能並不太多,隨著時間發展,大家可以看到真正落地的公鏈會非常少。這同時也是為什麼還會不斷的有人去做新的公鏈,感覺基礎設施方面需要做的事情還非常非常的多,幣咱們商業部分要落後很多。

以上是本次 AMA 的全部內容,非常感謝社群成員對 Unitimes 的大力支援,感謝王成!

相關閱讀:

被 V 神邀請去當面切磋,他揚言“我的解決方案比目前所有的嘗試都要高效實用”

往期AMA精選:

對話微軟Azure Blockchain:微軟的區塊鏈解決方案會和Libra結合嗎?

對話 AlphaWallet:TokenScript 如何助力以太坊 Web 3.0  | Unitimes AMA

對話以太坊核心開發者 Hsiao-Wei:以太坊 2.0 信標鏈

對話 PeckShield 創始人:智慧合約安全面臨的挑戰及應對措施

對話 L4 創始人:目前我還沒有看到任何一個有競爭力的擴容方案 

【本文版權屬於Unitimes,轉載請保留版權資訊。未經授權,不得以任何方式加以使用,包括轉載、摘編、複製或建立映象。Unitimes將追究侵權者的法律責任。合作或授權請聯絡[email protected]或新增微信unitimes2017】

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;