王志坚:NULS核心技术团队的故事

官方新闻 Sakura 2019-01-24 18:40:40  阅读 -评论 0

王志坚(Niels)分享实录:

大家好,我是纳世链NULS)核心团队技术与产品部负责人王志坚。很高兴可以在这里给大家分享一些纳世技术团队的故事和近况。

首先给大家说一说纳世技术团队最开始的情况,纳世技术团队成型时间应该是2017年9月3日左右,相信为什么是这个时间大家也清楚。纳世团队的目标一直都是很清晰的,白皮书中也写到了,就是让区块链更简单,让更多的企业、开发者加入到区块链行业建设中来。有感于区块链开发的门槛过高问题,我们发起了这样一个致力于区块链底层技术的项目。

最初的底层技术团队人数有限。包括杨霖、张星张十刀、周维英文名叫Vivi(总被外国社区的朋友误会为女孩)。我们四个人都有差不多10年的软件开发经验,所以一开始的时候我们的心其实是很大的。区块链是个创新的产物,而这个产物本身还并不十分完善,无论性能、安全性、治理机制等等都还有非常大的成长空间,我们团队成立之初做了非常大胆的设计,在底层细节上做了不少想当然的设计,这也直接导致后期踩了一些坑,后面如果时间充足我会具体说一说哪些坑。

这个时期的技术团队是非常美好的,每个人都有梦想,有实现梦想的勇气。每天的工作就是完善纳世链的设计,偶尔想出一个个主意,可以节省几个字节,可以减少一次网络交互,解决一个安全漏洞,这都让人非常振奋,哪怕当时已经工作到了凌晨,也没有人觉得有多累,那是个充满创造力的时期。

我们的编码工作是从2017年9月底开始的,Nuls-io的Github账号应该是9月27号创建的,第一次提交代码的时候绝没有想到,后续的几个月,我们会陷入到如此昏天暗地的开发工作中。哪怕现在回头看,我依然难以想象自己是如何累计添加删除了四十几万行代码的,用一个词来形容这段时间工作状态就是不堪回首。之前网络上有个说法,越是努力工作的人越胖,本来是嗤之以鼻的,直到自己天天加班加出来10公斤肥肉才知道空穴来风非是无因。

最开始接触社区还是受到红色蚂蚁的影响,一个不符合加班长胖说法的人,他是个越努力工作越瘦的家伙,以社区化为信仰的区块链老鸟。他总是让我们多和社区中的成员们沟通,当时技术部的几个人中十刀的英语水平最好,他也有实力,所以闯出了张十刀的赫赫威名。通过蚂蚁和十刀,我们和社区保持了密切的沟通,在最艰苦的日子里,社区中的伙伴给了技术团队非常大的动力,直至今日团队依然觉得社区就是纳世链最宝贵的财富。

前面说过在最初的设计中存在一些大坑,时光荏苒,来到了需要填坑的日子。虽然底层团队在18年初又加入了Pierre Luo、Charlie Li两个非常优秀的成员,也有更多小伙伴在设计、开发、测试纳世相关的产品,但是我们依然没能在预计的测试网上线时间之前从坑里爬出来,这对当时的我们,一群大部分没有做过社区化开源项目的人打击非常之大。在临近预计上线时间的前两天,整个团队都在加班,但已经不是在做修复、优化等事情了,而是在做减法,想要自己从最初挖的坑里爬出来,最后还是杨霖提议,既然有没做好的地方,那么就不能简单的把有问题的部分去掉而上线,我们不是为了上线而上线,也不是在按时完成上线的任务,我们是为了做一个好的区块链基础设施。

第一次上线测试网推迟后,所有人心里都憋了一口闷气,不吐不快。纳世也迎来了第一次重构,既然说到这里,我就说一下最初我们挖的几个印象深刻的坑。

首先重构的第一块,数据存储部分。最初设计时,我们的目标是做底层基础设施,考虑到做应用的便利性,我们在底层支持了关系型数据存储,虽然在实现前的调研阶段做了基础的性能测试,但实现之后发现前期测试的复杂度远远不够,在真实场景存在较大的瓶颈,极大地限制了网络的稳定性和性能,整个数据存储层的替换,给纳世带来了非常大的影响,事实证明前人的经验,是没那么容易突破的。

