区块链 | NFT 水印:Review on Watermarking Techniques(一)

🍍原文:Review on Watermarking Techniques Aiming Authentication of Digital Image Artistic Works Minted as NFTs into Blockchains



1 应用于 NFT 的水印技术

常见的水印技术类型可以分为:

  • 可见 v i s i b l e \mathsf{visible} visible 水印
  • 易损 f r a g i l e \mathsf{fragile} fragile 水印
  • 半易损 s e m i _ f r a g i l e \mathsf{semi\_fragile} semi_fragile 水印
  • s t r o n g \mathsf{strong} strong 水印
  • 可逆 r e v e r s i b l e \mathsf{reversible} reversible 水印

这些技术可以用来实现不同的目标,如验证、版权保护、追踪或欺诈检测等。根据期望达到的目标,某些技术特性,如鲁棒性、透明度和信息容量,是必不可少的。



2 水印技术特性的权衡

2.1 鲁棒性

鲁棒性是水印技术的一个理想特性。由于水印可能包含版权信息或认证信息,因此它需要能够抵御某些攻击。攻击分为两种类型:恶意攻击和非恶意攻击。

一方面,非恶意攻击是指数字作品在传输或处理过程中可能遭受的正常转换,例如:

  • 图像格式的变化,比如:从 JPEG 转换到 PNG;
  • 轻微的滤波或直方图均衡化;

另一方面,恶意攻击旨在要么移除水印,要么用另一个水印替换它,以达到欺诈目的。一些恶意攻击可能包括:

  • 几何变换,比如:剪切、水平翻转、拼贴;
  • 体积变换,比如:添加噪声、修改颜色映射、滤波、JPEG 压缩。


2.2 透明度

对于数字艺术品来说,水印的透明度是一个极为重要的特性。水印应当尽可能地隐蔽,以免对图像质量造成影响,这是因为作品通常由特定的网站或应用程序展示给潜在的购买者。

尽管如此,许多艺术家还是选择使用现有的软件在他们的原始作品上添加显眼的水印。这种做法的目的是为了提供一个数字艺术品的预览图,一方面用来展示作者的艺术才华,另一方面则表明买家可以在联系作者后获得无水印的作品。

这样的策略旨在减少作品被盗用并以其他作者的名义重新销售的风险。然而,这种明显的水印往往会在一定程度上影响图像的质量和观感。除此之外,利用图像处理技术,攻击者可以通过拼贴手法去除作品上的可见水印,进而制作出一个无水印的版本,这样被盗的艺术品就可以在同一网站或其他类似的 NFT 交易平台上重新挂牌销售了。

为了说明这一点,如下图 (a) 所示,我们在图像底部绘制了作者的名字和原始 URL,而在下图 (b) 中,我们利用图像工具去除了作者的姓氏。这表明可见 v i s i b l e \mathsf{visible} visible 水印是多么容易被篡改。

在这里插入图片描述

在这种情境下,买家无法确保所接收的数字艺术品确实是卖家创作的原始作品,而不是被盗窃并经过篡改的版本。因此,针对 NFT 交易的场景,可以利用显著的透明水印来传递认证信息,并与一个由可信机构提供的认证协议相结合,以确保艺术品的真实性。

尽管隐形 i n v i s i b l e \mathsf{invisible} invisible 水印技术更为复杂,且目前艺术家们尚未拥有一个统一的标准协议,但建立一个更安全市场的需求已经得到广泛认可。为此,一些企业正在努力构建一个信任机制,并运用水印技术和区块链技术为艺术家及其数字作品提供可靠的认证服务。



2.3 负载

负载是指水印技术能够在艺术图像作品中嵌入的信息量,通常以字节为单位计量。这个信息量的需求受到所采用的安全协议的影响,以及是否需要传递特定信息,例如作者的 ID、作品的 URL、铸造日期等。

每种水印技术都需要在鲁棒性、透明度和负载之间进行平衡。高鲁棒性的技术往往意味着较低的透明度和较小的负载。相较之下,那些极度透明的技术通常鲁棒性较弱,负载也较小。

