Pull to refresh

Comments 28

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

Bandcamp?

Не совсем. Нужен лишь сайт для верификации творчеких псевдонимов и принятия донатов через генерируемые ссылки.
Если бы всё было так просто «автор» < — «слушатель».
В реальном мире этот путь много сложнее и разветвлённее:
Автор — исполнитель — музыканты — студия звукозаписи — продюсер — «лейбл» — маркетинг — радио — каналы распространения и раскрутки… слушатель.
На каждом этапе существуют договорённости (фиксированная сумма, % от выручки, бартер в конце концов) и кто кому платит тоже не всегда очевидно. Далеко не всю сумму получает правообладатель.
Возможно в идеальном мире (скажем блокчейна) и можно было настроить автоматические отчисления от каждого доната всем участникам цепочки по заранее оговоренным договоренностям, но это фантастика.
И да, автор (правообладатель) бы и рад получать деньги напрямую от потребителя, но без большинства участников этой цепочки произведение просто не дойдет до слушателя (в нужном объеме).

P.S. а что будет, если все ноды заполнятся? Кто платит за эти ноды? Имхо, очень быстро все забьется «мусором» (да, даже если и «полезным», уже чего, а музыки в мире — *лиарды песен).
И да, что вы там делаете на данном этапе с жалобами правообладателей? Имхо, подсудное дело это — распространение пиратского контента, пусть даже и децентрализовано. Хотя, у Вас, судя по всему, файл лежит полностью на одной ноде, т.е. уже отвертеться, что «часть контента не может быть рассмотрена как целое произведение и потому никаких претензий» — не прокатит… И да, ip ноды видно явно — стрёмно же.
Спрятали бы ноды хоть за Cloudflare, хоть какая-то защита (плюс ssl бесплатно).
А вообще, мне кажется, у Вас получился CDN, а не распределенное хранилище.
В том и смысл, чтобы упростить все это, сделать границу между автором, слушателем и его донатом минимальной. В идеале везде, где ты будешь слушать какую-то песню, рядом будет кнопочка доната. Нужно лишь, чтобы большинство следовало этому алгоритму.

Сейчас пара нод, правда, я еще могу прикупить парочку допустим, я не миллионер пока, это да. Но смысл открытых децентразиванных проектов, в том, чтобы в нем учавствовали все желающие. Вот вы можете тоже взять и поднять узел, например.

По поводу мусора. Сеть настроена на циркуляцию. Если места не хватает, то наименее приоритетные и редкоиспользуемые песни удаляются, чтобы освободить место. Даже если будет всего один мой узел (200gb), он может обсуживать около 20000 песен.
20 узлов — это уже 400000 песен за вычетом копий.

По поводу открытого ip. Сейчас работает тестовая сеть, пока не сильно заморачиваюсь с блокировками возможными. В любом случаи в качестве адреса может быть любой домен в итоге, и сеть автоматически перерегистрирует узел если надо. А поводу механизмов скрытия можете написать мне в телеграмм или хотя бы скинуть ссылки интересные. Я рассматриваю возможные варианты.

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

Нода упала -> весь контент с неё пропал из сети?

Т.е. по сути Вы сделали такой себе API, который шлет всем нодам find и возвращает список ссылок? Почему по имени, а не скажем, по MusicBrainz ID. И что с дубликатами все-таки? Они могут быть как по имени, так и по хешу. Вы хеш, кстати, вместе с ID3 тэгами берете? (Пардон, в исходники не смотрел). Если да, то можно залить абсолютно идентичные файлы с отличием в одном символе в комментарии в ID3. И что с вариантами одной песни в разном качестве, обрезанное, с рекламой? Это будут все разные песни? Т.е. при поиске этой песни выдаст десяток ссылок на нее и куда кликать? В итоге получится такая же мусорка, как сейчас DirectConnect
Процент можно поделить между всеми же. Внезапно, даже создатель этого глобального сайта может себе брать небольшую комиссию :)