再就是共识方面的重构部分,在区块链中区块的同步逻辑是非常重要的,针对这一点我们做了几个非常大胆的优化,在实现后内部测试情况也非常乐观,但是上线前不久,在公网的复杂环境测试时,暴露出了一些奇葩问题,团队每天为了排查这些问题搞得焦头烂额,却依然不能在稳定性上取得实质性进展,看着上线日期一天天临近,内心也是十分的煎熬。

还有一个非常重要的重构点,最开始我们做底层编码时,原则是尽量不使用大型的、比较重的组件,所以P2P网络的搭建我们完全基于JAVA底层重新开发,后面证明也这是一个非常大的坑,因为JAVA的网络层封装非常复杂,我们花在上面的时间和精力非常多,但却总是有非常多的奇葩问题,稳定性总是达不到要求。又考虑到上线日期临近,下不了决心大改,可以说是一次死去活来。

上线推迟之后,技术团队做了非常深刻的总结,对设计做了非常多的优化,借着每个人胸中的闷气,拿出了非常大的战斗力。后面的事情大家都知道,经过这次痛定思痛,技术团队更加成熟,后续的测试网成功上线,并持续优化直到主网上线。

还有一件重要的事情,就是智能合约上线推迟事件了,这件事促进了技术团队规范发版流程,加大重视测试网络的决心,目前虽然取得一定的成绩,但测试网节点数量依然不够,后续还会陆续提出一些鼓励测试网络维护的机制,避免出现像智能合约第一次上线时,因为测试环境复杂度不够而导致升级失败的情况。

接下来我要说一说社区,尤其是技术社区。在纳世链主网发布会上,CEO Liesa 强调了全球社区的重要性,也有多位外国社区的伙伴发表了演讲。从技术团队的角度来说,我们积极拥抱社区,尤其是技术社区。我们修改了NULS 2.0 的技术架构,在新的架构中,以技术社区成员Berzeck提出的NULSTAR为底层架构,以多语言模块化为核心理念,降低技术门槛,欢迎所有有识之士加入到纳世的建设中来。当前的纳世技术社区还处于发展的初始阶段,未来还有很长的路要走。

在纳世核心技术团队中,我们有一套类似于NIP的社区化提案机制。团队中成立一个制度改革小组,小组的初始成员由全员投票产生,后续加入可以通过提交提案的方式。加入制度改革小组的成员随时可以自愿退出小组,所有团队中的成员都可以通过提案的方式进入制度改革小组,提案的内容不进行硬性限制,大到运行制度、奖惩机制、工作流程,小到团队买什么零食,举行什么活动都可以进行提案。这一套社区化的运行机制,是纳世核心技术团队为未来更深入的接入技术社区而做的尝试,只有社区的强大才是纳世真正强大。

最近社区中有很多人讨论纳世链网络DAPP的问题,到目前为止确实没有开发出来很好的DAPP,这个技术团队有很大责任,主要是相关指导文档不足,很多想开发的小伙伴不知如何上手,也有很多小伙伴上手后总是需要团队的指导才能继续,还有一些开发者在开发一些依赖于随机数的游戏,本来都要上线了,但因为之前EOS交易排挤攻击而引发了对随机算法的担忧而推迟,针对这些问题,我们做了规划。从文档方面来说,我们梳理了所有欠缺的文档,开启了文档补充工作;从应用开发方面来说,技术团队的成员会利用空余时间开发一些简单的多样的应用示例,用来给应用开发者做指导和思路拓展,技术团队也在和技术社区一起,开发一些支撑应用开发的工具,比如多语言sdk、界面工具包等等,会努力让生态发展尽可能的均衡、长久、健壮。

纳世技术团队时刻关注行业动态,吸收对纳世发展有益的思路,比如这次我们在社区发起了《关于"纳世链主网在底层支持随机数的协议升级"提案申请》。实际上提案中的内容在技术团队内部已经持续讨论了很长时间了,吃饭聊天都在讨论,可以说是群策群力出来的一个解决方案。就在昨天早上,我们在论坛发起了本提案的讨论,引来了一些社区伙伴和技术社区成员的参与,有很多人质疑为什么要把这样专业的技术型提案发给全社区来讨论,我在这里说一下我的想法。纳世从成立之初,就把自己定义为一个全球性的开源的区块链项目,开放、共享是我们的核心理念,所以我们积极拥抱社区,愿意和社区一起成长,项目的发展方向,从来都不应该由核心团队一言表决,哪怕社区的能力还有待提高,我们可以等待和陪伴社区成长,但绝不会放弃。

