我们可以使用SGX的飞地在Corda中执行流程吗?

时间:2018-12-06 09:44:30

标签: corda

我已经学习Corda一段时间了,但是我是SGX的新手。

据我研究,SGX的区域可以通过在区域内运行修改后的JVM,以多种方式帮助我们完成事务解析。因此,在安全区域内运行的代码应为用于验证交易的合同代码。如果我错了,请纠正我。

我想知道是否可以将代码从合同代码更改为流代码以在某个区域执行?我确实相信流程会话将对实施产生巨大的限制,但是否有可能使用与远程认证相同的渠道/方法来进行通信,而不是使用原始流程会话?

1 个答案:

答案 0 :(得分:1)

在安全区内运行流代码比合同验证代码难得多,因为流代码的约束要少得多。它可以执行主机Java平台可以执行的任何操作。另一方面,SGX是一种不寻常的环境,默认情况下,该环境不起作用(没有操作系统访问权限),因此每个请求都必须通过自定义ECALL / OCALL接口进行隧道传输。而且这不是很简单,因为操作系统不受信任,因此,您不能仅构建简单的syscall中继(嗯,人们已经尝试过)。一切都必须加密,认证等。

我们在SGX工作的目标是使人们能够在飞地中运行越来越多的逻辑,以及开发非Corda特定功能并且可以做其他事情的“飞地”应用程序。因此,我们到达了那里,但看起来好像并没有完全在飞地内部运行流。