主页 > 最新版官网imtoken > Manta:在 Rust 中开发可扩展的隐私保护服务

Manta:在 Rust 中开发可扩展的隐私保护服务

最新版官网imtoken 2023-09-03 05:10:42

平安银行信用卡进度查询进度查询_usdt区块查询网站_usdt转账进度查询

6月19日,Manta Network开发工程师Jamie Deng参加了币信创投主办的“RUST区块链开发者配对日”。 他们和来自Parity等平台的开发者一起,聊起了当下区块链中非常流行的Rust。 新兴编程语言的魅力。

Jamie 与 100 多位开发者分享了 Manta 如何使用 Rust 语言开发可扩展的隐私保护服务。 讲话全文如下:

非常荣幸代表Manta Network来到北京参加本次Meetup。 今天想聊的话题是用Rust语言开发可扩展的隐私保护服务,以及Manta是如何利用Rust和零知识证明技术实现隐私保护的。

首先做一个简短的自我介绍。 我叫 Jamie,目前在 Manta 担任软件工程师。 我的主要工作是后台服务的开发。 我已经使用 Rust 大约三年了。

众所周知usdt转账进度查询,区块链提供了一定程度的匿名信,但这种伪匿名信与真正的隐私保护还有很大差距。 例如,很多人试图追踪DeFi大玩家的交易地址,他们的资产和交易很容易暴露在公众面前,造成隐私泄露。

Manta 之前还在社区发起了关于隐私重要性的问卷调查,有超过 400 人参与了回答。 据我们统计,超过83%的人担心自己的区块链地址和真实个人身份关系被泄露; 90%的人都或多或少查询过别人地址下的余额和交易记录; 另有 72% 的人出于隐私问题避免或犹豫发起交易。

Manta 的愿景是在 Polkadot 生态中打造一个即插即用的隐私保护 DeFi 平台。 如果对Polkadot生态有所了解,就会知道Polkadot完全是一个使用Rust语言开发的区块链项目,所以Manta使用的开发语言也是Rust。

我们目前正在做的一件事是使用 MantaPay 进行匿名支付。

usdt转账进度查询_平安银行信用卡进度查询进度查询_usdt区块查询网站

MantaPay匿名支付的工作流程是这样的:我们会使用一个公共代币作为base token,然后1:1铸造得到对应的private token,用户拿到private token后就可以转账了。 如果用户想要赎回,他可以按照1:1的比例取回原始代币。 MantaPay将支持Polkadot生态中的主流资产,如DOT、AUSD、USDT等。

那么我们来看看私有令牌转移是如何完成的。 在传统区块链中,当用户发起转账时,转账前后的状态都是公链上的公开数据,任何人都可以查询,完全没有隐私可言。

那么曼塔是怎么做到的呢? 当我们发起一笔交易时,从L1到L2的状态都是加密的,别人想窥探他的数据只能看到一堆哈希值。 那我们如何实现交易的正确性呢? 这里我们使用零知识证明的技术。 下图中的π包含了零知识证明需要的一些参数,比如生成交易证明需要的prove key,链上验证需要的verify key。

usdt区块查询网站_平安银行信用卡进度查询进度查询_usdt转账进度查询

我们目前使用的是ZK-Snarks算法,这里简单介绍一下它的工作原理。 f(x)可以看作是一个np问题。 如果y=f(x)画在坐标系中,那么x就是这个公式解的集合,所以我们不想暴露x,y。 那如何证明在f(x) = y的情况下,x和y没有暴露呢?

让我举一个简单的例子。 鲍勃想告诉自己他喜欢爱丽丝,但他很害羞,不想直接说出这种难听的话。 所以我们可以把这个讨厌的句子转换成这样一个悬而未决的公式f(x)=y。 在此之前,我们进行密钥生成,一个是证明密钥,用于Bob生成交易证明,另一个验证密钥用于Alice。 这证明鲍勃喜欢她与否,但爱丽丝永远不知道鲍勃说了什么。

usdt转账进度查询_usdt区块查询网站_平安银行信用卡进度查询进度查询

我们已经使用 Groth16 算法实现了 MantaPay。 在零知识证明算法中,Groth16是一种应用非常广泛的算法。 目前我们使用arkworks的Rust来实现。

接下来说说我们目前正在做的另一件事——去中心化隐私交易平台(Decentralized Anonymous Exchange)——MantaSwap。

让我们回顾一下前面Manta1.0部分的内容。 因为在1.0我们只能从一个A token -> A token,但是在Manta2.0中,我们希望在保护隐私的同时提供流动性,即A token -> B token。

在Manta2.0中,我们采用了类似Uniswap的AMM技术。 这里,我们假设一个交易池包含x个数量的token A和y个数量的token B,我们保证交易池中实时保持一个恒定数量:x*y=k。 当兑换发生时,池中A代币的数量会增加,而B代币的数量会减少。 AMM 可以准确给出当前用户可以赎回的 B 的数量。

AMM 带来了一些好处。 除了带来一定的抢跑阻力和一定的市场效应外,最重要的是为ZK-SNarks提供了良好的证明基础。 我们证明 x*y=k 这种状态在交易前后都是合法的,以保证交易过程的顺利进行。 这种zk(零知识)实现起来比较容易,zk证明的过程也可以非常高效。

下面介绍DAX方案的一些细节。 和Manta1.0一样,π包含了一个零知识证明,用来保证交易前后的钱包状态是正确的。 还添加了证明密钥和验证密钥。 同时,我们还添加了 AMM 的证明,简单来说证明如下。 我们这里只做简单的介绍usdt转账进度查询,具体细节可以查看我们的白皮书。

usdt区块查询网站_平安银行信用卡进度查询进度查询_usdt转账进度查询

Manta 的最终愿景是成为一个隐私保护的智能合约平台,而不仅仅是一个隐私保护的产品。

usdt转账进度查询_usdt区块查询网站_平安银行信用卡进度查询进度查询

我们希望从1.0和2.0的产品中抽象出常用的接口。 此外,我们还将开发一些基于ZK-Snarks的基础设施,以降低零知识证明的使用门槛。 总的来说,零知识证明开发的门槛还是比较高的。 Manta希望能够降低这个门槛,让更多的项目能够享受到即插即用的隐私保护服务。

usdt区块查询网站_平安银行信用卡进度查询进度查询_usdt转账进度查询

这是Manta目前产品的进展。 我们之前已经完成了产品的设计和验证,计划在7月份上线测试网供用户体验。 届时,测试网的激励活动也将启动。