2020年7月1日, DFINITY 举办中国媒体线上发布会,与会过程中,DFINITY创始人兼首席科学家Dominic Williams对项目进度、生态发展、全新编程语言、短视频应用CANCAN等问题进行了详细回答。Dominic同時宣布,DFINITY全新版本测试网 Tungsten(钨)已正式发布,最终主网计划于今年上线。

DFINITY项目在创始之初,其愿景是成为兼容以太坊的智能合约平台,而后战略重心转移,选择成为互联网计算机愿景(Internet Computer),在谈到愿景的改变时,Dominic在接受PANews采访时表示,在2016至2017年初时,团队发现了以太坊系统的一些缺陷,从而萌生出通过DFINITY加快以太坊的共识速度,优化以太坊的治理模型的想法,但在发展过程中,融资额超过预期,使团队能完成更宏大的愿景。 

在Dominic看来,互联网计算机愿景中,Tungsten测试网的发布是一个巨大的飞跃,它可以在本地托管软件和服务。与此同时,广大开发者和组织将第一次体验到新的计算方式。软件创建后只需简单的将软件上传到互联网,即可在防篡改的独立数据中心的全球网络上运行软件。整个过程不需要复杂的传统组件,包括专有云服务,网络服务器,数据库,中间设备和防火墙等。 

与此同时,DFINITY演示了一款基于其测试网的应用程序CANCAN,这是一款对标国际版抖音TikTok的短视频流产品,该产品不由任何公司或政府实体掌控或运营,且可以在任何浏览器和移动设备上访问。CANCAN的另一特点是,其代码不超过1000行,这得益于全新开发语言Motoko。

据Dominic介绍,Motoko是一种针对互联网计算机进行过优化的全新编程语言,由 WebAssembly 的共同创建者 Andreas Rossberg 设计开发,这种编程语言对开发者十分友好,能在1小时内被开发者掌握。

 

PANews将线上发布会问答进行汇集分类,以下是发布会问答全文:

全新测试网“钨”已启动,主网或于年底上线 

Q:目前 DFINITY 已经进入路线图的最后一个阶段 Tungsten (钨),并开启测试网,预计离主网上线还有多久?

DW:我们一共有 5 个主要的里程碑,第一个是 2019 年的 11 月份的黄铜,第二个里程碑是今年的 1 月份达成的,叫青铜。然后第三个是我们现在的达成的钨测试网,第 4 个将会是第三季度末的钠测试网,最后一个也就是今年年底,汞,它是我们的主网,也就是说我们的主网会在今年的年底上线,谢谢给分店这些创始之初的愿景就是想做金融以太坊的智能合约平台,但目前的发展方向是不是和当初的计划有一些不同,为什么会做出这样的调整? 

Q:DFINITY 创始之处的愿景是做兼容以太坊的智能合约平台,而目前的发展方向是不是和当初的计划有所不同了?为什么会有这样的调整?

DW:在2016 年和 2017 年初的时候,我们当时看到了以太坊的一些缺陷,我们想要做的是将以太坊的共识速度加快,同时能够把以太坊的治理进行优化。但是在 2017 年 2 月份,我们做了首轮融资,当时我们的目标是融资到 100 万美金,但是到 2018 年我们又融到了更多的钱,所以就可以在此基础上将我们整个愿景进行了优化,希望能做的更好。 

Q:此前曾延迟发布互联网计算机,可否透露当时遇到哪些问题,又是如何解决的?

DW:互联网计算机和传统的区块链,像以太坊和比特币是有很打的不同,它非常的复杂,需要一个非常大的工程师的团队,我们拥有 4 个分布在世界各地的研发中心,也雇佣了非常多的工程师和科学家,最开始我们低估了构建这样一个团队所需的时间,这确实是一个非常大的挑战,但是现在我们都获得了成功,我们的刚才提到的前三个里程碑都有已经按时的完成。 

Q:我们知道 DFINITY 创立于 2016 年。在过去的四年中,区块链技术也有了长足的发展,那么 DFINITY 在构想和其他宏观方面上做出了哪些改进和调整?

