2

根据 Mike Hearn 的这篇文章:

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

在交易解决过程中,我理解在提议者甲和乙方之间的交易中:

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

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

如果不清楚,请告诉我以尝试更好地解释该场景。

谢谢

4

2 回答 2

4

是的 - 已解决的交易链以加密形式存储在乙方的节点上。这有两个原因:1. 乙方可能需要它来解决未来的交易问题 - 否则它将不得不再次下载大量的东西 2. 乙方可能需要稍后将链呈现给丙方,正如你所建议的那样

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

于 2017-07-27T10:05:48.487 回答
3

根据 Joel 的回答,可以以两种不同的方式使用 SGX:一种优先考虑隐私,另一种优先考虑完整性。我们认为,获得 SGX 硬件没有问题(云支持正在开发中)的生产网络将更喜欢完整性,从而验证 enclave 内链中的所有事务。这是我们首先实施的。

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

于 2017-07-27T13:14:48.287 回答