Vitalik Buterin:Casper 權益證明與分片技術最新進展

2018年6月3日,由全球最大開發者社區CSDN和專注以太坊生態建設的領先企業靈鈦科技主辦,以太坊愛好者社區、柏鏈道捷、火星財經、金色財經、Unitimes、區塊鏈大本營協辦的“2018以太坊技術及應用大會·中國”在北京·悠唐皇冠假日酒店隆重舉行。

本次大會圍繞以太坊生態、以太坊核心技術、以太坊優質應用展開,邀請了衆多國內外頂級開發者、以太坊團隊核心成員,以及頂級項目負責人齊聚於此,共同助力中國以太坊技術深度交流和社區發展。

驗證關鍵步驟解析

作爲本屆大會的演講嘉賓,以太坊聯合創始人Vitalik Buterin在上午的會議中分享了Casper 權益證明與分片(Sharding)技術最新進展,尤其是如何成爲Casper PoS + 分片驗證者的步驟:

首先“存款”,發送存款交易的信息包括32個以太幣、公鑰與取款地址。需要注意,這一步驟,簽名公鑰與取款地址不一定相同,可以讓別人爲你參加共識機制,而且能用熱錢包簽名,用冷錢包取款。
其次是“等待加入”,可能需要一天時間,等待協議將用戶加入驗證者池。
接下來“參加驗證機制”,驗證節點有兩個作用,分別是敲定主鏈的區塊和驗證分片上的區塊。
最後是“退出”,私鑰和提款地址都能觸發取款過程,而驗證節點會在7天后關閉,其後4個月後才能提取以太幣。

這裏寫圖片描述
VitalikButerin,加拿大籍俄羅斯裔程序員,以太坊和《Bitcoin Magazine》聯合創始人

Casper提出了一種更現代的權益證明(PoS)模型,用來替代以太坊傳統的工作量證明(PoW)算法。它可以大大加快網絡中的交易處理時間。而以太坊分片(Sharding)則借鑑了現代NoSQL數據庫中可擴展架構的一些思想。而以太坊分片將整個網絡狀態分解爲若干分區,每個分區中包含自己獨立的狀態和交易歷史記錄。在這個系統中,特定節點只會處理特定分片中的交易,因此所有分片中完成的總交易吞吐量將遠遠超過目前單一主鏈完成的交易量。

Casper有全新的算法,分片是解決方案,我會具體跟大家闡述這兩種技術流程,如果參與到Casper和分片,從節點角度來說要做什麼?第一步是“存款”,Casper是個驗證系統,換句話說,爲了加入,需要在權益當中有所存款,存款需要發送存款的交易,這是正常在以太坊上的交易。包括一個公鑰,有32個以太幣並且驗證,首先規定你使用的公鑰,用它做信息的簽名。也要有一個取款地址,在驗證的時候有相應的獎勵措施。

注意,簽名公鑰和取款地址並不完全一致,意味着兩件事,首先可以把簽名的權利分配給其他人,比如我在環球旅行,不可能一直攜帶電腦,就可以把key給朋友,讓朋友爲你簽名驗證,參與到算法。但你不會把所有資金託付給一個朋友,即便朋友能替你簽名,他也不能把錢取出來,錢唯一可以流入的,是之前提供的取款地址,這意味着,你可以使用熱錢包來簽名。我們剛纔提到狀態驗證的機制,公鑰保存在線的電腦,但資金永遠會留在冷錢包。這種情況下,作爲驗證者,就更加安全、有保障。

一旦完成取款交易,就進入了第二步——等待加入。可能需要一天時間,等待協議將你加入驗證者池。這部分協議目前尚未完全確定。

第三步是參加驗證機制,進入活躍驗證者的池,你就是個驗證者了,這是個好消息。驗證者在網絡當中有兩個關鍵功能,一是Casper過程,參與並且敲定主鏈,這意味着其可以確保主鏈上的區塊,超過一定點之後,不可逆轉。一旦完成,主鏈就被敲定。第二個是驗證分片上的區塊,系統中不會所有人都來做區塊的驗證,這些區塊被可能分配到100甚至更多的分片中,交易也是分開的,有不同的驗證者來驗證不同的區塊和交易。

這是驗證者最主要的兩個功能。Casper這個工具的主要目的是敲定工具,是鏈上共識機制的一部分,用於區塊的敲定,它可以給區塊更多的安全性。

分片提案與可擴展性