DW:我们最早的构想始于 2015 年,但那时候募资有一定困难。我们在 2016 年十月创立了 Dfinity 基金会,在 2017 年 1 月建立了网络层,并在同年 2 月做了我们的第一轮募资。我们做了大量的技术工作,Dfinity 基金会有着最强的密码学团队,这个最强不仅是在区块链领域,而是在全球范围内来说都可以说是首屈一指。因此我们得以能够不断地去拓展技术的边界,实现更大的构想和更多的可能。

一个可以方便您了解这个概念的例子是,传统的区块链项目可能会发布一个白皮书,但我们互联网计算机的这个项目将会可能有成百甚至更多的白皮书. 在主网发布之前,我们会将所有的技术细节对外公布。目前我们已经开始发布这些信息和源代码。我们非常情形能够拥有一些世界上最优秀的研发人员以及工程师。在我们主网上线之前,大家将会能够看到一些非常有趣的新的技术及研发成果。 

 

DFINITY生态应用发展良好,第三方开发者已可入驻测试网

Q:1 月初推出的 LinkedUP 目前进展如何,有多少用户了呢?

DW: Linkup 这个应用的情况和 Cancan 是一样的,它只是一个示范的应用软件,用于给开发者展示,开发者是可以去构建和开发类似的软件。也就是说到今年年底我们主网上线的时候,这些开发者可以用到我们的代码,也同样有一个起点来做一些相应软件开发在我们的互联网电脑上。 

Q:因为最近 Defi 在以太坊非常火,但是也有存在 Gas 费用比较高的问题。您是否看到这个问题,那在互联网电脑上建立 Defi 相关的应用有什么优势?有什么潜力?

DW:在我们的网络上我们也有一种类似于的 Gas 费用,我们称之为 cycle,开发者在发送每一笔交易的时候也会被收取这样的一个费用,但是相比以太坊的费用来说,这个费用是非常小的,基本上是很多分之一,所以基本上可以忽略不计。

这是因为互联网计算机在非常高效的同时可以随着需求的不断增加而不断扩容,也就是说它不会有以太坊的扩展性非常差的问题 

Q:之前在 DFINITY 的新闻发布会里面提到了,DFINITY 的 Internet Computer 现在已经向第三方开发者还有企业家开放,并在欧洲和美国的独立数据中心网络上运行。那这里能否给我我们提供一个数据,现在已有多少开发者和企业入驻了 Dfinity 的互联网计算机平台?您能举出几个比较有代表性的案例吗?

SW:我暂时无法向您透露具体的数字,但我们的软件开发包下载量已经达到了数千。虽然我们之前也有少量的项目提前进驻,但今天是我们向第三方开发者开放的第一天。 关于案例,一个例子是目前有一个来自于瑞士的 Origin 项目,这个项目旨在建立一个瑞士名表的泛产业交易平台,主要涉及的是一些高端的瑞士手表比如劳力士等。

在今天的发布之前,所有的开发者只能使用软件开发包在本地的互联网计算机上对我们的环境进行模拟。从今天开始,第三方开发者和项目可以真正地进入到互联网计算机的网络中,并将这些他们开发的系统和服务在我们的网络上进行孵化和运行。这是我们向前迈进的一大步。到我们下一个里程碑也就是 Sodium (钠) 版本的发布时,我相信将会有很多非常有趣有意义的应用项目已经在我们的互联网计算机上运行。 

Q:业内其他项目一直都存在区块链不可能的三角这个问题,就是说它的去中心化,安全性和可拓展性是无法同时满足的。那么 DFINITY 在这个问题上给出了一个怎样的解决方案呢?

DW:这个概念完全是在胡诌。也许这些东西都是杜撰出来的,谁知道呢对吧(笑)。但我认为大家可以看一看 Dfinity 基金会团队的背景资料然后有一个自己的思考和判断。也许我们犯了个错误完全忘了有这个三角呢 (笑) 开玩笑的,我并不这么认为。我认为现在在区块链业界有很多伪科学。你会听到很多像不可能的三角这种很疯狂的概念,听上去像是某种迷信之类的东西,总之不是基于真正的科学的。我想最终,当大家看到互联网计算机和它真正的技术能力的时候,应该就不会为不可能的三角这样的问题而担忧了。   

 

