在demobench发布M14中,我做了以下事情:
第3步之后,Baguettes银行的探险家发现#2发生了。这意味着如果任何参与者收到任何可替代资产,则参与者通过资产的发行了解资产的所有历史记录。在上面的例子中有什么方法可以让Bank of Breakfast Tea和Bank of Big Apples隐藏自己的身份,金额来自Baguettes银行?很明显,这是一个隐私问题,早餐银行和大苹果银行。
我很想知道如何使用M14版本的网址1中提到的密钥随机化或交易清算来解决以上问题?有可用的示例吗?
此外,如果可互换资产多次交易(比如N次),那么通常会在后续交易中将多少数据(通过Resolve交易)下载到资产的新所有者?比如上面的例子,直到#2,Baguettes银行的数据库中没有条目。在步骤#3之后,SELECT * FROM NODE_TRANSACTIONS显示三行。那么,作为步骤#3的结果,Bank of Baguettes的数据库中添加了多少数据?这个下载大小有没有一般理论?
答案 0 :(得分:0)
在Milestone 14中尚未启用密钥随机化,但将在未来的分支中自动发生。
您可以在net.corda.core.flows.NotaryFlow.kt中看到“撕掉”交易的示例。请参阅第wtx.buildFilteredTransaction(Predicate { it is StateRef || it is TimeWindow })
行。但是,我们目前不支持撕掉交易解决方案。
在当前实现中,每个节点将下载每个输入的整个历史记录作为ResolveTransactions
的一部分。但是,将来,该链将使用随机匿名密钥识别参与者。
如果有可靠的中间人已经验证了链,但事件链的某些部分也可能有撕裂或者没有完全解决或根本没有下载,但这两个功能都尚未实现。
答案 1 :(得分:0)
我认为发布-V1中的“机密身份”解决了Batsayan Das提出的隐私问题,我是对的吗?
机密身份是密钥对,其中相应的X.509证书(和路径)未公开,因此未参与交易的各方无法识别其参与者。
参考:https://docs.corda.net/api-identity.html?highlight=anonymous#confidential-identities