AVI:Gavin Wood:低调的区块链先驱和真正的创造者

加入PolkaWorld社区,共建Web3.0!

对于大众来说,“GavinWood”这个名字暂时还没有“中本聪”、“V神”那么家喻户晓。但在很多区块链开发者的心中,他却是传奇程序员和技术领袖。他编写了第一版以太坊、撰写了以太坊技术黄皮书、发明了Solidity语言,还创立了下一代区块链协议Polkadot。

随着波卡一跃成为市值榜上前几名的区块链项目,有越来越多的人想了解这个创造了波卡的人。本文梳理GavinWood博士创建以太坊和波卡的故事,希望帮助大家更加了解这位低调的区块链先驱。

GavinWood博士,来源:ParityTechnologies

GavinWood博士,中文名林嘉文,1980年出生于英国。如果你看过他的演讲,会发现他的形象和刻板印象中的程序员形象相去甚远:一头灰白的短发,常穿合身的T恤配牛仔裤。他还有一个习惯,就是在做公开演讲的时候,不管台下有多少人,手里都常拎一瓶啤酒,时不时来上两口助兴。

编程与博弈论

GavinWood最为人称道的能力之一就是强大的工程能力,也就是通过合理的架构设计和编程,把想法变为代码的能力。毕竟他曾经几乎以一己之力完成了以太坊最初的开发。

Gavin和计算机的结缘可以追溯到很久以前。从9岁时妈妈给了他一台旧电脑开始,Gavin对计算机的兴趣就开始了。邻居Sean教他写了第一个计算机程序,自此他对编程的兴趣便一发不可收拾。选择追寻兴趣的Gavin,在约克大学修读了计算机科学硕士学位,后来又在母校深造,取得了博士学位,方向是人机交互和音乐可视化。

Robinhood前Web3负责人Sriram Bhargav担任GameStop NFT工程副总裁:据官方消息,GameStop已聘请Robinhood前Web3和区块链负责人Sriram Bhargav K.担任GameStop NFT的工程副总裁。[2022/7/25 2:35:40]

博士毕业后,Gavin成了一名程序员,继续探索和创造。他做过的东西包括但不限于:为微软研究部提供了针对嵌入式领域特定语言的技术咨询服务,为一家伦敦顶级夜店设计并实现了第一个真正的智能照明控制器,设计并实现了世界上第一个C++语言的工作台。他开发了智能文本合同的编辑系统OxLegal、可以将音频分析可视化的插件Noted、CD音轨抓取软件RipInPeace等。

从这些经历中不难看出,Gavin一直对创造新东西和解决问题很有兴趣。对他来说,代码是一种激情,一种艺术形式,“从某种程度上说,世界属于程序员”。他曾试过一个多月不写代码,就觉得浑身不自在,总觉得需要创造点什么。他形容写代码的感觉是“我们能够感觉到我们的工作在某种意义上是创新的。我们正在构建新事物,我们正在发现新事物。我们每天在为尚未解决的问题创造一些新的、令人惊叹的、优雅的解决方案。我会说我们在某种意义上是一群非常幸运且技艺高超的工匠。”

除了编程以外,Gavin很早就对经济学和博弈论感兴趣。他开发过一款叫做MiltonKeynes的策略类桌游,创造了FractalPlayground和LocalizedProportionalRepresentation投票系统。他还曾经向英国最高法院提议,设计一个新的投票系统,不过最后最高法并不想改变投票制度。

Fairyproof:Hundred Finance与Agave遭遇攻击原因是由于转移ERC677代币引起的:3月16日消息,Gnosis Chain上的DeFi协议Agave和Hundred Finance遭到重入攻击,共计损失约1100万美元。造成此次重入攻击的原因是由于转移ERC677代币引起的,该代币有一个转移后调用函数叫 transferAndCall。

Fairyproof 推荐所有合约开发者三点注意:

1、合约内改变状态要放在对外交互之前(包括转移代币) ;

2、注意ERC20代币和ERC677代币的区别;

3、重要用户接口增加防重入锁。[2022/3/16 13:59:33]

可能正是这两兴趣将他带到了区块链行业——区块链似乎恰好是技术和博弈论的完美结合。事实上,当Gavin在2011年刚知道比特币时,他对比特币兴趣寥寥。直到2013年初再次审视比特币时,他才“开始意识到把ITC和博弈论结合起来,可以开辟出很多新的可能性,甚至可能会带来一系列不可避免的社会变革”。他对治理的思考后来也贯穿在波卡的设计思想中——波卡采用了一套无需分叉的链上民主治理机制。

创立以太坊

2013年,对区块链产生了一些兴趣的Gavin通过一位老友认识了VitalikButerin。听了Vitalik关于以太坊的想法后,Gavin觉得让区块链可以编程这个想法很有趣,决定帮助Vitalik将以太坊写成代码。2014他去了迈阿密和Vitalik和另外几个创始人一起创立了以太坊。在这里,Gavin开发出了第一个可运行的以太坊实现,一般被称为以太坊PoC1或者Alpha版本。之后,Gavin担任了以太坊的首任CTO,并撰写了“以太坊黄皮书”,在其中定义了以太坊虚拟机,是首个区块链状态机的正式规范。