全新编程语言Motoko易上手,一小时内即可掌握

Q:Dfinity 的主网互联网计算机(Internet Computer)又称为开发者网络,并开发出全新语Motoko,若要建立应用,开发者需要学习这种语言吗?该网络及语言对于开发者来说有什么优势?

DW:总的来说,开发者可以用任何语言在互联网计算机上开发软件。但目前在我们的互联网计算机上用于开发的主要两个语言一个是 Rust,还有一个是 Motoko, rust 是一种非常新兴的开发语言,人们也可以用 C 和其他的语言来进行开发,在未来我们将会支持所有的开发语言,那也就是说你用任何语言将来都能够在我们互联网计算机上进行开发。

Motoko 是非常容易的一种语言。它从设计之初就考虑到了要为广大开发者服务,是非常容易上手的一种语言。他的诞生就是针对互联网计算机的使用环境而开发的。这个语言是我们的团队成员之一 Andreas Rossberg 发明的。他同时也是 Webassembly 这种语言的共同的创造者之一。 

Q:刚才您提到了 Motoko 语言对于开发者来说是非常容易掌握的。所以我想了解一下一般的开发者需要花多长时间才能够掌握这门语言?

A:Motoko 的设计理念就是把它设计为一种开发者会感到非常熟悉的语言。许多的开发者都可以在一小时之内就掌握这种语言。同时 Motoko 也包含了许多其他语言的特征,它本身的设计就突出了容易上手的简洁性,对开发者非常友好。但与此同时,它又是一个非常强大的语言,由当今最棒的计算机语言开发团队之一领衔设计。 

Q:我们感受到 Dfinity 的目标是想降低编程的门槛,更多希望大家把重点放在应用或者创新想法上,通过一个很容易的方式将想法展现出来并看到最终效果。实际上是说把更底层的编程概念转移到想法本身,并针对具体想法进行迅速展现,而不需要构建复杂的底层结构。这些底层结构实际上会在 Dfinity 自己的系统上构建,对吗?

DW:您的理解是正确的,我可以给您举一个例子。我们在做的是重新构想软件来提升软件开发的效率。在硅谷有一个著名的风投基金叫做 a16z,他们的格言是“软件正在吃掉世界”而我们的想法是互联网软件正在吃掉世界。  

 

计划推出基于DFINITY的区块链短视频产品CANCAN

Q:为什么选择做 CanCan 这个社交产品?站在媒体观察的角度,我们在 2018 和 2019 年也接触了很多用区块链概念去做社交网络的产品,但是根据我们的观察这些“区块链+社交网络”的概念最终都未能取得成功, 我们也没有看到成功案例及独角兽的出现。所以能否请您回应一下这方面的质疑?

DW:确实现在有很多的区块链都声称他们可以支持社交网络产品,但实际上据我所知,并没有一个区块链项目能够真正支持托管一个完整的网络系统或服务。这样的产品目前是不存在的。目前,我们能看到只有以太坊是能够支持一些智能合约和非常基础性的去中心化应用程序,但那并不是一个企业系统或者一个基于区块链的互联网服务。确实一些项目会声称他们具有这样的能力但那并不是真实的。互联网计算机可以实现..并对互联网的性能与能力进行进一步的拓展,目前尚未有项目具备这样的能力。我们知道现在行业内有非常多的噪音,但如果你进一步的去深挖这些项目的细节,你就会发现他们都是在讲一些比较空的愿景,都是不真实的。 

Q:CANCAN 计划如何冷启动,有着怎样的推广计划?

DW:发布看看的原因,是因为我们只是把它当做一个示范的应用程序,也就是说我们想要给开发者和程序员做一些代码的展示,来激励大家在我们互联网计算机上的开发的速度,然后可以让他们来实现他们自己想要实现的各种应用和功能。我们自身不会去做任何的运营,而且我们只是说去给开发者提供一些相应的支持。

