昨日荣幸被拉进了新建立的以太坊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 可以探索这样几条道路。
让用户掌握私钥Staking服务商为其提供完整的节点技术服务,包括服务器租賃、节点升级、运维、防灾等等收取一定的技术服务费用。
虽然不能去中心化委托但可以通过提供统一的中心化钱包让用户充币,Staking服務商再将充入的币每32ETH建立一个节点按照一定的返利率对所有充币用户返利。这种办法既能解决持币者运行节点的问题还能让持币不足32ETH嘚持币者获得Staking收益,但是弊端是节点跑路的风险中心化钱包的提供者需要获得ETH持币者的充分信任。
3. 等待阶段2上线实现去中心化委托
依照V神的表述,直到阶段2才能用合约实现Validator的收益取款如果能用合约实现取款则可以让多个持币者往合约打币凑齐32ETH,并根据合约的规则分配收益规则在合约中透明,也没有卷走本金的风险如果该智能合约可以实现,则Staking服务商可以以小额ETH启动大批量节点合约并号召持币者往合约中打币,颇有种拼团发车的意味不过按照目前的说法这需要等到阶段2上线,时间未知
竹风:我关心ETH2.0要什么条件才能做节点
大志:超过32个怎么办?如果有320个币怎么办分10个节点跑吗
Vitalik Buterin:可以跑一个客户端,客户端都能管理多个validator id(验证人身份)但是validator id越多,那么需要验證的数据越多比如如果你有10000以太币,可能需要服务器
Kai:这里说的数据越多,是指同样的链上数据若干 validator (验证人)进行 vote (投票)的次數越多吗?
大志:10个id就要保管10个私钥吗还是1个私钥只需要1个客户端就可以管理10个id?
Vitalik Buterin:10个私钥但是客户端可以用一个私钥生成多个私钥。
Rudy@InfPool:这样看起来ETH 2.0 的staking应该不含“委托"的部分了。如果自己不够32ETH也不能去中心化地委托给其他节点?也许中心化钱包可以做一个pool(矿池)人为地分配,每32ETH成立一个Validator
Vitalik Buterin:Phase 2(阶段2)后可以用合约做委托,私钥的持有者为你签名区块等等但是不能withdraw(取款)给自己的账户。
你开┅个validator的时候需要设置两个公钥:签名的公钥和取款的公钥。Phase 2后不一定需要设置取款公钥,也可以设置取款合约签名的私钥能withdraw,withdraw完成後validator里面的资金节点都给取款合约的地址
所以你开新的validator的时候,可以先发比如1以太币设置取款合约,这个合约的规则是谁deposit(存款)多尐谁按照比例withdraw多少。比如你deposit 1 以太币,然后有3人deposit 810,13 以太币一共32,所以validator变成active(活跃)一段时间后,你发withdraw的交易现在因为奖励这个validator的balance(余额)是33.6以太币(加 5%),33.6 以太币给合约合约的规则分配 1.05给你,8.410.5和13.65 给其他的参与者。
签名的私钥是你的谁能withdraw多少的规则是合约定的。别人能看一个还未activated的validator的withdraw合约的规则如果他们觉得是合理的他们能发他们的币给这个validator。这个是委托的方法
但是客户端效率的提升可以鼡去2个方向:一个是降低validator的最低eth,比如到8同时提高分片的数量;第二个是不提高这些数字,让客户端变得越来越low resource这样越来越多用户能跑beacon node(信标链节点)。
blockpunk@无涯:一个拥有320000个以太币的客户端建立的10000个vaildator会被随机数分到1024条分片上,那这个客户端就得存储全部分片的数据对吗?這样一台机器的带宽和存储都撑不住吧
Vitalik Buterin:是。最近的计划不是1024分片是64分片,2048个committee(委员会)如果你的以太币超过6万,你需要处理几乎所有区块所以土豪可能要泡服务器。
Rudy@InfPool:处理所有区块租用服务器是否可以做到?再往上6万和60万的区别应该就不大了吧。