明明颜值在线,偏靠一手代码行走江湖,这位奇女子还是V神嫡传 | 人物志

本文主要是介绍明明颜值在线,偏靠一手代码行走江湖,这位奇女子还是V神嫡传 | 人物志,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

640?wx_fmt=jpeg


虽然久闻大名,但第一次见到Hsiao-Wei Wang却是在不久前的香港。


西铁线驶过人群鼎沸的尖东一路向西,在另一个大的人流交汇处荃湾的一个不大不小的会议酒店。以太坊核心开发者汇集于此,人们仰望的技术大牛,或者说精神支柱,依次上台。


Hsiao-Wei Wang也在其中,如果不算致辞,Hsiao-Wei Wang应该是第三位出场的嘉宾,与Karl Floersch同为「以太坊核心研究者」。


640?wx_fmt=jpeg

熟悉以太坊开发的人都知道,这些年只要以太坊开发者聚集的地方总能看到这样一道倩影。她声音不高,看上去甚至有些柔弱,但一谈起那些连开发者看到都眼晕的技术话题和公式,总会让人感受到她的坚定和爆发力。


640?wx_fmt=jpeg

以太坊台北开发者大会合影(第一排正中为Hsiao-Wei Wang)


她所研究的Sharding技术是以太坊目前最看重的方向之一,连V神也曾说这个会长远来做,这么重的单子交给Hsiao-Wei Wang可谓任重而道远。但她又有程序员的那种独有的轻松与个性,比如在决定是否接受我采访的时候,她提出的唯一要求是「不要谈两岸关系」。


那么,Hsiao-Wei Wang究竟是个怎样的人?她的技术之路又是怎样的?这个明明可以靠脸却偏偏要拼实力的妹子背后,又有哪些不为人知的故事呢


今天,营长就走近Hsiao-Wei Wang,听她聊聊自己与以太坊及区块链的那些事。


以下内容根据与Hsiao-Wei Wang对话整理。(以下对话「区块链大本营」简称「大本营」;Hsiao-Wei Wang简称「Wang」)



“我很勇敢也很熊”


大本营:请介绍一下你的个人背景及经历。

Wang:我原本是后端工程师,大概两年前一头栽进区块链。在去年看到 Vitalik 在找对以太坊研究有兴趣的 contributor(贡献者)后自告奋勇,目前持续在sharding(分片技术)的研究与开发。


大本营:如果用几个关键词来形容你自己,会是哪几个?

Wang:出乎意料的勇敢、诚恳、熊。(黑人问号……) 

在有限的范围内,我觉得「人生只有一次啊」,所以会做出一些相对冒险的选择;

而诚恳比较像是一个目标,不知道达到了没,但真的有在努力中(笑);

熊则是一个不知道帐号要取什么而加的symbol(特点),棕熊猫熊白熊都很美丽。


640?wx_fmt=gif


大本营:最近的主要工作有哪些?目前最关心的技术有哪些?

Wang:主要有:Casper/Shading/Beacon chain Spec的review与PoC实作,以及Sharding P2P networking 的研究,还有一些Devcon4的事务,喔,Devcon 4会很有趣的。


至于最关心的技术,当然还是Sharding,然后因为最近Sharding与Casper从好朋友变成超级好朋友了所以也很关心Casper。还有在补足Algorithmic Game Theory(算法博弈论)的知识。



美女开发者眼中的以太坊


大本营:你从什么时候开始接触区块链?当时对这门技术有怎样的看法?

Wang:好几年前听过比特币的存在,但实际研究技术是大约两年多前。至于看法,只能说相见恨晚。看过比特币白皮书后觉得自己被中本聪的协议设计巧思震慑,第一次感受到到能够用工作量证明来达到机率性的共识时很惊艳。


大本营:区块链技术最让你着迷的地方是什么?从事区块链开发对你有哪些影响?

Wang:最着迷的是去中心化应用的可能性!听起来很梦幻,但真正有turning the world upside down(改变世界)的潜力。


对于个人影响的话嘛,很高兴认识了很多世界各地有趣的人!要学着从不同的角度思考问题才能理解不同角色的行为。然后英文应该变好了一点点,吧(笑)。


大本营:你从什么时候开始研究以太坊?你所研究的分片技术会有哪些改变?

