全面了解零知识证明(ZKP)

零知识证明在保障各方交易数据隐私的同时实现可信交易。

全面了解零知识证明(ZKP)

Sui原生地支持零知识证明(Zero Knowledge Proofs,简称ZKP)技术,使人们在保持个人信息私密性的同时,能够安全地进行在线交易。ZKP的一个重要特性是,它能够使一方在不甚了解交易对方的情况下,放心的进行交易。

ZKP通常用于验证交易各方的身份,但也可以用于验证其他数据。例如,可以验证购买者是否拥有足够的资金购买某物,而不需要向卖家展示账户中确切的资金金额。

ZKP满足了Sui用户对隐私的需求,同时也允许可信交易进行。

ZKP实践

现实世界中的ZKP实例有很多,比如一个人可能会将他们的信用卡交给收银员来完成购买操作。为了验证信用卡的所有权,收银员要求看到签名的带有照片的ID。通过比较信用卡和ID上的签名,以及ID上的照片与出示信用卡的人,收银员验证该人是信用卡的合法拥有者。在这种情况下,重要的是,收银员仅使用签名和照片来验证所有权,而无需进一步深入了解该人的背景。

ZKP将这种现实世界的验证方法转化到使用计算模型的线上世界。在线上世界中,采用各种方程式来验证交易,即交易的一方知道特定信息,同时不向另一方透露该特定信息。由于需要对敏感数据进行保密,这些方程式通常提供非常高的概率但又不是100%的确定性信息。然而,这种高概率也足以完成可信交易。

在Sui上,Move API可以使用名为Groth16的ZKP版本,它是高效且广泛使用的零知识简洁非交互式知识证明(zk-SNARKs)系列的一部分。Groth16是执行ZKP的系统,以其发明者伦敦大学学院的教授Jens Groth命名。在Sui的实现中可以使用BN254或BLS12-381椭圆曲线构造,这是计算证明所需的算法。

运行ZKP所需的计算模型可能会占用大量资源,需要时间并需要大量的算力。值得注意的是,Groth16的运行效率比其他ZKP系统更高,适用于Sui的去中心化网络。

隐私与信任

区块链网络的基石之一涉及有价值的数字资产交易。在线网络无法提供现实世界交易中使用的面对面互动,而在现实世界交易中,买方可能会收到物理实体以验证交易的有效性。相反地,Web2交易则需要高度的内在信任和附加系统才能执行交易,如完全独立的银行网络。

能够进行可信交易是Sui的核心特点。通过其API,Sui原生地支持最新的技术,以确保交易各方之间的隐私和信任。

Sui文档提供了代码片段和很好的起点,以实现零知识证明,欢迎阅读。