“Crust 实现了去中心化存储的激励层协议,适配包括 IPFS 在内的多种存储层协议,并对应用层提供支持。同时 Crust 的架构也有能力对去中心化计算层提供支持,构建分布式云生态。”
去中心化账本技术指的是交易记账由分布在不同地方的多个节点共同完成,这些节点都可以参与监督交易合法性,同时也可以共同为其作证。区块链是分布式账本技术的一种形式,区块链分布在点对点网络上并由其管理。由于它是一个分布式账本,因此可以在没有中央服务器管理的情况下运行,并且可以通过数据库复制和信任计算来维护其数据质量。但是,区块链的结构使它有别于其他类型的分布式账本。区块链上的数据被分组并以块的形式组织起来,这些块按照时间顺序依次连接形成一条链,并使用密码学技术对其进行安全保护。基于区块链这种分布式数据结构,可以为零信任的去中心化网络带来共识。能否解决实际社会问题,以及能否真正提升社会生产活动的效率,是技术能否持续发展和普及的关键衡量标准。信息技术对于社会生产关系与生产效率的影响是已被验证的,
且正处于持续深化的进程中,而存储和计算恰是信息技术生产力革命的两大核心基础要素。 因此,区块链技术不仅需要提供凝结共识、去信任化的机制(即“价值去中心化”),也应当为存储、计算两大核心生产要素提供去中心化的基础设施(即“存储去中心化”与“计算去中心化”)。纵观现有的主流去中心化共识机制,区块链技术被广泛用于信任凝聚(生产关系)基础设施,并且往往伴随着大量算力以及存储资源的消耗,而对存储和计算去中心化的支撑则相对空缺。
现有的存储和计算场景广泛地承载于中心化的云计算平台,而存储服务作为云计算市场最重要组成部分之一,同时也成为了大多数云服务的基石。中心化云存储旨在将储存资源放在中心化磁盘阵列上,使用者可以在任何时间、任何地方,透过任何可联网的装置连接到云上方便地存取数据。但是,在这种中心化服务的方式下,存在服务稳定性不足、网络带宽成本高、数据传输能力有限等问题。本项目旨在以区块链的信任凝聚出发,通过技术的创新优化,从去中心化存储场景切入,进而实现可信、可靠、高效、泛在的去中心化云服务生态。
Crust 是基于有意义工作量证明机制(Meaningful Proof of Work, 简称 MPoW)和担保权益证明共识(Guaranteed Proof of Stake,简称GPoS)构建的数字加密应用层,
同时也是一种支持去中心化存储与计算的新一代区块链技术。
Crust 网络是一个高安全性、低能耗且公平开放的网络。从去中心化存储场景切入,
通过 GPoS,Crust 将凝聚的共识基础反哺于去中心化存储,使任何人都可以简单、公平地利用闲置存储设备参与去中心化文件系统的构建,支持对有意义的数据进行高效、安全以及低成本地存取和处理。
MPoW 的灵活性,决定了 Crust 的生态设计除了可以将共识凝聚和去中心化存储结合,
还可以将共识凝聚和去中心化计算相结合。从去中心化存储出发, Crust 从技术上为激励层(共识)+网络层+ 持久层(存储)+应用层(计算)的全栈生态无缝过渡提供了可能性。
II. 一种基于可信执行环境技术的有意义工作量证明机制 MPoW
可信计算(Trusted Computing)是在计算和通信系统中应用基于硬件安全模块支持的可信计算平台,以提高系统的安全性。随着可信计算研究的不断深入,大众视线逐渐由传统硬件芯片安全模式转向了可信执行环境(TEE,Trusted Execution Environment)。 TEE 是由 Global Platform 提出的概念,目前 TEE 有着多样化的实现方案,其中基于
Intel 芯片的 SGX 以及基于 ARM 开源框架的 TrustZone 是可信执行环境技术实现中最被广泛认知且应用的。
可信执行环境是一种由多种计算机相关技术组合而成的安全技术, 以下 5 个技术概念是可信执行环境的核心规范:
签注密钥必须随机生成并且不能被改变。其中私有密钥必须被安全保存,除了指定接口可以调用,无法通过任何方式获得。而公共密钥用来认证及加密待发送的敏感数据。
2. Secure input and output 安全输入输出
输入输出是指用户与系统之间的交互,其途径包括键盘、外设、网络接口等。安全输入输出是指,从系统用户到访问的进程间存在一条受保护的路径。
3. Memory curtaining 储存器屏蔽
储存器屏蔽拓展了一般的储存保护技术,提供了完全独立的储存区域。即便是操作系统自身也没有屏蔽区的完全访问权限,因此入侵者即便控制了操作系统,运行时(Run
Time)的数据也是安全的。
密封存储通过把私有信息和用户使用的平台环境配置信息捆绑在一起来保护私有信息。意味着被密封存储的数据只能在相同的安全环境下读取。
5. Remote attestation 远程认证
远程认证是指,由签注秘钥生成当前系统的软件证明书,系统上的任何改变可以通过证明书被远程授权方感知和校验,从而使得系统的执行逻辑安全可信。
以上 5 个关键技术是一个完备的 TEE 技术方案所应该拥有的。目前主流的 TEE 技术是基于硬件芯片的 Intel SGX 和 ARM 开源框架 TrustZone,Crust 目前对两种主流解决方案以及基于 TPM(Trusted Platform Module)的 TEE 软件实现都有支持。由于 SGX
被更广泛地应用于 PC 端,并且拥有相对更高的安全性,后文的 TEE 技术阐述以 SGX 为主。
相比于复杂的算法层面解决方案,TEE 在实现逻辑上更加简单而有效。在技术发展方面,TEE 拥有快速发展的技术生态,并且有着持续发展的强劲动力。在功能方面,TEE 支持复杂计算逻辑的可信执行,这更加契合了 Crust 的技术愿景,即在实现去中心化存储的基础上进一步支撑去中心化计算,进而形成完备的去中心化云服务生态。
在区块链系统中没有像银行一样的中心化机构,所以在进行传输信息、价值转移时,
共识机制解决并保证每一笔交易在所有记帐节点上的一致性和正确性问题。区块链的共识机制使其在不依靠中心化组织的情况下,依然大规模协作完成运转。目前主流的区块链竞争共识机制如 PoW、PoC 等,往往需要基于特定计算或存储过程产生的工作量,这些计算或存储过程被普遍认为是无意义的。Crust 通过结合 TEE 技术,立足于去中心化云计算和校验的场景提出了独创的 MPoW 机制。MPoW 可以被用来安全、公平、高效地量化各种有意义的数据存储和计算工作。
MPoW 机制主要负责节点工作量的统计和环境验证。我们将从存储场景出发说明这两个功能和相关流程:
节点接收到分发的数据,存储到硬盘。当用户数据被存储后,在本地 TEE 内执行定期抽查程序,校验 Merkle Hash 来确定节点申明的存储空间被用来正确保存用户文件。
节点 TEE 内运行检查程序,对网络内其它节点的 TEE 环境信息以及可信执行代码版本信息的远程认证逻辑。
可以看出,数据的完整性检查、存储的验证和统计、节点环境的检查以及节点身份验证均受到 TEE 的保护。
公平性:对工作节点工作量以及奖励的计算均受到 TEE 的保护,节点无需担心工作量得不到应有回报,同时也无法通过作弊获得额外奖励。高效性:存储量的证明无需进行大量冗余的挑战,也无需存储任何无意义的数据。无论计算资源还是存储资源都能被高效利用。发展性:TEE 支持完备的计算,并且有着不断发展的势能。这就意味着 Crust 区块链生态可以基于 MPoW 实现更加强大的功能,保障了从存储共识到计算共识演进的可行性和发展性。
Crust 网络是一个无限横向扩展,节点可以自由进出的的 P2P 对等网络。本章将从
Crust 节点和网络构建,以及 Crust 技术架构两方面对 Crust 网络进行介绍。
有意义的工作意味着,节点能够提供有效的存储和计算资源用以满足真实的存储和计算需求。在网络构建初期,Crust 致力于构建去中心化存储网络。因此,下文将以去中心化存储网络为目标场景进行叙述。在去中心化存储网络中,节点主要负责存储用户数据。节点工作量奖励一方面来源于用户的存储空间租用,另一方面来源于贡献存储空间而获得的区块链奖励。
节点在硬件上需要支持 TEE,提供存储空间并运行符合 MPoW 机制的软件或程序。
为了保证用户数据被完整存储,节点在每个区块周期需要对已存储的文件对象进行 Merkle
Hash 片段自抽查,并在 TEE 内生成 TEE 存储声明报告。由于抽查机制被写入 TEE 内,
抽查自检的流程无法被操作系统层面中断且不可被篡改,因此,每个节点的工作量统计置信程度相当于 TEE 技术的安全程度。
区块中记录的存储工作量来源于 TEE 存储声明报告。TEE 存储声明报告是 Crust 区块链上存储量记录的基本单位。其中包含节点的存储量信息以及一个来自本地 TEE 的签名。
节点需要负责其它新节点身份验证、TEE 的验证以及工作量的验证。节点运行支持 MPoW 的镜像,执行如下步骤:1. 根据收到的 TEE 存储声明报告进行工作量统计2. 验证网络中其它节点的 TEE 信息
3. 接收、验证并打包 TEE 存储报告到链上
4. 接收、验证并打包存储租赁合约到链上
5. 接收、验证并打包其它交易信息到链上
在 TEE 的保护下,某个节点对其它节点的验证是可信的,携带恶意、作弊代码的 TEE
节点理论上均无法加入网络。
初始状态,全网存在若干个初始节点,节点的 TEE 包含了验证节点所需的逻辑。由于链上需要维护 TEE 节点的公钥证书,节点入网流程如下: 2.通过 TEE 的远程证明技术跟网络中的某个节点相互验证 4.支付一定数量的 CRU(Crust 网络代币,将在 V 章进行详述)作为入网质押
由于 Crust 网络的节点存在区块链共识和有意义的工作两种不同功能,Crust 网络被天然地包含了数据存储和验证出块双重网络。Crust 的存储层适配多种分布式存储协议如
IPFS 以及 DAT 等 P2P 网络架构和 DHT 技术,用于快速、稳健地存储和分发数据块。验证网络则主要负责验证节点信息以及维护区块链数据。
每个节点在申请入网时,已入网的节点需要对该节点所启动的 TEE 实例进行验证,验
证结果会被记录到链上。TEE 实例一旦重启或者销毁,节点需要重新验证入网。上链信息主要由一个四元组组成:
{𝑅, 𝑆𝑖𝑔' (𝑅), 𝑆𝑖𝑔* (𝑅), 𝑆𝑖𝑔' +𝑆𝑖𝑔* (𝑅),}
其中 R 是被验证节点报告,其中包括节点可信执行环境信息、节点声明的存储量以及空盘证明。Sig 代表签名运算,V 和 M 分别代表背书节点和入网节点。这个四元组确保了每个节点存在唯一的背书节点。
当节点的存储状态发生变化,比如有用户数据存储或者存储量发生改变时,需要在
TEE 内校验外部存储状态变化并更新存储声明报告,同时将新的存储状态上链。Crust 包含了工作量证明层 MPoW、区块链共识层 GPoW 以及分布式云存储/计算层。
工作量证明机制 MPoW 建立在 TEE 基础上,为代码的可信执行提供技术保证,TEE 技术为 MPoW 机制提供以下支持: 1.存储隔离区的安全计算存储隔离区内的数据无法被外部进程获取 2.TEE 与节点身份(公钥)的绑定TEE 生成的公钥通过远程证明,能唯一关联节点的合法性 对特殊的隐私和敏感数据,可在 TEE 存储隔离区进行处理,但在传输和存储的过程中均处于加密状态,节点无法进行观察获取。
MPoW 机制包含两层证明:环境证明和工作量证明。
节点入网时需要基于 MPoW 机制,对节点的 TEE 进行共识。Crust 网络中节点对待入网节点的环境进行验证,通过验证的节点身份以及其 TEE 公钥将会被记录在链上。
a) Crust 对存储工作量的共识是类似时空证明(Proof of SpaceTime,简称 PoSt))共识框架的一种实现。每隔一定出块周期,节点的工作都会被校验,与 PoSt 不同的是,
MPoW 的封装和验证逻辑是由本地 TEE 处理。Crust 存储节点收到用户文件后,在 TEE
内执行加密封装并保存,这样,外存中的文件只有 TEE 能还原,节点无法进行女巫攻击。 每个周期 TEE 在快速本地存储验证后,签署一个工作量报告上链,链上其它节点只需要验证工作量报告的签名即可,极大简化了存储量共识流程。因此,相比与基于复杂远程挑战算法的验证,基于 TEE 的验证降低了对网络和计算资源的占用。
b) 基于 MPoW,还可以对工作节点的计算工作量进行统计、验证和共识。Crust 提出了一种工作量共识算法 PoRT(Proof of Running Tracking),通过将可信执行环境与
LXC(Linux Container)结合,可以实现对工作节点计算量进行统计并达成共识。
GPoS
在整个 Crust 系统里有多个参与方,它们各自有不同的需求,按照每个角色参与的方式,我们将它们分为:验证人、候选人、担保人、用户,在此文中提到的用户,主要指存储和计算资源用户。
验证人是 Crust 网络中打包并生成区块的节点,维护着整个区块链网络。同时根据
Crust 网络的 GPoS(Guranteed Proof of Stake)共识,验证人节点需要有存储资源作为担保,并可 Staking 相应额度的 CRU 通证(Crust 网络中的原生通证,在下一章节详
细介绍),且需要保持在线。所以验证人节点也是一个提供存储资源的节点。参与到网络中的验证人节点可以获得单独给于打包区块的奖励和区块链每个周期的奖励分成,且要承担被罚没资产风险。验证人也可以通过存储交易市场出让存储资源获得收益。
候选人是 Crust 网络中参与竞争成为验证人,但没有获得验证资格的节点。和验证人节点一样,候选人节点也需要有存储资源作为担保,并可 Staking 相应额度的 CRU 通证,
且需要保持在线。和验证人节点的区别是,候选人节点不参与生成区块,不能获得单独给于生成区块节点的奖励。候选人节点可以获得区块链每个周期的奖励分成,同时也可以通过存储交易市场出让存储资源获得收益。候选人和验证人并不是固定的,每一个周期它们的身份可能产生变化,主要依据每个周期末节点 staking 的通证数量决定。
担保人是 Crust 网络中为任意一个或者多个节点提供担保的账户。拥有 CRU 通证的账户都可以成为担保人,可将其 CRU 作为担保资产。担保人为节点提供担保可以获得担保收入。
用户是指使用 Crust 网络资源的消费方,主要指存储和计算资源的使用用户。会使用
CRU 通证或者 Crust 网络中支持的其它通证资产购买资源服务。
Crust 链使用的是 GPoS(Guaranteed Proof of Stake)共识机制,是一个以存储资源做担保额度的 PoS 共识。和现有的 PoS 项目类似,节点需要将 CRU 通证质押来竞争成为验证人,不一样的是节点还需要提供存储资源以获取相应的担保额度,有了担保额度才能 Stake 相应数量的 CRU。通过 MPoW 机制,节点的存储量的节点存储量监测机制,节点贡献的存储资源越多,能获得的抵押额便度越高。
GPoS 基于 Substrate 框架的 BABE/GRANDPA 算法进行最终出块。如果想从共识
上攻击 Crust 网络,除了需要拥有大比例的 CRU 通证,还需要控制足够多的存储资源,
这样的设计会让攻击难度变得相对更高。
Crust 的服务层可以提供存储和计算服务,同时为各种服务提供相应的市场,比如存储市场、检索市场等。Crust 的存储服务适配多种分布式存储协议,如:星际文件系统(Inter Planetary File System,简称 IPFS)和分布式哈希表(Distributed Hash Table,简称 DHT)等技术,实现了基本的数据完整性、内容寻址、防篡改和去重等功能。不同的地方在于,基于 MPoW 存储量统计和校验可以在本地 TEE 进行,增加了工作量统计的效率和可靠性。
基于 TEE 的 Crust 存储网络可以支持在节点的可信空间(Enclave)之间建立加密
通道以及数据的加密封存(Seal)。用户的隐私数据可以选择在加密通道间传输,并被加密存储。被这种方式加密的用户数据将无法被除了用户以外的任何人(包括存储节点本身)获取。基于 TEE 的 Crust 存储网络可以支持在节点的可信空间(Enclave)之间建
立加密通道以及数据的加密封存(Seal)。用户的隐私数据可以选择在加密通道间传输并被加密存储。被这种方式加密的用户数据将无法被除了用户以外的任何人(包括存储节点本身)获取。
Crust 的存储市场和检索市场分别为用户提供了存储和检索订单交易的基本机制。用户通过存储市场将自己的文件以付费的形式在 Crust 网络中可靠的长期保存,也可以通过检索市场获取公开的文件。Crust 的计算服务基于函数即服务(Function as a Service,简称 FaaS)模型实现。FaaS 是公共云服务中最为灵活且最具潜力的设施之一,同时也是无服务器架构 (Serverless)的重要体现。Serverless 是一种构建和管理微服务架构的完整流程,允许用户在服务部署级别而不是服务器部署级别来管理应用。FaaS 的用户只需提供一个无状态函数,所有工作都在这个函数内完成,而所谓“函数”(Function)提供的是相比微服务更加细化的程序单元。
可是,即便配合最灵活的云计算设施,当下的 FaaS 平台中,函数和微服务依然难以被去中心化地执行,其最大问题是无法对计算的可靠性进行度量,并且难以对计算工作量进行可信的统计。MPoW 为云计算的可靠性和工作量度量提供了技术保障。在 MPoW 的基础之上,除了可以存取数据,同时还可以提供需要被执行的函数,计算层执行所需的数据可以无缝的与存储层衔接。至此,计算和存储在 Crust 框架下得以形成去中心化 FaaS
生态,并通过区块链的激励机制形成一个生态闭环。
远程验证机制解决了软件执行的可靠性问题,是 TEE 抵御恶意行为的重要功能。在
Crust 中,远程验证同样是去中心化网络组建的核心。被节点通过在远程验证的过程中嵌入当前运行 TEE 的公钥,将节点的身份、执行逻辑以及平台参数与 TEE 公钥在区块链上关联起来。远程验证由 Crust 网络中任意节点发起,先后要求被校验者证明:
1. 它的身份
2. 它运行的逻辑未被篡改
3. 它在一个正版平台上运行,并且启用了英特尔 SGX
1. 首先由挑战者向被验证平台提出证明请求,包括一个随机数用来防止重放攻击; 2. 被验证平台随之搜集在芯片制造时写入的背书证书(Endorsement Key,简称(EK)等信息用来标识可信平台的唯一身份,并用 EK 生成平台身份密钥(Application
Identity Key,简称 AIK)来避免暴露隐私,然后将 EK 发送给隐私签证机构(Privacy
Certification Agency,PCA);
3. PCA 通过验证 EK,验证芯片的合法性,并对 AIK 颁发证书;
4. 被证实平台通过引证(Quote)操作,使用AIK对软件度量值进行签名,并随之将
签名值与度量日志和 AIK 证书发送给挑战者;
5. 挑战者首先验证 AIK 证书的有效性,使用 AIK 公钥对数据进行解密获取软件度量值,通过软件度量值确保度量日志真实可信地返回给了挑战者,随后将度量日志的每一项与预期值进行比对,判断平台是否可信;
6. 挑战者将被挑战者的 AIK 公钥写入区块链。
注:流程中的 1、2、3 又叫作初始化阶段,流程 4、5 叫作证明阶段
以上流程中生成的 AIK 私钥将会被节点保存在 TEE 的存储器屏蔽区,只能被 TEE 的可信执行程序安全访问。执行在节点 TEE 内的可信执行程序的运行结果,将会被 AIK 私钥签名,并且该结果可以被链上记录的 AIK 公钥验证。
Crust 兼容了去中心化存储技术如 IPFS 的 P2P 基础网络架构和 DHT 技术,用于快速、稳健的存储和分发数据块。同时, Crust 在智能冗余、结构化数据支持、监管机制、
文件加密和权限管理上做了一定的拓展和优化。
一套完善可靠的数据存储证明机制需要包含数据完整性验证机制和数据时空验证机制。在 MPoW 中,数据完整性验证主要基于 MPoW 的 TEE 数据校验实现,数据时空验证十分类似经典的 PoSt 算法。
Filecoin 关于时空证明 PoSt 和复制证明 PoRep 给出了一系列定义,其本质逻辑是使得有效的证明人 P 能够说服一个验证者 V 相信 P 在一段时间内已经存储了一些数据 D。MPoW 通过 TEE 技术实现了本地存储的自验证,有效减小了复制证明的复杂性,在抵御女巫攻击、外包攻击以及生成攻击的同时,一定程度上简化了现有的 PoSt 流程,降低了网络成本和计算成本。
为了度量节点的存储供应量,我们定义了空盘证明机制,使得节点可以在 TEE 内有效地追踪节点声明的存储空间。节点 TEE 内随机生成无意义数据块δ,并用δ写满可用空间。由δ构成的存储证明 r 将会被 TEE 和链追溯,TEE 会定期根据 r 对本地存储进行抽查校验,确保声明的存储量可用。
为了抵御生成攻击和女巫攻击,Crust 会在 TEE 内对用户文件进行封存(Seal)操
作。节点无法主动通过源文件生成封存后的文件,而 TEE 对文件的完整性验证是基于封存后的文件,因此基于 TEE 的数据封存可以有效抵御女巫攻击和生成攻击。
Crust 在固定周期内会基于 VRF 算法,随机抽取带有 TEE 的用户,对随机的存储节点和存储文件发起检索请求。
Intel SGX 技术是基于硬件的可信执行环境实现。即使是攻击者获得 OS,hypervisor,BIOS 和 SMM 等权限,也无法直接攻击 Enclave。因此,攻击者往往通过侧信道攻击,
比如页表、Cache、DRAM 等攻击面。侧信道攻击主要手段是通过攻击面获取数据,推导获得控制流和数据流信息,最终获取 Enclave 的代码和数据信息,比如加密密钥,隐私数据等等。
在 Crust 的协议框架下,受到侧信道攻击威胁的是节点 TEE 中的核心敏感数据,也就是 TEE 的私钥。一种可行的抵御侧信道攻击方法是在程序的源码层面引入增强的密码学算法,比如使用增强的椭圆曲线和 AES 算法等。基于以上源码层面的增强实现数据流和控制流的隐藏,可以有效地保护节点 TEE 内敏感数据。
ROP 全称为 Return Oriented Programming(面向返回的编程)是一种新型的基于代码复用技术的攻击,攻击者从已有的库或可执行文件中提取指令片段,构建恶意代码。 通过扫描已有的动态链接库和可执行文件,攻击者提取出可以利用的指令片段(gadget),
这些指令片段均以 ret 指令结尾,即用 ret 指令实现指令片段执行流的衔接。进行 SGX-
ROP 攻击,需要将恶意程序加载进入 TEE 下执行,从而对主机造成破坏,并且恶意程序防护软件无法从 SGX Enclave 扫描到有用信息。
由于 Crust 是一个开源框架,社区内发布的任何程序代码和来源均可以被审查,因此从根本上杜绝了恶意代码破坏节点主机的可能性。与此同时,ROP 攻击主要针对本地系统,
如果节点 TEE 内嵌入恶意代码,依然会被网络中的其它节点发现从而无法入网,整个网络
不会受到影响。
Crust 可以抵御目前已知的 SGX 安全漏洞,但对未来潜在的威胁也有一定的防治策略。我们假设最坏情况发生(虽然目前并没有发生的征兆 ),某个恶意节点攻破 SGX 并获取到了节点私钥,这就意味着节点可以随意伪造 TEE 软件和硬件环境证明。
工作量伪造:可能伪造文件完整性校验信息,从而声明一个虚假的存储量以骗取奖励。假节点入网:可能进行虚假验证,从而导致包含恶意代码的节点加入网络。
通过限制单节点存储量达到限制虚假算力,从而控制有效的恶意攻击对网络的影响。
此架构下,每个节点需运行两个不同厂商的 TEE。TEE 轮流提供工作量报告并相
互校验。任何 TEE 的伪造工作量报告行为都会被另一个 TEE 发现并汇报。因此攻
破任何一个单点 TEE 或某个 TEE 厂商的秘钥库泄露都无法对 Crust 网络产生威
胁。
本章将会简要介绍 Crust 中的角色和行为,关于更具体的经济模型细节,请参考
《Crust 经济白皮书》。
参考第 III 章 B 节对区块链共识层的定义,Crust 经济生态的参与者包括:验证人、候
选人、担保人以及用户。
CRU 是 Crust 网络中流通的功能性代币。在网络中流通方式主要为:区块链奖励、交
易手续费、存储服务结算、代币转移交易、入网质押、节点处罚。
区块链奖励将被按一定比例被验证人和候选人分配。细节请参考《Crust 经济白皮书》。
为了防止 DDoS 拒绝服务攻击,同时激励节点对网络中的交易进行打包验证,用户发起的服务买入交易以及其它 CRU 转移交易将需要支付一定数量 CRU 作为手续费。出块节点将会获得区块内包含的手续费。
Crust 为用户和存储节点提供存储市场。存储节点可以为自己的存储资源进行定价,
用户可以在存储市场进行选购。存储付费将在存储周期内逐步进入存储节点账户。按照一般交易手续费协议,用户需要提供一定数额的手续费作为交易上链费用。
用户可以发起交易,将自己账户的 CRU 转移给其它账户。节点将会收集这些转移交易并打包出块。按照交易手续费协议,转账用户需要提供一定数额手续费作为交易上链费用。
质押分为两种:入网质押和存储订单质押。由于 GPoS 共识本质是基于质押出块的,入网质押是成为节点的基本条件。节点的恶意删除以及违约出块将会对存储网络的稳定性和可靠性带来影响。因此,Crust 节点接收存储订单时需要抵押一定数量的 CRU 用来保证存储服务质量。
当节点响应存储验证请求失败或当发生违背合约出块错误时,节点质押金将会被相应扣除。
Crust 着力于协议的制定和持续完善,并对新技术和新参与者保持开放的态度。
除了前文提及的技术实现,还有一些工作可以为 Crust 带来成长,这些工作包括但不限于:
支持多种 TEE 解决方案。Crust 早期主要基于 Intel SGX 技术,未来 Crust 将会通
过 TEE 抽象层接入各种解决方案,比如 ARM 芯片的 TrustZone、AMD 的 SEV 以及基于 TPM 模块的 Software TEE。
支持计算的量化。基于 TEE 的支持,比如基于 TEE 的代码混淆算法,一些类似 FaaS
任务的去中心化执行可以被量化。
支持 Layer2 服务的完善。Crust 除了可以提供基础的去中心化存储激励,还将完善对 Layer2 的支持,使得 Crust 提供的云服务对用户更加友好和便捷。
支持完善的链上治理。为了更好的满足技术和生态的进步,Crust 将会开放公平高效的去中心化的链上治理。
接入 Web3 生态。Crust 可以解决 Web3 生态中的所有去中心化存储场景,同时也将获得 Web3 生态带来的生态加速。[1] Satoshi Nakamoto,“Bitcoin: A peer-to-peer electronic cash system,” 2008.[Online]. Available: http://bitcoin.org/bitcoin.pdf[2] Sabt M, Achemlal M, Bouabdallah A. Trusted Execution Environment: What It is, and What It is Not[C]// IEEE Trustcom/bigdatase/ispa. 2015.
[3] Mckeen F , Alexandrovich I , Anati I , et al. [ACM Press the Hardware and
Architectural Support for Security and Privacy 2016 - Seoul, Republic of Korea
(2016.06.18-2016.06.18)] Proceedings of the Hardware and Architectural Support
for Security and Privacy 2016 on - HASP 2016 - Intel Software Guard Extensions
(Intel SGX) Support for Dynamic Memory Management Inside an Enclave[J]. 2016:1-9.[4] Winter J. Trusted computing building blocks for embedded linux-based ARM trustzone platforms[C]// Acm Workshop on Scalable Trusted Computing. 2008.
[5] Bruschi D , Cavallaro L , Lanzi A , et al. Replay attack in TCG specification and solution[C]// Computer Security Applications Conference. IEEE, 2005.
[6] Douceur J R. The Sybil Attack[C]// International Workshop on Peer-to-peer Systems.2002.[7] Dias D, Benet J. Distributed Web Applications with IPFS, Tutorial[C]//International Conference on Web Engineering. 2016.[8] Cai M, Chervenak A, Frank M. A Peer-to-Peer Replica Location Service Based on a Distributed Hash Table[C]// Supercomputing, Acm/ieee Sc Conference. 2004.[9]“Filecoin:A Decentralized Storage Network”,[online] Available https://filecoin.io/filecoin.pdf[10] Lerman L, Bontempi G, Markowitch O. Side Channel Attack[J].
Cryptographic Attacks, 2013.[11] Prandini M, Ramilli M. Return-Oriented Programming[J]. IEEE Security & Privacy, 2012, 10(6):84-87.