所谓SGX区块链加密, 其核心逻辑简单直白地说, 就是把那种源自英特尔公司的叫做enclave的技术手段, 给迁移到了去中心化网络也就是链条的运行环境里面去, 这样一来, 就为智能合约代码的执行以及私密数字口令的保护, 强行安装上了一道由物理芯片级别所支撑的隔离屏障。
在我参与去中心化金融领域安全性检测工作的这么长一些年头来看, 遇到的各类技术方案数量确实不少, 但这一个特定方向上的设计举措, 毫无疑问地是尝试着把原本难以掌控的信任关系难题, 最终推进到由最底层硬件自身提供安全保障的那个终极根源位置上头了。
SGX加密原理是什么
SGX enclaves会在芯片内部划分出一块受到保护的内存区域, 让代码在这块区域里面运行, 连操作系统都无法看到这些代码。当把它嫁接到区块链之上时, 就是为了让关键的逻辑部分——例如由预言机喂入的价格数据以及密钥派生过程等——在enclave内部得到执行, 外界用户只能观察到输入和输出结果。
在实际部署的时候, 节点方面会把这些合约里比较热的那些逻辑部分, 给打包进那个SGX镜像里面去。然后他们会通过远程证明这种手段, 来让区块链上的其他东西去验证enclave的度量值到底是不是对的。这一步骤就是所谓的信任锚点。如果这个验证的过程没能通过的话, 那么结果就是直接拒绝掉出块的操作权。

SGX加密怎么用
在工程领域, 最为普遍的采用形态是预言机这一方案。具体而言, 当涉及到去中心化金融领域的价格预言机时, 其运行机制表现为节点在获取来自于外部的数据之后, 会在SGX安全飞地内部完成相应的签名操作与校验程序, 随后会将结果发布到区块链上。
即便遭遇者成功掌控了节点资源, 也无法非法获取私钥, 原因在于密钥始终未曾离开过安全飞地的保护范围。
在写合约的时候, 需要特别注意这样一个事情, 远程证明的验证逻辑本身, 这一点绝对不能留下后门, 因为我本人确实目睹了至少两个项目, 在这同一个问题上栽了跟头, 此外, 与SGX相关的调试接口, 在系统正式上线之前, 务必要将其关闭, 否则的话, 所有的努力基本上都算是白费力气。
SGX区块链加密并不是一个万能的锁头,它是把信任从认为代码是正确的转移到了假设芯片是可信的上面, 因为多增加一层的假设就多了一层需要保障的地方, 所以在使用它之前想清楚信任的边界在哪里, 这比去堆砌技术栈要重要得多。
