2021-04-11 00:06 | 出处: 区块链研习社
我们比以往任何时候都更需要开放的互联网生态,Dfinity 能否带给我们惊喜?
启动六年后,或许今年四月份,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 创始人的 Dominic 的说法,现在 Dfinity 的主网其实已经存在了,不过我更倾向于按照传统的习惯,将其定位为预启动阶段,尚未正式上线。
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 经过几年的迭代,目前的正式愿景定位为互联网计算机,缩写为 ICP。
Dominic 将 ICP 和传统互联网相并列,称互联网计算机为世界上首个以网络速度运行的区块链,可以无限制地扩容,可以承载任何数量的智能合约计算和存储任何数量的数据。
想要理解 Dfinity,必然会涉及到一些技术上的概念,我尽量用 Dfinity 团队给出的一些直观的图示,用人话来解释一下。
理解 Dfinity 的新定位—互联网计算机,真的把他当做一台超大型的分布式计算机系统来理解,可能会更方便。
传统的互联网生态,如上图所述,在物理层(光纤、WiFi、5G 等基础设施) 和互联网基础协议层(TCP/IP 协议等)之上,会包含诸多复杂的网络架构,比如云服务、CDN、DNS、数据层、防火墙等诸多组件。
Dfinity 设想用 ICP 协议以及建立在 ICP 协议之上的互联网计算机系统,来替代传统的 IT 架构。
用一种简单的方式来理解,ICP 会将传统的一些架构给打包成现成的服务,让开发者能够省事,直接用现成的轮子即可,不必再痛苦地去自行从头开始构建。尤其涉及到分布式架构中的负载均衡、CDN/DNS 等基础服务的配置等,ICP 提供了替代物,底层替换为了分布式的计算平台,而对于用户来说,几乎是无感的。
cancan 是一个部署在 ICP 上的示例应用
既然称之为互联网计算机,我们可以根据直接根据字面的含义,也能理解 ICP 所包含的内容:
从 ICP Dashboard 网站上,我们可以看到当前 ICP 生态中的网络带宽、CPU 资源、内存等等的信息,如上图所示,当前整个互联网计算机的带宽约为 20MB/s。需要注意的是,ICP 也是采取了内存存储的方式,提升程序的运行速度,由此带来的,是对数据中心的要求会比较高。
Dfinity 希望借助于拜占庭容错和加密算法,让软件不依赖于防火墙等设施,也能具备防篡改的功能,支持智能合约软件自动运行,且结合了代币经济模型的设计,实现激励和软件所在生态的自治。
如果说 ICP 是一台巨型的全球计算机,集合了诸多的数据中心和节点,那么 ICP 跟传统的云平台又有什么不同?毕竟 AWS、GCP、Azure、阿里云、腾讯云或者是公司自建的私有云服务,也是用的数据中心,异地备援,多节点运行的。
区别在于 NNS。ICP 之所以不是另外一个云平台,而是开放式计算平台,其区别在于被成为 NNS 的治理系统,或者可以做个通俗化但不那么精确的理解:
代币化 + DAO 治理 + 云服务 = ICP
ICP 平台为代币持有者通过去中心化的治理系统 NNS(神经网络系统)共同所有,在全球多地的数据中心,组成了多个子网络,为智能合约或者说容器提供了运行的基础设施,并从中获得收益。
如果说 ICP 是一台巨型的分布式计算机网络的话,各个数据中心和节点提供了运行的硬件设施,而 NNS 就是这台计算机的管理员,通过提案方式,决定了 ICP 这台超级计算机网络的运行机制和生态中的利益分配等相关事宜。
下文的代币模型部分,我们会再详细介绍 ICP 代币持有者是如何影响 NNS 系统中的决策的。
我们知道了 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" 这一串编码,就是前端容器的编码索引,无论是前端应用还是后端应用,甚至是钱包,都是以容器方式组织的,在容器之中包含了编译之后的程序,以及该程序的运行状态等信息,支持查询和更新状态的操作。
尽管下文我们会在代币模型的部分详细介绍 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 初始发行数量为 469,213,710 枚,第一批持有者约为 5 万多人,包含了空投参与者、团队贡献者(120 位全职人员,另外 30 余位贡献者)、以及投资伙伴。具体分配比例,如下图所示。
如前文所述,具体分配模式,是否会涉及到锁仓,尚未有明确信息,不过根据笔者的理解,代币会通过 NNS 的神经元设计锁定,最短锁定期预计为 6 个月。
据报道,Dfinity 总共经过了三轮募资,募集了约 1.95 亿美元,具体而言:
如果按照当前期货价格 190 美元来计算,总市值为 891 亿美元,按私募均价来算,意味着增长了 166 倍。
在 2018 年曾经举办的 Dfinity 空投活动中,诸多账户获得了 10 多个甚至一百多个 ICP 代币不等,折合人民币也能换一台车了。相信还有许多朋友热切期待着 ICP 代币能早点发放。
ICP 代币主要有两类用途:
由于 ICP 代币是驱动整个系统运行的关键,因此我们有必要专门了解下 ICP 代币模型设计,并借此了解在 Dfinity 之中各方的角色。