Как стать автором
Обновить

Комментарии 36

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

1. В голосовании не хватает моего варианта: 'Заинтересовался недавно'.)

2.
И здесь же закрывается еще одна проблема: подтверждение авторства.
Я настаиваю на том, что это — не проблема, а фича интернета.

3. Хочу узнать знаком ли автор с проектом swarm. Если я правильно понял, это какой-то аналог ipfs, но c 'активной' раздачей данных.
В голосовании не хватает моего варианта: 'Заинтересовался недавно'.)

Пункт «Никогда не слышал про IPFS, но вроде интересно» как раз это подразумевал.

Я настаиваю на том, что это — не проблема, а фича интернета.

Я не говорю, что я истину глаголю. Просто мое видение.

3. Хочу узнать знаком ли автор с проектом swarm. Если я правильно понял, это какой-то аналог ipfs, но c 'активной' раздачей данных.

С ним особо не знаком, но на сколько я понимаю, IPFS как раз на этой технологии и построен. Ведь коннект как раз на swarm строится.
Я не говорю, что я истину глаголю. Просто мое видение.
Я не обвиняю вас в неистинности. Только подчеркиваю, что здесь ipfs, в вашем лице, идет против утверждения 'Искусство принадлежит интернету.'
При этом тот, кто должен ее прочитать, должен иметь только ключ, а где взять эту информацию, его не должно особо парить — он просто ее тянет из сети (это и есть новый принцип распространения по содержимому, а не по адресу).
Таким образом, в ipfs-сети сама информация тут же становится достпна всем, нужно только подобрать ключ. В то время как в классической схеме 'злоумышленнику' нужно еще и суметь перехватить эту информацию.
Также вопрос от падавана. Что такое в ipfs 'gateway' и чем оно отлично от 'node'?

Gateway локальный шлюз узла через который по HTTP протоколу предоставляет доступ браузеру или другой программе к файлам в сети IPFS.


То есть можно запустив локально узел IPFS открыть в браузере http://127.0.0.1:8080/ipns/ipfs.io и увидеть ту же страницу что на https://ipfs.io только это уже будет ваша локальная копия.

Только подчеркиваю, что здесь ipfs, в вашем лице, идет против утверждения 'Искусство принадлежит интернету.'

Так никто же не заставляет подписывать. Речь о праве подписать и зашифровать, если информация предполагается для какого-то определенного получателя, а не для всех. К слову, это может быть полезно и для бизнеса. На конференции компании ActiveCloud (не реклама) они рассказывали о своем программном продукте индивидуальных подписей для документов. Типа ставишь прогу и когда распечатываешь документ для передаче другой стороне, прога генерит определенные метки на документе (какие-нибудь точки) и добавляет их при печати. В результате, если где-то вскрывается факт утечки документов, можно по этим меткам определить кому именно передавались бумажные копии и предъявы гнать.
Так же и здесь, подписал для определенного получателя, и если где-то утечка вскрылась, то можно понять через кого.

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

Я не смог найти, но на хабре недавно была статья про принцип шифрования данных, при котором скрывается сам факт шифрования. То есть информация передается в открытом виде и кажется, что она не несет ничего важного в себе, но на самом деле ее надо просто суметь расшифровать.
В данном случае у хакеров другая проблема имеется: определение ценности информации. Представьте, что вам досталось несколько ТБ шифрованной информации, при чем сами по себе файлы по несколько кило весят (то есть их реально много) и все они подписаны разными ключами. Для вас помимо самой задачи взлома возникает еще и задача определения ценности хранимой информации. Вы можете потратить несколько недель работы суперкомпьютера для взлома файла, в котором вы прочитаете «Hello world». Стоит ли овчинка выделки? Если бы все так просто было бы, то тот же Ethereum ломали бы вдоль и поперек, а там понятно где что ценное, еще и на многие миллионы баксов.
Для вас помимо самой задачи взлома возникает еще и задача определения ценности хранимой информации.

Данная задача существует всегда, на стадии перехвата информации. Так что не думаю, что ipfs тут что-то меняет.
Так речь-то была не в том, что для данной задачи требуется именно IPFS. Это могло бы быть на уровне любых других средств хранения и обработки данных. Но в классической модели как правило шифруют только пароль (конечно же без обратного шифрования). Я же предполагаю, что хорошо бы шифровать любую конфиденциальную информацию. И IPFS для этого, на мой взгляд, просто лучше подходит, потому что сразу есть средства шифрования. И при внесении информации не надо никак персонализироваться (один из вариантов). Персонализация идет на уровне открытых/закрытых ключей.
И IPFS для этого, на мой взгляд, просто лучше подходит, потому что сразу есть средства шифрования.

