“区块链”和“开源”是黄一职业生涯中的两个重要关键词。
“区块链”帮助黄一完成了从 “体力劳动者”逆向工程师到区块链技术管理层的跃升。
作为万物数创的CTO,黄一看问题的角度更全面了,除了底层的技术问题,他开始关注更宏观的协调问题、商业问题。区块链也锤炼了黄一的产品思维。现在,他已经成功带领团队基于FISCO BCOS落地了链动社区、新华坊智慧公园系统等多个区块链项目。
而“开源”则给黄一带来了许多乐趣。
“其实我从小学就开始开源了。”黄一笑着说。他天性乐观,喜欢分享,还是小学生的时候,黄一就乐于将作业“开源“给别人“参考”;成为大学生后,黄一加入字幕组,将时间轴向二次元爱好者“开源”;而作为区块链从业者,黄一选择加入FISCO BCOS开源社区,通过积极开源代码、分享心得,成长为社区的MVP。
在开源过程中,黄一对别人的反馈“来者不拒”,甚至更期待批评的声音。通过吸取意见和反馈,他反复锤炼自己的代码。“别人批判我的代码是件有趣的事。”黄一说道。
以下为黄一访谈实录:
1、谈一下您与区块链结缘的经过以及选择FISCO BCOS的原因,为什么喜爱区块链技术?
我算是受家庭熏陶,先从学术角度了解到区块链,然后从应用角度去使用区块链。
父亲以前是高中物理老师,喜欢关注前沿的东西。早在2014年,在他的反复安利下,我就陆陆续续看了一些相关论文,发现区块链确实有存在的意义和道理。
在工作上接触区块链的契机,是公司做“利用闲置算力设备进行分布式渲染”这个方向的时候,我顺理成章地开始深入了解区块链,发现区块链技术可以用来解决实际的问题。
在这个项目的区块链技术选型时,我们做了多方调研,发现还是FISCO BCOS最好用。主要体现在几个方面:一是文档齐全、社区活跃;二是FISCO BCOS源代码是C++写的,正好我以前C++代码撸的比较多,看的比较顺畅;三是因为加入了社区,和大家一起写代码看代码,慢慢就融入了这个氛围。我能感受到这是一个蓬勃向上的产品,所以公司后面的项目基本都使用或者借鉴了FISCO BCOS。
2、您有多年逆向工程师的经历,后来转为深耕区块链领域,请谈一下您转变职业方向的原因,区块链给您带来了怎样的改变?
以前我主要做Windows客户端逆向,对象基本是C++或者.Net的代码,同时也有相当丰富的C++正向开发以及后端开发的经验。不过对年龄较大的开发者来说,逆向开发这种体力活比较辛苦,转型之前我已经越来越不能胜任了。正好因为工作机会接触区块链,就顺势转型。现在,区块链非常需要底层开发人员,而逆向程序员的思维很敏锐,正向也必须玩的很溜,熟练掌握C++等语言,具有转型的先天优势。
我转型区块链之后,最大的转变就是架构思维更全面了。逆向开发只要求对流水线中的某个点做到很专很深,全局视野反而不够。做了区块链之后,我对整个架构和产品更了解,推动我从单纯的程序员向技术管理层转变。所以,大龄开发者在有一定基础的情况下,来到区块链领域是有优势的,而且还能开拓全局视野、产品思维。但也要坚持学习,因为区块链行业日新月异,不学习就会落到后面去。
3、您基于FISCO BCOS落地了链动社区、新华坊智慧公园系统,请谈谈经验和感触?
最大的感触是,当把区块链应用到实际场景的时候,我们面对的往往不是技术问题,而是经济学问题,或是商业问题。区块链不是万能的,需要配套一些解决方案,甚至有时候需要有行政力量介入以后才能更好实现可信效果。
链动社区项目算是我们第一次试水“区块链+社会治理”,刚接触的时候感觉逻辑应该会很简单,实际上做起来完全不是那么一回事。
举个例子,每个社区有自己的时间超市,居民通过参与社区志愿者活动获得积分,兑换超市的物品,但是不同社区时间超市里的东西,价值是不同的。如果把积分打通, A社区的居民会不会全部跑去B社区去兑换物品?如果不把积分打通,那么用户如果有多套房子,在多个社区有积分,怎么存储积分,不同社区的积分如何界定汇率?这些问题都不是区块链本身能解决的,最后我们靠行政力量,通过协调商家、社区街道办,解决了这个问题。
新华坊智慧公园则让我有另一个种感触。这个项目涉及到多方协同开发,也是我们第一次深入参与数字孪生+区块链的项目。我们对自己进行了灵魂拷问:如何真正地对物联网设备终端进行确权?
我们现在的确权都是基于物联网HUB的,并没有真正到端。核心原因不是技术问题,而是商业问题。物联网终端制造商那么多,如何协调这些企业做改造工作?凭什么让它为你做改造?如果是政府项目,我们可以借助行政力量要求物联网制造商进行改造,在端布一个很微小的程序进去,它就会把指纹和key传回来,这样我们就会知道这个物联网数据有没有被篡改过。但是在普通商业项目里,只能选择相信物联网设备端,没办法对它进行改造。
4、这些项目也是区块链技术在ESG领域的典型实践,您怎么理解ESG,能否谈谈区块链技术在ESG领域的应用前景?
区块链在ESG场景需要解决三个核心问题:如何界定企业的投入?如何保证数据质量?如何证明企业的清白?这3个问题和分布式系统中的数据可信度有密切关系,区块链的特性非常适合去做这个事情。
区块链在ESG领域应用有一个很重要的问题就是边界划分。应该尽量把自己的逻辑做小,和业务逻辑分开,不要把业务逻辑搅进来。我觉得最重要的是慢慢培养客户对区块链的认识,区块链不是做业务的,而是做数据安全的,不然就会成为接SaaS服务的公司。
至于应用前景,我觉得在我国,区块链很适合应用在ESG治理上。区块链的核心底层价值是可信,能够提高政府的公信力。所以区块链应用最好的切入点还是通过政府牵头去做,政府很看重不同部门之间的责任界定、数据真实性,需求很明确,又有足够的力量要求参与者配合改造,这对整个区块链工程化和落地很重要。
5、谈谈您对开源的理解?
其实我从小学就开始“开源”了,会把作业“开源“给别人“参考”。(笑)
现在,我在FISCO BCOS做开源的动力支撑有两个。一是基于实际的工作业务需要,我是顺手开源和分享了而已,不会产生额外的责任和负担。另一个支撑点是我有足够的兴趣。
我的开源激励就来自于别人的反馈,别人说我的代码写得很好,我就有动力继续做。除了因为商业或者其他原因需要保密的repo,其他我基本都会开源,让别人批判自己的代码,我觉得是一件很有趣的事情。有一次,我的代码被别人私信批判写得不好,我觉得对方说的很有道理,就重新写一份代码发给他,最终也收获了对方的认可,现在他还跟我一直保持Email联系。
写代码是创造性的工作,不是真理性科学,很难出现“真理掌握在少数人手上”这种事情。反思为什么写得不好,就可以反复锤炼写代码的能力,我一直保持互相学习、互相借鉴的心态。
6、加入社区后,有没有令您印象深刻的人和事?
印象比较深的事情,是做过一个将区块链搬到边缘网关设备的实验性项目。这个项目涉及到两个问题:一是裁剪FISCO BCOS的体积;二是在ARM机器上,以超低配置及较古早操作系统进行FISCO BCOS的源码编译。过程中遇到不少困难,好在当时已经加入了FISCO BCOS的技术群,得到了大家的热情帮助,正好也被FISCO BCOS核心开发者白兴强老师看到,给了我较长时间的帮助,最终成功让FISCO BCOS在5G边缘网关上跑了起来。
社区的小伙伴都给我留下了比较深刻的印象。比如哈希科技CTO林宣名老师,也是FISCO .Net SDK的作者,我们交流比较多。我现在一直在使用他的SDK,在这里对他说一声谢谢,非常好用。我也经常看林宣名老师的B站视频,一直给他点赞。还有白兴强老师,最开始给予了我很多帮助,现在他在努力完善FISCO BCOS v3.0,经常会给我分享最新的进展。
7、您怎么理解MVP?未来在参与社区建设方面是否有进一步的计划,对社区还有哪些期待?
我觉得既然已经是MVP,就要承担起自己的责任。在我看来分两部分,一是继续在自己的工作上推动FISCO BCOS的使用和落地,真正为社区贡献有价值的优良案例;二是在这个基础上,在社区中分享自己在这些案例中遇到的坑和有价值的想法,写成文章或者直接开源repo,供大家参考和借鉴。
我对社区最大的期待还是v3.0正式版的完善,因为现在自己手上的项目都还落在v2.8.0这个版本,迫不及待想在下一个项目上直接上v3.0,看看整体的效果如何。