Gavin Wood:即将发布跨共识消息格式XCM:9月7日消息,Polkadot联合创始人Gavin Wood发文称,即将发布跨共识消息格式(XCM)。XCM是一种消息传递格式,而不是一种消息传递协议,可以用来表达消息接收方应该做什么而不能在不同系统之间实际发送消息。在Polkadot中,XCM可以表达中继链到平行链,平行链到中继链以及平行链之间三种通信通道上消息的含义。XCM未来可以用于跨链代币转移、支付费用的选择以及使用XCM语言进行一些平台特定的操作。[2021/9/7 23:06:33]

在之后的两年中,Gavin全身心投入到了以太坊的开发中,包括搭建通用平台架构,完成了以太坊C++客户端的大部分开发工作,还设计了用于编写以太坊智能合约的面向对象的编程语言Solidity。有了Gavin强大的工程实现能力的保驾护航,以太坊如预期中顺利上线了。

2015年,Gavin提出了Web3.0的概念,即建立一个去中介化的、自由的网络环境,打破当今互联网的垄断,将数据、隐私等还给用户,成为“个人反对暴力权威的自由的基础”。

2016年,Gavin离开以太坊,创立了EthCore。在渐渐聚集了来自15个国家的60多位开发者后,EthCore发展为Parity科技。Parity用Rust语言编写了以太坊Parity客户端,性能远超Geth和C++客户端。

Gavin离开以太坊的原因不得而知,一些猜想认为可能Gavin和Vitalik在以太坊的发展道路上产生了分歧。在后来的一些采访中,Gavin也确实提到过,他不赞同以太坊通过硬分叉进行治理的方式,而且他认为仅能使用ETH支付手续费让以太坊背离了成为“自由竞争的去中心化平台”的初衷。似乎在Gavin的心中,以太坊无法实现他对Web3.0的构想。

声音 | Gavin Wood:Polkadot已成功运行基于Substrate的平行链:以太坊联合创始人、波卡和Parity创始人Gavin Wood博士发推称:Polkadot成功运行了基于Substrate构建的平行链,Cumulus也将于不久后到来。[2019/10/23]

创立波卡

2016年,GavinWood发表了波卡的白皮书,描绘了波卡的“异构多链”架构。在此之后,便带领Parity着手波卡的开发。

在最近的一个访谈里,当主持人问Gavin他创立波卡的愿景时,他回答“创立波卡的目的是想要「让区块链再次伟大」,想将区块链行业向前推进一步”。

这个说法听起来可能有点不太谦虚,但如果你了解过波卡就会发现这并不是在夸夸其谈。波卡试图解决区块链行业几个根本性的问题:性能上的可扩展性、架构设计上的灵活性、治理上的可升级性。

波卡采用「一条中继链+多条分平行链」的“异构分片多链”架构。中继链负责共识部分,保证所有平行链的安全,每个平行链都是一个异构分片,可以并行运行,从而提高可扩展性。同时,每条链都可以有自己的业务逻辑,专注于解决特定领域的问题。平行链在开发上有很高的灵活性,甚至可以通过桥来将比特币、以太坊等共识不同的公链接入进来,也就是所谓的“异构”。

波卡还解决了区块链领域令人头痛的“分叉”问题,以往的区块链需要升级时要软分叉,意见不同时甚至要硬分叉。波卡设计了一套治理模式来在让社区在链上达成一致,共同决定网络的未来,然后通过链上Runtime更新来进行升级。这保证了网络与时俱进,而社区也不会因为意见分歧而分裂。

动态 | Gavin Wood启动Kusama网络来测试Polkadot协议:据coindesk消息,开发人员很快就能在区块链互操作性协议的实时版本Polkadot上测试应用程序。Polkadot创建者Gavin Wood在一篇博客文章中强调,开发人员需要一到四周的时间才能开始使用该网络的全部功能。在网络上至少运行50个“良好支持的”验证器之前,不可能在用户之间传输KSM令牌。[2019/8/24]

如果说开发以太坊证明了Gavin有着传奇般的工程实现能力,是一个实干家,那么波卡中这些优雅和具有远见性的设计已经证明了Gavin还有着超凡的构想,是一个伟大的思想家。当思想和行动两者在一个人身上完美结合时,我们一般称这种人为“创造者”,他们可能推动行业的发展,甚至可能开辟出前所未有的行业。

Gavin毫无疑问是一个创造者。在创造者的眼里,构思出伟大的东西还不够,还要一砖一瓦地将它建成。在发现问题时,他会自己去解决,而不是坐等其成,他享受创造的快乐。在他的眼里,创新不是对原有事物的修补、改进,而是做出完全不一样的东西。这一点在Substrate的诞生中再一次被证明。

