王志坚: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

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

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

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

相关推荐

那么问题来了“啥是纳世?”

那么问题来了“啥是纳世?”

我们很高兴地告诉大家,NULS已经拥有了正式的中文名——"纳世链"!NULS项目于2017年9月27日成立,至今已超过1年时间,NULS广大的社区成员一起见证了NULS的成长与壮大,并致力于布道区块链技术,推广NULS项目,在此过程中,特别在NULS中文社区,因为NULS一直没有正式的中文名,造成了市场宣传和运营过程中的一些困扰。近日NULS发布了NIP提案操作规范,借此机会,社区成员@堇此而己、

【工信部赛迪研究院】纳世链稳居赛迪全球公有链技术评估第六名

【工信部赛迪研究院】纳世链稳居赛迪全球公有链技术评估第六名

今天上午,工信部旗下赛迪研究院发布了第9期赛迪全球公有链技术评估指数,这也是2019年的首期指数。在综合指数排名中纳世链(NULS)稳居第六名。近期,纳世链(NULS)发布了基于微服务的NULS2.0全新架构,其中NULS2.0的核心NULSTAR更是一个区块链微服务底层框架,纳世引领全球公有链技术创新和产品迭代升级,并保持着极其活跃的发展态势。关于NULS2.0纳世链主网在2018年7月正式完成

关于测试网更新至v1.1.7-beta1 版本的公告

关于测试网更新至v1.1.7-beta1 版本的公告

致亲爱的NULS社区成员: 我们已经在1月15日17:00(GMT+8)推出了NULS测试网v1.1.7beta1版本。为充分测试NULS测试网络的安全稳定性及使用体验,请所有的节点和全节点钱包尽快进行测试网版本升级。更新日志: 修复通过任务栏右键退出程序,可能导致再次启动时卡块的问题 新增一个根据交易hash,获取交易的序列化信息的接口http://127.0.0.1:8001/api/tx/b

在这里了解NULS∣NULS全新文档库网站上线

在这里了解NULS∣NULS全新文档库网站上线

经过一段时间的梳理与归纳,我们对NULS文档库网站进行了全新的改版与升级,并于最近正式上线新版文档库网站(中&英)docs.nuls.io ,目前已经可以访问,并适配了手机端。NULS文档库是NULS所有重要文档的合集,本次更新的栏目包括: NULS项目总览 了解NULS是什么,NULS可以做什么,以及如何在NULS社区做贡献(加入主网开发、报告错误、编写文档、翻译文档等)。 用户操作指

微学堂∣一分钟掌握NULS钱包客户端投票技巧

微学堂∣一分钟掌握NULS钱包客户端投票技巧

一分钟掌握客户端投票技巧1.打开NULS钱包客户端,查找合约:输入合约地址(NseQih5xZa6vAWsL6uY5drozyW4tqzQx)并访问。2.点击调用该合约方法——"Vote"(投票)3.voteId=4(代表纳世链中文名投票合约),itemIds代表选项,1=支持,2=反对,填写内容并点击"调用"即成功完成投票。更多问题,可在公众号会话窗口留言,或添加微信号:nulsio,进行咨询。

那些让NULS更强大的人∣NULS社区2018年第四季度杰出贡献人物征集

那些让NULS更强大的人∣NULS社区2018年第四季度杰出贡献人物征集

2018你的陪伴,让NULS更强大;你的付出,让NULS更完美;你的支持,让NULS更自信;让区块链更简单,不是件简单的事;2019我们期待继续和你一起,携手共进,实现美好愿景!NULS社区2018第四季度杰出贡献人物评选你会是那个可爱又勤奋的"劳模"吗?NULS社区在2018年已经连续进行了三个季度的社区杰出贡献人物评选,NULS社区通过每个季度的杰出贡献人物评选,对为NULS付出过的成员表示感

重要∣NIP1_NIP的目的和指导(公示) NCG20181227

重要∣NIP1_NIP的目的和指导(公示) NCG20181227

NIP:1标题: NIP的目的和指导状态: 公示类型: 流程作者: 杨霖 <lin@nuls.io>创建日期:2018/12/27什么是NIP?NIP代表NULS改善提案。 NIP是一个设计文档,用于向NULS社区提供信息,描述NULS相关的改善流程或新功能。 NIP作者负责在社区内建立共识并记录不同意见。NIP产生的理由 我们希望NIP成为提出新功能、收集社区技术意见以及记录NULS

比特币有什么缺点?

1.交易平台的脆弱性。比特币网络很健壮,但比特币交易平台很脆弱。交易平台通常是一个网站,而网站会遭到黑客攻击,或者遭到主管部门的关闭。2.交易确认时间长。比特币钱包初次安装时,会消耗大量时间下载历史交易数据块。而比特币交易时,为了确认数据准确性,会消耗一些时间,与p2p网络进行交互,得到全网确认后,交易才算完成。3.价格波动极大。由于大量炒家介入,导致比特币兑换现金的价格如过山车一般起伏。使得比

麦妖榜
更新日期 2019-07-22
排名用户贡献值
1BitettFan24106
2等待的宿命23810
3牛市来了22238
4六叶树20309
5区块大康19383
6linjm122717663
7天下无双16192
8lizhen00215252
9让时间淡忘14484
10冷风大q11188
返回顶部 ↑