Uright - Блокчейн-управление авторскими правами на музыку ÐApp
Uright - Блокчейн-управление авторскими правами на музыку ÐApp

Uright - Блокчейн-управление авторскими правами на музыку ÐApp

Введение

Децентрализованное приложение (ÐApp) для управления авторскими правами на музыку на базе Angular+Solidity+Web3.js, применяющее IPFS, ENS, Oracles и другие технологии и развернутое на Ethereum через Truffle.

Децентрализованное приложение Uright позволяет музыкантам (владельцам контента) регистрировать свои произведения как «Проявления» и регистрировать их в блокчейне Ethereum.

«Манифестации» отображают работы художника в виде фрагментов контента, подтверждающих авторство и право собственности. Это делается с помощью смарт-контракта «Манифестации», который записывает хэш IPFS, название (запланированные дополнительные метаданные) и время регистрации, показывающие содержание произведения. Эту информацию можно использовать для доказательства авторства, а контент можно хранить в IPFS. файл, полученный из системы.

Однако просто зарегистрировать «Проявление» недостаточно, необходимо также предоставить подтверждающие материалы, иначе срок действия «Проявления» истечет через одни сутки. Эти вспомогательные материалы обычно регистрируются музыкантом (загрузившим произведение), но любой другой может добавить вспомогательные материалы, которые могут представлять собой файлы любого типа, например снимки экрана, PDF-документы и т. д. Смарт-контракт «UploadEvidences» загрузит вспомогательные материалы в файловую систему IPFS.

«YouTube Evidences» помогает музыкантам При загрузке на видео/Музыкальную платформу Введение объявляет работу «Проявления», смарт-контракт будет автоматически определен как вспомогательный материал.

(В разработке...) Если кто-то другой зарегистрировал оригинальную работу/вспомогательные материалы художника,Музыканты могут подать апелляцию,Функция контракта реализована,Но в Web Приложение пока недоступно.

(В разработке...) Токенизировать произведения музыкантов с помощью технологии NFT.

Адрес проекта:GitHub

Архитектура

основная технология

IPFS

Когда музыкант регистрирует свою работу с помощью цифрового файла (например, файла формата .mp3), файл загружается в IPFS, а сгенерированный им идентификатор IPFS (хэш) используется для регистрации работы в блокчейне Ethereum. Пользователи могут выбрать загрузку работы в сеть IPFS или сохранить конфиденциальность работы и запретить загрузку контента в сеть IPFS, при этом будет генерироваться только хеш-значение работы.

Пользователь обязан сохранить тот же файл, который использовался для генерации хеша работы, который впоследствии может быть использован в качестве доказательства владения цифровым файлом для облегчения проверки хеша. Хэши IPFS также будут использоваться для получения загруженного контента.

Ethereum Naming System (ENS)

Проект Uright объединяет пакет Ethereum-ens, который можно использовать в основной сети Ethereum, Ropsten, тестовой сети Rinkeby и локальной тестовой сети. Пакет ensdomains/ens используется для установки имен адресов.

Oracles