但在某些认证应用中,可能会偏好低鲁棒性。在这种情况下,目标是确保只有在作品未被篡改时,其真实性才能得到保持。因此,对于 NFT 这种注重稀缺性和真实性的场景,非常透明且低鲁棒性的水印技术是较为合适的选择。

由于 NFT 注重作品的原貌,因此期望水印透明度高的技术?



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/8906.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

循环神经网络(RNN)

大家好,这里是七七,这两天在写关于神经网络相关的知识,面对的是有一定基础的读者哦。 一、RNN核心思想 RNN的核心思想就是曾经的输入造成的影响,会以致影响之后的输入,即隐含层的输出取决于历史数据的全部输入。 三个…

Infuse for Mac激活版:高清影音播放软件

对于热爱影音娱乐的Mac用户来说,Infuse for Mac是一个不容错过的选择。它以其简洁的操作界面和强大的播放功能,为用户带来了全新的影音播放体验。 Infuse for Mac支持广泛的音视频格式,无需额外转换,即可轻松播放您喜爱的影片。无…

Mybatis Plus二级缓存 使用@CacheNamespace 失效@CacheNamespace和@CacheNamespaceRef

1、注解 CacheNamespace(flushInterval 100000,eviction LruCache.class,readWrite false,size 1024)2、xml配置 <cache eviction "LRU" flushInterval "100000" readOnly "true" size "1024"/> 二级缓存&#xff0c;配置文…

【Linux 性能详解】CPU性能分析工具篇

目录 uptime mpstat 实时监控 查看特定CPU核心 pidstart 监控指定进程 组合多个监控类型 监控线程资源 按用户过滤进程 vmstart 用途 基本用法 输出字段 perf execsnoop dstat 通俗解释 技术层面解释 使用示例 总结 uptime uptime 是一个在 Linux 和 Unix…

上班不想用脑子写代码了怎么办?那就试试Baidu Comate啊宝贝

本文目录 前言1、视频编程实战1.1、熟悉代码库中的代码1.2、参考现有代码编写新代码 2、下载使用教程3、使用体验3.1、AutoWork 产品测评3.2、解决有关ajax请求后重定向问题3.3、询问编程相关知识3.3.1、cookie和session的区别与联系3.3.2、数据库中主键外键的相关知识 4、问题…

基于EBAZ4205矿板的图像处理:12图像二值化(阈值可调)

基于EBAZ4205矿板的图像处理&#xff1a;12图像二值化(阈值可调) 我的项目是基于EBAZ4205矿板的阈值可调的图像阈值二值化处理&#xff0c;可以通过按键调整二值化的阈值&#xff0c;key1为阈值加1&#xff0c;key4为阈值减1&#xff0c;key2为阈值加10&#xff0c;key5为阈值…

【bug记录】清除僵尸进程,释放GPU显存

目录 1. 为什么会出现这种情况&#xff1f;2. 解决方案方法一&#xff1a;使用 fuser 命令方法二&#xff1a; 3. 小贴士 在进行深度学习或其他需要GPU支持的任务时&#xff0c;我们有时会发现虽然没有可见的进程在执行&#xff0c;但GPU资源却意外地被占用。这种情况往往会阻碍…

AI换脸原理(4)——人脸对齐(关键点检测)参考文献2DFAN:代码解析

注意,本文属于人脸关键点检测步骤的论文,虽然也在人脸对齐的范畴下。 1、介绍 在本文中,重点介绍了以下几项创新性的成果,旨在为人脸关键点检测领域带来新的突破。 首先,成功构建了一个卓越的2D人脸关键点检测基线模型。这一模型不仅集成了目前最优的关键点检测网络结构,…

sqlite3命令行工具无法退出问题处理

一、背景&#xff1a; 软件使用的后台数据库为sqlite&#xff0c;linux主机系统层面使用sqlite3命令行工具登录数据库后&#xff0c;无法执行sql脚本&#xff0c;无法退出sqlite3。无法执行ctrlc&#xff0c;执行ctrlz后sqlite3前台进程被中断&#xff0c;但是该进程没有退出。…

