使用英特尔 SGX 的交易解决方案

Transaction resolution using Intel SGX

根据 Mike Hearn 的 post:

https://www.corda.net/2017/06/corda-sgx-privacy-update/

在交易决议过程中,我了解到在提议人A和乙方之间的交易中:

  1. 提议者A将交易发送给乙方
  2. 乙方需要交易链来验证交易,所以向甲方索取(交易历史)
  3. 飞地和安全通道建立后,甲方飞地将加密的交易历史发送至乙方飞地
  4. B 方的 Enclave 对其进行解密并验证交易

从现在开始,假设乙方是与丙方进行新交易的提议者,使用上一笔交易的UTXO。 由于丙方需要所有交易历史,它是如何运作的?在之前的交易中,一旦通过验证,交易链是否加密存储在乙方(用于后续交易)?

如果不清楚,请让我知道,以便更好地解释场景。

谢谢

是-解析后的交易链以加密形式存储在乙方节点上。这是出于两个原因: 1. 乙方可能需要它用于未来的交易解决方案——否则它将不得不再次下载大量的东西 2.乙方稍后可能需要按照您的建议向丙方出示链

这是否意味着每个节点都必须 运行 SGX?在我们最初的设计中,是的。但在未来,我们可能会研究飞地如何让非 SGX 节点相信交易链是合法的。

详细说明 Joel 的回答,可以通过两种不同的方式使用 SGX:一种优先考虑隐私,一种优先考虑完整性。我们认为获得 SGX 硬件没有问题的生产网络(云支持正在进行中)将更喜欢完整性,从而验证 enclave 内链中的所有交易。这是我们首先要实施的。

但我们也可以支持 "light mode clients",其中远程证明仅用于提供 tx 有效的声明,在这种情况下,您不需要自己 运行 飞地。例如。手机可以使用这种模式。这将产生概念上类似于比特币的 SPV 模式的东西,但具有不同的安全属性:如果你可以挖掘一个块,你可以欺骗 SPV 客户相信某些东西是有效的,而实际上如果你也可以将它从网络中分割出来,但要做到与基于 SGX 的轻量级模式相同,您需要击败 enclave 安全性。