Oracle Модуль интегрирован в загрузку YouTube Смарт-контракты, основанные на фактических данных, через YouTube видео ID (https://www.youtube.com/watch?v=VIDEO_ID) чтобы узнать, содержит ли описание видео определенный хэш заголовка.

поэтому,Функция позволяет музыканту доказать, что произведение существовало как в YouTube платформу и владеет ею (поскольку только пользователь, загрузивший видео, может редактировать описание видео, включив в него производственный хэш)

доступный Oraclize Для обращений предусмотрены онлайн-сервисы: http://app.oraclize.it/home/test_query

Возможность обновления

Для того чтобы договор о регистрации работы имел Возможность обновления,представлять ZeppelinOS в AdminUpgradeabilityProxy реализует режим делегирования через агент ретрансляции.

шаблон проектирования

Проект смарт-контракта Uright спроектирован с учетом модульности и возможности многократного использования. например,Реализуйте функцию истечения срока действия проверки в виде библиотеки сущностей, а библиотека «Evidencable» позволяет зарегистрированным работам накапливать несколько вспомогательных материалов;,Это также может обеспечить удобство последующих исследований и разработок, например, функцию апелляции.

Кроме того, предоставление этих функций в виде библиотек снижает затраты на развертывание.

Автоматический выключатель / Аварийная остановка

Шаблон автоматического выключателя предотвращает повторные попытки приложения выполнить операцию, которая может завершиться сбоем, позволяя ему продолжать работу, не дожидаясь исправления ошибки, или тратить процессорные циклы впустую, если оно определяет, что ошибка является длительной. Режим автоматического выключателя также позволяет приложению определить, устранена ли неисправность. Если что-то пойдет не так, приложение может попытаться вызвать действие.

Automatic Deprecation

Кроме того, для зарегистрированных произведений реализована модель, аналогичная «Автоматическому прекращению поддержки». Таким образом, если пользователь регистрирует произведение, но не предоставляет вспомогательные материалы, его регистрация истечет по истечении установленного фиксированного времени, и в этом случае истечение срока означает, что произведение может быть перезаписано перерегистрацией другого пользователя.

меры безопасности

Все смарт-контракты были проверены с помощью инструментов Remix и Solhint, которые проверяют общие проблемы безопасности, такие как повторный вход или зависимости от меток времени.

Библиотека SafeMath используется, чтобы избежать проблем целочисленного переполнения и потери значения.

Наконец, Солхинт настраивается как шаг в определенном рабочем процессе непрерывной интеграции и развертывания, так что каждый раз код времени передается в GitHub когда Трэвис проведет все тесты (для контрактов и Angular frontend), который отвечает за развертывание в случае прохождения всех тестов.

Кроме того, перед тестированием запускается инструмент Solhint, чтобы отслеживать любые проблемы безопасности, которые могут возникнуть.

Связанные библиотеки

Пакет Uright Project из ZeppelinOS и OpenZeppelin импортирует некоторые библиотеки для реализации функции.

ZeppelinOS
  • AdminUpgradeabilityProxy: выполнитьсмарт-контрактиз Возможность обновления
  • Initializable: обновляемое расширение смарт-контракта реализует инициализацию агента
OpenZeppelin
  • Pausable: выполнить"Автоматический выключатель / Аварийная остановка"шаблон проектирования,проходитьрасширять Ownable реализовать, что только владелец может остановить
  • SafeMath: используется для предотвращения проблем целочисленного переполнения и опустошения.
  • OraclizeAPI Пакет с использованием Oraclize для проверки YouTube видео принадлежит конкретному пользователю и привязано к произведению, защищенному авторским правом

Подробное объяснение смарт-контрактов

Manifestations.sol

Этот смарт-контракт используется для регистрации произведения и подтверждения права собственности на произведение путем связывания метаданных произведения (в настоящее время названия) и хеша IPFS контента с личностью автора (т. е. с адресом учетной записи Ethereum). На одно и то же произведение можно заявить права. как отдельное лицо Автор или соавтор. Кроме того, если вы перерегистрируете новую работу с уже зарегистрированным хэшем контента, система зафиксирует это как сбой.

UploadEvidences.sol

Этот смарт-контракт в основном используется для поддержки регистрации материалов и регистрации доказательств путем загрузки содержимого рабочего файла в файловую систему IPFS. Для одной и той же работы можно добавить несколько доказательств (но не повторять их).

ExpirableLib.sol

Этот смарт-контракт в основном используется для логики проекта по управлению сроками создания и окончания работ, для достижения своевременности регистрации (или обжалования) работ.

Функция

Веб-клиент Uright ÐApp предоставляет музыкантам и пользователям услуги по управлению авторскими правами на музыку.

  1. Регистрация авторских прав: сгенерируйте уникальное значение хеш-функции из рабочего файла и зарегистрируйте работу музыканта в цепочке, чтобы доказать авторские права на работу.
  • Зарегистрируйте новую работу, которая никогда не была зарегистрирована
  • Зарегистрируйте произведение, уже имеющее запись о регистрации, и подайте апелляцию
  • Добавьте подтверждающие материалы, подтверждающие авторские права на произведение.
  1. Поиск по авторским правам: используйте хеш-значение, чтобы проверить, было ли зарегистрировано произведение.
  • Мой: Найти все зарегистрированные работы текущего художника.
  • Библиотека авторских прав: Найдите все зарегистрированные произведения в цепочке.
  • Подробности: нажмите «Подробнее», чтобы просмотреть подробную информацию, включая все загруженные доказательства.
boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose