V神开启AMA解答模式,来看看他遇到了怎样的“刁难”

赵瑞峰 2019-10-23

​​以太坊创始人Vitalik Buterin为以太坊中文社区的爱好者们做了一场线上AMA,但与往常不同的是,这场AMA是完全“突发”的。

编辑:Jhonny & Shirley来源:Unitimes

22日,以太坊创始人Vitalik Buterin为以太坊中文社区的爱好者们做了一场线上AMA,但与往常不同的是,这场AMA是完全“突发”的。我们一起来看看V神将面临怎样的“刁难”吧!:)

问题1:需要什么条件才能成为以太坊2.0节点?

Vitalik: 32 ETH和普通电脑应该够了。

问题2:那如果持有的ETH数量超过32个呢?比如,如果有320 ETH,该怎么成为验证者?分成10个节点运行吗?

Vitalik: 可以只运行一个以太坊2.0客户端。客户端是可以管理多个验证者ID的。但是客户端管理的验证者ID越多,那该客户端需要验证的数据就越多。比如,如果你质押10,000 ETH,可能就需要服务器了。

问题3:你所说的需要存储的数据就越多,是指同样的链上数据,若干验证者进行投票(vote)次数越多吗?

Vitalik:这是分片的特点。分片中的区块是分配给各个验证者ID来进行投票的,所以如果你有很多的验证者ID,那你需要验证和签名更多的区块。

问题4:难道10个验证者ID就要保管10个私钥吗?还是1个私钥只需要通过1个客户端就可以管理10个验证者ID?

Vitalik:需要10个私钥。但是客户端可以用一个私钥生成多个私钥。

问题5:那这样看来,Eth2.0 的staking (质押)应该不包含“委托”的部分了,如果自己不够32ETH,也不能以去中心化的方式委托给其他节点。

Vitalik:以太坊2.0的阶段2实现之后就可以通过使用智能合约来做委托。

问题6:你的意思是,Phase 2后,可以几个人通过1个合约凑齐32ETH,共同成为1个验证者?

Vitalik:嗯。

问题7:32ETH的门槛还是很高。

Vitalik:32这个数字是看客户端的效率来设置的。如果设置的限制是是4 ETH,那验证者ID的数量会很多,以太坊2.0链的overhead会太高了。

问题8:理论上客户端的效率应该也是会不断优化而提升的。

Vitalik:嗯。客户端效率的提升可以在两个方向进行:一个是降低验证者的最低ETH门槛,比如降为8 ETH,同时增加分片的数量;第二个是不提高这些数字,让客户端变得越来越low resource,这样越来越多用户能跑beacon node (信标节点)。

问题9:可以通过合约合租一个validator (平民化参与,共享投票身份),这是为什么场景服务的?

Vitalik:我多描述一下这个方法吧。你开启一个验证者到时候,需要设置两个公钥:签名的公钥和取款的公钥。Phase 2之后,不一定需要设置取款公钥,也可以设置取款合约。签名的私钥能withdraw (取款),withdraw完成后验证者里面的资金都给取款合约的地址。

所以你开新的validator到时候,可以先发比如1以太币,设置取款合约,这个合约的规则是,谁往里面存储多少,谁就能按照比例取款多少。比如,你往里面存储1 ETH,然后有其他3人分别存储了8, 10, 13 ETH,这样一共有了32 ETH,所以验证者身份就可以被激活了。一段时间后,你发withdraw的交易,现在因为奖励这个验证者的金额是33.6以太币(加5%),33.6 ETH给合约,合约的规则分配 1.05给你,8.4, 10.5和13.65 ETH给其他3个参与者。签名的私钥是你的,谁能取款多少的规则是合约定的。别人能看一个还未激活的验证者的取款合约的规则,如果他们觉得是合理的他们能发他们的币给这个合约。这个就是委托的方法。

问题10:如果一个节点一直在某条分片上跑,就可以只存储这条分片的状态,和beacon链吗?

Vitalik:嗯。

问题11:一个拥有320,000 ETH的客户端,建立的10,000个验证者ID会被随机数分到1,024条分片上,那这个客户端就得存储全部分片的数据对吗?

Vitalik:是的。但最近的计划不是实现1,024条分片,而是64条分片,共计2,048个committee (委员会)。如果你质押的ETH超过6万,那你就需要处理几乎所有区块。所以土豪可能要跑服务器 :)。但其实不是特别多数据,2.7 MB/sec,要看以太坊2.0网络将达到什么样的交易量。普通交易5000,rollup里面的交易15万。

问题12:如果有一个智能合约交易需要跟每个分片里面的一些账户进行操作,那么需要lock这1024条分片上的对应账户的状态吗?这种跨链操作会不会阻塞所有分片对交易和共识的处理?

Vitalik:不是lock账户,是yank,但是意思差不多。这个会需要付很多gas。

问题13:未来如果大家都使用起来ETH2.0,总体数据的量级是互联网数据量级的(zettabytes),常数级别的分片是无法处理这个量级数据的,有没有其他方法去解决这种巨大规模去中心化数据的储存?

Vitalik:区块链是共识平台,不是特别好的存储平台,甚至分片也解决不了这个问题。但有其他的去中心化存储协议,比如swarm。

问题14:畅想下极致状态下最终TPS达到多少?

Vitalik:10亿用户,每个用户每天一笔交易,或者每秒处理11,500笔交易。但是我们会需要好几年才能到10亿用户,所以不需要现在努力到达100万TPS。

问题15:信标链的账本也是普通节点存储吗?

Vitalik:嗯。

问题16:如果有1024个分片,有n笔交易,那么其中有跨分片的交易的期望是多少啊?

Vitalik:可能 n/3? 不知道。

问题17:有个问题,Eth2.0中,用户是否能够选择进入哪一个分片?

Hsiao-Wei:用户是可以选择要使用哪个分片的。

问题18:跨分片的交易是不是都是要经过beacon chain(信标连)?如果这样的话,beacon chain能承受这么大的压力么?

Vitalik:跨分片的交易是通过receipt的方式传播的,信标链不需要所有跨分片交易的数据,只需要merkle root (默克尔根)。

问题19:有没有可能Eth 1.0保留,2.0和1.0实现跨链?总觉得1.0链不要了会有黑天鹅。

Vitalik:现在的计划是让Eth1和Eth2共存一段时间,合适的时候会合并。

问题20:合并是让1.0链变成一条分片吗?

Vitalik:让Eth1永存有个问题,保持PoW需要很多资源,也需要增发很多ETH。好吧,我飞机快起飞了,拜拜亚洲啊。

问题21:比较关心跨分片交易。如果是所有的跨分片交易都经过beacon chain(信标连),然后跨分片交易在所有的交易中的总量很多的话,那beacon chain会承受很大的压力,分片的好处提现在哪里?

最后这个问题由于V神登机的原因没能回答,对此你有什么想法呢?​​​​