Комментарии 28
создать некий глобальный сайт, куда можно донатить за творчество с помощью авторских ссылок.
Bandcamp?
В реальном мире этот путь много сложнее и разветвлённее:
Автор — исполнитель — музыканты — студия звукозаписи — продюсер — «лейбл» — маркетинг — радио — каналы распространения и раскрутки… слушатель.
На каждом этапе существуют договорённости (фиксированная сумма, % от выручки, бартер в конце концов) и кто кому платит тоже не всегда очевидно. Далеко не всю сумму получает правообладатель.
Возможно в идеальном мире (скажем блокчейна) и можно было настроить автоматические отчисления от каждого доната всем участникам цепочки по заранее оговоренным договоренностям, но это фантастика.
И да, автор (правообладатель) бы и рад получать деньги напрямую от потребителя, но без большинства участников этой цепочки произведение просто не дойдет до слушателя (в нужном объеме).
P.S. а что будет, если все ноды заполнятся? Кто платит за эти ноды? Имхо, очень быстро все забьется «мусором» (да, даже если и «полезным», уже чего, а музыки в мире — *лиарды песен).
И да, что вы там делаете на данном этапе с жалобами правообладателей? Имхо, подсудное дело это — распространение пиратского контента, пусть даже и децентрализовано. Хотя, у Вас, судя по всему, файл лежит полностью на одной ноде, т.е. уже отвертеться, что «часть контента не может быть рассмотрена как целое произведение и потому никаких претензий» — не прокатит… И да, ip ноды видно явно — стрёмно же.
А вообще, мне кажется, у Вас получился CDN, а не распределенное хранилище.
Сейчас пара нод, правда, я еще могу прикупить парочку допустим, я не миллионер пока, это да. Но смысл открытых децентразиванных проектов, в том, чтобы в нем учавствовали все желающие. Вот вы можете тоже взять и поднять узел, например.
По поводу мусора. Сеть настроена на циркуляцию. Если места не хватает, то наименее приоритетные и редкоиспользуемые песни удаляются, чтобы освободить место. Даже если будет всего один мой узел (200gb), он может обсуживать около 20000 песен.
20 узлов — это уже 400000 песен за вычетом копий.
По поводу открытого ip. Сейчас работает тестовая сеть, пока не сильно заморачиваюсь с блокировками возможными. В любом случаи в качестве адреса может быть любой домен в итоге, и сеть автоматически перерегистрирует узел если надо. А поводу механизмов скрытия можете написать мне в телеграмм или хотя бы скинуть ссылки интересные. Я рассматриваю возможные варианты.
Нода упала -> весь контент с неё пропал из сети?
Т.е. по сути Вы сделали такой себе API, который шлет всем нодам find и возвращает список ссылок? Почему по имени, а не скажем, по MusicBrainz ID. И что с дубликатами все-таки? Они могут быть как по имени, так и по хешу. Вы хеш, кстати, вместе с ID3 тэгами берете? (Пардон, в исходники не смотрел). Если да, то можно залить абсолютно идентичные файлы с отличием в одном символе в комментарии в ID3. И что с вариантами одной песни в разном качестве, обрезанное, с рекламой? Это будут все разные песни? Т.е. при поиске этой песни выдаст десяток ссылок на нее и куда кликать? В итоге получится такая же мусорка, как сейчас DirectConnect…
Нода упала — контент пропал из сети, но не узла. Если узел вернется, то все восстановится.
Если узлов больше 1, то у всех песен будет как минимум один дубликат. Чем больше узлов, тем больше дубликатов. Кол-во дубликатов настраивается, сейчас стоит как корень из размера сети. Поэтому если в сети 9 узлов, скажем, то 2 любых могут падать, ничего не поменяется. Тут главное — постоянная циркуляция песен. Тогда все будет ок.
Вы сделали такой себе API, который шлет всем нодам find и возвращает список ссылок
Если очень упростить, то да. Но роль кэша тут велика. Если песни часто тянутся, то в основном ссылки будут приходить без обхода сети. Ты не можешь получить несколько разных ссылок с разными вариантами. Приходит ссылка с наибольшим совпадением.
По поводу хэшей, ключей и названий.
Хэш тут мало роли играет, именно в музыкальном хранилище. Ключом является название песни, потому что это убивает сразу всех зайцев: дает уникальность песне, обладает человекоперевариваемым видом, легко копируется и.т.д.
Единственное узкое место в этой схеме то, что название может не соответствовать содержанию. Но в ближайшем будущем это, впринипе, кажется нерешаемая проблема.
Я решил удерживать качество путем разделения людей от роботов. Человеческий контент приоритетнее. Поэтому если ты, например, увидел не очень качественную или левую песню в хранилище, то можешь перезаписать ее в режиме модератора. А робот не может (в теории).
Тема спама в открытых сетях это одно из самых узких мест.
- есть уже распределённое на весь мир хранилище качественной музыки — торренты. Осталось написать программу для анонимного поиска и скачивания с любого компа планеты.
- лучше один раз скачать и слушать с винта/флешки чем перегружать сеть передачей одних и тех же данных
- с оплатой проблемы — где гарантия что платишь не мошеннику? вот при оплате через госуслуги я бы не сомневался, остальные сайты не вызывают доверия
Залил песенку на ноду, начал искать через бота, нашел, однако неитуетивно понятно то, что композиции, имеющие больше одного слова нужно вбивать в кавычках — не все ж программисты). Бот отдал ссылку на скачивание, которая не работает.
В остальном затея классная, только как бороться с пиратами?
Что помешает злоумышленнику заменять роботом песни на них же со вставками «покупайте натяжные потолки только в нашем казино»?
Я выше уже писал про это. Песни можно сохранять с приоритетами и в режиме модерации. Только человек может сохранить с наивысшим приоритетом, так как в этом режиме надо проходить капчу. То есть если человек добавил песню x с приоритетом 1(максимум), то робот уже не может перезаписать ее, его максимум 0. Только другой человек. Это придумано специально, чтобы система стремилась быть заполненной, в итоге, людьми. Поспамить может и человек, но надо постоянно решать капчу. И для этого случая тоже есть решение, которое возможно будет введено в будущем.
Это все понятно, но проспамить можно все что угодно. Я могу сейчас сесть и добавить кучу левых песен вконтаке, не соответствующих соодержанию, например. Но все же работает в целом. Такие моменты решаются уже другими инструментами и по мере их появления: контроль ip адресов, ограничения по кол-ву действий за время, модерация и.т.д.
Видимо, тут должно быть что-то такое:
— на одно имя объекта должно быть можно повесить много хэшей
— при этом хэш содержимого должен сопровождаться «подписью» загрузившего
— в клиенте должны вестись локальные чёрные и белые списки подписей загрузивших. В чёрный список загрузивший попадает по нажатию спец кнопки. В белом хранится некий счётчик количества «успешно» прослушанных композиций. Списки определяют, какой именно хэш из кучи навешенных на нужное имя будет играться.
1. Клиент отправляет запрос на поиск песни. К примеру, поиск по её хешу.
2. Получает список серверов и метадату — размер файла, стоимость, которую нужно будет заплатить за получение.
3. Клиент делает запрос самому дешевому серверу, вместе с ним отправляет нужное количество денег.
4. Сервер отдает песню, получает за это вознаграждение.
Таким образом у нас происходит саморегуляция. С одной стороны, выгодней хранить популярные штуки, будут чаще приходить запросы, но с другой стороны больше конкуренции, и за счет этого меньше вознаграждение. Клиенты покупают коины, чтобы делать запросы, сервера продают их, чтобы вывести наличные.
На самом деле идея настолько очевидная, что я удивлюсь, если её еще не реализовали.
Ну и с копирайтом можно что-то придумать. К примеру, кто-то заявляет, что имеет авторское право на хеш Х. Он предоставляет документы или другие доказательства. Если консенсус достигнут — с каждого запроса ему будет перечисляться процент.
Такая мысль была изначально, они и сейчас обдумывается, но вперед пока выходит более простая альтернатива: собирать все донаты и инвестиции и какую-то часть распределять между владельцами узлов. Дело в том что вариант с криптой и плата за скачивание/хранение конечными пользователями может тупо убить спрос.
об оплате труда композиторов думало множество совсем неглупых людей. Возможно != будет. Текущие цены в 5-10$ установлены именно исходя из текущих реалий. Плюс не забывайте, что микротранзакции сами по себе дорогое удовольствие, и пока адекватного решения этой проблемы нет, единственный вариант – большая аудитория, донатящая каждый день, как в ММО, например; очевидно, что за новый альбом каждый день одни и те же люди платить не будут.
Продюсеры и прочие «лишние» с точки зрения потребителя люди в цепочке всё это уже давно посчитали, прогнали на моделях и установили цены с точностью до цента, всеми силами поддерживая тонкий баланс существующей системы. При этом, если систему развалить, совсем не факт, что потребителю станет лучше – всё значительно сложнее.
Тем не менее, сам факт создания вами такой системы — это хорошо, ИМХО. Просто не забывайте, что важными для многих вопросами занимаются и другие, совсем неглупые, люди. И если их решение кажется вам странным и неэффективным, однако система при этом работает – это повод задуматься.
Вы абсолютно правы, только есть один нюанс. Я не из соображений самого умного предложил такое решение. Фиксированная и устанавливаемая цена нам привычна, это да. Потому что тысячи лет люди продавали и покупали товары и услуги, когда интернета еще не было. Возможности доната были крайне ограничены. Сейчас же это становится очень удобным и эффективным. Появились криптовалюты, микротранзакции тоже становятся эффективнее. В общем поезд движется куда-то в эту сторону, могут произойти большие изменения, и я разделяю взгляды таких людей.
Museria — децентрализованное хранилище музыки