启动六年后,或许今年四月份,Dfinity 可以正式上线了。
放言要重塑互联网,打造全新第三代区块链生态的 Dfinity,如今的路线图更专注于互联网计算机(ICP) 协议方向,鲜少再有以太坊竞争者或疯狂姐妹链的关联被提起。
对 Dfinity 的关注者而言,从 2015 年至 2021年,这过去的六年时间,或许回顾起来会恍若隔世;对于币圈吃瓜群众来说,Dfinity 和 T 恤的梗,也从 2018 年空投活动延续至今,漂亮的 T 恤 Shopify 商店页面,也仍然存在。
不同的是,当年的四大天王的称呼,如今很少人再想起了,一张戏谑 Dfinity 迟迟不曾上线的图,也曾在社区中传播甚广,配文是:2051 年 1 季度,互联网计算机终于上线。
2021 年诸多老项目取得了明显进展。随着波卡上线,FileCoin 上线,以太坊 2.0 第 0 阶段启动,Dfinity 也不例外。今年四月份,随着 Mercury 网络即将从 Alpha 转为 Beta 版,我们有望见到主网正式创世启动。在笔者看来,Dfinity 是一个挺神秘的项目,可能有几个原因。
一来是 Dfinity 过去几年间愿景迭代,从原先的以太坊姐妹链的主张,到如今对标 TCP/IP 的 ICP 协议,致力于打造分布式的互联网计算机系统,重塑互联网基础架构,成为一个分布式的云平台,代币也从 DFN 变换为 ICP。
受此影响,又引入了颇多的新概念,如 NNS(神经网络系统)、神经元、Canister (容器)、Cycles (手续费) 等等,即便对于币圈老手,理解起来也需要花一些时间。更何况 Dfinity 的新价值主张---打造开放式的互联网计算机,目标受众更聚焦于开发者和创业团队,在生态中实例偏少的情况下, 自然给理解增加了多一重难度。
今天文章,一起速览 Dfinity 最新进展和相关信息,为便于读者理解,本文尽可能用图示方式直观展现 Dfinity 的基本概念。文中资料来源于互联网上公开视频、博客或文档,有错漏之处,欢迎读者指正。
一、Dfinity 目前进展如何?
如果按照 Dfinity 创始人的 Dominic 的说法,现在 Dfinity 的主网其实已经存在了,不过我更倾向于按照传统的习惯,将其定位为预启动阶段,尚未正式上线。
Mercury Beta 候选版
Mercury 公开网络,是主网正式上线前的最后一个版本的代号。2020 年 12 月 18 日,Mercury 的第一阶段完成,随后 Alpha 测试版上线。此阶段主网将不会再重置,标志着正式步入主网启动的最后阶段。
此时,网络释放了管理代币中的一小部分,据称由 Dfinity 基金会、早期投资者和其他几方所有,网络满足创世要求后,会投票表决剩余代币的释放时间。
2021 年 3 月 24 日, DFINITY 创始人兼首席科学家 Dominic Williams 发推称,将于 3 月 30 日发布其「互联网计算机」主网 Beta 候选版本 1。
按照规划,Mercury 的 Beta 主网版本发布,意味着 Dfinity 正式创世启动,而 ICP 代币,也将于正式上线后发放。不过,根据官方此前文章的介绍,会通过 NNS 治理系统释放代币给持有者。
这意味着,触发了创世提案之后,超过 5 万名 ICP 代币的持有者需要逐步解锁(按照官方的说法,溶解神经元)来释放其中的代币,而锁定期最短的设计为 6 个月。至于空投部分的代币是锁仓释放,还是直接释放,暂时笔者未见到确切信息。这部分细节还有待 Dfinity 随着主网正式上线临近,给出更明确答案。
当前网络状态
根据当前 Dfinity 的 ICP 面板统计,有 8 个自网络,361 台节点机器,当前的 CPU 数量达到了 23056 个,产生了 1460 万个区块,按照网站显示,平均而言出块速度是每秒 2.87 个区块。
Dfinity 生态原定计划是在 2021 年底前入驻 100 个数据中心,到 2030 年完成入驻数千个独立数据中心的目标。
下图所示为当前的网络节点分布情况。考虑到 Dfinity 对数据中心的要求颇高,这也带来了对其网络不够去中心化的一些担忧。不过 Dfinity 官方的回复是会扩展数据中心和运算节点的数量,并结合 NNS (神经网络系统,Dfinity 的链上治理体系)来管理网络。
原先预计于 Q1 主网上线,不过如今四月份过完了 1/3, 尚未见到更多动静。考虑到 Dominic 之前在 Twitter 上回复提到的安全审计、文档等工作进展。当前技术文档和教程已基本完成,不过对于安全审计方面,暂未见到相关进度报道或披露。
二、互联网计算机:Dfinity 的新追求
Dfinity 经过几年的迭代,目前的正式愿景定位为互联网计算机,缩写为 ICP。
Dominic 将 ICP 和传统互联网相并列,称互联网计算机为世界上首个以网络速度运行的区块链,可以无限制地扩容,可以承载任何数量的智能合约计算和存储任何数量的数据。
想要理解 Dfinity,必然会涉及到一些技术上的概念,我尽量用 Dfinity 团队给出的一些直观的图示,用人话来解释一下。
ICP 实际上是一个分布式云计算平台和协议
理解 Dfinity 的新定位—互联网计算机,真的把他当做一台超大型的分布式计算机系统来理解,可能会更方便。
传统的互联网生态,如上图所述,在物理层(光纤、WiFi、5G 等基础设施) 和互联网基础协议层(TCP/IP 协议等)之上,会包含诸多复杂的网络架构,比如云服务、CDN、DNS、数据层、防火墙等诸多组件。
Dfinity 设想用 ICP 协议以及建立在 ICP 协议之上的互联网计算机系统,来替代传统的 IT 架构。
用一种简单的方式来理解,ICP 会将传统的一些架构给打包成现成的服务,让开发者能够省事,直接用现成的轮子即可,不必再痛苦地去自行从头开始构建。尤其涉及到分布式架构中的负载均衡、CDN/DNS 等基础服务的配置等,ICP 提供了替代物,底层替换为了分布式的计算平台,而对于用户来说,几乎是无感的。
cancan 是一个部署在 ICP 上的示例应用
既然称之为互联网计算机,我们可以根据直接根据字面的含义,也能理解 ICP 所包含的内容:
提供了开放的通讯协议,ICP 协议,在该协议之上,可以运行通用的计算。一个全球的计算机网络,确保协议能够正常运行,而包含在其中的,是独立的数据中心,每个数据中心由多个节点组成,提供了运行软件或者说智能合约所需要的硬件资源,如 CPU、网络和内存资源。一个公开的 SAAS 平台,扩展性良好,开发者可以像使用任何一个云平台一样,部署软件应用,比如 DeFi、NFT 等具体的应用。
从 ICP Dashboard 网站上,我们可以看到当前 ICP 生态中的网络带宽、CPU 资源、内存等等的信息,如上图所示,当前整个互联网计算机的带宽约为 20MB/s。需要注意的是,ICP 也是采取了内存存储的方式,提升程序的运行速度,由此带来的,是对数据中心的要求会比较高。
Dfinity 希望借助于拜占庭容错和加密算法,让软件不依赖于防火墙等设施,也能具备防篡改的功能,支持智能合约软件自动运行,且结合了代币经济模型的设计,实现激励和软件所在生态的自治。
NNS:ICP 互联网计算机的神经网络
如果说 ICP 是一台巨型的全球计算机,集合了诸多的数据中心和节点,那么 ICP 跟传统的云平台又有什么不同?毕竟 AWS、GCP、Azure、阿里云、腾讯云或者是公司自建的私有云服务,也是用的数据中心,异地备援,多节点运行的。
区别在于 NNS。ICP 之所以不是另外一个云平台,而是开放式计算平台,其区别在于被成为 NNS 的治理系统,或者可以做个通俗化但不那么精确的理解:
代币化 + DAO 治理 + 云服务 = ICP
ICP 平台为代币持有者通过去中心化的治理系统 NNS(神经网络系统)共同所有,在全球多地的数据中心,组成了多个子网络,为智能合约或者说容器提供了运行的基础设施,并从中获得收益。
如果说 ICP 是一台巨型的分布式计算机网络的话,各个数据中心和节点提供了运行的硬件设施,而 NNS 就是这台计算机的管理员,通过提案方式,决定了 ICP 这台超级计算机网络的运行机制和生态中的利益分配等相关事宜。
下文的代币模型部分,我们会再详细介绍 ICP 代币持有者是如何影响 NNS 系统中的决策的。
每个智能合约,都是可扩展的容器(Canister)
我们知道了 ICP 这台计算机由多个节点运行,组成了云平台;也知道了 NNS 是一套链上的治理体系,由 ICP 代币持有者来共同决定。
那么问题自然来了:在这台计算机上,能运行什么程序,可以承载什么应用?
答案其实挺简单:ICP 作为一个通用的云计算平台,理论上可以运行任何类型的应用。Dfnity 社区也用 CanCan、LinkUp 等应用做了示例,这些分别对标抖音、LinkedIn 等传统互联网应用,尽管只是初步的 demo 示范,却也展示了 ICP 承载各类型应用的潜力。
在 ICP 这个平台上,最基本的组成元素,被称为 Canister,可以翻译为容器,类似于以太坊等区块链公链平台上的智能合约,却也有若干不同之处。
无论是用什么语言些的软件,都会编译为 WebAssembly 模块。想要运行,需要将这些模块部署到 ICP 的副本之中,而运行这些模块的执行环境,就被称为容器(Canister)。
将 ICP 想象成一艘大船,在甲板上堆积着一个个的罐子。每个罐子跟罐子之间相互独立,却又能相互通过导管链接起来。在罐子内部,构建起了一个可以包容软件运算逻辑的执行环境,在 ICP 之中这些罐子容器,就起到了跟智能合约类似的作用。
不过不同之处就在于,这些容器可以复制、可以分叉,更方便自组织,相比传统的公链架构,更容易扩展。在编译完毕部署完成后,每个容器会产生自己的索引编号,如果是具备前端功能的,甚至直接可以通过该容器的入口访问,供用户交互使用。实际使用起来,跟传统互联网并没有明显区别,不过背后运行的,不再是单一的服务器,而是 ICP 的开放式云平台。
我知道这样说有些抽象,所以我按照 ICP 的文档部署了一个 LinkedUp 的示例,到 ICP 的 Mercury 网络上,大概花费了10分钟不到的时间。网址见:https://qsuio-dqaaa-aaaaa-qa6oa-cai.ic0.app/
请注意,在链接之中的 "qsuio-dqaaa-aaaaa-qa6oa-cai" 这一串编码,就是前端容器的编码索引,无论是前端应用还是后端应用,甚至是钱包,都是以容器方式组织的,在容器之中包含了编译之后的程序,以及该程序的运行状态等信息,支持查询和更新状态的操作。
Cycle:程序运行的“燃料”
尽管下文我们会在代币模型的部分详细介绍 ICP 代币的经济模型,不过此处为了理解容器这一概念,有必要专门聊聊 Cycle。
在 ICP 这个云平台上,运行程序如果没有成本的话,势必会造成平台的计算带宽存储等资源被滥用。为此运行程序要有成本,并且为了防止单个程序/容器占用过多的资源,单个容器的运行可以使用的资源也有上限。
ICP 采取的是 Cycle 这一单位作为计价。如果你熟悉以太坊或者类以太坊平台的生态,可以将其理解为一种价格稳定的 gas,不能流通,只能用作手续费使用。并且需要由容器的所有者来支付。就是说这里的设计,采取了开发者付费的方式,按照我的理解,用户使用这些程序,是不需要支付费用的,而程序的开发者或者团队,需要将 ICP 代币兑换为 Cycle ,作为驱动程序运行的燃料,确保程序可用。
尽管 ICP 价格可能波动,但是 Cycle 的价格,是锚定法币的。具体来说 1 瑞士法郎等价于 1兆(trillion) cycles 的计算资源,开发者需要将价值 1 瑞士法郎的 ICP,兑换为对应的 Cycle。这样 ICP 的价格不会影响到合约的运行,不会出现 ICP 价格高涨,运行合约或者说容器的成本也随之水涨船高的情况出现。
ICP 兑换为 Cycle 是单向的,就是说不能够从 Cycle 再兑换为 ICP 代币。而且Cycle 也不能流通、转账,只能供开发者自己使用,用在自己所控制的容器上,确保他们能够运行正常。
基于上面的探讨,我们尽管略去了许多的技术细节,不过应该能够对 ICP 这台互联网计算机的运行方式有了初步的了解了。
接下来看看更轻松的话题:ICP 代币如何分配。
三、ICP 代币如何分配的?有何作用?
ICP 初始发行数量为 469,213,710 枚,第一批持有者约为 5 万多人,包含了空投参与者、团队贡献者(120 位全职人员,另外 30 余位贡献者)、以及投资伙伴。具体分配比例,如下图所示。
如前文所述,具体分配模式,是否会涉及到锁仓,尚未有明确信息,不过根据笔者的理解,代币会通过 NNS 的神经元设计锁定,最短锁定期预计为 6 个月。
据报道,Dfinity 总共经过了三轮募资,募集了约 1.95 亿美元,具体而言:
2017年 2 月 14 日,种子轮募集了 420 万美元,代币价格约为 0.0362 美元,这部分占比为 24.72%。2018 年 2 月 7 日,战略轮融资,从 Andreessen Horowitz (A16Z)和 Polychain Capital 处共融得 6100 万美元,占主网上线的初始代币分配的 6.85%,募资成本为每个代币 1.8978 美元。2018 年 8 月 28日:风投轮,这一轮融资额最大,共募得 1.02 亿美元。占主网上线的初始代币分配的 4.75%,募资成本为每个代币 4.5765 美元。由 Andreessen Horowitz(A16Z) 和 Polychain Capital 领投,SV Angel、Aspect Ventures、Village Global、Multicoin Capital、Scalar Capital、Amino Capital 和 KR1 以及 DFINITY 社区成员等跟投。
如果按照当前期货价格 190 美元来计算,总市值为 891 亿美元,按私募均价来算,意味着增长了 166 倍。
在 2018 年曾经举办的 Dfinity 空投活动中,诸多账户获得了 10 多个甚至一百多个 ICP 代币不等,折合人民币也能换一台车了。相信还有许多朋友热切期待着 ICP 代币能早点发放。
ICP 代币的用途:治理和支付
ICP 代币主要有两类用途:
作为治理代币使用,ICP 持有者可以将其锁定在治理系统中,对提案进行投票。参与治理可以获得奖励。作为数据中心运行公共账本的补偿,或者说产生区块的奖励,也是用 ICP 支付的。应用型代币,支付手续费。正如前面介绍过的,在 ICP 生态中,运行智能合约(或者说容器)需要消耗手续费(cycle)。与以太坊不同之处在于,ICP 的手续费是固定价格的,基本不会随着 ICP 代币的价格而波动。
由于 ICP 代币是驱动整个系统运行的关键,因此我们有必要专门了解下 ICP 代币模型设计,并借此了解在 Dfinity 之中各方的角色。
四、ICP 的代币模型如何设计的?
这张图,清晰的表示了 ICP 生态中的各类角色和模型,我们逐一解读。
ICP 生态中的四类角色和作用
在 ICP 生态中,有这样几类角色,相互之间其实也可以叠加。
首先是 ICP 持有者。
除了持币待涨之外,ICP 持有者还可以参与生态治理。Dfinity 采取的是链上治理模式,称之为 NNS ,神经网络系统。那么组成神经网络系统的每一个部分,就被成为一个神经元,而创建神经元,就需要 ICP 持有人锁定代币来产生。
相应的,当用户准备赎回代币的时候,就需要溶解掉神经元,如上图所示经过半个月到八年左右的延迟期之后,代币会回到用户手中,可以自由流通。
参与治理,可以获得到投票奖励,ICP 持有者通过锁仓所创建的神经元,也可以自动跟随其他的神经元进行投票。由于锁定期往往较长,因此参与治理进行投票表决的时候,预期持有者会做出审慎的考虑。
投票的权重,除了受到锁定币量的多少,也会受到锁仓时间、神经元已经存在时间的影响。
其次,是数据节点。
这些节点的作用主要是:作为超级运算中心,提供给 ICP 的基础服务,包括运行计算、相互通讯、存储信息等。每个数据中心会包含若干个数据节点,而多个数据节点,又可以组成子网络,供计算容器使用。
作为提供服务的回报,这些节点可以获得 ICP 代币作为奖励,这也是系统之中增发较多代币的一部分。每个节点在一段时间内获得的回报是大致恒定的。
数据中心想要加入到 ICP 网络之中,首先要做的是获得一个 DCID,即数据中心 ID。通过 NNS 这一算法治理系统为数据中心生成该 ID, 然后数据中心能参与网络之中,提供数据节点。
如果互联网计算机需要更多的处理能力,会引入更多的节点机器,形成子网,承载容器的运转。Dfinity 希望在十年内,可以吸引上千的数据中心加入。不过具体给数据中心的报酬如何,是否具有吸引力,还有待更多细节披露。
第三是 ICP 生态之中的关键角色:开发者。
开发者将软件代码编译部署到 ICP 之后,需要消耗 ICP 代币转换为 Cycle 燃料,换取数据节点提供的服务,维持自己的容器运行,供用户使用。如前所述,ICP 之中的燃料手续费,是采用固定价格的,并且消耗量相对稳定,有助于开发者做好预算。
并且这部分 ICP 代币是单向转换,Cycle 采取的是消耗模式,因此随着使用,ICP 会消耗掉这一部分,对 ICP 产生通缩压力。
第四,是软件的用户。
作为终端用户,其实是可以不必去管应用背后的平台如何,对他们而言,运行在 ICP 基础设施上的软件,如果能够提供传统互联网的便捷 + 分布式账本的安全可信的提升,并且进一步可以从软件的分布式治理中得到更强的激励,会得到更好的用户感受。
使用淘宝的用户,不用为了浏览网页挑选商品而付费,只需要在下单时候付款即可。根据笔者理解,这是 ICP 试图跟以太坊等平台不同的方向之一。ICP 试图实现这一点,运行在其上的程序所产生的计算等成本,由软件的开发者所承担,用户只需为自己所挑选的产品或服务付费即可,无需为使用软件本身支付费用。
不过,这是否也会带来一定的影响,导致 ICP 代币的消耗场景变少?由于尚未到达大规模用户上线测试的阶段,这一问题的答案,我们或许还要等好久才能得到。
ICP 代币增发还是通缩模式?
ICP 代币采取的是通胀设计模式,增发的 ICP 用来支付节点运行的奖励,以及为 ICP 治理的参与者提供奖励之用。
不过由于 ICP 代币的锁仓投票,以及单向的兑换燃料费 (Cycles) 的机制,所以实际上的流动量如何,取决于系统上线之后的运行情形,如果兑换为 cycles 的 ICP 量超过了增发的 ICP 代币量,则实际的 ICP 表现为通缩。
代币化 + 云平台
ICP 代币,是互联网计算机 (IC) 的原生代币,而在上面运行的服务,也可以创建自己的代币,实现去中心化,等同于智能合约或者说 DeFi 应用提供自己的治理代币,供用户参与其中。
在 ICP 生态之中,ICP 代币的持有者,可以通过 NNS 这一内嵌在 ICP 网络中的链上治理体系来参与整体生态的重要决策;而开放式网络服务,例如 DeFi/ NFT 等等项目,也可以如在其他公链平台一样,创建和发行自己的应用治理代币,丰富生态中的代币体系。
最后一起了解下 Dfinity 或者说 ICP 当前生态中的代表性项目。
五、Dfinity 的生态项目概览
Dfinity 由于主网进度不断延迟,尽管有国内外若干社区成员努力,不过生态发展还处于非常早期阶段,加上 ICP 的整体架构和概念体系,对于以太坊等生态的开发者而言相对陌生,迁移门槛较高,需要项目方和社区更多的推进,才可能获得更理想的进展。
笔者根据互联网公开资料,整理了几个 Dfinity 生态中的代表性项目,供读者参考。由于时间和精力所限,难免遗漏,还请读者补充指教。
Capsule:去中心化社交媒体
Capsule 计划推出一个超级简单的去中心化社交媒体平台,基于 ICP 创建,该公司获得了由 Beacon Fund 领投的种子轮融资(150 万美元)。Beacon Fund 是 Polychain Capital 管理,专注于在 Dfinity 的去中心化网络上构建用于下一代“开放”应用程序(也称为互联网计算机)的创业公司。
Distrikt:基于 ICP 打造专业社交媒体
起源于 LinkedUp,后来第三方团队接管,计划打造为专业人士的社交媒体应用,称之为 Distrikt。得到了 Dokia Cadpital 的首席执行官 Aurel Iancu所提供的资金支持。
按照平台介绍,Distrikt 将是 LinkedIn、Twitter 和 Medium 之间的结合体 ...... 但是是一个“去中心化的、民有、民治、民享的平台”。
Fleek:计划迁移上万个以太坊应用和 NFT 项目至 Dfinity
根据公开资料,Fleek 原名为 TERMINAL,帮助用户在 IPFS 上快速构建网站、应用的平台。如今也提供了对 Dfinity 的支持。Fleek 筹集了 400 万美元,用于在开放互联网上创建网站和应用程序。
据报道,完成迁移之后,Fleek 上 11000 个基于传统和区块链的网站能够在互联网计算机(ICP) 的主网上运行,Fleek 有望成为 DFINITY 互联网计算机「主网」最早的应用之一。此外为了提供快速、安全和可扩展的网络速度,Fleek 计划将托管服务扩充至 DFINITY 的互联网计算机上。双方将使基于以太坊的 DeFi 应用和 NFT 项目能够以网络速度运行,并大大降低 Gas 费用,并且降低对环境的影响。
Tacen:Dfinity 上计划的首个 DEX 产品
Tacen 融资了230万美元,计划在 Dfinity 上打造 DEX,预计于 2021 年 3 季度上线,不过目前还没有可公开测试的版本,代币为 TXA。
根据 Tacen 官网介绍,计划弥补中心化交易所和去中心化交易所在安全和速度之间的裂隙,实现企业级别产品速度的同时,又无需进行 KYC,用户能够完全自主控制自己的资产。通过智能钱包、速度撮合订单、以及结算数据预言机等基础设施,实现融合。除了交易加密货币之外,也可以用于 NFT 资产的交易。
Openchat
OpenChat 将是继 LinkedUp 和 CanCan 等互联网计算机上的开放应用之后,DFINITY 上第一个去中心化的加密通信应用。据 OpenChat 的软件工程师 Hamish Peebles 介绍,尽管 OpenChat 在功能上与 WhatsApp、Signal、Telegram 等非常相似,但是所有权归用户,且代码公开可查,用户会分配得到代币,且对于应用有最终决定权。
六、小结
尽管介绍 Dfinity 互联网计算机的文章已经有许多,本文试图尽量从简单易懂的角度出发,概览 Dfinity 生态中的常见概念和问题,方便读者做入门级理解。
Dfinity 立项至今五年,进度并不理想,社区的反馈也众说纷纭,有评价为厚积薄发,也有讽之为鸽中王者,不过经过本文的梳理,我们大致可以对 Dfinity 的系统生态有基本了解,随着 ICP 互联网计算机生态的后续发展,也可以更方便的解读相关信息,做出自己的投资和独立评价。
Dfinity 的开发体验相对顺畅,也提供了较为丰富开发者文档和案例参考,对于传统互联网开发者来说,入门的门槛也不算很高。不过毕竟涉及到若干新的概念和设计体系,以太坊等生态之中既有开发者是否能够顺畅迁移,还有待时间检验。笔者期待的是,Dfinity 可以走向圈外,吸引区块链生态之外的传统互联网开发者和创业团队加入进来,丰富这一生态。
Dfinity 目前生态中的代表性项目不多,在开发者生态发展上尚需加力,方不负市场长久的期待,互联网生态亟需改变,也希望 Dfinity 在开放式网络和全球互联网计算平台上的探索,能够给我们带来一些不一样的思考和方向。
本文仅为提供信息参考之用,不构成投资建议,还请读者自己审慎辨别,独立思考。