10.23 ETH2.0 如何 Staking,我們去問了 V神

昨日榮幸被拉進了新建立的以太坊2.0中文社區,進去時群裡只有幾十人,一看V神的微信也在群裡,並且V神那會好像非常有時間(後來知道了是在臺北機場等候飛機),一直在群裡非常活躍地與各位以太坊2.0愛好者們互動(中文表達能力也是越來越強了),整個下午變成了一場非常長時間的線上AMA。

AMA談及了分片、治理、DApp、1.0和2.0過渡等等,我和小夥伴們瞅準機會當然也問了不少staking相關的問題,之前只能在以太坊論壇等公開網絡上尋找V神與其他人的碎片化解讀,今天終於能得到V神的親自講解,一些之前非常想問的問題都得到了解答,心情十分舒暢。

現在便將這場AMA中與staking相關的提問與V神的解答整理一下,應該是目前設計版本的權威解讀了。

解讀整理

1. 32ETH是成為一個節點所需的質押值,既是下限也是上限。如果有320ETH則只能建立10個節點,而不能將320ETH質押給1個節點。

2. 32ETH,對應1個節點,對應1個私鑰。

3. 可以通過1個客戶端運行多個節點,但驗證、簽名的區塊數也相應增多,如果同時運行數百節點可能需要租賃服務器。

4. ETH 2.0與Cosmos、Tezos等staking較為火熱的公鏈的設計不同,在前期暫時沒有“委託”的概念,也即持幣人不能將持有的ETH去中心化地委託給節點代為挖礦。

5. 但在階段2(最早開啟的是階段0)將可以通過合約成為節點,屆時節點服務商可以發起節點合約,設定返利規則,其他持幣人通過往合約打幣“湊齊”32ETH來參與,並得到分紅。

(最後附有AMA中Staking部分實錄)

Staking服務商的發展機會

依照V神目前給出的解釋,在階段0與階段1無法實現去中心化委託,那麼持有ETH的持幣者無法將ETH質押給節點代為挖礦,Staking服務商難以再沿襲之前建立節點、社區拉票、返利分紅這樣的模式,那麼還會有哪些機會呢?

雖然以太坊這樣設計的目的是為了鼓勵更多的用戶參與到挖礦之中,實現節點的去中心化,但是持幣者們依然難以直接參與到ETH2.0的節點網絡中。一來32ETH依然是一個不低的門檻,這將使得大量小持幣者無法參與;二來節點需要24小時運行出塊,雖然以太坊已經盡力最小化離線會帶來的懲罰,來鼓勵大眾參與,但24小時運行也是一件累人的工作,何況還要處理節點升級、運維、防災等等麻煩事情。

無論是持幣少而不能參與,還是由於無法24小時在線而造成的收益不充分,都會在ETH增發下造成隱形的通脹損失,這必然是ETH持幣者們不樂意見到的。針對這樣的需求,Staking服務商針對ETH 2.0 可以探索這樣幾條道路。

1. 提供技術支持服務

讓用戶掌握私鑰,Staking服務商為其提供完整的節點技術服務,包括服務器租賃、節點升級、運維、防災等等,收取一定的技術服務費用。

2. 中心化錢包

雖然不能去中心化委託,但可以通過提供統一的中心化錢包讓用戶充幣,Staking服務商再將充入的幣每32ETH建立一個節點,按照一定的返利率對所有充幣用戶返利。這種辦法既能解決持幣者運行節點的問題,還能讓持幣不足32ETH的持幣者獲得Staking收益,但是弊端是節點跑路的風險,中心化錢包的提供者需要獲得ETH持幣者的充分信任。

3. 等待階段2上線,實現去中心化委託

依照V神的表述,直到階段2才能用合約實現Validator的收益取款,如果能用合約實現取款則可以讓多個持幣者往合約打幣湊齊32ETH,並根據合約的規則分配收益,規則在合約中透明,也沒有捲走本金的風險。如果該智能合約可以實現,則Staking服務商可以以小額ETH啟動大批量節點合約,並號召持幣者往合約中打幣,頗有種拼團發車的意味。不過按照目前的說法這需要等到階段2上線,時間未知。

AMA實錄

1. 節點條件

竹風:我關心ETH2.0要什麼條件才能做節點

