“小米的雷军是我的偶像。他在金山工作时就一直兢兢业业,40多岁的时候创办小米,每天12点之后才下班,完全是一副劳模的形象”,周迅说道。
周迅,现任EKT项目CEO,负责该项目的设计和对外宣传工作。曾在大学时代主修软件工程,毕业后进入互联网公司工作,从去年起开始all in区块链。
耳朵财经近期采访了这位90后创业者,听他讲述了在创办EKT项目过程中的一些感悟和体会。
/1/
做公链?先加班
眼前的周迅看上去十分疲惫。深陷的眼圈和满脸的倦容居然让这位90后出身的工程师有了一丝苍老之态。为了保证EKT的主网能如期上线,他已经和团队成员连续奋战了几个月。
当耳朵财经记者来到公司前台时,已是周末晚上八点——这个时间,大厦内静悄悄的,很多人此时应该已坐上回家的地铁,或和朋友相约于某个饭店,而周迅还在和一旁的同事商量着各种事宜。通过频繁的手势和来回走动的身影可以看到,他们每天的工作节奏有多快。
“几乎每天都加班”,作为项目的负责人之一,周迅每天都忙的不可开交,并对这种工作状态习以为常。自去年公司打算做一条公链之后,他和其余几名技术人员开始了漫长的征程:由最初的方案设计到中间的技术架构搭建,每一步都浸透了工作人员的汗水。
日子虽然苦了些,但每个人都十分卖力。在长达几百个日日夜夜里,他们陆陆续续克服了大量技术难题。其中,令周迅印象最为深刻的是节点出块权限的归属权问题。
“当轮到某一节点打包区块时,如果该区块发生漏包现象,那么当二分之一个出块周期过去以后,下一个节点和下下一个节点可能就会认为自己都有打包权限,并发生同时出块的现象。这时,整个链条就会发生短暂的分叉现象”。
团队成员围绕该问题设计了大量的方案,据周迅回忆,他们还曾用到数学中最常见的数轴,试图以几何方法解决这个难题,不过最终还是选择研发了一套自己的算法。利用这套算法,周迅介绍,区块完成共识仅仅需要三秒的时间,也就是一个区块生成的时间,而比特币和其他很多加密货币都需要至少6个区块的生成时间来避免分叉。
高效和技术团队实力密不可分。谈及团队背景的时候,这位腼腆、内敛的程序员一改最初低沉的声调,连面部表情也变得丰富起来。
“我们的CTO和两个技术合伙人都有着一二十年的开发经验,他们负责过的WPS项目光代码就有不下2000万行,而以太坊的代码也不过只有20万行。他们可以帮助我们避开一些技术误区,让我们更迅速地实现既定目标”。
周迅肯定了团队的技术水平,他对自己在项目中的定位则是“系统的设计者”。
/2/
多链多共识,一链一主币
“95%的区块链项目会死掉”。
包括追梦者基金朱波、打车链创始人陈伟星等多名圈内大佬都曾说过或转发过类似的话。目前来看,这一预言似乎是真的,数据就摆在那里。
据统计,在coinmark上有记录的token已达到8000多种。在区块链刚刚兴起的09年,就有很多与比特币类似的区块链项目启动,但是将近九年过去后的今天,这些区块链项目中,真正留下来还有价值投资的项目,已经没有几个。
不过,即便星途暗淡,区块链项目的增长依然近乎疯狂。2018更是号称公链元年,以太坊、EOS、BTM......各类公链层出不穷,几乎每天都能听到哪个项目方又要发公链的消息。
相比那些“会死掉的95%”,周迅对市场的预期要更悲观,不过,他对EKT有信心。
“多链多共识,一链一主币”,一言以概之,这就是EKT在做的事。具体来说,EKT改变了以往公链币链合一的架构,将这两者做了拆分,分为Token链和DApp链。前者采用多链机制,每条链都可以根据自己的需要设计相应的共识机制,如PoW、PoS、DPoS等等。而后者则依旧采用单链机制,只能使用DPoS作为自己的共识机制。
这样做的用意是什么呢?
原来,单条链的性能往往是固定的,为了使其性能得到提升、以适应大规模商用的需要,市场上出现了大量的扩容方案,比较流行的包括针对比特币的侧链、V神提出的以太坊分片技术等。但要想掌握侧链技术,开发者需了解比特币的整套技术架构,这个过程并不容易。而以太坊的分片技术其实是以用户为维度作为切分,将其分散在一个个数据孤岛内,当各孤岛用户彼此之间需要发生交换时,就很容易产生双花问题。基于对这两者的考虑,EKT另辟蹊径,选择了以token为维度进行切分,这样,就能同时避免上述两种麻烦,同时由于链的无限延展性,EKT的性能理论上也是无限延展的。
目前,国内很多公链都在努力将提高区块链的TPS(性能参数)作为产品重要的亮点进行宣传。但经典的“不可三角”问题往往就在此时跳将出来,让他们难以自圆其说。EKT也不得不正视这个问题。
据此,周迅的看法是,去中心化最重要的是避免单一节点作恶,而不是完全地去中心化。也正是基于这个考量,EKT采用了DPoS共识算法,以牺牲部分去中心化的代价,尽量做到了安全、高效和去中心化三者的有机统一。接下来,EKT会筛选51个超级节点,负责整个系统的日常维护工作。
然而,token链的高效、安全并不是EKT的最大亮点,周迅强调,DApp链才是这条公链上真正的主角。
/3/
EKT的革新:Token链与DApp链的分离
“如果仅仅是想发个代币的话,直接使用ERC20就可以了”。
周迅认为,公链的设计最关键是能否为DApp开发者打造更加安全、易用、高效的基础设施环境。而现有的很多公链,其功能实际上并未超越以太坊,虽说是公链,但其实都是在造别人已经造好的轮子。
为了改变这种现状,EKT做出了完全不同的解决方案。
首先是gas费问题的解决。熟悉以太坊的人知道,用户调用以太坊上的智能合约是需要支付一定的gas费的,gas费越高,矿工就会更乐意优先打包你的区块。前不久比较火的加密猫游戏一度导致以太坊网络限于瘫痪,而用户由此支付的gas费用也在短期内出现大幅上升,曾有报道称以太坊的dApps在24小时内收入达750万美元。周迅认为,由用户来支付gas费是不合理的,因此,由他设计的EKT系统是不需要用户来支付gas费的,相关费用由DApp开发者承担。
“一定程度上,我们借鉴了EOS对用户免gas费的做法。不过要注意,EOS这种通过每个区块对委托人节点进行奖励的方式来实现对委托人节点的奖励实际上是一种通胀,对用户不友好。我们采取的做法是转账收少量的手续费,对于特别复杂的dapp,需要开发者抵押EKT,用户在调用事件的时候计算gas费用,最终,计算出来的gas费用从开发者的账户中扣除。”
那么开发者无力支付gas费用抵押该怎么办?周迅透露了基金会对开发者社区的投资计划,这样不仅减少了用户的经济负担、增加了产品的用户粘性,同时又为DApp开发者提供了一笔创业资金,让他们得以安心开发App,不用再每天为融资着急。
此外,作为项目方的投资者,基金会或超级节点是会持有对方一定数量的代币的,“如果DApp发展的好,我们会继续往里投钱。如果不好,我们前期投的数量也很有限,不至于亏损太多”。
其次是编程语言的设计。为了方便初期开发者操作,EKT目前仍然选择支持受众更广的Java、Python和NodeJS三种编程语言。但为了避免编程语言版本更迭造成系统不兼容的情况发生,EKT团队专门研发了一款叫做AWM的智能合约开发语言,后期会对DApp开发者开放。
/4/
EKT=½BTC+½ETH?
比特币成立之初,当时还没有封神的以太坊创始人Vitalik Buterin曾和其创始人中本聪在论坛上有过几次激烈的交锋。
Vitalik曾建议比特币加入图灵完备的语言以扩展比特币的功能,但中本聪认为token系统支持的功能越多,出现bug的可能就越大,因此果断对该提议投了反对票。其实,反观中本聪的思虑,确实有其高瞻远瞩的一面。以太坊和其他区块链系统频频爆出的漏洞和黑客袭击事件就证明了这一点。
但区块链终究要向前发展,EKT首创的token链和DApp链分离的体系便很好地中和了二人的意见。
如果中本聪和V神看到,二人会不会就此握手言和?
作者 | 永赞
编辑 | 沁雨
【往期推荐】
(点击文字浏览往期精彩内容)
爆料、寻求报道联系沁雨(微信:Miss_qinyu)
商务合作联系大宝(微信:onetyl)
开白联系多多(微信:kaximoduod)
加耳朵君进社群
玩转区块链
聆听区块链的声音
--- 耳朵财经 ---
---- end ---