Uright - Приложение Blockchain Music Rights Management ÐApp
Uright - Приложение Blockchain Music Rights Management ÐApp

Uright - Приложение Blockchain Music Rights Management Ð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 front-end) и отвечает за развертывание, если все тесты пройдены.

Кроме того, перед тестированием запускается инструмент 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
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.