Wang:我大约一年半前拜读以太坊的黄皮书,开始熟悉 EVM 架构和撰写智能合约。后来对可扩展性问题有兴趣,开始专注在以太坊分片(Sharding)研究上。


当时我看到的第一个版本是 Vitalik 写的basic sharding(基础分片),这个版本很简短,但其中已经有异步跨分片交易的轮廓。之后 Vitalik 把这个版本再简化成另一个版本,并加上了无状态客户端(stateless client)与账户抽象层(account abstraction)的设计。


今年的第一个重大路线改变是第一阶段改为只有数据层,此一改变使得我们专注在可行的扩展方案的设计。在过往的设计中,shard chain 类似于目前 Ethereum PoW的侧链。


今年的第二个重大改变则是以全新的一条类似 Dfinity beacon chain 作为 sharding 设计的核心,也大幅改善了随机数产生器的设计。当然,最重要的进展是 Casper 与 Sharding 的路线合并,这点对 Sharding 路线的影响较没有对于 Casper 那么剧烈。但对我们来说,新路线整合了同一个 PoS 设计是相当合理的,同时也减少了目前大家正在使用的 PoW主链的向后兼容。


我认为,以太坊作为公链的领头羊之一,若要同时顾虑现有生态的经济议题、治理议题(governance)、扩容议题等。大幅更新的步调不易加快,但社区的活跃度和精神文化是以太坊的资产,社区的支持是最大的动能。


大本营:作为以太坊的研究者,你怎样看待这一平台?从技术上来说,你认为以太坊的优缺点各是什么?

Wang:我很喜欢以太坊的设计哲学中的「平台一般性」(Generalization)这点。以太坊的优点是兼容并蓄,但相对来说,若是使用智能合约自行开发提供特定功能,使用者付出的成本(这里是 gas)会比其他原生链就支援此功能的成本高,而且若要新增 precompile 指令也不易维护。


此外,目前多个client 端同时开发的特性也是把双刃剑,一方面要维护各个client端之间的共识,测试一定要够完整,才不会因为代码 bug 问题而导致分叉。但多client同时刺激产生更多元的生态系,更多人在检验EIP可使协议更完备,且降低了 single client fault 的风险。鉴于此,整体而言我相信是利大于弊


大本营:作为以太坊核心开发者,在你看来以太坊的开发者最大的诉求有哪些?

Wang:主要有两个:扩容性和可用性

扩容性,是希望平台能支持高TPS且不堵车,这点由 Sharding 和Layer 2扩容解决方案,研发努力中。


可用性目前要能开发优秀的智能合约应用,必须要通彻地理解 EVM 才能彻底确定合约的安全性,这方面很多对于智能合约开发者的「陷阱」,希望有更好用的工具能降低门槛。



从3个阶段理解Sharding技术


大本营:你如何看待「Sharding会牺牲掉部分的去中心化特性」这一现象?除了Sharding之外,还有哪些适用于以太坊的「扩容」技术方案?

Wang:假设一开始有 1024 个 shard chains,虽然有投票权的验证节点(validators)会被随机取样去验证(attest)各个分片,即 Validator 无法自己选择为某个 shard chain 投票,但其他 full node 是可以选择只和某些 shard chain 同步,有可能一个特别火红的应用只在某一分片上有,导致有大分片和小分片的差异。


还有一点是成为 PoS 验证者的门槛,这方面已从 deprecated Casper EIP 1011 的1500 ETH 降为新 spec 上的 32 ETH。 除了 Sharding 以外,Layer 2 的扩容方案有像是 state channels、Plasma 等。


说到其他解决方案,今年值得注意的是 STARKs 在扩容上的应用研究更加深入,透过 STARKs 技术为链下的运算建立可快速验证的证明,它除了能作为 L2 扩容应用,在 Sharding 的研究上也有所帮助。


大本营:Vitalik曾说Sharding是一项长期的技术改进,这一改进大致会分为几个阶段,不同阶段以那些进展为特征?

Wang:我们现在处在的是「第零阶段」,即Beacon chain实践,这一阶段的前提是加入与 Casper 的整合。Beacon chain 会是 Casper FFG PoS 与 Sharding 的核心链,以协议提供健全的链上随机数生成机制,作为选出 shard chains 验证者的 seed,达到足够的安全性。