Нода упала — контент пропал из сети, но не узла. Если узел вернется, то все восстановится.
Если узлов больше 1, то у всех песен будет как минимум один дубликат. Чем больше узлов, тем больше дубликатов. Кол-во дубликатов настраивается, сейчас стоит как корень из размера сети. Поэтому если в сети 9 узлов, скажем, то 2 любых могут падать, ничего не поменяется. Тут главное — постоянная циркуляция песен. Тогда все будет ок.

Вы сделали такой себе API, который шлет всем нодам find и возвращает список ссылок

Если очень упростить, то да. Но роль кэша тут велика. Если песни часто тянутся, то в основном ссылки будут приходить без обхода сети. Ты не можешь получить несколько разных ссылок с разными вариантами. Приходит ссылка с наибольшим совпадением.

По поводу хэшей, ключей и названий.
Хэш тут мало роли играет, именно в музыкальном хранилище. Ключом является название песни, потому что это убивает сразу всех зайцев: дает уникальность песне, обладает человекоперевариваемым видом, легко копируется и.т.д.
Единственное узкое место в этой схеме то, что название может не соответствовать содержанию. Но в ближайшем будущем это, впринипе, кажется нерешаемая проблема.
Я решил удерживать качество путем разделения людей от роботов. Человеческий контент приоритетнее. Поэтому если ты, например, увидел не очень качественную или левую песню в хранилище, то можешь перезаписать ее в режиме модератора. А робот не может (в теории).

Тема спама в открытых сетях это одно из самых узких мест.
nodejs и вообще веб стек здесь совершенно не к чему.
  1. есть уже распределённое на весь мир хранилище качественной музыки — торренты. Осталось написать программу для анонимного поиска и скачивания с любого компа планеты.
  2. лучше один раз скачать и слушать с винта/флешки чем перегружать сеть передачей одних и тех же данных
  3. с оплатой проблемы — где гарантия что платишь не мошеннику? вот при оплате через госуслуги я бы не сомневался, остальные сайты не вызывают доверия
С проектом pathefone знакомились? Как оно в сравнении с вашим.
Да, это один из проектов, который навел на мысли и вдохновил на создание. Но как я уже писал в статье, у ipfs слишком много минусов. Можно сказать museria — более функциональная, гибкая и удобная реализация этого всего.
Тест буквально из печи:
Залил песенку на ноду, начал искать через бота, нашел, однако неитуетивно понятно то, что композиции, имеющие больше одного слова нужно вбивать в кавычках — не все ж программисты). Бот отдал ссылку на скачивание, которая не работает.
В остальном затея классная, только как бороться с пиратами?
Название песни напишите, чтобы проверить что к чему.
С какими пиратами бороться собрались? Пираты с пиратами не борятся))

Можете в телеграмм написать по поводу песни, если что.
Про борьбу со спамом вообще непонятно. А это, IMHO, самый сложный момент во всём проекте.
Что помешает злоумышленнику заменять роботом песни на них же со вставками «покупайте натяжные потолки только в нашем казино»?

Я выше уже писал про это. Песни можно сохранять с приоритетами и в режиме модерации. Только человек может сохранить с наивысшим приоритетом, так как в этом режиме надо проходить капчу. То есть если человек добавил песню x с приоритетом 1(максимум), то робот уже не может перезаписать ее, его максимум 0. Только другой человек. Это придумано специально, чтобы система стремилась быть заполненной, в итоге, людьми. Поспамить может и человек, но надо постоянно решать капчу. И для этого случая тоже есть решение, которое возможно будет введено в будущем.

Если я правильно понял, то и приоритет, и капча присущи клиенту, а не сети в целом. Тогда, если я напишу свой клиент, то я смогу спамить с желаемым приоритетом и без капчи.
Нет, приоритет и капча реализованы на уровне сети(серверов), а не клиента. А вот как я реализовывал капчу для децентрализованной сети, это уже отдельную статью писать надо )
Ага, надо :)
Хотя всё равно всё не гладко. Даже если спамеру не удастся полностью автоматизировать процесс, то он может просто 1000 раз вводить капчу. Он в этом материально заинтересован, а тот, кто исправляет результаты его действий, — нет.
5$ за тысячу капчей: платишь на специальном сервисе — китайцы решают.

