对话以太坊核心开发者 Hsiao-Wei:以太坊 2.0 信标链 | Unitimes AMA

跟風遠走 提交于 2021-01-04 03:34:40
点击上方 “Unitimes” 可以订阅哦!


unitimes.io

全球视角,独到见解

前言

Unitimes AMA(Ask Me Anything)是 Unitimes 重点打造的微信群线上问答系列活动,每周举办一期。我们邀请发展较成熟的区块链项目的创始人、CEO、CTO或核心开发者等嘉宾做客社群,与群成员就该项目的突出技术亮点以及用例等进行高质量互动问答,旨在学习交流区块链最新技术和应用。


期数:第31期

特邀项目:以太坊

特邀嘉宾:Hsiao-Wei Wang,核心开发者

主题:以太坊 2.0信标链



AMA分为固定问答和自由问答两个环节。


固定问答


1

Unitimes:Hsiao-Wei你好,欢迎参加Unitimes AMA。 请先介绍一下你的背景和经历吧!


大家好,我是 Hsiao-Wei。本身背景是在台湾CS与网路工程硕士背景,大约在三年前踏入区块链产业,并在两年前加入了以太坊基金会研究团队。


2

Unitimes:你在什么契机下加入了以太坊团队? 目前主要研究什么技术?


故事其实很简单就是两年前 Vitalik 在亚洲招募开发者做 sharding 的初始版本PoC,而我从 contributor 开始贡献代码,开发第一版的sharding(和现在版本现在想想真是差很多呢!),后而加入团队:)


目前研究Ethereum 2.0的协议设计(https://github.com/ethereum/eth2.0-specs) ,还有Eth 2.0在 Python 客户端 Trinity (https://trinity.ethereum.org/) 的开发。


3

Unitimes:什么是信标链(Beacon Chain)? 它在ETH 2.0的进程中扮演什么角色?


信标链几个任务:


  • 分片链的核心:为了实现 layer 1 的扩容,信标链负责协调数个分片链,分片链和信标链之间会以一种我们定义为“Crosslink”的链结串起。

  • 为 Proof-of-stake 核心:新加入的验者的押金会被记录在信标链的状态上,验证者的余额会因得到的奖励和罚金在信标链上变动。


在目前的规划中,信标链是为“phase 0”,作为整个ETH 2.0的地基。 巨观的角度来看,大致上如



同时在 phase 0链要监听 ETH 1.0 PoW 链的资讯,以取得新验证者抵押的纪录。



4

Unitimes:如何成为信标链的验证者(validator)? 验证者需要做什么?


我们预计会在以太坊目前的链(ETH1.0 )上部署一个deposit contract(质押合约),这个合约很单纯地将押金burn掉,然后发出一个log even(日志事件)。

vyper contract code: 

https://github.com/ethereum/eth2.0-specs/blob/dev/deposit_contract/contracts/validator_registration.v.py


新加入的验证者要呼叫质押合约上的`deposit()` function,并且监听这个ETH 1.0质押合约的日志,验证者需要纪录所有的质押日志,用以建立整个验证者名单(信标链客户端会更新这个验证者名单至信标链上的状态之中)。


接着验证者需要等待一段时间,成为"active"(激活的)证者。 所有的激活的验证者会被分配到各个"委员会committee"中,而每个委员会各自会被指派一个分片链,这个委员会中的验证者要负责在一段期间中验证该分片链


在phase 0时我们还不需要处理分片链,但若是phase 1后,验证会需要下载分片链的区块并且验证。


我们目前规划是6秒一个time "slot",在这个slot中,其中一个验证者会被指派为block proposer,负责 propose 信标链区块。


其他在这个委员会的验证者们,如果同意这个新区块的内容正确性,那他就会投出他神圣的一票,我们称为"attestation" (其实就是投票)


验证者需要投票给


  • 目前他看到的信标链根区块

  • 他所看到的 Casper FFG 的 source and target

  • 验证到的分片分片根区块


个乖乖的诚实验证者大概就是这些工作要做:)


