当前位置: 首页 > news >正文

NFT重构票务系统

什么是NFT?

NFT是运行在区块链上的一种不可分割的凭证(Non-Fungible Token),或者称为非同质化代币。NFT目前主要用在数字艺术品的铸造、拍卖、流转,因为一个NFT能唯一地确定它的所有者,并可在链上跟踪每一次所有者的转移。

NFT的技术实现可以说非常简单,一个NFT本质上就是一个全剧唯一的256位整数,每个NFT会有一个地址的唯一映射,在区块链合约里,它存储的数据结构就是一个映射表:

contract NftContract { mapping(uint256 => address) nfts; }

依靠区块链提供的加密防伪能力,NFT能轻松实现数据透明、不可伪造、不可复制、可控流转。在现实世界中,我们注意到,电影票、门票、公园年票这些物品,本质上都可以看作是具有唯一ID的凭证。基于这种特点,使得NFT非常适合票务市场。

有的童鞋会问,现有的票务市场已经实现了在线购票,在线支付,二维码验票,很好的体验,还有必要改进么?

实际上,现有的票务系统是一个分散的中心化系统,例如阿里有淘票票,美团有电影票,加上大麦网、豆瓣电影等等,这些系统是不可能互联互通的,每一家影院都要对接如此多的票务系统,对售票方来说其IT成本就很高了。

此外,对接的这些第三方系统,用户在各个平台上,影院完全无法触达,甚至连给用户推送一个优惠都做不到。

基于区块链的NFT技术正是降低票务系统IT成本的有效措施。现有的各家票务系统,无一不把用户和购票数据作为自家私有数据存储而绝不会共享。相反,NFT在链上数据公开透明,任何影院只需要把一场电影的所有电影票以NFT的形式发行到链上,就相当于完成了一级市场的“登记发行”,而任何第三方票务系统,甚至个人,都可以将一级市场的NFT电影票销售给用户,这就是“二级市场销售”。由于NFT无法造假,所以不存在假票问题,电影院自身验票也完全不依赖任何第三方系统,它只需要同步区块数据就可以自行验证NFT电影票。

由于NFT还具备可编程特性,发行方完全可以自定义售卖和二次售卖规则。例如,有的票是不允许转让的,有的票可以转让,但是要收取一定的手续费,这些灵活的规则无需由阿里或美团定义,发行方自己就可以以合约的形式创建好。

最后,由于NFT的发行和流转数据完全透明,这使得影院真正得以分析自己的用户数据。借助成熟的隐私保护协议,用户也可以选择公开还是隐藏自己在链上的身份。

综上所述,一个基于NFT的票务系统将有如下显著的优势:

  1. 安全性:发行方的每一张以NFT标识的票务都具备可溯源、防伪和可验证的特点;
  2. 低成本:发行方无需与多个第三方票务系统直接集成,而任何第三方只要有技术和销售能力,都可以充当销售渠道;
  3. 透明度:所有交易数据均在链上存储,数据不再属于某个第三方专有。

当然,现阶段用NFT改造票务系统,仍然存在很多挑战,例如区块链的TPS远远低于中心化系统的数据库,用户如何掌控自己在链上的身份等等,需要一步一步地改进。

相关文章:

  • 国际电工委员会发布标准 IEC 62077:2022 《光纤互连设备和无源元件-光纤环行器-通用规范》
  • vue3.0--3.isRef、toRefs、toRef、readonly,公共数据配置、网络配置、app.use插件配置、路由配置
  • 【python】(十八)python常用第三方库——pymysql
  • 供应水溶性喹啉腈磺酸盐母体,QM-SO3,CAS:1800102-18-4
  • Unity Shader LOD详解
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • Linux环境:Nginx配置SSL证书,https协议请求 443端口
  • git tag相关
  • HTML篇三——(1)
  • Android移动应用开发之六种布局
  • Nginx 学习笔记
  • 【027】mongoose V6.4之创建监听套接字fd
  • 《安富莱嵌入式周报》第283期:全开源逆向“爆破”硬件工具,Linux内核6.1将正式引入RUST语言,I3C培训教程,80款市场成熟的电感式位置传感器设计
  • 操作系统实验六 文件管理
  • Bert(Bidirectional Encoder Representations from Transformers)
  • 【翻译】babel对TC39装饰器草案的实现
  • 08.Android之View事件问题
  • Angularjs之国际化
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • CSS居中完全指南——构建CSS居中决策树
  • golang中接口赋值与方法集
  • Kibana配置logstash,报表一体化
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • mysql外键的使用
  • Python中eval与exec的使用及区别
  • 扑朔迷离的属性和特性【彻底弄清】
  • 深入浅出webpack学习(1)--核心概念
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • MyCAT水平分库
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • 容器镜像
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • #QT(串口助手-界面)
  • $.ajax()方法详解
  • (11)MATLAB PCA+SVM 人脸识别
  • (C语言)字符分类函数
  • (Oracle)SQL优化技巧(一):分页查询
  • (第二周)效能测试
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (已解决)vue+element-ui实现个人中心,仿照原神
  • (转)原始图像数据和PDF中的图像数据
  • .cn根服务器被攻击之后
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .NET Core WebAPI中封装Swagger配置
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞)
  • .net和jar包windows服务部署
  • .NET框架
  • .NET中统一的存储过程调用方法(收藏)
  • @Autowired @Resource @Qualifier的区别
  • [04]Web前端进阶—JS伪数组
  • [20160807][系统设计的三次迭代]
  • [AIGC] Kong:一个强大的 API 网关和服务平台
  • [Android]一个简单使用Handler做Timer的例子