区块链 | OpenSea 相关论文:Toward Achieving Anonymous NFT Trading(一)

2024-04-26 17:20

本文主要是介绍区块链 | OpenSea 相关论文:Toward Achieving Anonymous NFT Trading(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


🥑原文: Toward Achieving Anonymous NFT Trading
🥑写在前面: 本文对实体的介绍基于论文提出的方案,而非基于 OpenSea 实际采用的方案。

在这里插入图片描述

其实右图中的 Alice 也是用了代理的,不过作者没有画出来。



正文

我们首先概述各方在所提方案中所扮演的角色,具体的构造细节将在后续进行详细阐述。



1 NFT 市场

NFT 市场(例如 OpenSea)维护一个在线网站,供区块链用户创建、列出和出售他们的 NFT 资产。在交易过程中,用户通过市场的前端提交他们的 NFT 订单。

OpenSea 网址:OpenSea, the largest NFT marketplace

针对区块链部分,NFT 市场在区块链网络上部署了几个智能合约,执行包括铸造新的 NFT 代币、匹配 NFT 订单和转移现有代币所有权在内的 NFT 交易。

在这里插入图片描述

个人理解:上图中的「NFT」和「Exchange Protocol,交易所协议」都是 NFT 市场部署在区块链网络上的智能合约。「NFT」负责铸造 NFT、转移 NFT 所有权等,「交易所协议」主要用于匹配 NFT 订单。

此外,我们假设 NFT 市场几乎完全值得信赖。因此,我们允许 NFT 市场在「NFT 市场数据库」中保密保存一些可能导致用户身份暴露的关键信息。

上图没有画「NFT 市场数据库」,可以参考 OpenSea’s scheme 的图。



2 交易所协议

交易所协议是在区块链上部署的合约,主要完成订单匹配任务。

看来我说的没错😇

交易所协议从 NFT 市场接收订单集合,并检查是否有任何两个订单根据目标代币、价格设置和其他相关信息匹配。如果是这样,交易所协议将首先根据位掩码填充「calldata」中省略的部分。匹配「calldata」的构造也可以在链下以任何方式完成,例如由 NFT 市场完成。

个人感觉「calldata」应该是在调用方法时需要传入的什么东西吧?这里不懂其实不影响后续阅读。

然后,买方和卖方的「代理」参与执行预定义的传输动作。同时,将在区块链网络中发出相应的事件供监听者接收。最后,双方的「代理」完成它们的交易操作,交易由区块链确认。因此,目标 NFT 的所有权被转移。

智能合约中不仅会定义方法还会定义事件,一些方法在执行完毕后会触发相应的事件。



3 代理

为了方便 NFT 交易,每个用户在区块链网络上使用一个「代理」来代表自己处理 NFT 订单。

在一个名为「the registry,注册表」的已部署合约内部,定义了「代理」的功能。每次通过调用「注册表」来生成新的「代理」实例。在「代理」内部存储了一个「临时地址」,该地址代表当前「代理」的所有者,它被用于验证来自「代理」所有者的消息。

🥕「临时地址」是本文的核心创新点之一
个人理解,「临时地址」就是后文提到的「临时密钥」中的公钥。因此,「代理」所有者使用「临时密钥」中的私钥对消息进行签名,而「代理」使用「临时地址」来验证签名的有效性。

具体来说,当「代理」的所有者想要将 NFT 交易委托给「代理」时,TA 通过带有「临时密钥」签名的命令授权「代理」访问目标 NFT 。之后,一旦市场向「交易所协议」发送了带有所有者签名的有效订单并引起了资产交换,那么「代理」将会根据订单中的「calldata」执行相应的操作,从而将目标 NFT 的所有权变更给买方。

注意:所有者给代理授权的消息需要签名,所有者提交给市场的订单也需要签名。勿将二者混为一谈。



4  假账户

在我们的方案中,「Decoy Account,假账户」是由 NFT 市场管理的大量区块链账户。从其他用户的角度来看,「假账户」似乎与由个人持有的 EOA 账户没有区别。然而,「假账户」的私钥实际上是由 NFT 市场管理的。

EOA 是指外部所有者账户,这类账户由掌握相应私钥的个人所拥有,并用于发起区块链上的交易。

提出「假账户」是为了将 ETH 的转移NFT 所有权的转移 隔离开来,从而使其他人难以将买方、卖方的身份与 NFT 所有权的转移联系起来。

ETH 是以太币,即以太坊使用的一种加密货币。

具体来说,买方向假账户 D 1 \mathcal{D}_1 D1 支付 ETH,然后另一个假账户 D 2 \mathcal{D}_2 D2 将相同数量的 ETH 转给卖方。该流程使得其他人无法找到买方、卖方和被转移的 NFT 所有权之间的联系。同时,买方和卖方之间的这笔交易看起来像是,在两个普通 EOA 之间进行的、两个独立的常规区块链交易。

🥕「假账户」也是本文的核心创新点之一
简而言之,「代理」负责 NFT 所有权的转移,「假账户」负责 ETH 的转移。二者都可以视作用户的代理。

在这里插入图片描述

上图虚线框中的黑色用户代表的就是「假账户」



5  NFT 购买者

NFT 购买者可以通过 NFT 市场网站查看所有可购买的物品,并提交购买特定 NFT 的订单。在购买 NFT 艺术品时,购买者可以选择匿名或非匿名模式。

在匿名模式下,买家提交一个匿名订单并贡献于承诺生成的随机性。具体来说,买家需要提交一个由 ECDSA 签名的订单。交换完成后,NFT 的所有权得到转移,买家随后向「假账户」支付以太币。

由于非匿名模式不需要保护买家身份,因此我们在这篇论文中只展示匿名模式的过程。

同时,买家区块链地址的「承诺」将被记录下来,作为该 NFT 代币的新持有者。

🥕「承诺」的使用也是本文的核心创新点之一
一般来说,NFT 合约里面记录的是 NFT 所有者的真实地址,但本文改为了「关于所有者地址的承诺」,从而保护了所有者的个人隐私。



6  NFT 卖家

NFT 卖家是指,想要在 NFT 交易中将自己的 NFT 卖给其他人的人。同时,他们也可以作为买家从其他 NFT 创作者或者卖家那里购买了 NFT 。在匿名模式下,NFT 市场扮演中介的角色,从而使交易变成了一个三方交易。

在链下部分,卖家在市场上创建 NFT 商品并提交卖出订单。卖出订单有两个作用:

  • 一是,指定目标 NFT 的售价;
  • 二是,向交易所协议证明自己具有目标 NFT 的所有权。

卖出订单中包含了打开「关于所有者地址的承诺」的方法,因此可以证明卖家的 NFT 所有权。

此外,卖家还需要对「代理」进行授权。以便「代理」在两个订单匹配时,通过「临时密钥」生成的签名来将目标 NFT 的所有权转移给另一个地址。交换完成后,NFT 的所有权得到转移,「假账户」随后向卖家支付 ETH 。

论文对交易过程描述得不清楚,但它的流程图画得很清楚。具体来说,买家先把 ETH 转账给买家「假账户」,待 NFT 所有权的转移完成后,卖家「假账户」再把 ETH 转账给卖家。



这篇关于区块链 | OpenSea 相关论文:Toward Achieving Anonymous NFT Trading(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/938190

相关文章

sqlite3 相关知识

WAL 模式 VS 回滚模式 特性WAL 模式回滚模式(Rollback Journal)定义使用写前日志来记录变更。使用回滚日志来记录事务的所有修改。特点更高的并发性和性能;支持多读者和单写者。支持安全的事务回滚,但并发性较低。性能写入性能更好,尤其是读多写少的场景。写操作会造成较大的性能开销,尤其是在事务开始时。写入流程数据首先写入 WAL 文件,然后才从 WAL 刷新到主数据库。数据在开始

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

两个月冲刺软考——访问位与修改位的题型(淘汰哪一页);内聚的类型;关于码制的知识点;地址映射的相关内容

1.访问位与修改位的题型(淘汰哪一页) 访问位:为1时表示在内存期间被访问过,为0时表示未被访问;修改位:为1时表示该页面自从被装入内存后被修改过,为0时表示未修改过。 置换页面时,最先置换访问位和修改位为00的,其次是01(没被访问但被修改过)的,之后是10(被访问了但没被修改过),最后是11。 2.内聚的类型 功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。 顺序内聚:

log4j2相关配置说明以及${sys:catalina.home}应用

${sys:catalina.home} 等价于 System.getProperty("catalina.home") 就是Tomcat的根目录:  C:\apache-tomcat-7.0.77 <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %msg%n" /> 2017-08-10

Node Linux相关安装

下载经编译好的文件cd /optwget https://nodejs.org/dist/v10.15.3/node-v10.15.3-linux-x64.tar.gztar -xvf node-v10.15.3-linux-x64.tar.gzln -s /opt/node-v10.15.3-linux-x64/bin/npm /usr/local/bin/ln -s /opt/nod

git ssh key相关

step1、进入.ssh文件夹   (windows下 下载git客户端)   cd ~/.ssh(windows mkdir ~/.ssh) step2、配置name和email git config --global user.name "你的名称"git config --global user.email "你的邮箱" step3、生成key ssh-keygen