区块链上的隐私

一步一步

技术的两个分支几乎可以达到混淆的程度,但是对安全模型有重要的损害。首先是安全的多方计算。安全的多方计算允许程序(及其状态)在N个参与方之间分配,使得需要M个参与方(例如N = 9,M = 5)进行协作才能完成计算或显示程序或状态中的任何内部数据。因此,老实说,如果一个人可以信任大多数参与者,那么该计划就和混淆一样好,否则就毫无价值。

安全的多方计算背后的数学方法很复杂,但比模糊处理要简单得多。 (有关技术细节,请点击此处)。 SMPC也比混淆处理更有效。加法运算可以相当快地处理,但是,每当SMPC实例每次执行一些极小的固定数目的乘法运算时,它都需要执行“度降低”步骤,包括将消息从网络中的每个节点发送到每个节点。正在进行的工作减少了从二次到线性的通信开销,但是即使每个乘法运算仍然带来特定的不可避免的网络延迟水平。

信任参与者的必要性同样是严重的。请注意,与具有许多不同应用程序的情况类似,参与者可以保存数据,然后合起来在历史的任何未来点进行揭示。此外,很难说他们已经这样做了,因此不可能促使参与者保持系统的隐私。因此,安全的多方计算可以说比私有链更适合于私有链,在私有链中,激励可能来自协议之外。

具有异常惊人特性的另一种技术是零知识证明,并且明确地是“知识的简洁论证”(SNARKs)的最新发展。零知识证明使用户能够构造数学证明,即给定程序在用户已知的一些(可能是隐藏的)输入上执行时,具有特定的(公共已知的)输出,而无需透露其他信息。零知识证明有许多专门的类型,它们很容易实现。例如,数字签名可以被认为是一种零知识证明,表明公钥的值是已知的,当使用标准算法进行处理时,可以将其转换为特定的公钥。另一方面,ZK-SNARK允许对任何功能进行此类证明。

首先,通过一些具体的例子。身份系统是该技术的自然使用案例。例如,假设有人想向系统证明他们是(i)给定国家的公民,以及(ii)19岁以上。假设政府在技术上是动态的,并签发了加密货币签名的数字护照,其中包括个人的姓名和出生日期以及私钥和公钥。将构造一个以数字护照和护照上私钥签名作为输入的功能,如果以下两个条件(i)出生日期在1996年之前,(ii)护照是用政府的公共密钥,以及(iii)签名正确,并且通常产生0。然后,人们将做出零知识证明,以证明存在一个输入,当通过此函数传递该输入时,该输入返回1,并使用另一个私钥对该证明签名,该私钥将用于以后与该服务进行交互。该服务将验证该证明,如果证明正确,它将接受使用私钥签名的消息为有效。

数字令牌所有权是该技术用例的另一类。为了使数字令牌系统正常运行,没有必要拥有可见的帐户和余额。实际上,所需要的只是解决“双重支出”问题的一种方法。有了零知识证明,这应该是可能的。声称零知识证明就像“我知道这组帐户中某个帐户背后的秘密号码,并且与已经泄露的任何秘密号码都不匹配”之类的说法。该方案中的帐户只能使用一次:每次发送资产时都会创建一个“帐户”,并且发送方帐户被完全消耗。如果一个人不想完全消耗一个给定的帐户,那么他必须简单地创建两个帐户,一个由接收者控制,另一个由发送者自己控制其余的“找零”。这实际上是Zcash使用的方案。

对于两方智能合约(例如,类似于在两方之间协商的与货币相关的子合约之类的东西),使用零知识证明确实很容易理解。在首次协商合约的时候,而不是制定包含最终公式所用资金的真实公式的智能合约(例如,在二元期权中,公式将是“如果索引I,如某些数据所公布的那样)源大于X,则将所有内容发送到A,否则将所有内容发送到B”),创建一个包含公式哈希值的合约。当要终止合约时,任何一方都可以自己计算A和B应该获得的金额并提供结果,同时提供零知识证明,即带有正确哈希的公式可以提供结果。区块链会找出A和B分别投入了多少,以及它们退出了多少,但不是为什么他们要投入或退出该数量。

该模型可以总结为N方智能合约。

隐私权保护上的帖子首次出现在Nvest Labs。

资讯来源:由0x资讯编译自NVESTLABS。版权归作者Asma所有,未经许可,不得转载
提示:投资有风险,入市需谨慎,本资讯不作为投资理财建议。请理性投资,切实提高风险防范意识;如有发现的违法犯罪线索,可积极向有关部门举报反映。
你可能还喜欢