区块链开发框架Substrate

在2018年的Web3大会的台上,Gavin打开一台全新的苹果笔记本电脑,在半小时内使用从头搭建了一条区块链,所用的就是Substrate区块链开发框架。

GavinWood在2018年Web3大会上

来源:ParityTechnologies

Substrate脱胎于波卡——在开发波卡的过程中,Gavin和团队发现了一个问题:从头开发一条区块链太复杂了,且工作量巨大,这会把一大堆区块链团队都拦在门外,无疑会阻碍区块链领域中的创新。于是,Gavin和团队决定将波卡的开发经验抽象和提炼为一套区块链开发框架——Substrate。

Substrate把区块链常用的组件进行模块化,比如共识、账户、代币、治理、链上国库等,开发者只需要选择自己需要的模块进行组装、改动,就能快速搭建一条区块链,使用Substrate框架开发的链可以轻松接入波卡成为平行链。

金丝雀“Kusama”

除了Substrate,在创造波卡的过程中Gavin还在不断迸发新创意。

2019年7月在日本的一场活动上,Gavin首次公布了Kusama网络。Kusama是波卡的先行网,Gavin将它叫做“金丝雀网络”。因为早期的煤矿工人会带一只金丝雀进入矿洞,来帮助探测和排除危险因素,Kusama对于波卡的意义也是如此。与以往那些区块链测试网不同的是,Kusama是一个将会长期存在的、具有真正经济价值的网络,有自己的代币KSM,代码和波卡高度相似,社区也将真正地去使用它,这让波卡能够提前在更加真实的环境中观察各种机制、应用等会带来的改变,并提前做好准备。

这样的模式在区块链世界可以说是史无前例的,随后发生的事情证明了Gavin的这个设想确实有用。在完整经历了Kusama的上线后,开发团队和社区都做好了充分的准备,这让波卡的上线过程顺利地完成了。先行网这一设计也掀起了一股热潮,波卡生态的一些项目纷纷效仿,在主网之前推出自己的先行网络。

平行线程Parathread

正当社区还沉浸在Kusama带来的冲击,正在热火朝天地讨论这个新生的金丝雀网络时,Gavin又搞事情了。几天后,在波卡中国行上海站的活动上,Gavin又给了大家一个惊喜,那就是波卡的“平行线程”设计。

令人惊讶的是,在两天前的北京场上,Gavin的演讲里还全然没有平行线程的影子。不知道是不是受到了中国社区的启发,在上海站的演讲前,Gavin连夜改了PPT,增加了平行线程的内容,还在背景中配上了一个大大的汉字“丝”。最让我震惊的一点是,在当天的演讲中Gavin并不只是简单地提出了概念,而是已经对平行线程有了较为完善、成熟的考虑,包括它如何运行,如何对网络中的各角色进行激励,以及如何将它融入原有的产品设计等。也就是说从这个创意从诞生到完善到如此地步,最多只用了一天一夜的时间。

更重要的是,平行线程并不是一个锦上添花的小功能。它同时解决了波卡原有设计中的两个重要潜在问题——平行链的退休问题和成为平行链资金门槛较高的问题。

波卡是异构多链,也就是一条波卡中继链负责网络的安全和共识,多条专注于特定领域的平行链接入到波卡中继链并行运行。平行链想要接入波卡中继链需要使用DOT来竞拍插槽,租期从6个月到2年不等。那么一旦平行链的租期到了且不续租的时候,平行链应该何去何从,谁来负责这些平行链的安全呢?从头去搭建自己的验证人节点似乎不太现实。再者,并不是每个团队都能有财力去竞拍到平行链,这些团队是不是就无法享受到波卡网络的益处了呢?

想必这些问题Gavin也想到了,所以才提出了平行线程。它是平行链的“平价替代品”,不需要竞拍插槽,只在需要使用时才占用波卡网络资源,并按使用量来付费,从而让退休的平行链能够转为平行线程作为过渡,让一些不需要连续运行的项目可以直接使用平行线程加入波卡网络。

结语

在技术之外,Gavin热爱艺术和哲学,喜欢音乐、外语、滑雪、摄影,是跆拳道黑带。他对世界有天生的好奇和敏感,可能在他眼里区块链是一场大型的社会实验。让我们一起期待他在波卡上的创造吧。

他曾说过如果从区块链行业退休,会去做音乐,虽然这样他也应该会过得很开心。但如果他真的退休,那么对区块链来说是一个莫大的损失,毕竟在这个行业,思想家常有,优秀的程序员也不少,但这样杰出的创造者却着实不多。

参考资料:

GavinWood自述小传https://www.parity.io/gavin-wood/https://www.hellobtc.com/kp/ft/06/1863.htmlhttp://www.iterduo.com/posts/114598https://zhuanlan.zhihu.com/p/62863062

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

[0:0ms0-1:85ms