作者: 卫海艳

媒体: 币探索

日期: 2018 年 7 月 13 日

时隔半年,ArcBlock 区块基石逐步从理论走向落地,第一款应用“开放链访问协议实验台( OCAP Playground )” 已如期正式发布。一系列相关的 Hackathon 也即将举办,直面开发者,让区块链应用开发变得简单、友好。

关于团队

1.目前团队的主要精力是在哪方面?

老冒: 今年的主要精力会放在两方面:

一方面是产品开发,按照我们今年的计划,ArcBlock 平台到今年年底要正式推出和推广,让更多的开发者能在平台上开发应用。

另一方面是社区活动,从这个季度开始,我们会举办大量的 Hackathon (黑客马拉松) 活动。因为我们的用户群主要是开发者,所以我们的策略是准备举办大量的 Hackathon 活动。

2.在产品开发和社区活动方面,团队的顾问会提供一些额外的帮助吗?

老冒: 不同的顾问能提供不同性质的帮助。我们的顾问团队是比较多样全面的,比如丹华资本的张教授,他属于 VC 和科学家,在当前阶段给我们的帮助可能会相对少一些。而我们还有几位顾问是做市场相关的,他们在这段时间对我们的帮助就特别大。

我们和顾问会一起讨论用人计划,甚至有时候我们的非技术相关的人员招聘,也会请他们来帮助我们一起面试。

每个顾问都有各自的专长,某些时候他们可能特别有帮助,有时候他们可能暂时帮不上忙。但是长期来讲,需要组建一个顾问团队,让你在各个不同的阶段都可以找到合适的人来帮助你。

关于 OCAP

1. 您很多时候拿数据库的 ODBC 来比喻和比较 ArcBlock ,这次是否可以换个角度分享一下,您认为区块链和数据库有哪些不同?

老冒: 我一直认为数据库和区块链在整个系统架构上有非常近似的地方,在地位上比较接近。 ArcBlock 的开放链访问协议( Open Chain Access Protocol ,简称 OCAP )也是受到 ODBC 的启发而设计。

区块链和数据库不同的地方非常明显,数据库的最大特点是查询,它的查询系统特别好用,并且大部分的数据库都是可以灵活修改的。

区块链追求的是成为一个公开透明的账本。数据库非常容易进行一些修改的操作,对区块链来说,增加的时候需要通过共识才能实现增加,删除和修改都是不可以的。

数据库大部分作用都是用来查询的,具有非常强的查询能力。而现有的区块链,在查询支持上非常弱,甚至现有的区块链在数据结构的设计上,数据组织方式上都是非常不利于查询的。

2. 开放链访问协议 OCAP 和 ODBC 有哪些不同?

老冒: 这是完全不同的两个东西。 ODBC 主要是解决连接问题,用一个统一的接口来连接不同的数据库。 OCAP 主要是通过一个统一的方式来访问不同的区块链。从逻辑上和设计思路它们很接近,但是是两个完全不同的概念,一个是连接数据库,一个是连接区块链。

3. OCAP 协议的制定完成了多少?

老冒: OCAP 协议本身是比较简单的,已经全部完成。 OCAP 选择的是 Graph QL 查询语言, GraphQL 是 Facebook 实现的,从这个角度来说,我们直接采用了一个轮子,这部分我们不需要重新定义了。

所以 OCAP 本身的设计应该说基本上完成了。但是从完成协议,到把所有的服务全面部署到各个链上,中间还是有很大距离的。在现阶段,我们实现了部分链,比如比特币、以太坊,接下来会支持更多的链,还需要整个社区来和我们一起完成。

4. 目前发布的开放链访问协议实验台中的 API 就是 OCAP 协议的所有接口吗?

老冒: 实验台中的 API 是所有的接口,另外我们采用的 GraphQL 本身的语法和能够支持的内容是与后端实现相关的,也就是说,实验台能支持多少东西,不仅仅取决于实验台本身,还取决于后端支持多少个链。

