星球日报
搜索
手机客户端
iPhone · Android
微信公众号
微信公众号

iPhone · Android

微信公众号

ETH2.0 如何 Staking,我们去问了 V神

2019-10-23

ETH2.0中文社区中,关于如何Staking我们直接去问了V神。

推广

作者:Rudy卢地

昨日荣幸被拉进了新建立的以太坊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:了解。

原创文章,作者:InfPool。转载/内容合作/寻求报道请联系 report@odaily.com ;违规转载法律必究。

推广

参与讨论

登录后参与讨论

InfPool

特邀作者

InfPool

InfPool无限矿池是全球领先的staking矿池,也是专业的PoS研究团队

总文章数: 4


分享至

微信扫一扫分享

0