区块链 | 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 注重作品的原貌,因此期望水印透明度高的技术?
相关文章:
区块链 | 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} visi…...
Python设计模式 - 单例模式
定义 单例模式是一种创建型设计模式, 其主要目的是确保一个类只有一个实例, 并提供一个全局访问点来访问该实例。 结构 应用场景 资源管理:当需要共享某个资源时,例如数据库连接、线程池、日志对象等,可以使用单例模…...
AI日报:干翻AI PC!苹果M4芯片首发;GoEnhance可生成粘土风格视频;DeepSeek-V2模型已在魔搭社区开源
欢迎来到【AI日报】栏目!这里是你每天探索人工智能世界的指南,每天我们为你呈现AI领域的热点内容,聚焦开发者,助你洞悉技术趋势、了解创新AI产品应用。 新鲜AI产品点击了解:AIbase - 智能匹配最适合您的AI产品和网站 1、干翻AI …...
cmake进阶:目标属性
一. 简介 前面学习了 cmake 的一些目录属性,本文来学习 cmake的一些 目标属性。 目标属性,顾名思义就是目标对应的属性。 二. cmake进阶:目标属性 目标属性,顾名思义就是目标对应的属性。 cmake的所有目标属性可以通过如下网址…...
uniapp0基础编写安卓原生插件和调用第三方jar包和编写语音播报插件之使用jar包插件
前言 如果你不会编写安卓插件,你可以先看看我之前零基础的文章(uniapp0基础编写安卓原生插件和调用第三方jar包和编写语音播报插件之零基础编写安卓插件), 我们使用第三方包,jar包编写安卓插件 开始 把依赖包,放到某个模块的/libs目录(myTestPlug/libs) 还要到build…...
恢复数据,电脑数据恢复详细操作指南(4个方法)
“我经常会把很多重要的文件都保存在电脑上,但今天在清理电脑时好像误删了一些数据,有没有比较好用的数据恢复方法可以分享一下呢?请大家给我推荐几个吧!” 随着电脑的普及,我们越来越多地将重要数据存储在电脑中。然而…...
make SGX_MODE=SW
make SGX_MODESW...
【毕业设计】基于微信小程序的校园快递平台系统设计与实现
1.项目介绍 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统校园快递平台系统信息管理难度大,容错率…...
SWAT模型【建模方法、实例应用、高级进阶技能】实践
第一部分:SWAT模型实践部分 一、SWAT模型及应用介绍 1.1 面源污染概要 1.2 SWAT模型及应用 1.3 SWAT模型原理 1.4 SWAT模型输入文件 1.5 ArcGIS与SWAT关系 二、SWAT模型中GIS必备技术 2.1 GIS软件平台 2.2 ArcGIS10.6安装和注意事项 2.3 ArcGIS入门 2.…...
远动通讯屏功能和作用
远动通讯屏功能和作用 首先大家要先了解,什么叫远动通讯?远动通讯是电力系统指用于远程通信和远程控制的设备。它主要采集电发场站的电气运行参数与远程调度监控中心进行数据交互,并接收调度中心远程的指令控制。提高电力系统的运行效率和可靠…...
Dashboard 安装部署
Dashboard 安装部署 Dashboard 安装部署 一:下载 二:部署步骤 1.镜像下载及导入 国内直接拉外网镜像会失败,可在境外下载镜像 查看 deployment 里的镜像版本 Dashboard Deploymentcontainers:- name: kubernetes-dashboardimage: k8s.g…...
idea Maven 插件 项目多环境打包配置
背景 不同环境的配置文件不一样,打包方式也有差异 1. 准备配置文件 这里 local 为本地开发环境 可改为 dev 名称自定义 test 为测试环境 prod 为生产环境 根据项目业务自行定义 application.yml 配置: spring:profiles:#对应pom中的配置active: spring.…...
密室逃脱游戏-第12届蓝桥杯省赛Python真题精选
[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第58讲。 密室逃脱游戏&…...
ES6-自学01
调用方法读取文件:如果失败就throw抛出err,成功则抛出data 2.使用promise封装,如果失败就改变状态为 reject(err) 如果成功就 resolve(返回成功的值) ,然后then,就可以获取返回的值,值toString()方法来把…...
PyQt5批量生成Checkbox及批量检查Checkbox的勾选状态
批量生成Checkbox并添加到TableWidget中 for i in range(10):checkbox_i QCheckBox(fCheckbox_{i}) # 生成Checkbox并命名为Checkbox_iself.ui_1.tableWidget_1.setCellWidget(i,1,checkbox_i) 批量检查勾选状态 # 批量生成Checkbox并存入列表 list_Checkbox_1 [] for …...
如何获得一个Oracle 23ai数据库(Virtual Appliance)
准确的说,是Oracle 23ai Free Developer版,因为企业版目前只在云上(OCI和Azure)和ECC上提供。 方法包括3种,本文介绍第1种: Virtual ApplianceRPM安装Docker 从此处下载虚拟机。 可以看到虚拟机需要4G内…...
跟TED演讲学英文:What moral decisions should driverless cars make by Iyad Rahwan
What moral decisions should driverless cars make? Link: https://www.ted.com/talks/iyad_rahwan_what_moral_decisions_should_driverless_cars_make Speaker: Iyad Rahwan Date: September 2016 文章目录 What moral decisions should driverless cars make?Introduct…...
【ITK配准】第七期 尺度(Metric)-规格化交互信息Metric
很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 公众号:VTK忠粉 前言 本文分享ITK中的互信息Metric,即itk::ITK中的互信息Metric,即itk::MutualInformationImageToImageMetric ,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享…...
Python练习 20240508一次小测验
Python基础 10道基础练习题 1. 个人所得税计算器描述输入输出示例…...
桥梁施工污水需要哪些工艺设备
桥梁施工过程中产生的污水通常包含泥浆、油污、化学品残留等污染物。为了有效处理这些污水,确保施工现场的环境保护和合规性,通常需要以下工艺设备: 沉砂池:用于去除污水中的砂粒和其他重质无机物,减少对后续处理设备的…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...
大语言模型如何处理长文本?常用文本分割技术详解
为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...
项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...
音视频——I2S 协议详解
I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...
恶补电源:1.电桥
一、元器件的选择 搜索并选择电桥,再multisim中选择FWB,就有各种型号的电桥: 电桥是用来干嘛的呢? 它是一个由四个二极管搭成的“桥梁”形状的电路,用来把交流电(AC)变成直流电(DC)。…...