从长远的计划来说,Sharding也可以被划分为几个阶段。


第一阶段是,只有数据层的分片达到扩容,此时 shard chains 为PoS主链 (即 Beacon chain)的侧链。这时我们能做到类似「去中心化的Twitter」 之类的服务,但因为没有「transaction」的结构,Layer 1 应用有限,可能只能用 Layer 2 技术做复杂的应用。


第二阶段是,加上下一代状态执行引擎,例如 eWASM 能改善一些现有 EVM 的缺点;后续会再加上「跨分片交易」,目前这个实现有多种方案,但尚未达成定论。


最终的目标是,PoS主链(Beacon chain)与shard chain能有完整的 tightly-coupling,即如果主链区块关联到的分片区快是非法的,则这个主链区块也是非法的。


除此之外,社群的意见也很重要,相信这会在第一阶段测试链上线后更加清晰,我们也会因应实际状况修正路线。


大本营:你认为作为区块链开发者,最难的部分是什么?

Wang:是在「先求有再求好」和「设计到天衣无缝后再动工」这两件事上取得平衡。


一个是主链的大的升级只能靠硬分叉,如果没有在最初就精确地设计,硬分叉程序也会很丑很痛苦……甚至根本无从更新。比如说像是对目前 State Merkle Patricia Trie 的改进优化,如果要在已在主网上运行的链上大刀阔斧的改,想必是太刺激的事。


但另一方面,我们也亟欲了解社区用户对新设计的看法,况且纸上谈兵和现实世界还是有一段距离,因此,光是 Casper FFG family 上就有许多版本的 proof-of-concept。


现在的 Ethereum 2.0 也是,目前正一边完善设计一边开发中着。由于 shard chain 是全新的子链,我们有了重新设计基础协议的机会。正因为我们有信心 Ethereum 2.0 将会长远运行着,所以在初始阶段的设计决策很重要。


大本营:你认为目前从事以太坊或Sharding相关的开发者普遍存在的思想误区有哪些?

Wang:嗯,之前有看过有人觉得 Sharding 和 Layer 2 扩容方案是竞争关系,其实不然,Layer 1 和 Layer 2 方案可以互相学习,相辅相成。第二点,不是所有现在的应用加个「区块链」和「去中心化」就会变的好棒棒,很多时候是根本没有意义的,请不要这样!



女神和她的男神们


大本营:在区块链行业中,你比较欣赏的人有哪些?

Wang:啊,很多唷。


以太坊社群内的话,我觉得 Hudson Jameson 在维护小镇村的和平上功不可没,在这里谢谢 Hudson(鼓掌)。


640?wx_fmt=jpeg

还有 Python小组的leader——Piper Merriam,是能同时把很多事做得很好的人,很厉害(再鼓掌)。顺便一提 Ethereum Python client Trinity 虽然今年才推出,但 Ethereum 是比 Trinity Protocol 早用这个名字的!


640?wx_fmt=jpeg


此外,我觉得因为开源与全球化的趋势,任何人都有机会像某个十几岁开始写白皮书的那位一样成为社区、产业领袖,不过,愿意倾听他人接纳意见的人却不多,所以能够发广纳百川、不断学习的人我都很尊敬。


大本营:在个人技术提升方面,你通常会通过哪些渠道/方法进行自我提升?

Wang:我是ethresear.ch小编之一,这是 Ethereum 前沿研究的论坛。


640?wx_fmt=png

ethresear.ch作者页面


自己平常有订阅:

  • weekinethereum.com

  • ethfans.org

  • unitimes.media

  • zeroknowledge.fm


最后,也会看看

reddit /r/Buttcoin  哈哈。


大本营:请对我们的读者和以太坊开发者说几句寄语。

Wang:期待能看到更多以太坊上的应用,同时也希望更多开发者有兴趣投入底层链的研究!以太坊底层研发的技术领域很广,从协议设计、VM、密码学、经济学、博弈论、P2P网路、编程实作、合约语言……等等,相信你能够找到一个有兴趣的主题深入研究!


最新热文:

  • 怀揣数百台矿机、伺机踏入“魔鬼城”的比特币矿商,真的可以挽救这个破烂不堪的小镇吗?

  • 现场直击 | 图灵奖得主Silvio Micali上海之行讲了啥?都在这里了

  • 独家|V神最新论文足足有41页?这24个要点,让你快速了解社区中立社会的正式规则

  • 当Google大数据遇上以太坊数据集,这会是一个区块链+大数据的成功案例吗?


640?wx_fmt=jpeg


大力戳↑↑↑  加入区块链大本营读者⑦号群

(群满加微信 qk15732632926 入群)

(内容转载请联系微信:qk15732632926)

(商务合作请联系微信:fengyan-1101)


640?wx_fmt=jpeg

这篇关于明明颜值在线,偏靠一手代码行走江湖,这位奇女子还是V神嫡传 | 人物志的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/680969

相关文章

Java集合之Iterator迭代器实现代码解析

《Java集合之Iterator迭代器实现代码解析》迭代器Iterator是Java集合框架中的一个核心接口,位于java.util包下,它定义了一种标准的元素访问机制,为各种集合类型提供了一种统一的... 目录一、什么是Iterator二、Iterator的核心方法三、基本使用示例四、Iterator的工

Java 线程池+分布式实现代码

《Java线程池+分布式实现代码》在Java开发中,池通过预先创建并管理一定数量的资源,避免频繁创建和销毁资源带来的性能开销,从而提高系统效率,:本文主要介绍Java线程池+分布式实现代码,需要... 目录1. 线程池1.1 自定义线程池实现1.1.1 线程池核心1.1.2 代码示例1.2 总结流程2. J

JS纯前端实现浏览器语音播报、朗读功能的完整代码

《JS纯前端实现浏览器语音播报、朗读功能的完整代码》在现代互联网的发展中,语音技术正逐渐成为改变用户体验的重要一环,下面:本文主要介绍JS纯前端实现浏览器语音播报、朗读功能的相关资料,文中通过代码... 目录一、朗读单条文本:① 语音自选参数,按钮控制语音:② 效果图:二、朗读多条文本:① 语音有默认值:②

Vue实现路由守卫的示例代码

《Vue实现路由守卫的示例代码》Vue路由守卫是控制页面导航的钩子函数,主要用于鉴权、数据预加载等场景,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录一、概念二、类型三、实战一、概念路由守卫(Navigation Guards)本质上就是 在路

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

JAVA实现Token自动续期机制的示例代码

《JAVA实现Token自动续期机制的示例代码》本文主要介绍了JAVA实现Token自动续期机制的示例代码,通过动态调整会话生命周期平衡安全性与用户体验,解决固定有效期Token带来的风险与不便,感兴... 目录1. 固定有效期Token的内在局限性2. 自动续期机制:兼顾安全与体验的解决方案3. 总结PS

C#中通过Response.Headers设置自定义参数的代码示例

《C#中通过Response.Headers设置自定义参数的代码示例》:本文主要介绍C#中通过Response.Headers设置自定义响应头的方法,涵盖基础添加、安全校验、生产实践及调试技巧,强... 目录一、基础设置方法1. 直接添加自定义头2. 批量设置模式二、高级配置技巧1. 安全校验机制2. 类型

Python屏幕抓取和录制的详细代码示例

《Python屏幕抓取和录制的详细代码示例》随着现代计算机性能的提高和网络速度的加快,越来越多的用户需要对他们的屏幕进行录制,:本文主要介绍Python屏幕抓取和录制的相关资料,需要的朋友可以参考... 目录一、常用 python 屏幕抓取库二、pyautogui 截屏示例三、mss 高性能截图四、Pill

使用MapStruct实现Java对象映射的示例代码

《使用MapStruct实现Java对象映射的示例代码》本文主要介绍了使用MapStruct实现Java对象映射的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、什么是 MapStruct?二、实战演练:三步集成 MapStruct第一步:添加 Mave

Java抽象类Abstract Class示例代码详解

《Java抽象类AbstractClass示例代码详解》Java中的抽象类(AbstractClass)是面向对象编程中的重要概念,它通过abstract关键字声明,用于定义一组相关类的公共行为和属... 目录一、抽象类的定义1. 语法格式2. 核心特征二、抽象类的核心用途1. 定义公共接口2. 提供默认实