DFINITY基于区块链计算协议ICP运行,采用了分层结构,从底层到顶层依次为:数据中心、节点、子网、软件容器。
DFINITY的蕞底层是托管专用硬件的独立数据中心,这些数据中心运行在全球各地,目前全球已经有53个数据中心,年底将超过500个。数据中心对硬件与网络状态的要求较高,硬件也具备特殊要求,需要大量RAM而无需硬盘。数据中心想要进入DFINITY网络,需要获得去中心化治理系统NNS的头票许可,而这种头票往往发生在需要扩容时。
数据中心的机器运行DFINITY节点程序,这个程序会根据性能虚拟化出一系列计算资源标准化的节点,这些节点会组成DFINITY的区块链,处理计算、达成共识、出块并同区块。
这些节点随机地(跨多个数据中心)被NNS结合到一起,形成一个个子网。子网数量也不是固定的,而是随着网络的资源使用情况动态地增加、合并。这个子网类似于ETH2.0中的分片,或者是平行链,一个节点组只能组成一个子网,每一个子网内部都运行着自己的共识。子网的出块速度为一秒一个区块,且不同的子网同步并行出块。
而在不同的子网上承载着「容器」,容器中运行着业务逻辑。可以把容器看作智能合约的升级版本,容器也具备内存,目前上限为4G,可以存储业务相关数据,也可以存放前端资源。
与从传统区块链的架构差别
ETH是一台同步的状态更新机器,由交易触发智能合约,对状态进行共识;而DFINITY是一台异步的消息处理机,容器同时进行消息的接收、计算、返回,对消息的处理顺序共识。容器间不会共享状态,只会通过通讯来处理事务。
ETH 2.0、波卡、Layer2其实都属于分层架构&