Это все понятно, но проспамить можно все что угодно. Я могу сейчас сесть и добавить кучу левых песен вконтаке, не соответствующих соодержанию, например. Но все же работает в целом. Такие моменты решаются уже другими инструментами и по мере их появления: контроль ip адресов, ограничения по кол-ву действий за время, модерация и.т.д.

Это всё плохие решения (IP адреса — а что, если адрес за NAT, и там 1000 пользователей? да и вообще, глядя в будущее, к IPv4 уже как-то не очень правильно привязываться. Модерация предполагает централизацию, которая в децентрализованной сети нехорошо выглядит).

Видимо, тут должно быть что-то такое:
— на одно имя объекта должно быть можно повесить много хэшей
— при этом хэш содержимого должен сопровождаться «подписью» загрузившего
— в клиенте должны вестись локальные чёрные и белые списки подписей загрузивших. В чёрный список загрузивший попадает по нажатию спец кнопки. В белом хранится некий счётчик количества «успешно» прослушанных композиций. Списки определяют, какой именно хэш из кучи навешенных на нужное имя будет играться.

Примерно в этом духе я уже планировал реализовать систему распознавания фейковых трэков. Это пока требует более тщательного анализа.

Осталось завернуть это в сеть Yggdrasil и ваш IPv4 в безопасности ;)
Интересная идея, но, на мой взгляд, сыровата. Тут бы блокчейн пригодился, в плане платежного средства. Навскидку:

1. Клиент отправляет запрос на поиск песни. К примеру, поиск по её хешу.
2. Получает список серверов и метадату — размер файла, стоимость, которую нужно будет заплатить за получение.
3. Клиент делает запрос самому дешевому серверу, вместе с ним отправляет нужное количество денег.
4. Сервер отдает песню, получает за это вознаграждение.

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

На самом деле идея настолько очевидная, что я удивлюсь, если её еще не реализовали.

Ну и с копирайтом можно что-то придумать. К примеру, кто-то заявляет, что имеет авторское право на хеш Х. Он предоставляет документы или другие доказательства. Если консенсус достигнут — с каждого запроса ему будет перечисляться процент.

Такая мысль была изначально, они и сейчас обдумывается, но вперед пока выходит более простая альтернатива: собирать все донаты и инвестиции и какую-то часть распределять между владельцами узлов. Дело в том что вариант с криптой и плата за скачивание/хранение конечными пользователями может тупо убить спрос.

Касательно раздела «Альтернативы для создателей музыки»:
об оплате труда композиторов думало множество совсем неглупых людей. Возможно != будет. Текущие цены в 5-10$ установлены именно исходя из текущих реалий. Плюс не забывайте, что микротранзакции сами по себе дорогое удовольствие, и пока адекватного решения этой проблемы нет, единственный вариант – большая аудитория, донатящая каждый день, как в ММО, например; очевидно, что за новый альбом каждый день одни и те же люди платить не будут.
Продюсеры и прочие «лишние» с точки зрения потребителя люди в цепочке всё это уже давно посчитали, прогнали на моделях и установили цены с точностью до цента, всеми силами поддерживая тонкий баланс существующей системы. При этом, если систему развалить, совсем не факт, что потребителю станет лучше – всё значительно сложнее.

Тем не менее, сам факт создания вами такой системы — это хорошо, ИМХО. Просто не забывайте, что важными для многих вопросами занимаются и другие, совсем неглупые, люди. И если их решение кажется вам странным и неэффективным, однако система при этом работает – это повод задуматься.

Вы абсолютно правы, только есть один нюанс. Я не из соображений самого умного предложил такое решение. Фиксированная и устанавливаемая цена нам привычна, это да. Потому что тысячи лет люди продавали и покупали товары и услуги, когда интернета еще не было. Возможности доната были крайне ограничены. Сейчас же это становится очень удобным и эффективным. Появились криптовалюты, микротранзакции тоже становятся эффективнее. В общем поезд движется куда-то в эту сторону, могут произойти большие изменения, и я разделяю взгляды таких людей.

Sign up to leave a comment.

Articles

Change theme settings