请问隐私数据如何实现交易局部执行?

这个方案在文档中没找到细节描述。 是已经被其他方案替代了吗?感谢回复,谢谢

你的场景可以描述一下吗?

隐私其实有很多个层级:

  1. 节点隐私,即使是共识节点也看不到数据。
  2. 用户级隐私,即使用的这链的用户看不到数据,但运营节点方是可以看到的。

我也挺好奇这个的,我在技术白皮书上看到这个了。能做到无关共识节点是看不到交易数据的。

https://github.com/citahub/cita-whitepaper/blob/master/zh/technical-whitepaper.md#隐私交易

这个其实就是Quorum的方案。
这个方案在CITA刚开始的2016年还是很新颖的,但是我们分析了之后,发现这种方案缺点也比较明显,所以没有实现。

区块链很重要的一点就是上链的数据都是经过所有共识节点验证的。如果有隐私数据夹杂其中,意味者不是所有的数据都经过了所有共识节点的验证。这个会导致整个链上数据的可靠性打了折扣。
还不如隐私数据干脆不要上链,或者只上链一个hash,在链外计算。

fabric有channel解决隐私数据传输的方案,bcos有AMOP信息传递方案,逻辑都比较类似,从信息通路上就保证信息隔绝与安全。CITA目前对应的推荐方式是怎样?我看到提到了侧链,但侧链技术成熟度和复杂度是不是都不如fabric和bcos的方案?
数据隐私是商业客户很关心的部分,虽然没那么区块链化,但毕竟是刚需。相比公链,联盟链更强调解决问题,简单不上链或极少数据上链覆盖场景毕竟有限。

cita推荐的方式是链外处理,当然多链加跨链也算是某种链外处理方案。
其实这跟fabric的channel并没有本质区别,只不过fabric将多条链复用了同一批节点。

跨链现在没有特别通用的方案,我觉得要看实际业务场景,然后针对性的给出解决方案。参考我之前的博客文章 https://rink1969.github.io/crosschain

但是相比起来,至少跨链把问题明明白白的说出来了,社区也有很多人在讨论和尝试给出解决方案。
fabric如果要跨channel调用的时候,理论上存在同样的问题,但是你看IBM有提过这里面的问题吗?
同样的,Quorum也完全没提隐私数据如果跟公开的链上状态之间存在冲突,如何处理?

BCOS 不是很熟悉。说一下Fabric吧。

Fabric 的 Channel 可以看成虚拟的账本。但是仅仅有 Channel 还无法保证很好的隐私。因为无论是底层的CouchDB,还是基于此的浏览器,都会暴露 Channel 里面账本的信息。要想要很好的隐私,还是得加密上链或者只是hash上链

个人认为,保持区块链数据存储的最小化是大原则。原因有几个,
1,区块链的存储结构不适合数据的丰富场景使用
2,过多数据沉淀会造成存储空间的快速成长
3,多方对数据隐私都很关心
hash上链可以解决数据见证的问题,但见证必须配合原始数据。而原始数据的传递是一个必须解决的问题。虽然提供一个通用的方案比较困难,但cita提供一个推荐的方案会更好。
跨链侧链都把问题复杂化了。链外处理和加密上链我觉得都很好,不知在这两个方面有无较深入的论述?能给我们实际系统设计以指导的那种资料。