Trias:TEE与HCGraph解析

随着自动化智能化渗入生活,人的衣食住行均与机器紧密相连。相信机器,将成为未来人类的新一项生理需求。相信机器的核心,在于相信其在正确的硬件环境下执行了正确的程序。换言之,一个值得信赖的机器,它的硬件软件都必须是可靠的。

如何确保可信的软件在可靠的硬件环境下运行,Trias团队借鉴智能合约,重新构建一套去中心化的通用平台的可信算力体系,及一套去中心化的可信软件开发运维体系,从而保障正确的通用平台硬件环境执行了正确的原生应用程序,从而实现近区块链2.0智能合约的安全强度。进一步地,通过重新构建一套智能合约体系,Trias实现了对硬件与软件的有机调度,并利用经济模型驱动硬件与软件生态健康、有序、安全地运转。

Trias 中的可信算力体系,即Leviatom(利维坦)平台。该利用TEE技术及信任图技术实现了称为异构共识图的共识算法,用以迅速定位全网中“最难撒谎的点”,并为少数这些点分发智能合约程序,从而实现高效、高并发、高鲁棒性,且支持原生应用程序的智能合约运行环境。

一、TEE

TEE即可信执行环境(Tusted Execution Environment),是一个基于CPU硬件安全扩展,且与外部完全隔离的执行环境。它可能作为协处理器出现,也可能是基于ECV的新的硬件技术体系。这个环境中运行的CPU空间完全只被硬件授信,软件和操作系统都不可见。

针对现有区块链公链的安全问题,比如智能合约、挖矿、钱包等程序的运行环境得不到保障、缺乏对共识算力的“质量”的判断等,Trias提出利用TEE 等可信计算技术,将智能合约和区块链自身代码,移入特性硬件的可信执行环境中执行。由可信计算技术确保执行的代码是满足预期要求的,不会受异常进程/线程/恶意文件等其它系统因素的影响。可信执行环境内的程序若出现任何与预期白名单不一致的情况时,即立刻会在可信硬件上反应。这种低“质量”的算力节点就能立刻被辨识和并排除。同时也可以通过可信计算方法来量化每个共识节点“质量”好坏的程度。在实现共识时,可以直接通过对“质量”好坏程度的判断,仅选取少数优质节点作为代表以达成共识。

该方法不仅提高了各节点的安全可信性,而且减少了参与共识的节点数,最终实现了效率与安全性的同时提升。

二、TEE 技术的局限性

然而,TEE技术并不完美的,它也存在一定的局限性。

首先,缺乏通用的TEE构建方法和接口。TEE的标准制定者GP(Global Platform)虽然制定了大量标准和规范,但是从接口层方面,各大厂商实现接口方式尽不相同,碎片化非常的严重。而且出于安全考虑,代码基本闭源,所以无法形成统一的接口进行推广,需要进行定制。

其次,目前市场上缺乏基于TEE的安全应用。如前所说只有部分大厂为了实现最高安全的采用了TEE,但是对应的扩展应用大家都很离散。而具体使用的时候,Trust Zone与SGX代码都需要重构,需要开发人员对已有程序代码重构,将程序分成可信部分和非可信部分,目前有Intel发布的SDK来协助做这方面工作,但仍然是很大量的工程修改工作。

此外,在性能方面,TEE的enclave进出是瓶颈,这是由于TLB中缓存enclave中的内存访问缘故,因而进出enclave需要进行TLB flush。另外执行enclave代码时,非TLB的内存访问也会造成额外的一些检查,导致更大的额外开销。同时也存在TEE代码编写漏洞风险 ,如果enclave编写代码本身有漏洞的话,enclave是无法保护程序的安全,目前就有针对缓冲区溢出的ROP攻击能够控制enclave。另外也有些边信道攻击,能够导致秘密泄漏。因此,用单一的中心化的enclave去保护程序安全是无法完全满足用户安全需求的。

三、HCGraph(异构共识图)

为了克服上述问题、减少区块链使用TEE的难度,Leviatom提出了HCGraph(异构共识图协议),引入了信任传递关系网。

定义:HCGraph是基于异构TEE (Trusted Execution Environment)的可信计算技术与基于小世界网络的图计算技术的充分结合。

HCGraph(异构共识图)让临近的具备TEE运行环境的节点互相验证对方的可信度,并将所收集到的可信节点信息在已获得其信任的其它节点见传播。这样每个TEE共识节点的状态信息就能形成一个信誉关系网,互相背书互相证明,一旦有一个节点要“撒谎”,周围的节点都会立刻就能指正它。而周围的恶意节点若想要配合“撒谎”节点,则需要让其周围的所有其他节点也同时配合。由此反复迭代,HCGraph可迅速定位全网中“最难撒谎的点”,并为少数这些点分发智能合约程序,从而实现高效、健壮、高并发、且支持原生应用程序的智能合约运行环境。

概括来讲,HCGraph(异构共识图)实现了三层算力体系

1.利用不同的TEE协议收集逻辑相邻节点的可信状态信息;

2.利用Gossip协议传递与整合逻辑相邻节点所搜集的可信状态信息;

3.利用本地TEE环境执行合约代码。

第一层算力节点利用TEE技术定期检查其周围节点的正确性。并记录其对齐检查的历史信息。TEE目前包括Intel SGX、Intel TXT、TPM、ARM Trustzone。第二层算力节点利用Gossip协议(以及Gossip about Gossip)收集并传播周围第一层算力节点所收集到的其它节点的正确性信息。第二层算力节点所确定的“同谋违约”代价很大的少数几个节点将成为第三层节点,并获得执行任意程序的权力。该层算力节点将最终对执行程序的结果产生共识,并争夺最终的记账权。

为适应不同平台的算力特性,Leviatom允许任一节点支持实现三类职责的任意组合。这既增加了共识网络结构的灵活性,又依照算力能力有效分配了共识运算量,实现了高效节能。

▲TRIAS官方平台

官网: https://www.trias.one

推特: https://twitter.com/triaslab

Telegram:https://t.me/triaslab

技术交流群:trias_as

猜你喜欢

转载自blog.csdn.net/triaslab/article/details/81120351
tee