5

Unitimes:验证者在什么情况下会丢失保证金?


有很多种情况!


恶意的验证者罚金会比较严重,恶意的行为包括:


  • block proposer 在同一个 slot 出了两个不同的区块

  • 验证者投票给两个互相冲突的


其他比较像是「不小心犯错」的情况,例如没
投票,或是投了是投的对象不是大多数人的选择,那么也会稍微被处罚一些。


6

Unitimes:各个客户端的初版信标链已经在5月份发布了。 请问目前运行得怎么样?


户端开发进度还在不断更迭中。 目前都是各个客端个别的测试网,目前ETH 2.0客户端开发者们也在制定客户端之间通信的networking protocol网络协议),希望在 Devcon 前会有进一步的客户端之间的测试网出现!


家可以去玩玩这些测试网:


  • Lighthouse:https://lighthouse.sigmaprime.io/update-09.html

  • Nimbus:https://our.status.im/the-nimbus-mvp-testnet-is-here/

  • Prysm:https://medium.com/prysmatic-labs/ethereum-2-0-phase-0-testnet-release-1e9e682db910


7

Unitimes:在以太坊完全转变为PoS机制之后,原来的PoW链会发生什么? 在Registration Contract机制下,会出现两个平行的以太坊吗?


1)目前有几方案处里 ETH 1.0 链,各有权衡。 例如:将ETH 1.0链的状态转为一个 ETH 2.0 分片链上的合约状态,又或是转为在放在信标链的装填中


Vitalik最新的提议将分片链上的执环境抽象化,如此一来,可以将 ETH 1.0 的链转化成其中一个分片链。 这样做的优点是对ETH 1.0发者来说迁移的成本小,跨分片交易的实现也很直观,和其他分片链一视同仁即可。 目前我们正在往这个方向研究和讨论,希望能减少目前开发者的负担。


最后会用哪种方案,会需透过社区共识决定。


2)除非像是 ETH/ETC 硬分叉发生,否则这些升级计画中,ETH 1.0 和 ETH 2.0 都还在同一个宇宙之中。 但是”初期“有可能1.0链上的ETH和信标链上的ETH (有人称为BETH)在市场上有同的价值。


8

Unitimes: 作为6月29日以太坊技术及应用大会的演讲嘉宾之一,可否透露一下你将演讲的主题,以及你对此次大会的期待?


题目预计会围绕着最新版本的 Ethereum 2.0 protocol,目标是能让大家对目前的以太坊2.0最新发展的路线图有更清楚地了,会着重阐述一些目前设计的重点。当然也希望能见到很多开发者共襄盛举!听说大会前还有黑客松,也希望能认识优秀的团队!



自由问答


固定问答环节结束后,参与此次AMA的成员可以自由提问。以下为 Unitimes 从群成员的提问中精选的几个问答:

1

Hello Hsiao-Wei,我有几个问题,信标链上线后,参与 ETH 2.0 Staking 的收益是 BETH?短时间可以换成 ETH 在交易所交易吗?


Phase 0目前没有 BETH/ETH 的链上转换,因为比较干净的方式是在phase 2实现1.0 <> 2.0的ETH交易。 如果要在短期 (phase 0 or 1) 的 layer 做这件事恐怕伤筋动骨。 但或许会有交易所会尝试在layer 2 上做撮合。


2

规划 slot 六秒,请问这个6秒是依据什么来确定的呢? 验证者可以提前或者延后出块吗?


其他验证者会根据 global clock(全局时钟)的时间,若该slot超过时间还没有看到区块,则这个slot会被“skip”掉,所以延后出块会被其他证视为无效。


外目前的 committee and proposer selection (委员会和proposer挑)机制,是根据RANDAO产生的伪随机数(pseudo random number),在时间之前无法确认下个区块的 proposer 是,因此也不能提早出块。


