原文标题:《突发!V 神开启 AMA 解答模式,来看看他遇到了怎样的「刁难」~》
原文来源:Unitimes
昨日,以太坊创始人 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。好吧,我飞机快起飞了,拜拜亚洲啊。
原文地址:https://mp.weixin.qq.com/s/mfFuhznZ61g7M3e9kGSchQ