Crust 详解大全,那些你不知道的成果

2023-12-27 00:31

本文主要是介绍Crust 详解大全,那些你不知道的成果,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Crust 是什么?

Crust提供了Web3⽣态系统的去中⼼化存储⽹络,⽀持包括IPFS在内的多种存储层协议,并对应⽤层提供接⼝。Crust的技术栈还能够⽀持去中⼼化计算层。Crust旨在构建⼀个重视数据隐私和所有权的分布式云⽣态系统。

Crust 基于 TEE 可信执行环境技术,提出了 MPoW(Meaningful Proof of Work),即有意义的工作量证明机制。 Crust 存储节点会周期地向全网报告“我”提供了多少存储空间、“我”存了哪些用户文件等信息,在 MPOW 机制帮助下,报告中的工作量是可验证并且可信的;并把工作量报告连同其它交易一起记录并打包到区块中。

同时,Crust 设计了一种以存储资源定义额度的PoS 共识算法,叫 GPoS(Guaranteed Proof of Stake,担保权益证明)。 通过第一层 MPoW 机制提供的工作量报告,Crust 链上可以获得所有节点的存储工作量,而第二层的 GPoS 算法,就是根据节点工作量为每个节点计算一个 Staking 额度。再根据这个额度,进行 PoS 共识

Crust还提供面向用户的存储服务。大家可以类比常用的云服务,比如针对 C 端的云盘和 iCloud,以及针对 B 端的阿里云和亚马逊云等等。

更多信息:Crust Network 技术白皮书 v1.9.8

2

TEE 是什么,在Crust 中 TEE 承担的角色是什么?

TEE 是 Trusted Execution Environment 的缩写,是主处理器上的一个安全区域,其可以保证加载到该环境内部的代码和数据的安全性、机密性以及完整性。TEE 可信执行环境技术,本质是提供一种保证数据和代码执行的安全空间。这个空间里的代码和数据,不受常规操作系统的影响,可以有效的保证数据机密性和完整性。

在 Crust 里,TEE 像一个诚实的监督员。周期性的检查节点是不是正常工作,有没有错存漏存用户数据,对于用户的敏感数据,TEE 的加密可以让存储节点自己也无法对用户的隐私进行读取。就像金库出租者自己也打不开客户的金库一样。

3

Crust网络基于TEE技术,是否存在安全隐患?

虽然TEE技术被广泛应用在各种商业场景,具有极高的安全性,但在一些极端条件下仍有被攻击的可能。Crust使用TEE进行存储证明,拥有几乎可以忽略不计的存储和证明的速度,也同时有TEE被攻击的可能。

为了确保网络的安全,Crust采取了以下手段:

1)通过链上升级规避TEE的代码漏洞

Crust是基于Substrate框架开发的,其链上升级功能可以在不分叉链的同时,升级Crust 协议中TEE模块的代码。对于任何TEE漏洞,一经发现,Crust便可以第一时间通过链上升级的方式修复漏洞。

2)通过PoS共识保护网络的安全性

在TEE漏洞修复之前,攻击者无法获得实际利益。基于GPoS共识算法,攻击者提供虚假的存储证明,只能获得高于实际值的存储量。然而Crust网络的算力除了存储量,还需要有对应数量的CRU通证进行质押。因此,当节点TEE被成功攻击后,网络的安全性依然受到PoS共识机制保护。

3)支持开源的TEE框架

Crust抽象了约30个存储证明的接口,这些接口可以适配各种TEE方案。比如可审计的开源TEE框架——RiscV。

4)多TEE策略

在下一阶段,Crust计划支持多TEE博弈架构,也就是每个节点同时运行两种以上TEE。这时,存储证明会被两个以上不同TEE生成出来。如果一个TEE被攻击,那么另一个TEE可以第一时间发现并上报。

在零知识证明(Zero Knowledge Proof,后简称ZK)技术成熟后,将基于TEE的存储证明替换成基于ZK的存储证明。

现阶段,ZK技术尚未成熟,使用ZK进行存储证明,成本较高,且消耗更多的电力和时间,难以商用。但随着密码学的不断进步,我们相信未来ZK的效率会有所提高,并可以被应用在分布式存储上。Crust为ZK存储证明也保留了接口。