临近分享的尾声,我再说一下当前技术团队在忙些什么。目前技术团队最重要的工作就是NULS2.0的开发和调试,虽然在主网上线后技术团队又有新的成员加入,但因为 NULS2.0的设计引入NULSTAR做了非常大的变动,当前团队内只能实现一个简单的替代品来整合所有业务模块,目前的进度是正在进行区块链底层业务模块间的联调。NULS2.0以外技术团队重新设计了浏览器和钱包及轻钱包,重新设计了API服务,目前浏览器已处于调试节点,预计不久后就会上线新版的测试网浏览器。此外文档整理和编写工作也在进行中,对主网的问题维护也从没有停歇,在纳世链产品化上也花了非常多的精力。DAPP开发上相信不久就会有一些游戏和工具可以提供给社区了。值得一提的是一位来自法国技术社区的小伙伴Moshe,在今天凌晨发布了一款桌面版的NULS轻钱包0.9.1版,使用起来轻快、方便,有需要的朋友可以下载体验。https://github.com/CCC-NULS/nytro-wallet/releases

技术团队欢迎全社区的成员与我们沟通交流,很开心今天可以通过这个渠道给大家分享我们团队的故事,比较遗憾的是今天并没有做一些单纯的技术内容分享,相信后面还会有这样的机会的。大家有任何技术方面的困惑与想法,也都可以反馈给我们。感谢大家花费宝贵时间来听我们的故事,今天的分享就到这里了,谢谢大家。

声明:链世界登载此文仅出于分享区块链知识,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。此文如侵犯到您的合法权益,请联系我们kefu@lianshijie.com

参与讨论 (0 人参与讨论)

相关推荐

从Web2到Web3:需要哪些技术改进?

与Web2相比,Web3更难定义。在2019年,仍在开发或改进使Web3体验对最终用户切实可行的许多技术。尽管取得了成功,但Web3应用程序的采用仍远远落后于Web2。话虽这么说,非技术用户通常不像Web2选项那样可访问Web3界面。

PAI Care 技术和解决方案介绍

PAI Care 技术和解决方案介绍

本文介绍了PAI Care的解决方案和应用场景,欢迎大家查看并提出宝贵建议。我们非常期待PAI Care的技术和解决方案能够应用于全球抗击新型冠状病毒肺炎(2019-nCov)的战役中,欢迎大家与我们联系并合作。您可以通过给我们的微信公众号留言或者email 联系ObEN(contact@oben.com)获取更多PAI Care的信息并与我们合作。来源:PAI

SWFT Blockchain 新增支持 NULS 聚合交易

SWFT Blockchain 新增支持 NULS 聚合交易

SWFT Blockchain 聚合交易新增支持 NULS/USDT、NULS/BTC、NULS/ETH,聚合 NULS 在币安、火币、OKEx三大交易所的深度!此外,SWFT 已支持一键购买 NULS,200余种币与 NULS 一键闪兑,发 NULS 红包,用 NULS 支付等功能。

以太坊基础设施团队 Nimbus 正在试验移动端以太坊 2.0 测试网

以太坊基础设施团队 Nimbus 正在试验移动端以太坊 2.0 测试网

区块律动 BlockBeats 消息,2 月 5 日,以太坊基础设施团队 Nimbus 的成员 Mamy Ratsimbazafy 在推特发布消息称,团队正在尝试通过移动端运行以太坊 2.0 测试网,从推文来看,测试使用的设备仅为几台智能手机。

Telegram Open Network 发布技术白皮书,推出Catchain 共识

区块律动 BlockBeats 消息,周三即时通讯巨头 Telegram 披露了更新后的 TON 区块链细节。Telegram 目前正因 17 亿美元的代币交易而面临美国证券交易委员会 的法律诉讼。去年,Telegram 被美国证券交易委员会 起诉。

如果早点使用区块链技术,疫情不会是今天这样
Cosmos CEO离职背后的真实故事

Cosmos CEO离职背后的真实故事

在他的极力说明下,离职一事只是在进行,并没有落下帷幕,而 Cosmos 也在正常运行轨道上。在此次离职风波前,Jae Kwon 的身份是 Tendermint 联合创

麦妖榜
更新日期 2019-09-03
排名用户贡献值
1牛市来了30910
2BitettFan24187
3等待的宿命23810
4区块大康20369
5六叶树20310
6linjm122719429
7天下无双16192
8lizhen00215280
9让时间淡忘14586
10yelanyi050511349
返回顶部 ↑