我们之所以选择看看这样的一个应用程序,也是因为它是一个开放式,类似于抖音的的一个 APP, 这是非常具有挑战性的。因为我们都知道我们所有的用户每时每刻都会上传海量的数据到抖音上,所以这个应用随时随地会处理海量的数据,同时也需要进行视频播放。如果我们能够实现 CanCan 这样的一个应用程序,也就说明了即便是在区块链这样一个对数据处理速度比较慢的基础设施上,我们也是能够做到运行 Cancan 这样的应用的。 

Q:在CanCan 的介绍中提到其不由任何公司或者政府实际掌控运营,那么今后会不会成立一个特殊的社区去负责 CanCan 的日常维护?假设 CanCan 上特定群体发展到一定规模,它会对 CanCan 的整体安全性造成威胁吗?   

DW:下一个里程碑,我们将在互联网服务中加入代币化的经济激励机制和治理机制,这将实现 CanCan 等互联网应用的全自治化,而其中可能存在的不良内容是主要顾虑。但是,开放式互联网与传统互联网所使用的内容调节机制是完全相同的。也就是说所有这些相同的调节机制可以用于开放式互联网服务的同时,也可以用于像 Tiktok 这类非开放式互联网服务。所以调节机制本身不需要发生变化,它们的工作原理是完全相同的。然而,开放式互联网也可以将调节管理的任务交给它的使用社区,并依靠代币机制激励大家参与管理。总的来说有两种实现方式:我们可以在公开式互联网平台使用传统的内容监管机制,也可以通过算法来驱动社区自治调节管理。  

Q:CanCan 是以少于 1000 行的代码进行构建的,这是不是过于简短?在大学学习 C++的时候,入门的“hello world”程序都需要 6 行代码来完成。承载视频所需要的储存空间是比较大的,如果可以通过 1000 行的代码去构建出一个安全又较为可靠的视频网站,是不是证明今后基于外部端的开发方式正在发生变化?也就是网站外围开发门栏在逐渐降低。

DW:是的。举个例子,我们之前有一种程序类库叫 bigMap,它会自动处理和扩展用户所上传的图片,用户资料,以及视频流文件。但互联网计算机所采取的正交持久性模型可以保持代码的持久化。bigMap 程序类库会在后台自动创建新的代码机去储存更多数据,这个复杂的过程可以向 CanCan 等互联网计算机用户隐藏。毫无疑问,互联网计算机模型极大程度上简化了开发人员对于创建可扩展主流互联网的工作。 

Q:另外一个问题是关于 DFINITY 的代币 DFN 的,请问它是如何在 CanCan 的生态中起到作用的?它在 CanCan 生态中能够扮演哪些角色?未来 CanCan 是否也会推出一些交易功能?

DW:未来我们的开放互联网服务将会有有一个代币化的治理系统,有了这些代币,开发者及企业家们可以出售并交易这些代币,为他们的开发项目筹措资金。但这个体系会和之前的一些模式有所不同,并且会以一种更为传统的常规机制进行运作。  

 

Difinity将重构软件并极大程度上简化软件编写 

Q:很多业界人士包括以太坊的创始人 V 神都认为,社区比代码更为重要。那 Difinity 在互联网计算机的社区生态方面是如何规划的,中国社区又会在其中扮演怎样的角色?

DW:在某种意义上,我认同 V 神以及他对以太坊的愿景。对于传统的区块链项目而言,人们是执迷于代币的,并在发行代币之后利用一个对这个代币非常认可的社区,来实现代币价格的增长。这些社区的支持者们有点像宗教狂热一样的去支持代币和币价,所以对于一些区块链项目而言,建立起这样的社区对他们来说是一切。但对于互联网计算机和 Dfinity 而言,科学技术和工程研发,以及如何拓展互联网的潜能并构筑未来,这才是我们的一切。因此,我们并不会过多的去考虑构建一个社区去支持发币,这是我们的一种不同的思维和角度,和传统的区块链项目,发币和社区为主导的思维有所不同,这不是我们的主要兴趣所在。我们想要的是希望世界上的软件和数据都能够到互联网计算机的平台上来,这是我们的愿景,而这个愿景并不是能由一个持币者所构成的社区而实现的。我们希望能够让互联网计算机成为构建更多系统和服务的更佳解决方案,成为一种新的思维和开发模式。  