可以理解成实验台支持多少种协议,支持哪一类数据结构,不是固定写死的,可以通过开放链访问协议 OCAP 向后端询问,需要支持哪些数据,支持哪些操作,然后后端告诉它,实验台再去准备。所以 OCAP 协议有一部分是询问性的 API 。

每个链的功能不一样,支持的东西也不一样,在这种情况下,不可能在前端就把它完全写死,需要有这种查询性功能,就是在调用之前,可以通过查询 API 来了解可以支持哪些操作。

5. OCAP 实验台目前好像只支持 Bitcoin ,预计什么时候会发布支持以太坊的版本?

老冒: 支持以太坊的版本我们短暂开放了一下,但是后来研发人员觉得还没有足够准备好,所以临时在现在的版本上去掉了,但是过几天还会再开放。比特币、以太坊基本都已经支持,最近会全面开放。

6. 从我们体验 OCAP 实验台来看,目前的功能主要是封装了比特币的几个区块链查询接口,而且封装的数据结构类型也是参考的比特币区块链结构,比如其 UTXO 模型就是以太坊没有的,那么, ArcBlock 在之后集成多个链时,对于这些基础结构的差异会如何处理呢?

老冒: 这就是 GraphQL 设计非常厉害的地方。它不同于传统的东西,传统 Restful 定义 API 时,反馈的结果就被固定了。我们现在采用的这种设计,返回的数据结构是随着输入的变化可以随时变化的,这是 GraphQL 非常重要的特性。

举个例子,当你在区块链上查询两三个字段,在你查询的时候就可以指定,返回的数据结果就是你需要的结果,不会把不相关的信息都返回。

如果你查询的时候,需要的结果是一个比较复杂的嵌套型的数据,你在访问的时候,定义查询数据管理嵌套返回,出来的结果就是嵌套的。所以,这样来看, GraphQL 就有特别大的好处,返回的数据结果和你正在访问的区块链有非常密切的关系。

如果返回的是一个比特币,返回的数据结果就是完全 1:1 映射的比特币本身的数据结构,而不是去制定一个中间的数据结构。如果你要返回的是一个中间的数据结构,要不就是一个子集,子集就会导致一些东西的遗漏,要不就会是超集,超集意味着这个数据结构非常稀疏,很多层次都没有。

无论是超集还是子集,对于开发者都非常不利,因为开发者拿到一堆数据结构,不知道哪些字段是有效的,哪些字段是无效的。采用我们现在的这种设计方法非常清晰,返回的数据就是产品开发者定义的需要的数据。

如果使用开放链访问协议想在以太坊的链上指定去获得比特币的数据结构,直接在查询建立的时候系统就会报错,这相当于是一个强类型的设计,可以减少程序员犯错。

7. 目前实验台可以算作一个去中心化应用吗?

老冒: 是不是去中心化其实很难去判定。因为这个实验台可以被部署在任何地方,被部署很多套。我们现在是部署了一个网页版本,将来开发者可以把试验台跑在本地,我们也会提供移动版本,在产品的架构设计上完全是去中心的。现在大家访问的是网页版,是其中的一个中心。

关于 ArcBlock 区块链

1. ArcBlock 会有自己的区块链吗?

老冒: 对,我们会有自己的链。 ArcBlock 区块链的主要目标是成为 ArcBlock 平台的记账和支持系统,同时 ArcBlock 这条链能够帮助将来在我们平台上发布的各种应用来产生它们自己的通证。

2. ArcBlock 的区块链算是公有链吗?

老冒: 肯定不是我们现在定义的公有链,当前对公有链的定义是任何人都可以参与,比如说挖比特币,谁都可以参与,而且链上的验证者也是比较自由的,谁都可以成为验证者,关键就看你挖不挖得出,挖的快不快。