4

Crust 的应用场景有哪些?

Crust现已推出三大应用场

这篇关于Crust 详解大全,那些你不知道的成果的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/541319

相关文章

Flutter监听当前页面可见与隐藏状态的代码详解

《Flutter监听当前页面可见与隐藏状态的代码详解》文章介绍了如何在Flutter中使用路由观察者来监听应用进入前台或后台状态以及页面的显示和隐藏,并通过代码示例讲解的非常详细,需要的朋友可以参考下... flutter 可以监听 app 进入前台还是后台状态,也可以监听当http://www.cppcn

C++ Primer 标准库vector示例详解

《C++Primer标准库vector示例详解》该文章主要介绍了C++标准库中的vector类型,包括其定义、初始化、成员函数以及常见操作,文章详细解释了如何使用vector来存储和操作对象集合,... 目录3.3标准库Vector定义和初始化vector对象通列表初始化vector对象创建指定数量的元素值

MyBatis与其使用方法示例详解

《MyBatis与其使用方法示例详解》MyBatis是一个支持自定义SQL的持久层框架,通过XML文件实现SQL配置和数据映射,简化了JDBC代码的编写,本文给大家介绍MyBatis与其使用方法讲解,... 目录ORM缺优分析MyBATisMyBatis的工作流程MyBatis的基本使用环境准备MyBati

Nginx中location实现多条件匹配的方法详解

《Nginx中location实现多条件匹配的方法详解》在Nginx中,location指令用于匹配请求的URI,虽然location本身是基于单一匹配规则的,但可以通过多种方式实现多个条件的匹配逻辑... 目录1. 概述2. 实现多条件匹配的方式2.1 使用多个 location 块2.2 使用正则表达式

Java8需要知道的4个函数式接口简单教程

《Java8需要知道的4个函数式接口简单教程》:本文主要介绍Java8中引入的函数式接口,包括Consumer、Supplier、Predicate和Function,以及它们的用法和特点,文中... 目录什么是函数是接口?Consumer接口定义核心特点注意事项常见用法1.基本用法2.结合andThen链

spring @EventListener 事件与监听的示例详解

《spring@EventListener事件与监听的示例详解》本文介绍了自定义Spring事件和监听器的方法,包括如何发布事件、监听事件以及如何处理异步事件,通过示例代码和日志,展示了事件的顺序... 目录1、自定义Application Event2、自定义监听3、测试4、源代码5、其他5.1 顺序执行

Java之并行流(Parallel Stream)使用详解

《Java之并行流(ParallelStream)使用详解》Java并行流(ParallelStream)通过多线程并行处理集合数据,利用Fork/Join框架加速计算,适用于大规模数据集和计算密集... 目录Java并行流(Parallel Stream)1. 核心概念与原理2. 创建并行流的方式3. 适

web网络安全之跨站脚本攻击(XSS)详解

《web网络安全之跨站脚本攻击(XSS)详解》:本文主要介绍web网络安全之跨站脚本攻击(XSS)的相关资料,跨站脚本攻击XSS是一种常见的Web安全漏洞,攻击者通过注入恶意脚本诱使用户执行,可能... 目录前言XSS 的类型1. 存储型 XSS(Stored XSS)示例:危害:2. 反射型 XSS(Re

linux本机进程间通信之UDS详解

《linux本机进程间通信之UDS详解》文章介绍了Unix域套接字(UDS)的使用方法,这是一种在同一台主机上不同进程间通信的方式,UDS支持三种套接字类型:SOCK_STREAM、SOCK_DGRA... 目录基础概念本机进程间通信socket实现AF_INET数据收发示意图AF_Unix数据收发流程图A

Go 1.23中Timer无buffer的实现方式详解

《Go1.23中Timer无buffer的实现方式详解》在Go1.23中,Timer的实现通常是通过time包提供的time.Timer类型来实现的,本文主要介绍了Go1.23中Timer无buff... 目录Timer 的基本实现无缓冲区的实现自定义无缓冲 Timer 实现更复杂的 Timer 实现总结在