互联网计算机的项目是放眼世界的,而不仅是局限于区块链本身。我们认为智能合约是为了描述那些必须在安全环境下运行的能力不足的软件而产生的一种概念。在现在的区块链行业中,有时候会用一些故弄玄虚的神秘概念来掩盖技术上的不足和缺陷,而智能合约就是这样一个例子。因为它们的能力非常有限,不能被称作为软件,所以他们就必须要有一个特别的名字,因此有了这种现状。

所以说,互联网计算机是将会是全新的一种的区块链计算机,我们希望能够支持不仅仅是智能合约,而是这个世界上所有的数据,软件应用系统和服务。 

Q:我比较关注在 Dfinity 在未来的一些场景方面的一个开拓,因为其实大家都能够看到,在以太坊出来的时候,它其实诞生了包括 DeFi 这种场景也好,比如 ICO 这样的也好。那我们能够在 Dfinity 上面看到哪些可预期的场景的创新和开拓?

DW:今年我们将会看到一个互联网计算机使用人数的一个大的增长,会有非常多的人通过互联网计算机来构建他们的系统和服务。他们可以做到这些是因为互联网计算机提供了一种实现这些构建过程的一种新的方式。在未来,人们将能够通过在互联网计算机这个安全的环境中写代码来实现更多这样的构建。对于企业家来说,他们可以在这个平台上开发创立个人的项目,我们同时也与很多机构进行的接洽,比如一些大学将会从明年开始运行互联网计算机并使用 Motoko 语言。所以在我们主网发布之前,我们就会看到非常多的互联网计算机的应用和增长。但这种增长是通过一种与传统区块链项目有所不同的方式来实现的,它不是以发币为中心,而是以构造一个更优质的平台为要义。   

Q:昨天我们和社区的朋友一起观看了整个发布会的过程,大家非常的兴奋和激动。我觉得互联网计算机这个概念现在已经被越来越多的人所接受。社区里有不少朋友在关注更多技术性的问题,比如说数据存储和具体应用场景,以及现在哪些互联网应用类型更适合在 Dfinity 上构建应用。请您根据这两方面给出相关介绍。我们还了解到未来数据的存储可能发生范式变化,比如说不再需要数据库而可以直接在 HashMap 上写代码。这背后有哪些数据支撑?大家会如何习惯这种方式?或者说这个新模式会有怎样的发展优势?

DW:任何应用。我们的想法是重构软件并极大程度上简化软件编写,为程序员带来软件编写的乐趣。程序员在传统技术站上做编写的过程是非常复杂的,我们想让他们关注于思考程序所要达成的终极目的,而不是去思考去具体实现的过程本身。现在人们写代码的时候,系统是非常复杂的。比如说像一个互联网服务应用,我们需要经过数据库,服务器和防火墙等等。在我们的平台上,程序员可以通过持久化方案省略掉这些复杂问题,而仅仅去描述他们的逻辑,并专注于简单的逻辑实现即可。

Paul: 我们的整体想法是去简化传统的开发站,技术站。很多传统的技术都被可靠性和安全性所局限,但在这两个问题得到有效解决后,现在开发中所用的中间件就没有必要继续存在。我们认为这是一个非常大的简化。更进一步的简化应用于存储方面。现在由于存储的不稳定性,我们需要在硬盘上做出备份,但这是完全没有必要的,最新的硬件技术已经可以解决这样的问题。因此,如果再应用几十年前的思考方式,我们搭建出来的技术平台架构就已经过时了。Dfinity 在这个领域进行了较大开拓并发布了数据持久化方案。这个方案使开发者不需要再担心持久化问题,只要程序被写出并没有被删除,它将会一直运行。这从逻辑上对开发者来讲是一个巨大的简化,他们不再把程序想像成一个存在于复杂环境中的应用,而可以在虚拟空间持续运行。开发者只需更改程序状态,其余可信赖平台的可靠性,安全性, 和持久性。

DW: 这其实是一个有趣的故事。它实际上源于 Paul 在 2018 年 2 月跟我提出的想法。为了达到我们所希望的代码持久性,我们需要做到存储页的实现。这是个很好的主意。不过当时我们团队觉得这个想法实现起来非常复杂,但最后还是得到了很有效的解决。