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 分鐘)。
完整的論壇問答可以點這里查看:
https://www.reddit.com/r/ethereum/comments/8g1q55/vitalik_teases_sharding_release_on_twitter/dy85pq0/
一些術語參考(來源于以太坊 Casper 101):
1、Casper -- 以太坊的 PoS 研究和項目。
2、Fork Choice Rule - 分叉選擇規則(fork choice rule)就是一個函數,由客戶端進行評估,輸入為區塊或是其他生成的信息,向客戶端輸出“標準鏈(canonical chain)”是什么。
(完)