Spring-依赖查找

依赖查找 根据名称进行查找 实时查找 BeanFactory beanFactory new ClassPathXmlApplicationContext("beans.xml"); Object bean beanFactory.getBean("personHolder"); System.out.println(bean);xml如下: <bean id"person" class&qu…

运维自动化工具:Ansible 概念与模块详解

目录 前言 一、运维自动化工具有哪些 二、Ansible 概述 1、Ansible 概念 2、Ansible 特点 3、Ansible 工作流程 4、Ansible 架构 4.1 Ansible 组成 4.2 Ansible 命令执行来源 5、Ansible 的优缺点 三、Ansible 安装部署 1、环境部署 2、管理节点安装 Ansible 3、…

Golang | Leetcode Golang题解之第75题颜色分类

题目&#xff1a; 题解&#xff1a; func sortColors(nums []int) {p0, p2 : 0, len(nums)-1for i : 0; i < p2; i {for ; i < p2 && nums[i] 2; p2-- {nums[i], nums[p2] nums[p2], nums[i]}if nums[i] 0 {nums[i], nums[p0] nums[p0], nums[i]p0}} }

模型全参数训练和LoRA微调所需显存的分析

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

k8s调度原理以及自定义调度器

kube-scheduler 是 kubernetes 的核心组件之一&#xff0c;主要负责整个集群资源的调度功能&#xff0c;根据特定的调度算法和策略&#xff0c;将 Pod 调度到最优的工作节点上面去&#xff0c;从而更加合理、更加充分的利用集群的资源&#xff0c;这也是我们选择使用 kubernete…

java--io流(一)

1. 前置知识 字符集是什么&#xff1f; 字符集&#xff08;Character Set&#xff09;是一组字符的集合&#xff0c;它定义了可以在计算机系统中使用的所有字符。字符集可以包括字母、数字、标点符号、控制字符、图形符号等。字符集使得计算机能够存储、处理和显示各种语言和…

嵌入式Linux学习第四天启动方式学习

嵌入式Linux学习第四天 今天学习I.MX6U 启动方式详解。I.MX6U有多种启动方式&#xff0c;可以从 SD/EMMC、NAND Flash、QSPI Flash等启动。 启动方式选择 BOOT 的处理过程是发生在 I.MX6U 芯片上电以后&#xff0c;芯片会根据 BOOT_MODE[1:0]的设置来选择 BOOT 方式。BOOT_M…

Linux——基础IO2

引入 之前在Linux——基础IO(1)中我们讲的都是(进程打开的文件)被打开的文件 那些未被打开的文件呢&#xff1f; 大部分的文件都是没有被打开的文件&#xff0c;这些文件在哪保存&#xff1f;磁盘(SSD) OS要不要管理磁盘上的文件&#xff1f;(如何让OS快速定位一个文件) 要…

数据仓库与数据挖掘实验练习3-4(实验二2024.5.8)

练习3 1.简单文件操作练习 import pandas as pd # 读取文件 pd.read_csv(pokemon.csv) # 读取 CSV 文件的函数调用&#xff0c;它将文件中的数据加载到 DataFrame 中&#xff0c;并指定了 Pokemon 列作为索引列。 pd.read_csv(pokemon.csv,index_colPokemon)#查看类型 type(p…

React:Router-2. createBrowserRouter函数式

参考文档&#xff1a;ReactRouter官网 前边的文章 BrowserRouter组件式路由 提供了组件式路由的方式&#xff0c;在react-router6.4.0及以上版本&#xff0c;提供了 createBrowserRouter 函数式路由创建方式。 一、创建路由 1. 新建router.js文件&#xff0c;使用createBrow…

十二届蓝桥杯Python组1月中/高级试题 第五题

** 十二届蓝桥杯Python组1月中/高级试题 第五题 ** 第五题&#xff08;难度系数 5&#xff0c;35 个计分点&#xff09; 提示信息&#xff1a; 平均数&#xff1a;是指在一组数据中所有数据之和再除以这组数据的个数。 如&#xff1a;“1&#xff0c;2&#xff0c;3&#xf…