О каком средстве шифрования речь? Если вы о CID, то это не шифрование — это обфурскация, как я понимаю.
На сколько я понимаю, IPFS активно использует libp2p.io
libp2p в свою очередь заявляет:
Encrypted Connections
Ensure that no one can eavesdrop on user traffic by setting a crypto channel by default, protecting both bits and validating peer identities.


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

Когда мы выполняем ipfs init, если мы не указали приватный ключ, то идентификатор пира создается случайный.
"Identity": {
"PeerID": "QmS57Jv8o7UT.........................",
"PrivKey": "CAASqgkwgg........................"
},


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

P.S. уже после того, как я это написал, пошел и нашел вот такой пример у них: github.com/libp2p/js-libp2p/tree/master/examples/encrypted-communications
Кажется, он подтверждает мои предположения.

Я полагал, речь идет о шифровании данных, а не соединений. Последнее, согласитесь, тоже не новость. Кроме того, если подумать, какой смысл имеет шифрование данных в сети, которая ориентирована на их пресохранение и свободное распространение?
На счет шифрования самих данных там наверняка тоже что-то есть (я не настолько хорошо изучил все). Хотя не факт.
А шифрование данных в сети имеет смысл, чтобы гарантировать авторство. Ведь просто получение данных по CID гарантирует, что они не были изменены, но нет подтверждение, что это кем-то конкретным написано (например, чтобы авторство подтвердить).
нет подтверждение, что это кем-то конкретным написано

Мне кажется, в случае p2p это не может быть задачей протокола передачи данных. Подтверждение целостности данных — да, но подтверждение авторства содержимого — это уже совсем другая тема.
ED: Т.е. как я уже замечал, ipfs, конечно, упрощает вторую задачу. Но никак не гарантирует ее решение.
ED2: В любом случае, мы заболтались. Давайте лучше договоримся o CID нашего списка пиратского контента в ipfs. И посвященного ему телеграм-чатика.)
Телегу не люблю (как и ватсап). Анонимность при регистрации через свой номер телефона — сказочный бред :)

Списков чего-либо пиратского тоже не могу предоставить, нет у меня в наличии :)
Телегу не люблю (как и ватсап).
Как же вы тогда собираетесь передавать CIDы файлов адресатам? Через яндекс-почту?)
Списков чего-либо пиратского тоже не могу предоставить, нет у меня в наличии :)
Потому и предлагаю составить. Пока по ipfs не начнет гулять архив порнхаба, никто им (ipfs) всерьез не заинтересуется.) Кэширование веб-сраничек это, конечно, тоже хорошо. Но, как скажут обычные пользователи, нас и сейчас неплохо кормят.
Я не планировал развивать пиратскую сеть :) Но если говорить в принципе о канале распространения, то это скорее всего мало чем будет отличаться от того же рутрекера, то есть будут некие сайты, которые будут у себя аккумулировать CIDы с описаниями и поиск по ним.

Пока по ipfs не начнет гулять архив порнхаба

Сорри, а зачем архив порнхаба? Можно же просто на порнхаб зайти (мне друг рассказывал).
это скорее всего мало чем будет отличаться от того же рутрекера

Я просто имел в виду, что это удобный способ популяризации технологии. Все-таки, все ее преимущества и недостатки не получится ощутить кроме как на практике. А 'архив порнхаба' — это, конечно, условность.
У меня нет четких За и Против, и я не планирую тратить кучу сил на популяризацию (и тем более воевать с ветряными мельницами). Но есть какой-то интерес, поэтому время от времени ковыряю. Но там много подводных камней, поэтому решил заметку оставить как часть из них обойти и не споткнуться. Более никакого сакрального смысла в написании статьи не было. Время рассудит, жить этой технологии или умереть.
Как же вы тогда собираетесь передавать CIDы файлов адресатам?

Можно через pubsub.


Например: Создание децентрализованного музыкального плеера на IPFS

Почти то, что надо.
ED: Только до конца пока непонятно, как оно будет работать. Authorized keys для доступа к печати сообщений… Кто их будет раздавать?