但是在 ArcBlock 的设计里面,我们的主要参与者不是任何人,而是系统中的资源矿工。只有资源矿工提供资源,比如组件矿工最终是通过资源矿工提供出来的,相当于是我们链上所有的记账人是资源矿工。但是有可能(会)有些资源矿工要加入链,但是他不愿意做记账人。

所以从记账的角度,可能只有有限的人参加,但是从验证和查账的角度来讲,又是一个完全公开透明的,任何用户都是可以查的。

所以我把我们这种链的设计定义成一种公开的但是带有权限的链,它不符合今天所说的公链的定义,也不符合今天所说的联盟链或者私有链的定义,我认为这是一种新形态的公共服务的链。

3. 关于区块链的开发进度和开源计划是什么样的?

老冒: 我们计划在这个季度或者下个季度出一个测试链。我们和别的链不同的是,我们的测试链是比较严肃的,不像以太坊是两条链,测试链的数据全是没有用的假数据,我们的测试链上的数据会尽可能的真实有效。

我们现在的目标是争取能在这个季度让测试链先上,最差也要在今年让测试链跑起来,因为我们的基本业务支撑系统需要它先跑起来。

关于 ABT

1. ABT 会从 ERC20 转到 ArcBlock 链上吗?

老冒: ABT 目前是 ERC20 映射的 Token ,但是最终 ABT 必须跑在自己的链上,我们的 Token 都是原生的 Token。所以当我们的测试链上线的时候,就能够支持把 ERC20 的 Token 都转到原生链,如果用户愿意的话或者用户愿意尝试用我们业务,那就可以把他持有的 ERC20 Token 转为原生 Token ,但不是强制性的。

等我们整个系统完全上线后,我们会要求用户把 ERC20 的 Token 全部转到 ArcBlock 链上。

关于社区建设

1. ArcBlock 是一个面向开发者的平台,除了吸引开发者在 ArcBlock 上面开发应用之外, ArcBlock 项目本身是不是也会更加社区化?有什么样计划?

老冒: 我们项目本身的确需要更加的社区化,需要更多的开发者跟我们一起来开发一些东西。我们现在做了不少基础工作,就是为了能让开发者跟我们一起来做这些事,不仅仅是开发,还包括文档本地化,比如现在我们只有中文和英文的文档,将来我们可能还会有日文、韩文等国家的语言版本。

另外我们会组织一系列的 Hackathon 活动,这些活动是希望社区能够有更多的人接触到我们的平台,然后有更多的人能把自己有趣的想法进行交流和实现。同时,这些 Hackathon 活动本身也能够催生出一系列有趣的想法来。

2. 最近一期的 Hackathon 活动预计在什么时候举办?

老冒: 这些活动我们准备先和外部的合作商一起合作,现在有一个正在讨论之中,想争取在 7 月份先小试牛刀做一次。

我们的目标是想通过几次尝试,逐渐找到一个套路,能把活动方式变得像标准流程一样,在各个地方复制,这样能够做更多的活动。

3. 您近期是在国外做活动吗?

老冒: 我现在是在日本,明天( 7 月 6 日)去越南,最近这段时间比较密集地去世界各地和开发者见面,和潜在的合作伙伴洽谈合作的可能性。

过去我们产品没有出来,尽管讲的再好,也只能在 PPT 阶段,现在阶段不一样,我们可以拿出东西去展示了,所以要开始紧锣密鼓的联系合作伙伴,同时,社区活动也要开始推进起来。

4. 最后一个问题,距离上次币探专访将近半年了,您对 ArcBlock 的发展现状还满意吗?

老冒: 我觉得我们的发展还是挺不错的,甚至有一些地方超出我们的预期。对我们来说主要的挑战还是招人,但在整个产品的开发进度上,我觉得我们做的非常不错。

我们的人才招聘没有按照计划完成的那么快,但是我们的产品进度没有落下,这也说明了我们的人才质量相当高。

2

原文链接: https://www.bitansuo.com/articles/512702.html