3

Hsiao-Wei 你好,请问ETH 2.0完成之前,新的以太坊前期无法运行智能合约? 意思是不能增加新的合约还是之前已经存在的合约也无法运行了? 非常感谢。


ETH 2.0 phase 1 没有原生的 EVM,但你仍能在 ETH 1.链上部署、运行合约,迁移不会一夕剧变。 phase 2 多了你可以部署在分片链上的选项:)


4

以太坊serenity(宁静阶段)中使用信标链来产生随机数,管理分片链等。 信标链会不会成为整个以太坊分片设计的性能瓶颈? 信标链来作为中继有没有可能影响serenity的去中心化程度?


信标链上没有 EVM,和 ETH 1.0 相比算力需求很多。 目前效能瓶颈发生在取决于验证者的总数影响信标链状态的大小。


「作为relay」是指对于 ETH1.0 来说吗? 我们希望人人有机会能够加入 ETH1.0 初始验证者池,订于 32 ETH,协议上尽量减少算力,你不需要超高级的电脑来执行客户端。


5

请问升级到了 ETH 2.0 之后,ETH1.0 上的已经在运行智能约是否需要重新部署呢?


如果你想要「在某个 shard chain 上运行一样的合约」,那么你会需要重新部署;但如果是 Vitalik 最新的 phase 2 提议,目前的 ETH 1.0 链以理论上无痛转移(这方面的细节仍在讨论中)


6

如果没有轮到出块的 验证者  propose 块,会有惩罚? 还是根本没法 propose 的?


会直接被ignore(忽略掉)。

7

这样用信标链  sharding 和多个完全不同的链比较起来,安全方面有什么区别?


PoS chain 的安全性是由整体押金总数,攻击者要有利可图才有攻击的价值(因为会被slash),因此 sharding 中的链都受到同一个押金总数的安全保 而多个平行链则需各自有各自的 staking。


8

当信标链正式上线之后用户通过质押32ETH在当前 ETH1.0 上的 deposit contrac中,成为了验证者之后,因为一开始信标链上还不存在交易,那验证者需要验证什么呢? 还有,如果验证者因为行为当(不管是因为验证 propose/attest invalid block 还是一直处于离线状态)而导致其质押的 ETH 被 slashed了,请问直到当验证者质押的ETH剩下多少之后,这个验证者就会被驱逐出验证者名单?


信标链上和“交易相似的是operations,包含像是检举别人 dishonest, deposit, exits 要求等等。 另外也有信标链上 transfe的功能。 最重要要验证的还是attestation,即投票,多数人投票的 attestations ,会在分片链和信标链之形成 crosslink,为 phase 1 做准备。 `EJECTION_BALANCE` 参数目前是16 ETH。


9

目前的开发进度来看, 信标链仍然是年底线吧?


目前看来是年底至一月之间,在测试链出来后,估时可能会调整。



以上是本次 AMA 的全部内容,非常感谢社群成员对 Unitimes 的大力支持,感谢 Hsiao-Wei!


相关阅读:


V 神“继任者”排行榜第三,她一年在 Github 上为以太坊做出 1781 个贡献


往期AMA精选:


对话 PeckShield 创始人:智能合约安全面临的挑战及应对措施


对话 L4 创始人:目前我还没有看到任何一个有竞争力的扩容方案 


对话以太坊域名系统:为什么所有 dApp 都需要 ENS 


对话合约大陆:用跨链技术打通去中心化交易


对话 NuCypher:如何安全地存储、共享和管理链上私人数据


【本文版权属于Unitimes,转载请保留版权信息。未经授权,不得以任何方式加以使用,包括转载、摘编、复制或建立镜像。Unitimes将追究侵权者的法律责任。合作或授权请联系contact@unitimes.io或添加微信unitimes2017】



本文分享自微信公众号 - Unitimes(Uni-times)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!