What_is_TEA?
Whitepaper
Blog_and_Vlog
Try_the_demo
Under_the_hood
FAQ
中文资料

绝大部分项目都试图改善区块链协议而 TEA 不是

无论是采用分片还是分层, 绝大部分试图解决区块链目前的低效状况的项目都是在让dApp 在区块链的共识跑得更快上做文章. 而 TEA 则完全走得不是这个思路. TEA 是让区块链的共识来做真正适合共识做的事情而不是去运行 dApp 的代码. 换言之 TEA 的区块链共识根本就不是跑 dApp 的, 而是跑针对第二层运营环境的硬件信任证据进行共识, 而 dApp 实际上就不在第一层的区块链上跑. 这个思路是完全不同于其他项目, 而且是根本不同的解决问题的思路. 好像是我们不是去试图让汽车更节约汽油减少污染物排放, 而是完全使用其他清洁能源来解决出行的问题.

在使用软件方案还是硬件方案上, 大部分项目都使用软件(也就是密码学)来解决问题, 而 TEA 不是

密码学有很多好处, 比如可以进行数学证明确保安全. 至少可以计算出来要破坏这种安全的成本. 虽然目前的各种密码学解决方案在快速发展中, 计算量的指数级增加还是无法避免的. 一些很简单的计算如果使用密码学的方案就会变成极为复杂的计算. 对于原本就复杂的算法就大部分情况下不能做了. 数学的发展速度相比于半导体集成电路的硬件发展速度来说显然还是慢很多. 反之再看硬件的解决方案虽然也存在着很多缺陷, 但是没有了额外的巨大成本附加(Overhead), 代码只是换了一个运行环境就可以可信地执行. 其余的安全证明交给硬件去完成就行了, 并不会耽误运行代码的时间. 唯一明显的额外成本就是数据进出安全域(enclave)的时候的加解密开销. 这些开销比起现在区块链的常见开销基本可以忽略.

在使用硬件解决方案中, 大部分项目都使用 CPU 提供的 Enclave 技术(比如 Intel SGX)而 TEA 不是

排除掉使用软件密码学的方案之外, 单独考察使用迎接解决方案的项目中, 绝大部分都是采用了 CPU 提供的 Enclave 技术. 最耳熟能详的就是 Intel SGX 技术了. 虽然时而爆出一些攻击方法, 总体来说这种技术安全性是足够好的了. 但是我们不采用这类技术的原因主要是 1. 还是过于中心化 2. 开发代价大 3. 硬件环境限制 和 4. 成本

中心化的问题

我们做区块链的目标就是实现去中心化. 目前采用 CPU 的 Enclave 技术还都无法避免由 CPU 的厂家提供证书和验证服务. 这个等于是从一个旧的中心换成了新的中心. 毕竟世界上有能力生产 CPU 的厂家屈指可数. 中心化还是相当明显的.

开发代价大

一个普通软件修改成为可以运行在 Enclave 的"安全软件"需要对十分底层进行很多代码改造. 比如需要区分哪些函数需要跑在 Enclave 里面, 哪些在外面. 由于 Enclave 内部的各种限制, 不可能把所有代码全部跑在 Enclave 里面. 如果真的全部跑在里面, 那么一个庞大的 TCB(Trusted Codebase)就无法得到 Enclave 带来的安全保护了. 这种代码改造的难度超过通常的应用开发难度.

硬件环境限制

首先必须使用这些厂家的 CPU, 比如 Intel 的带有 Enclaven 能力的 CPU. 这样的硬件通常不适合于对耗电和散热限制多的 IoT 设备上. 即使存在 ARM 阵营的 Trustzone 提供的 Enclave 来弥补功耗散热缺陷, 在很多专用硬件情况下, 比如 TPU 处理 AI 的场景下, 并不能把代码跑在 CPU 里面, 那么保护这些 TPU 的数据安全就是新的问题. 我们的预测是未来的世界越来越多的计算并不是跑在目前常见的通用CPU 上的, 而是这些异构的计算设备上(GPU, TPU).

成本

如果上一节的假设(未来很计算跑在非通用 CPU 而是异构处理芯片上)成立, 那么这些我们称为边缘节点的设备上去配置一个昂贵的并没有太大用途的 CPU 就不太合理了. 对于这样的边缘节点, 应该有一套更加低成本和低功耗的硬件解决方案来保护数据并验证数据的可信. 这些非传统数据中心或者 PC 类型的需求通常超出了目前 CPU 的 Enclave 可以保护的范畴

那么 TEA 的根本思路是什么?

综上所述, TEA 的独特视角是如下几条