Dfinity 「代码即服务」模式能够降低软件供应商的开发成本并提高效率,使得数字化服务的区块链价值交换成为了可能。
拓展阅读:《睽违五年 Dfinity 发布重要进展,一览产品亮点与开发计划》
原文标题:《DFINITY:代码即服务》
撰文:Flanker
DFINITY 致力于构造一个拥有超级运算能力的安全软件的互联网计算机,遵循「代码即服务」模式,开发方只需将其代码上传,对应的应用和服务即可部署完成并开始运作,大大节约了应用开发和运维的成本,且真正实现数字加密世界内部各个服务的价值交换,从而加速推动全球数字化进程。与传统互联网应用的对比
众所周知,若要在传统互联网上推出自己的产品,需要利用各大商业云服务、云工具、各种数据库和防火墙等组件、相关虚拟化技术、软件开发平台等。由此产生的软硬件和各个供应商网络所组成系统的复杂性,使得系统因为需求变化而调整变得既昂贵又困难。如今,在一般的 500 强企业中,85% 的 IT 成本由 IT 运营部门承担,他们通常要花费 90% 以上的时间来处理与他们试图提供的功能无关的系统复杂性,如配置基础架构组件等。
而 DFINITY 要构建的互联网计算机则重新设计了软件来应对上述挑战,解决上述复杂性可以降低开发成本并缩短上市时间,从而带来巨大的收益。例如,当开发人员编写描述数据的代码时,这些数据会安全地自动保存在托管其软件的内存页中,无需开发人员在数据库内外编解码数据,甚至不必考虑数据持久化的工作原理(这个特性也被称为「正交持久化」)。因此,互联网计算机开发人员专注于编写他们想要实现的「什么」,而不是「如何」系统构建和互操作,效率大为提升。而开发速度的提升和开发成本的下降能够降低应用服务价格,缩短产品迭代周期,并改善用户体验,从而帮助应用开发商在激烈的竞争中脱颖而出。
从 DFINITY 近期发布的几个测试网的实际 Demo 小程序中可以看出,DFINITY 为开发者提供了一种无缝的开发体验,开发者可以使用一种与 Rust 相似的 Motoko 语言快速完成应用后端的开发,并且和使用 Javascript 和 Html 开发的前端页面共同编译生成一套可以直接部署在这个互联网计算机上的应用。一旦部署完成,用户便可以在电脑或手机上直接通过网页访问并调用这些应用和服务。性能瓶颈
我们目前可以在以太坊的网络上部署各种各样的智能合约来实现想要的功能和应用,但其性能瓶颈也一直是制约其发展的关键因素。DFINITY 则利用更高效的共识技术,在以太坊协议上需要 10 分钟才能完成的事情,采用 DFINITY 协议仅需 1 秒即可完成,将交易速度提升了两个数量级。
在以太坊的 Casper 方案中,大约 125 个区块之后才能实现最终确认,出块时间约为 2~10 s,因此最终确认时长大约为 10 分钟。而 DFINITY 的最终确认时间等于两个出块间隔加一点时间延迟(网络遍历或传输时间),因此几秒即可完成一个区块确认。
DFINITY 的共识采用 PoS+随机数的技术方向,其中共识方面的设计可谓其最大的技术亮点,而其中最重要的组成部分即为共识的随机数信标部分。通过这个随机数信标,网络中分布在世界各地数以万计的节点能够随机选择一小部分成员参加共识,从而共同而高效地达成一致。同时,这个随机数也会用于判定最终确定的链,从而快速使临时分叉的链得到最终确认(两个区块内即可确定最终链)。此外,该随机数也会为之后众多 DApp 提供底层的稳定的随机数。其中 DFINITY 采用基于 BLS 的阈值签名算法便是其核心,同时具备了可验证、唯一确定性、非交互性三个特点。
共识随机数技术不仅大大加快了 DFINITY 网络最终确认区块的速度,为支持高 TPS 应用提供了保证,同时也为整个网络提供了近乎无限的可弹性拓展的性能和资源。整个网络中由于共识随机数的产出,加之出块与公证都由固定数目的节点来执行,因此新节点的加入不会影响到运行的速度。而每新加入一个节点,都需要为网络提供一定性能的计算与存储性能。
在 DFINITY 最近的测试网 Demo 上可以找到一个基于密码学安全的视频会议应用程序(Magnify,github 地址),能够对参会者进行身份验证(如下图所示)。这样的应用能够在 DFINITY 网络中流畅运行也证明了其性能的优越。经济问题
目前在数字加密世界中,加密虚拟数字货币很少能够直接用于参与服务或产品的价值交换过程。除去中心化的交易所等应用外,几乎很少见到能够通过提供服务实现盈利的应用,更遑论用于与实体经济相结合的服务了。
DFINITY 互联网计算机则自带一套经济机制 ,软件提供商根据真实的资源消耗为整个网络各个分布式的数据中心付费,这些资源包括 CPU 的计算量、数据的存储量、网络流量等。而这部分成本最终由应用的使用者也就是最终客户来支付,且不需要软件提供商在启动服务之前先租赁或购买一台服务器。由此可见,DFINITY 上的软件必须完全在链上运行,这同时也意味着 DFINITY 上的软件也无法再在其他的传统云服务平台上运行。
再结合上述 DFINITY 的「代码即服务的」的特点,以代币结算的协议使代码具备了直接盈利能力,互联网计算机将成为开发者的游乐园,这将激励大量的创新,产生丰富多样的开放服务。开放服务之间还能互相调用融合(实际上都在一台虚拟机上运行),组合出更优的服务,这种多赢博弈为网络创造了巨大的「互助网络效应」,使其有能力与垄断的互联网巨头展开竞争。
但另一方面,鉴于系统会以 DFINITY 代币的形式向数据中心等节点支付报酬,如果这种代币的价格在短期有一定的波动,将导致服务费上涨,软件供应商盈利下降。即使在这套经济体系中采用稳定币来作为支付代币,政府的监管也可能会成为阻碍软件供应商进入的一大障碍,因为政府可能无法允许任何人都可以用除了法币以外的货币来购买商品和资产。总结
DFINITY 由于具备较快的区块最终确认速度和较高的 TPS,能够运行各种传统互联网的应用,而且其「代码即服务」的模式也能够明显降低软件供应商的开发成本并提高效率,使得数字化服务的区块链价值交换成为了可能。但 DFINITY 的未来发展又与政府的态度息息相关,能否获取政府的支持或将成为其成功与否的关键一环。