Сейчас любой может писать в любой канал.


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


Хэш от этого блока будет идентификатором канала.


Но это вроде не реализованно ещё. Да и реализовать можно уже на уровне приложения.

Сейчас любой может писать в любой канал.

Вы знаете, за что прикрыли 8chan? А данная pubsub система похожа на глобольную p2p имиджборду. Нужно еще посмотреть, пропустят ли ее без цензуры.
Это помимо других, технических вопросов.
По-моему, пропустят или нет — вопрос не уместный. pubsub запускается на уровне конечных нод. Это контролировать никто особо не может.
Мне кажется, вы недооцениваете ситуацию. Сейчас на англоязычных ресурсах слово 'ненависть' сродне 'коммунизму', а о том, что она заполонила интернет кричат на каждом углу. И принимают меры, как видите. Как только выяснится, что очередная группа школьников, ученивших стрельбу в каком-то там штате использовала какой-то там ipfs для огранизации своих действий, разрабов тут же возьмут за мягкое. И в следующей версии протокола никаких pubsub'ов уже не будет. В лучшем случае. В худшем — админы гитхаба потрут весь ipfs проект.
И потрут форки у пользователей, в том числе слитые на конечные компьютеры?
И форки потрут. А вы думаете не смогут? Локальные версии, в рамках современных механизмов, конечно останутся. Но много ли от этого будет толку? Хотя, даже сейчас, при правильном использовании социальных технологий, из любого X можно сделать прокаженного, так что от слитых копий будут избавляться самостоятельно.
Думаю, слишком сложно.

Я могу рассказать несколько ибо контрибьютил. Какие именно вопросы?

Я правильно понял из документации, что в swarm кэширование частей данных на соседних нодах происходит по инициативе исходного пира, до запроса данных со стороны?
С огромным трудом и многоминутными задержками опубликованные файлы можно скачать как через шлюз в инете так и локальные (даже если он есть и виден у сотни пиров). Для передачи и распространения файлов — пока совсем непригода. Работает как тор, когда он только появился, даже еще хуже. Надеюсь что будет лучше.

Вообще для винды есть десктоп версия, с установкой в один клик — несколько проще (в разы) поставить чтобы поиграть github.com/ipfs-shipyard/ipfs-desktop

И да, автору, ipfs — НЕ на блокчейне совершенно не грама. При чем тут бч вообще? Если вы правильно прочитали, то ipfs хорошее хранилище для blockchains (вследствие дедупликации).
С огромным трудом и многоминутными задержками опубликованные файлы можно скачать как через шлюз в инете так и локальные (даже если он есть и виден у сотни пиров). Для передачи и распространения файлов — пока совсем непригода.

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

Вообще для винды есть десктоп версия, с установкой в один клик — несколько проще (в разы) поставить чтобы поиграть github.com/ipfs-shipyard/ipfs-desktop

Да, этой статьи можно было и не писать. Уже полно подобных решений. Но как вы и сами говорите, все работает не так хорошо, как хотелось бы. Вот так да, если поставить готовое в один клик, то вероятнее всего не будет работать так хорошо, как хотелось бы. А если разобраться поглубже и чуть подкрутить, то вроде получается уже неплохо.

И да, автору, ipfs — НЕ на блокчейне совершенно не грама. При чем тут бч вообще? Если вы правильно прочитали, то ipfs хорошее хранилище для blockchains (вследствие дедупликации).

Спорить особо не буду, но как-то очень уж похоже на блокчейн. Сравните даже файлы:
ls -la ~/.ethereum/geth/nodes
total 7008
drwxr-xr-x 2 root root 4096 Aug 31 16:01 .
drwxr-xr-x 5 root root 4096 Aug 31 16:01 ..
-rw-r--r-- 1 root root 41849 Aug 31 16:06 006124.log
-rw-r--r-- 1 root root 2125544 Aug 31 16:01 006126.ldb
-rw-r--r-- 1 root root 2124220 Aug 31 16:01 006127.ldb
-rw-r--r-- 1 root root 1492543 Aug 31 16:01 006128.ldb
-rw-r--r-- 1 root root 16 Aug 31 16:01 CURRENT
-rw-r--r-- 1 root root 16 Aug 31 16:01 CURRENT.bak
-rw-r--r-- 1 root root 0 Jul 4 04:44 LOCK
-rw-r--r-- 1 root root 300742 Aug 31 16:01 LOG
-rw-r--r-- 1 root root 1049695 Aug 24 23:31 LOG.old
-rw-r--r-- 1 root root 1320 Aug 31 16:01 MANIFEST-006125