Vitalik Buterin:32以太幣和普通電腦應該夠了。

大志:超過32個怎麼辦?如果有320個幣怎麼辦?分10個節點跑嗎

Vitalik Buterin:可以跑一個客戶端,客戶端都能管理多個validator id(驗證人身份)。但是validator id越多,那麼需要驗證的數據越多。比如如果你有10000以太幣,可能需要服務器。

Kai:這裡說的數據越多,是指同樣的鏈上數據,若干 validator (驗證人)進行 vote (投票)的次數越多嗎?

Vitalik Buterin:這是分片的特點,分片的區塊是給validator id分配的,所以如果你有很多 validator id 你需要驗證和簽名更多區塊。

大志:10個id就要保管10個私鑰嗎?還是1個私鑰只需要1個客戶端就可以管理10個id?

Vitalik Buterin:10個私鑰。但是客戶端可以用一個私鑰生成多個私鑰。

2. 去中心化委託的可能

Rudy@InfPool:這樣看起來,ETH 2.0 的staking應該不含“委託"的部分了。如果自己不夠32ETH,也不能去中心化地委託給其他節點?也許中心化錢包可以做一個pool(礦池),人為地分配,每32ETH成立一個Validator。

Vitalik Buterin:Phase 2(階段2)後可以用合約做委託,私鑰的持有者為你簽名區塊等等,但是不能withdraw(取款)給自己的賬戶。

Rudy@InfPool:您的意思是,Phase 2後,可以幾個人通過1個合約湊齊32ETH,共同成為1個Validator?

Vitalik Buterin:嗯,我多描述一下這個方法吧。

你開一個validator的時候,需要設置兩個公鑰:簽名的公鑰和取款的公鑰。Phase 2後,不一定需要設置取款公鑰,也可以設置取款合約,簽名的私鑰能withdraw,withdraw完成後validator裡面的資金都給取款合約的地址。所以你開新的validator的時候,可以先發比如1以太幣,設置取款合約,這個合約的規則是,誰deposit(存款)多少誰按照比例withdraw多少。比如,你deposit 1 以太幣,然後有3人deposit 8,10,13 以太幣,一共32,所以validator變成active(活躍)。一段時間後,你發withdraw的交易,現在因為獎勵這個validator的balance(餘額)是33.6以太幣(加 5%),33.6 以太幣給合約,合約的規則分配 1.05給你,8.4,10.5和13.65 給其他的參與者。

簽名的私鑰是你的,誰能withdraw多少的規則是合約定的。別人能看一個還未activated的validator的withdraw合約的規則,如果他們覺得是合理的他們能發他們的幣給這個validator。這個是委託的方法。

Rudy@InfPool:明白了,但是要等到phase 2。

我最早在ethresearch的這個帖子裡看到合約做validator的構想,帖子名字叫《Decentralized Casper Validator Proposal》(關於去中心化Casper驗證人的提案),也推薦一下:

https://ethresear.ch/t/decentralized-casper-validator-proposal/1430

3. 32 ETH門檻

blockpunk@無涯:32eth門檻還是很高

Vitalik Buterin:32這個數字是看客戶端效率設置的。如果是4以太幣,validator id 會很多,鏈的overhead會太高了。但是客戶端效率的提升可以用去2個方向:一個是降低validator的最低eth,比如到8,同時提高分片的數量;第二個是不提高這些數字,讓客戶端變得越來越low resource,這樣越來越多用戶能跑beacon node(信標鏈節點)。

4. 硬件要求

blockpunk@無涯:一個擁有320000個以太幣的客戶端,建立的10000個vaildator會被隨機數分到1024條分片上,那這個客戶端就得存儲全部分片的數據對嗎?這樣一臺機器的帶寬和存儲都撐不住吧。

Vitalik Buterin:是。最近的計劃不是1024分片,是64分片,2048個committee(委員會)。如果你的以太幣超過6萬,你需要處理幾乎所有區塊,所以土豪可能要泡服務器。

Rudy@InfPool:處理所有區塊,租用服務器是否可以做到?再往上,6萬和60萬的區別應該就不大了吧。

Vitalik Buterin:其實不是特別多數據, 2.7 MB/sec,當然乘以p2p網絡的overhead等等。

Rudy@InfPool:瞭解。


分享到:


相關文章: