对开发者友好,能加速应用的布置,让更多的人参与到区块链的生态里。ArcBlock(区块基石)是投身于其中的项目之一,目标是通过服务平台降低区块链技术开发和应用所面临的门槛。丁磊站台的光环,让它一面世就叠加上厚重的期待,同样也承受了更多的审视。
近日,区块链捕手采访了ArcBlock的CEO冒志鸿,江湖人称「老冒」的他最近被概括了之前的「幸运」:「做聊天软件比马化腾早半年,做休闲游戏比联众早半年,做SNS比Facebook早半年」,但这是质疑者口中的一无所成,还是支持者认为的洞察趋势、大器晚成?我们把这些疑惑都抛给了老冒,不论他回答得是否合格,都称得上是坦诚的回应。
此外,他将区块链性能瓶颈的解决之道、未来的可能性等,用数据库的发展沿革进行了形象的对比,相信能给你启发。
image1
团队去中心
区块链捕手:****我们听到不少质疑的声音,认为您之前的项目都不算成功,匆匆转入区块链行业,实际情况是怎样的?
冒志鸿:实际上,我在2009年就接触到比特币,为了验证这个新事物还去挖了矿。但当时没有觉得数字货币有很大价值,后来自己把硬盘格式化掉了。
到2014年,我才开始深入看区块链技术,原因有两个:一是那时从微软离开准备创业,发现硅谷很多人在谈论区块链;另外一个原因是看到之前我们团队里的明星员工Flavien,他离开微软后做了基于比特币的「染色币」项目。这些促使我认真去看区块链,但站在那个时间点,我总觉得它还是件比较遥远的事,不知道立刻能干什么,但在认知上达到一个跟现在比较接近的程度。
2016年,我们在做一个叫知识网络的项目时遇到一些现实问题,如何在多个不同的组织之间,有效率地让各个用户、组织去分享知识。当时的直观想法认为,这太适合用区块链去解决激励的问题。但落到实处时,我们发现问题太多了。
区块链捕手:当时遇到了哪些具体问题?
冒志鸿:首先,第一个问题是选择困难。很多开发者不知道怎么选择,该用以太坊还是比特币体系,怎么做这个判断;第二个问题是,当真正要做开发时就会发现工具很缺乏,网上的讨论、资料大都是过时的信息,新的内容又没有权威性的观点,很难入手。整个开发环境非常早期,所以我们干脆自己做了一些基础的框架。
到2017年,我发现身边很多人在做和区块链相关的事情。在和他们交流中,发现所有人都遇到了类似问题,不知道如何下手,缺乏工具并且性能低下,这时我们的框架思路能对其他人有启发,也确实得到了他们的认可。
当时也有VC给了我们一些很好的建议,觉得我们可以把重心放在搭建区块链的框架,这是我们在2017年做的一个重要调整。
区块链捕手:ArcBlock进入大众视野,很大一部分原因是丁磊站台。但大佬站台能起到多少实质作用,对此很多人还是持怀疑态度。
冒志鸿:当时是丁磊主动找到我们要投资。我在白皮书写得差不多时,找了一些业内人帮忙提意见。丁磊找到我的时候,已经通过其它渠道看过我们的白皮书了,显然他对里面写的内容也比较有触动。
但我之前从没打算去找丁磊融资,原因很简单,第一是我跟丁磊很熟,知道他极少投资别的项目;第二是我觉得网易是大公司,区块链方向在当时来看跟它也不匹配。实际上,丁磊也在项目发展中起到了顾问的作用。
区块链捕手:您跟丁磊交流得多吗?
冒志鸿:如今我回国时也常跟丁磊见面,上次把他投资的币放在硬件钱包里交接给他,也发了照片在网上。其余时间我们偶尔微信沟通,遇到问题也会咨询他。比如之前被质疑我们的顾问丁磊是网易的丁磊还是另外一个硅谷的丁磊,会有声音质疑我们误导公众。我们也希望丁磊能发声澄清,但他经历过很多类似的事,告诉我们不去评论谣言,不在意别人的猜测,谣言会不攻自破。
区块链捕手:我们在领英看到作为ArcBlock重要成员之一的Flavien还有很多项目在做,主要身份还是另一家公司的CTO,那么他究竟在ArcBlock中扮演什么角色?是否还有精力带领团队?
冒志鸿:他在ArcBlock的职位是首席科学家,而不是CTO或VP,因为他干的是科学家的事,不会管工程方面。我们双方都比较了解,Flavien至少在参与四个项目,从某种角度说,他是个技术天才,而从把项目做到工程化的角度来说,他不是最合适的人选。
但我认为在区块链时代,最重要的是因人而用,公司真的有必要变成一个中心化的管理形式吗?对于合适的人,他用合理的方式给项目做支持就足够了。Flavien在帮我们解决一些很关键的架构问题、Token经济的设计问题时都发挥了重要作用,我们也因此借鉴了染色币里很多好的Token体系。
即使在区块链领域,Flavien也不仅仅只做了染色币,他可能还会折腾很多次,ArcBlock不会是他最后一个项目,他现在担任CTO的项目也不会是最后一个。
区块链捕手:所以你们现在的团队是怎样分布和协作的?
冒志鸿:之前团队其实分散在爱尔兰、波兰、西雅图等不同地方,后来我们做了比较大的调整,国内的团队集中在北京或上海,美国的团队集中在西雅图。
另外,我们有一个非常核心的想法,希望真正身体力行建立一个去中心化的团队。比如之前有公司希望和我们合作,想做我们的外包服务商,或拿我们的投资,但我们换了一个思路谈,如果我们拿自己的代币ABT投他们团队,同时也得到他们的Token,然后一起做相关的事,最后因为大家的利益都相同,就真的能实现接近于融为一体。
我们在众筹时除了ETH,也接受CMT的Token,同时我们还奖励CMT给帮助过我们的核心员工,在这个过程中双方的感受都非常好。也许在将来,尤其是区块链公司之间的合作真的会变成这样一个状态——大家不需要签合同,不需要做外包,而是通过Token建立一个既松散又紧密、良性充满激励的生态。
技术之外,在社区、市场的建设上我们也打算做这样的尝试,比如以后不一定每次都是我去外面布道,如果有一个认同我们的理念,又擅长演讲的人就可以到外面去布道,只要他是我们ABT的持有者,我连工资都不用发,或者只发ABT就好。我觉得在未来区块链行业,这种方式会很具有革命性。
2
解决痛点
区块链捕手:我们理解的ArcBlock是要帮开发者通过一套代码,实现适配多种主链。但是对于开发者来说,他们真有这样的需求吗?
冒志鸿:在我的认识中,区块链就好比是一个数据库,现在几乎99%的互联网应用都用到了数据库,但用户根本感受不到。将来区块链有相当大的可能性也是这样的,我使用的程序其实由数据库支撑,但我并不知道它的存在,甚至也不需要知道地址和钱包。
对于认真做开发的人来说不一定有多链开发的需求,但他会不愿意被一种链的技术锁定。比如,用以太坊还是EOS,这在开发思路和做法上完全不一样,如果开发者将来想换成其它链,那以前做的大部分代码都要重来。
我们愿意相信以太坊或者其它公链可以成长起来,我们定义出一个比较好的架构和开发协议,相当于有了一个隔离层,安全的隔离开某一个具体链的技术和最终的应用。以后换一条链,或更换某个关键部件,都会是平滑过渡的。没有任何一个程序员愿意把自己绑定在某一个技术上,因为风险会很高。
区块链捕手:但从另一个角度来说,让开发者都用ArcBlock的技术不也是一种「平台锁定」?
冒志鸿:不锁定任何东西是不可能的,但我们如今相当于锁定在Java上,总好过锁定在8086的汇编上。我们要做开放链访问协议,目标是把这个协议贡献出去,变成一个开源的项目,让很多不同的链可以上去,确实是锁定了一个开发链协议,但并没有锁定任何一个公链厂商。
区块链捕手:那么对于一个有基础的开发者,需要多长时间可以完成对ArcBlock的学习?
冒志鸿:其实对于像以太坊等公链的学习,大家觉得难的原因,一方面是被神秘化了,另一方面是权威的资料不多。如果建立了一个非常好的学习路径,那么开发者最多几个星期就可以比较熟练地在以太坊上进行应用开发。如果要做底层开发,在有网络协议基础的情况下,同样一两个星期也可以上手。
我们ArcBlock的目标也是让开发者可以在1-2星期内通过Blocklet层开发应用,它是我们设计的一个框架,框架里包含我们认可的组件。当用一个好的框架开发应用时,几乎没有学习成本,很快就能做出应用,但这不代表你真的懂了。
区块链捕手:另外一个痛点是性能低下,通过ArcBlock开发应用,最后还要搭载在公链上,是否还是要受公链性能的影响?
冒志鸿:我第一次接触以太坊时对它有误解,觉得它的口号是要做世界的计算机,那性能应该很强,但现状却是性能很差。
如果把区块链按数据库的地位理解,就会想到在目前的应用里,性能的瓶颈大部分也是在数据库。但像淘宝这种数据极为密集的电商系统也可以产生高性能的并发,原因在于系统架构使得这个瓶颈不需要发生在所有操作上。现在有一系列操作可以缓解数据库部件性能不足的问题,比如通过架构、缓存,或者数据库分片等。
所以在区块链的应用里,如果架构做对了,链本身的性能即使差一些也不是致命的问题。我个人认为,EOS说的100万TPS在今天的技术上很可能是实现不了的,就连在理论上今天的设备可能都做不到,但这并不意味着其上层应用做不到高的TPS。
举个例子,现在数据库大部分应用都是读,所以写的瓶颈不会影响读,除非应用里的每一个动作都需要在公链上进行写的操作,否则不需要公链支持那么高的TPS。
区块链捕手:ArcBlock进入大众视野,很大一部分原因是丁磊站台。但大佬站台能起到多少实质作用,对此很多人还是持怀疑态度。
冒志鸿:当时是丁磊主动找到我们要投资。我在白皮书写得差不多时,找了一些业内人帮忙提意见。丁磊找到我的时候,已经通过其它渠道看过我们的白皮书了,显然他对里面写的内容也比较有触动。
但我之前从没打算去找丁磊融资,原因很简单,第一是我跟丁磊很熟,知道他极少投资别的项目;第二是我觉得网易是大公司,区块链方向在当时来看跟它也不匹配。实际上,丁磊也在项目发展中起到了顾问的作用。
区块链捕手:但ArcBlock可以替公链承载应用产生的高TPS吗?
冒志鸿:在ArcBlock的架构里,Blocklet的本质是一个微服务架构,而且性能很高。举个例子,假设用ArcBlock的方法来实现以太猫,可能在以太坊上承载的只有ERC721,即以太猫DNA的部分,其余所有信息都可以放在链外Blocklet层计算,速度非常快。
以太猫也不是即时性应用,如果数据上链的过程慢一些,可以有一个排队,但在用户端的体验感受会非常快,高并发的计算也不会对链构成冲击。所以即使今天的以太坊性能比较差,但如果架构设计的好,用户体验不一定很差,也不会导致整个系统的功能出问题。
区块链捕手:但底层公链为什么会同意应用通过ArcBlock开发然后搭载在它们上面?
冒志鸿:每个链如果可以开发应用,都会有自己的接口,我们定义的一个抽象的接口,不需要经过它们的同意。适配器相当于从其它链的接口到我们的接口之间做一个转换,这个转换的过程可能会丢失信息和能力,所以我们的开放链访问协议要设计成三层。
第一层是最基础的,所有链都可以支持;第二层我们完全不考虑具体的链能提供什么,而是站在抽象链的角度要支持哪些必要的功能;第三层是试图支持原生链,避免我们用了链访问协议后,彻底丢失了原生链比较好的特性。这个分层的设计参考了ODBC,它们最早定义了这种架构,从最基础、到增强型,再到彻底原生的架构。当然,用到的层数越低,代码的可移植性就越好,到了第三层就不能够迁移。
区块链捕手:使用ArcBlock开发的应用,用户其实是不知道底层在哪条链上?
冒志鸿:我认为未来好的应用,用户端是感受不到底层是哪条链,他们用的就是一个至少应该达到现在主流体验水平的APP。同样发生迁移的时候,就像互联网公司迁移数据库,用户端不会有察觉。
这个问题可以聊到DAPP的核心在于不同APP之间能够通过Token形成APP之间的协作,而不是说用了区块链就是DAPP,这是个巨大的认知差别。
就像去中心化和中心化,大家有很多不同看法,我比较倾向于从不同层面看:物理、治理和逻辑层面。物理层面看机器是否是去中心化部署的,治理层面看整个系统的管理是中心化还是去中心化,逻辑层面看系统可以被切分为多快,还是必须完全融为一体的。
我觉得从去中心化的APP角度来讲,最合适的应该从逻辑层面,也就是用户在使用时,应该表现为一个相同的应用,但实际逻辑上可能是多个不同的应用或部分组合在一起,这些应用因为有Token的存在被无缝链接在一起了。
区块链捕手:但如果完成了底层链的切换,应用搭载在原有链上的Token怎么迁移?
冒志鸿:应用可以基于ABT发行自己的Token,和以太坊体系不同,这里自己发的Token和ABT是同一等级的。我们比较倾向以后通过ABT来完成价值迁移,跟底层链的Token无关。
本质上,我们的ABT是个记账体系,与其它公链间的联系可以通过高级的适配器,能在Token机制上适配。例如可以把以太币想象成整个应用里的一个部件,消耗了以太坊上的资源,映射过来是对ABT的消耗,最后也是通过ABT的适配和记账来完成价值的迁移。
区块链捕手:我们看到在ArcBlock的生态里可以通过开发部件、模块提供给其他开发者来获得奖励,但定价权由谁确定?
冒志鸿:我们的系统和传统的挖矿区别很大,所谓的矿工全是开发者,区别在于开发的是应用,还是开发一个部件给其他人分享,所以就很可能两个角色的需求可以相互对冲,最后对定价形成一个完全的市场机制。
如果我是应用开发者,开发时会有一个权衡,这个部件是自己做还是用别人的。如果说部件特别贵,以至于还不如自己做,那整个市场就会变冷,这是市场驱动的。如果没有人想要你的部件,价格就会跌,跌到一定程度,直接购买就更划算,这其实会形成一个市场的平衡,也是一种共识形成的过程。
区块链捕手:为什么你们当时在众筹的时候没有设定锁定期?
冒志鸿:我们对代币没做任何锁定,保持全流通的状态,对于做事的团队,这样其实只对拉盘不利,因为很难操控。所以说在这个项目上,如果投资者期望看到传统的操作和炒作,那可能会让人失望。我们采用了非常去中心化的思路,这里没有大户,都是分散的支持者。
我认为最有效的市值管理是拿出有效的产品,而不是二级市场操作。所以我们上了很多交易所也没有任何锁仓,这其实对拉升价格不利,但我们就是打算用比较佛系的方式让市场自己去达成共识。这种策略很难说是好是坏,但确实就是我们的做事方式。
3
开发进度
区块链捕手:现在ArcBlock去完成和一个链的适配器开发需要多久?
冒志鸿:我们打算第一阶段先做比特币和以太坊的适配器,然后再做超级账本(Hyperledger)的,这部分内容还没有开源,因为做适配器在理论上是可行,但真正实现的时候有很多工程上的细节需要考虑,我们计划完成几个之后再公布出来,让社区能更容易跟进一起做。如果太早公开,可能在过程中我们觉得API不合适要修改,其他人跟着做了的也要改,我们要到相对稳定的阶段再对外公开。
区块链捕手:我们也看到了质疑的声音,说ArcBlock在GitHub上看不到代码,是这个原因吗?
冒志鸿:首先,我们不是一个完全开源的项目,只是会把一些关键部件开源;另一方面,我们现在还没有完成,虽然有一堆代码但不能公开。我们觉得没必要因为外界的声音打乱自己的节奏,而且现在有很多号称开源的项目,点进去看会发现没有任何创新和意义。
区块链捕手:所以你们在关键技术上不会建立特别强的壁垒,而是想让参与的人越来越多?
冒志鸿:我一直认为我们的价值最重要,所以和现有的这些区块链项目比较,我们确实没有特别的技术难度,甚至说技术难度最小。我经常开玩笑说在整个区块链项目里,我们是一个愿景特别小的项目,因为大多数项目大放卫星根本不知道它怎么能开发出来。但在真正能落地的项目里,我们的工程难度还是相当大,而落地之后,可以做成非常开放的事情.
区块链捕手:那ArcBlock在2018年预计会有哪些实质的成果落地?
冒志鸿:2018年我们最大的目标,是希望在5、6月份能推出第一个应用,然后到年底可以上线ABT的主链。其实我们的应用不需要主链上线,因为开放链访问协议和我们的主链无关。另外我们也想在今年能把开放链访问协议开源,这样可以有更多社区的伙伴能加入到开发中。
区块链捕手:第一款应用是什么类型?和我们在以太坊上看到的应用有什么区别?
冒志鸿:会非常不同,因为我们的一切目标是以用户为导向。所以我们的第一款应用应该是个移动APP,目前还有多种选择,暂时不方便公布。谈不上超越了移动互联网时代的APP,但应该是超越了任何一种区块链应用的形态。
区块链捕手:您认为最后公链会发生大洗牌,最后只剩下几家吗?
冒志鸿:我始终喜欢把区块链跟数据库做类比,所以我觉得可以参考数据库的发展过程。首先不可能一两家独占整个市场,第二也不可能出现万马奔腾的情况,最终会有少数几家存在,各有特色。比如说现在的数据库还有可能不到十种存在着,但是各自定位都有所不同,按照行业或者运营方式划分,可能每种里都有几家,我想未来区块链也会变成这样。
网友评论