ls -la ~/.ipfs/datastore
итого 392
drwxr-xr-x 2 fi1osof www-data 4096 авг 31 11:57 .
drwxr-xr-x 8 fi1osof www-data 4096 авг 31 11:49 ..
-rw-r--r-- 1 fi1osof www-data 66312 авг 31 18:49 000727.log
-rw-r--r-- 1 fi1osof www-data 105393 авг 31 11:57 000729.ldb
-rw-r--r-- 1 fi1osof www-data 16 авг 31 11:49 CURRENT
-rw-r--r-- 1 fi1osof www-data 16 авг 31 11:49 CURRENT.bak
-rw-r--r-- 1 fi1osof www-data 0 дек 30 2017 LOCK
-rw-r--r-- 1 fi1osof www-data 193854 авг 31 11:57 LOG
-rw-r--r-- 1 fi1osof www-data 1181 авг 31 11:57 MANIFEST-000728


Сходство видно невооруженным глазом.

И keystore присутствует и там и там. И на сайте у них говорится
Blockchains
IPFS lets you address large amounts of data and place the immutable, permanent links into blockchain transactions. This timestamps and secures content without having to put the data itself on the chain.


И в webui


Кажется мне, все-таки там в какой-то мере блокчейн (как технология) все-таки присутствует.
Руками добавлять пиры, ну както не очень, DHT всеж, тем более она все их видит (inspect). Не могу понять почему не cloudflare не шлюз не могут сами их добавлять быстро. Да если 20 раз релоад страницы делать, то иногда она отдается, НО эффект неустойчив.

Блок эфира там для примера размещен чтобы можно было посмотреть как он эффективно по пирам разложен.

Вот по точнее немного, БЧ в ipfs это похожая концепция и не более (хотя сравнение не очень уместное, названия однако похожи, ipfs также можно назвать большим распределенным гросбухом, но не блокчейном:

«Blockchain uses decentralization concept and also consider to be the distributed ledger technology, where as the ipfs also utilize the same look alike concept “Distributed Hash Table” on Peer to peer decentralized network.»

Да от БЧ там блоки, которые по пирам разложены — в этом есть сходство, но они не дублируются — в этом принципиальное отличие. Когда шариш файл — он НЕ заливается в сеть, он делится на блоки и вычисляется какие из них уже присутствуют.
Спорить особо не буду, но как-то очень уж похоже на блокчейн. Сравните даже файлы:
Это база данных. Кажется, RocksDB. Они просто используют ту же самую базу данных. У меня личный проект (нету там блокчейна) тоже с этой базой и файлы такие же самые.
Информация из вики.

Блокче́йн (англ. blockchain[1], изначально block chain[2]) — выстроенная по определённым правилам непрерывная последовательная цепочка блоков (связный список), содержащих информацию. Чаще всего копии цепочек блоков хранятся на множестве разных компьютеров независимо друг от друга.


Впервые термин появился как название полностью реплицированной распределённой базы данных, реализованной в системе «Биткойн», из-за чего блокчейн часто относят к транзакциям в различных криптовалютах, однако технология цепочек блоков может быть распространена на любые взаимосвязанные информационные блоки[3].


Здесь тоже цепочка блоков, распределенная на разных устройствах. Как мне видится, это все-таки блокчейн. Криптовалюты построены на блокчейне, а не блокчейн на криптовалютах. Я не говорил, что это основано на какой-то криптовалюте. Но вот судя по всему это самый что ни на есть блокчейн.
Я писал о файлах. Такие файлы создает база данных RocksDB. Эти файлы ничего не говорят о том блокчейн там, или нет. Если кроме файлов других аргументов за блокчейн нет, то я очень сомневаюсь что в ipfs есть блокчейн. В их описании ничего такого я не нашел.
Порыл еще. Выяснил, что в работе IPFS активно используется ipld.io.
На главной страничке у них сразу картинка, которая вроде как как бы намекает.



Плюс к этому сиды формируются на основе base58btc.


Но в целом, скорее всего все это не принципиально, что на чем основано и что это напоминает. Пусть это будет не блокчейн, работать от этого оно не станет по-другому.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации