互联网计算机-DFINITY将于5月8号正式主网上线,是迄今为止目标最为宏伟的区块链项目,是世界上第一个能够以网络速度运行的区块链,并且可以无限扩展容量和性能。
DFINITY由总部设在瑞士苏黎世科研机构DFINITY基金会发明,DFINITY基金会目前领导日本,德国,英国,旧金山和苏黎世研究中心。DFINITY是由运行高级区块链去中心化协议ICP的独立数据中心创建的公共软件开发平台。网络神经系统(NNS)是一个控制互联网计算机的去中心开放算法管理系统。
今天星际空间给大家带来ICP的高级加密技术,共识协议以及代币经济学等相关核心技术原理的分享。
网络神经系统
互联网计算机是基于互联网计算机协议(ICP)构建的区块链计算机网络,网络本身是分层结构构建的。底层是托管专用节点硬件的独立数据中心,这些节点计算机组合在一起以创建子网,子网负责托管软件容器,容器是可互操作的计算单元,由用户创建并且包含代码和状态。
网络神经系统(NNS),它负责控制,配置和管理网络。数据中心通过向负责引入数据中心的NNS申请加入网络。NNS本身具有开放的治理系统,它监督参与网络的权限。NNS还承担着网络管理角色,包括监视节点计算机以查找Internet计算机网络上的统计错误,性能不佳或行为错误。
NNS在网络代币经济学中也起着关键作用。NNS生成新的ICP令牌,用来奖励由NNS内投票的数据中心和神经元运行的节点。当NNS创建新的ICP令牌来奖励数据中心和神经元时,整个经济体系是通货膨胀的。数据中心所有者和神经元所有者可以获取令牌并与容器所有者和管理者进行交换。容器所有者和管理者将这些令牌转换为周期,然后使用这些周期来为其容器充电。例如,当这些容器执行计算或存储内存时,它们会消耗周期,最终必须为它们补充更多的周期才能继续运行,最终实现整体网络的通货紧缩。子网要了解Internet计算机,必须了解子网的概念,子网是整个网络的基本组成部分。子网是负责托管Internet计算机网络的软件容器的不同子集,通过以NNS控制的方式将来自不同数据中心的节点机器聚集在一起来创建子网。这些节点机器通过ICP进行协作,对称地复制与它们所托管的软件容器有关的数据和计算。NNS在构建子网时会合并来自独立数据中心的节点,通过使用DFINITY开发的拜占庭容错技术和密码技术,使ICP协议数学能够确保子网防篡改且不可阻挡。尽管子网是整个Internet计算机网络的基本组成部分,但它们对用户和软件是透明的,用户和容器软件仅需要知道容器的身份即可调用其共享的功能。这种公开、透明性是互联网计算机设计的基本原则。在互联网计算机上,如果用户希望调用功能,则只需要知道容器的身份和功能签名即可。与互联网创建无缝连接的方式一样,DFINITY也创建了软件的无缝链接,其中任何获得许可的软件都可以直接调用任何其他软件,且无需了解网络的基础运行情况。在此示例中,我们有一个虚拟的子网ABC,该子网托管了11个容器。NNS告诉它拆分,子网ABC继续使用容器1–6,并生成了一个新子网-子网XYZ,其继续使用容器7–11,所涉及的所有容器都不会遇到服务中断的情况。当您在nternet计算机创建容器时,您必须针对特定的子网类型例如“数据”,“系统”或“基准”。实际上,有一个专门托管NNS的特殊子网,您是无法将容器上传到该子网的。每种子网类型都会为您的容器提供某些属性和功能,如果您的容器托管在数据子网中,则它可以处理查询,但不能调用其他容器。调用则需要一个系统子网。如果希望您的容器能够保留ICP令牌的余额或将周期发送到其他容器,则需要一个受信任的子网。子网的功能部分源自底层的容错能力,这是基础科学领域中令人兴奋的领域,我们希望很快与公众分享,其中包括允许NNS修复损坏的子网的新加密技术。容器子网的目的是托管容器,容器在专用的虚拟机管理程序中运行,并通过公共指定的API相互交互。容器内部是可在WebAssembly虚拟机及其上运行的内存页面上运行的WebAssembly字节码。通常,将通过编译诸如Rust或Motoko之类的编程语言来创建该WebAssembly字节码。该字节码将包含一个运行时,使开发人员可以轻松地与API进行交互。在Internet计算机上,必须以两种方式之一来调用容器共享的功能。它们可以作为更新调用或查询调用被调用。本质上的区别在于,当您将函数作为更新调用调用时,其对容器内存中的数据所做的任何更改都将保留,而如果将函数作为查询调用进行调用,则其对内存的任何更改都将被丢弃运行后。更新调用会进行持久更改,而且它们也是防篡改的,因为ICP区块链计算机协议在子网的每个节点上运行它们。如您所料,这些调用使用允许在完全确定的执行环境中并发执行的机制,在一致的全局调用顺序中运行。更新呼叫仅需两秒钟即可完成。用户向容器内托管的金融交易所提交购买订单查询调用则不会保留更改,它们对内存所做的任何更改在运行后都会被丢弃。它们非常高效且价格便宜,并且仅需几毫秒即可完成。这是因为它们未在子网中的所有节点上运行,这也意味着它们提供了较低的安全级别。用户正在请求自定义新闻源,并且几乎立即获得了新生成的内容。最后,如果不提及容器可以创建新的容器以及容器可以分叉,那么对容器的讨论将是不完整的。您只需指定WebAssembly字节码即可创建一个新的容器,并且内存页开始为空。当容器分叉时,将创建一个新生成的副本,该副本与内部的内存页面完全相同。创建可扩展的Internet服务时,分叉被证明非常强大。星际空间从19年就持续跟进DFINITY互联网计算机的技术研究和应用开发,目前已经搭建ICP数据中心服务方案。欢迎大家持续