IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> DFINITY基本架构 -> 正文阅读

[区块链]DFINITY基本架构

DFINITY简介

DFINITY (Internet Computer): 通过结合区块链网络节点的集体计算能力来创建“Internet Computer”,从而彻底改变互联网。Internet Computer是基于Internet Computer Protocol(ICP)区块链计算协议实现。

DFINITY 的目标是成为一个快速、安全、可扩展的云平台,它将为公共互联网的扩展出更多的功能,允许用户直接部署应用程序和安装代码,而不会出现影响比特币和以太坊等其他主要区块链的拥堵问题。

DFINITY = 链 + 云,换言之链上的云。

系统组件

由小及大,下上贯穿

Canister

WebAssembly容器,罐子

Canister是DFINITY中管理的最小单位,它是用户应用的载体,允许WebAssembly的字节码在其中运行。

Canister具备3个属性:

一是智能合约:附加区块链功能;

二是Actor:自身数据只有自己可改,单线程执行无需锁,与外部交互只有消息

三是进程:WebAssembly, 用不Crash,可以被控制器创建、移动、销毁。

Canister只有两个标准接口update请求和query请求。

img

update请求会改变Canister内部状态(应用数据),多个Canister副本需保持结果一致性。

query请求不会改变Canister内部的状态,不需要保持结果一致。

Canister的接口不仅可以被外界访问,也可以Canister之间互相访问;多种不同的服务互相调用,本质上和K8S的微服务架构没有太多区别。

Canister中的程序和状态存储于子链上,在子链上持久化。Canister不提供直接访问硬盘的传统持久化功能。

Subnets

此子网非传统网络概念中的子网,而是指一堆物理节点(nodes)的集合。

子网运行着多个Canister,对于同一个Canister, 每一个node都作为副本运行它。

对于外界的update请求,Subnet通过共识机制首先对请求排序,获得一致性的执行顺序后,每一个node的canister都按此顺序执行,最后每个Canister执行完之后,再通过共识机制形成一致的结果。

对于外界的query请求,会被分配到就近的Canister执行,返回用户结果。

所以一个Subnet的nodes通常会设置的比较分散,便于各地的用户就近访问。

img

NNS (Network Nervous System)

NNS是管理所有资源和决策的网络神经系统,可大致理解为去中心化的自组织的K8S容器管理平台。

NNS管理所有的物理节点,并将它们划分子网,为不用的应用创建Canister,按照一定规则将Subnet内的子链的结果同步于主链,猜测为rollup模式。

NNS本身是通过多条主链来管理这些资源,而具体的提案决策需要依赖神经元的共识机制–权益投票。

权益来源于质押的通证,通证的获取可以通过资源的提供,通证循环此处暂且不表。

img

计算服务

通过Subnet中的Canister部署用户程序,即可提供计算服务。一个Subnet可以看做是一台电脑,因为一个Subnet内的容器并行的副本计算,并达成共识。

如果需要更多算力呢,就得更多Subnet计算咯。按照Subnet 5台机器的话,那么实际算力使用率只有20%,如果做渲染/机器学习的话是不太适合这里的,浪费太多算力。

存储服务

DFINITY计算全靠Canister, 存储也是一样都在Canister的memory page里,但是DFINITY又限制了Canister的大小为4G,大规模的视频应用不可能部署在Canister上。

为了解决这个问题,DFINITY专门设计了数据存储的Data Canister, 并提供的存储接口BigMap。

img

Data Canister也是Canister,不能摆脱4G的限制,那么就会有大量的Data Canister为应用Canister的提供存储服务。应用Canister只需要记住文件索引以及文件所在的Canister即可,保证了应用Canister只保存状态数据,大量数据保存在后端的Data Canister.

img

  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2021-11-09 19:34:31  更:2021-11-09 19:36:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 22:49:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码