以太坊的分片提案包含100個子鏈,帳戶交易信息都儲存在子鏈上。主鏈負責生成隨機數,隨機選擇哪個驗證者進入哪個分片、誰可以創立一個分區,並且保持驗證節點的追蹤,如果你是驗證者,它會一直追蹤驗證節點的相關信息,比如你分配到什麼分片、現在的獎勵和懲罰是什麼,所有這些信息都是由主鏈完成的,除此之外,它可以追蹤子鏈上的區塊。

這裏寫圖片描述
分片提案

子鏈的責任比較簡單,主要做交易處理,並且存儲帳戶和合約狀態,它可以存儲絕大多數用戶比較關注的信息,每階段約1小時,每個驗證節點由系統隨機分配一個分片,爲了這個階段或爲了這個小時,驗證節點的工作就是要驗證,並且幫助確認這個區塊是在這個分片之上的。在任何的時間點,如果驗證節點被分配到某個特殊的分片上,比如我們一共有100個分片,有些人隨機選擇1%的驗證節點,來確認任意一個分片上的區塊。

這裏寫圖片描述
主鏈和子鏈的權責分配

關於系統可擴展性,假設一臺計算機可以處理N個交易,主鏈這時就可以追蹤N個分片,每個分片本身都能夠處理N個交易。系統可以處理n的2倍,所以稱其“2次性分片”,如果電腦計算能力是翻一番,這時主鏈可以追蹤2倍的分片,系統能處理的交易是之前的4倍。

應對攻擊與懲罰——如何降低網絡風險

接下來看Cross-links,主鏈不會追蹤每個分片中的每個區塊,只會追蹤交鏈。每個交聯大概是100個左右爲這個分片分配節點的簽名,並且在主鏈上確認這個分片節點的區塊。

這個驗證節點有以下職責,首先,作爲驗證節點工作,做主鏈驗證,並且驗證主鏈上的每個區塊,主鏈包括副聯、交易以及對驗證節點的獎勵和罰款。會驗證兩個節點的區塊,時間更久做區塊的生成。我們也可以經常在不同的分片中來回交換,做區塊的確認,還有分片和主鏈之間的交聯。作爲驗證節點,必須要在分片上做區塊生成,並且確認分片上的區塊已經交聯。這些都是驗證節點的主要責任,也是一個分片系統當中主要的工作。

如果你是無辜的——例如被黑了,或者電腦、數據有問題,所受懲罰就會比較小。如果真有攻擊發生,需要非常多的驗證節點,這時罰款極大,因而攻擊系統的成本非常高,如果作爲個人的驗證節點出現了問題,成本沒有那麼高的,因此係統是公正的。

這裏寫圖片描述
罰款機制對節點的激勵

這個機制的目的,是希望激勵大家做驗證節點。對於高度去中心化的網絡,不同節點會在不同時間上線或離線,不同節點會在不同的時間被黑。而對於一箇中心化網絡,大家都有同樣的權益池,若權益池被黑,所有人都會有極高的罰款。

這是想要告訴大家,不要選擇一樣的權益池、不要跟別人用一樣的VPS,如果你的所有的節點都在這上面,就需要避免跟其他人撞車,一旦被黑,所有人都會遭受巨大損失,如果只有一個人被黑,也會損失很大,所以大家不要跟其他人使用同樣的系統,也不要跟其他人使用同樣的客戶端。這個機制是希望大家更好地配置自己,降低網絡風險。

最後,假設所有人都已拿到自己的獎勵,此時你希望將以太幣提取出來,該怎麼操作?私鑰和提款地址都能觸發取款過程,而驗證節點會在7天后關閉,其後4個月後才能提取以太幣。

以上就是如何在系統中成爲驗證者節點的關鍵步驟,以及背後的技術和機制。

聽衆提問精選

提問1:你希望把延遲代碼用自動應用程序進行轉變嗎?
Vitalik:是的。應用可能會放在一個分片上,與現在的系統比較相近。如果使用翻譯器,這個過程應該不會太難。

提問2:什麼時候才能實際成爲分片驗證者?
Vitalik:我們希望在1、2個月之後完成基本開發。目前團隊已經開始對它進行落地使用,但可能花上一年時間纔會進行推廣,所以現在預測提供給大家的時間還爲時尚早。

提問3:已有很多應用跑在以太坊之,你認爲哪個行業能夠走在最前面,成爲領跑者?
Vitalik:我覺得金融行業可能應用得最早,還有遊戲行業也在快速應用。當然,我們也看到了很多其他的行業各顯神通,比如身份認證、價值鏈等,有很多能力正在擴展的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章