Vitalik 詳解 ETH 首次分片測試:擴容前景如何?

資訊 Ivy 2018-07-24

V神最近公佈了以太坊最新的一次分片測試。

在 twitter 裡,V神激動地說“分片即將到來!”

看起來,V神對這次分片測試的結果感到非常興奮。他相信,分片將大幅度提高以太坊現有的併發限制,真正實現擴容。

在 Reddit 上,V神發帖詳細闡述了這次分片測試具體的過程——當然,大家都反應看不懂他到底在說什麼,於是V神又不厭其煩地用說人話的方式回答了論壇裡網友提出的一些疑惑。

以下為V神回答網友提問及V神的主帖內容👇(PS,如果你看懂了這次分片測試具體的技術細節,歡迎向橙皮書投稿!因為我們也很想弄懂😊):

用人類聽得懂的方式回答:分片的目的是啥?對現有的以太坊用戶有什麼影響?分片增強了以太坊什麼樣的能力?

V神:最主要的目的,是大範圍改善以太坊的可擴展性(scalability)。每一個分片(在這次測試裡,總共有 12 個分片,正式上線的時候應該會達到 100 個)會擁有和現在的以太坊主鏈相同(或者更高)的處理能力。

具體能實現多少分片,這個分片的數量存在限制嗎?在外行人看來,從 12 到 100 ,這個數字好像有點隨意?

V神:存在限制。每個節點需要對所有分片的區塊頭(blcok header)進行確認,而每個節點的這種確認能力又跟這個節點的計算能力是直接相關的,所以限制主要存在於這裡。提示下,這是一種“二次方分片”:如果一個節點可以做 N 件事,那麼這個節點就能確認 N 個分片的區塊頭;或者這個節點是對單個區塊進行確認,那麼它就能對單個區塊確認 N 筆交易,所以,總的處理能力就會變成 N ^ 2 (約等於,不是精確數字)。

這種分片的方法,在大自然裡有沒有類似的機制?你是從自然界的機制裡借鑑過來的嗎?

V神:很遺憾,我認為自然界裡是沒有這種類似的機制的。主要有這麼幾個原因:

1、大自然作為一個整體來說(或者是某個物種作為整體來說),它沒有什麼迫切的壓力需要去實現某一個特定的目的。大自然更關心的是狼群和鹿群彼此都要餵飽自己的孩子的事情。

2、在自然界,你不需要擔心互相勾結和貪汙腐敗的問題(一隻鹿寫了個智能合約,跟狼約好,如果狼要吃它的時候肯放它走的話,鹿就為狼介紹兩隻可口的羊。。。)

3、自然界裡的節點智力有限(參考上面兩條)

4、自然界裡的節點彼此的溝通能力有限

我覺得在區塊鏈的設計裡,有很多努力都必須投入到如何防止“你的節點擁有多少的能力、節點能用這些能力來做什麼”這些事情上。系統裡的節點會嘗試各種各樣複雜聰明的方法和策略,甚至大範圍地和其他節點進行勾結協作,來使勁找到系統的漏洞,最終佔為己用。只有人類系統才會出現這樣的問題,這是人類系統特有的(當然,我對現有的經濟和法律系統表示 respect )。

誠懇的問題:分片會讓以太坊變得中心化嗎?

V神:最終其實是會降低中心化的程度的。原因是,在分片初始設置時,一個節點需要處理的所有數據總量,會根據這個節點擁有多少的 eth 餘額,同比例地進行設置。所以,總的花費成本里:可變成本會更多,固定成本會更少,這對比較小的節點驗證者來說,是把競爭帶回到了更公平的賽場裡。

V神親自闡述這次分片測試的基本情況(比較難看懂)

V神:這次分片測試最主要的目的,是做一次概念驗證。

具體要驗證什麼呢?

驗證“基於分叉選擇規則”的一套機制(the fork choice rule-based mechanism),能否使“分片”成功地綁定在以太坊的主鏈上。這套機制配合上一個專門的信標鏈(beacon chain),分片時間 < 10 秒。整個測試基於一個獨立分叉選擇策略的概念。

首先,我們有一個基於 PoS 共識機制的信標鏈(英文叫 beacon chain,在第四階段,也就是全面實現 Casper 的階段,這個信標鏈會被合併到以太坊主鏈中),和以太坊主鏈綁定在一起。每一個信標鏈的區塊,必須指定一個最近的主鏈區塊。這個信標區塊是否從屬於標準鏈(canonical chain)的一部分,則取決於信標區塊對應的主鏈區塊是否屬於標準鏈的一部分。

信標鏈每 2-8 秒會生成一個區塊,這個設計是從這個原型(該原型具體實現的代碼在這裡)那裡得到啟發的,利用隨機機制來生成隨機性(參考這裡、這裡和這裡),它的目的是為了成為分片鏈條裡的“心跳”,確保“誰能成為分片的提議人和公證人”的隨機性。這套信標機制會通過類似 Proof of Activity 的技術完成升級,從而增強穩定性。

每個分片擁有獨立的分叉選擇策略,這套策略和信標鏈是綁定在一起的。每一次,新的信標區塊生成,這個信標區塊就會隨機地選擇一個提議者,讓它負責創建分片的 Collation 。每一個分片 Collation 指向同一個分片裡的 Parent Collation ,以及一個信標區塊。

此次測試不包括:

 

1、讓公證人對分片 collations 進行確認的機制(儘管這個東西不太重要,因為它的原理和信標區塊是一模一樣的)

2、分片鏈條和主鏈的交叉連接(crosslink,參考這裡),把信標鏈和分片鏈條都綁定到主鏈上;

3、以下特性:Casper FFG 裡的投票每循環一次,所有分片的公證人數量都會同時加倍,增強 Casper FFG 的可擴展性,同時讓它的最小存儲金額(min deposits)和截止時間(finality times)都能降低(也許最小存儲金額會降低到 32 ETH ,截止時間會降低為 6 分鐘)。

本文來自橙皮書,本文觀點不代表三點鐘財經立場,轉載請聯繫原作者。