SyncNet: децентрализованный peer-to-peer браузер на основе BitTorrent Sync


    Децентрализованная стая скворцов :)

    Анонимность в Сети всегда была важным моментом для многих из нас, а после скандала с АНБ это вообще едва ли не проблема №1 для пользователей Сети. Сейчас массово стали появляться анонимные сети, не менее анонимные peer-to-peer сервисы, а теперь появился и децентрализованный браузер, основанный на BitTorrent Sync. Идея, лежащая в основе этого браузера, SyncNet, чем-то похожа на идею, реализованную в TOR.

    Так вот, SyncNet разработан на основе сервиса BitTorrent Sync, Dropbox-подобного сервиса, созданного в прошлом году BitTorrent Inc. В то время, как сервис предназначен для синхронизации папок и файлов на различных устройствах, браузер создан немного с иной целью — хранение и распространение HTML-файлов, изображений, прочего веб-контента.

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

    Само собой, система сейчас еще разрабатывается, и у нее есть ряд ограничений.

    Во-первых, SyncNet работает только со статичным контентом.

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

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

    Но пока все обстоит вот таким вот образом. И да, разработчик вскоре добавит плагины для Chrome и Firefox.

    Кстати, исходники уже выложены на GitHub.

    Via jack.minardi
    Поделиться публикацией
    Комментарии 26
      +4
      Слишком много ограничений, будущее этого браузера видится туманным. Браузер, созданный гиками для гиков.
        +3
        И зависящий от либов BTSync
          +4
          А вот не станет интернета в обычном понимании этого слова (и такими темпами есть немалая вероятность, что скоро), сазу расцветет.
            +6
            Обычный интернет когда то тоже начинался с простого набора статических html файлов. А актуальность децентрализованного интернета только растет.
            +5
            Идея, лежащая в основе этого браузера, SyncNet, чем-то похожа на идею, реализованную в TOR.

            Я бы перефразировал:
            «Идея, лежащая в основе этого браузера, SyncNet, взята чуть менее, чем полностью с идеи, реализованной во Freenet, которая существует уже почти 14 лет».
              +4
              А если еще подключить версионирование при просмотре «внешних» сайтов — можно собирать архивы сайтов.

              А потом на форумах «У кого есть сайт ***.ru за 10.12.2016? Рухнул сервер, бекапы не делал… »
              0
              > Вскоре у браузера появится и возможность загрузки только измененного контента, а не всего объема файлов измененного ресурса.
              Как-то все равно не очень ясно. Это же сервак должен отдавать какие-то диффы? Или кто будет эту дельту вычислять?

              Тоже как-то странно звучит. Но надо увидеть то, что получится.
                0
                Кстати про диффы это отличная идея! Было бы круто — делаешь какой-нибудь $.get а в ответ дифф, который обрабатывается встроенными средствами браузера.
                  0
                  Зачем, если можно отдать сжатый JSON, который еще и гзипом… либо можно тиснуть websocket — тогда все будет летать. Относительно, конечно, но все же.
                    0
                    Да нет, я не про размер, а про метод обновления страницы. В диффе выдавать прямо куски html кода
                +1
                Еще одно средство для успокоения паранойи.
                  +1
                  А можно подробнее пояснить подробнее, как это работает?
                  Вот сделал я сайт — каталог с html страничками. Запустил браузер. Что дальше? Как этот сайт открывают другие?
                    0
                    Не знаю как работает SyncNet, но если брать аналогию с BitTorrent Sync, то работать должно так:
                    1. Размещаете тут сайт. (Адрес сайта является секретным ключем как в BTsync.)
                    2. Пользователь вводит адрес сайта — браузер через DHT ищет у кого есть этот сайт и скачивает к себе копию. Ну и отображает ее.
                      +1
                      И что, мой комп засрется кучей сайтов половина из которых посещалась ради одной-двух страниц, а другая половина — все, что наоткрывалось в IFRAME?
                        +3
                        Мужик.

                        Цена за гиг дискового пространства составляет ~3 рубля 0 копеек. На 1 гиг можно записать хрен знает сколько сайтов, и ещё хвостик останется. Если википедия будет размазана по миллиарду компов, занимая по сотне-другой килобайт, на каждом из них, и этому дядечке больше не придётся никогда делать грустное лицо, для выпрашивания денег — лично я не сильно обижусь и буду только рад этому.

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

                        Не говоря уже про видео-траффик.

                        + Децентрализованная, распределенная закачка html страничек, в конечном итоге может сильно отразиться на скорости доступа к тем же сайтам. Ведь исчезнет проблема перегрузки каналов тех ресурсов, которые вынуждены поддерживать крупные компании, поставляя пользователям свой контент.
                          0
                          Вот уж не факт что кучу. А во-вторых, большое количество мелких файлов — это серьезная нагрузка на файловую систему (фрагментация, большое количество запросов к файловой подсистеме и т.д.). У вас ни разу utorrent не вешал файловую систему, когда в очереди стопиццот торрентов на гектар каждый с несколькими тысячами файлов?
                            0
                            Я думаю если и когда будет ярд компов, которые что-то считают и кому-то что-то раздают, то оптимизация загрузки личного ПК будет вопрос десятый. Когда это ещё будет, у вас будет стоить SSD 0.1 коп за Мб, и вообще принцип записи может поменяться так, что вы про это свое опасение и вовсе забудете. И нет — я не настолько активный пользователь торрентов. :)
                              0
                              >> Когда это ещё будет, у вас будет стоить SSD 0.1 коп за Мб, и вообще принцип записи может поменяться так, что вы…

                              забудете про эти линуксы и венды, а PhantomOS будет единственной ОСью на всех Ваших девайсах.
                              Мечты… мечты…
                    0
                    Я правильно понимаю назначение Syncnet?
                    Мы хотим анонимно расшарить сайт, но не делаем это в i2p, потому что во-первых, проще убедить пользователей поставить браузер, чем разбираться с i2p, а во-вторых Syncnet должен быстрее работать?
                      0
                      i2p нужен сервер, а Syncnet, насколько я понял, скорее Store-and-forward. Другое дело, что я не вижу принципиальных отличий от Freenet.
                        0
                        Анонимности не будет. IP-адреса пиров открыты. Достаточно написать паука, который отслеживает новые магнет ссылки (откуда-то ссылка должна появиться?) и сразу запрашивает список пиров. Очень вероятно, что сидировать будет только автор контента. Даже если чуть опоздать и сидов будет уже двое-трое, проверить их всех несложно.
                          0
                          Анонимности не будет. IP-адреса пиров открыты.

                          Вот я и пытаюсь понять, какова модель применения. В общем, на оригинальном сайте написано, что это такое, и как работает.

                          Средствами браузера Syncnet создается каталог в BitTorrent Sync, при этом генерируются два ключа: readonly и read/write, с помощью которых контент и становится доступен другим. Работать всё будет медленно, по крайней мере первое время.

                          Идея использования состоит например в том, что создается обычный сайт в обычном интернете, там же публикуется readonly ключ на его копию в Syncnet. Если сайт заблокируют (а заблокируют его, скорее всего, не раньше, чем он станет популярен), он останется доступен. Потом, когда владельца сайта возьмут за ж…, сайт также останется доступен, пока не найдут и не вычистят всех. Доверенные лица, имеющие read/write ключ, смогут сайт редактировать. Естественно, у всех всё будет обновляеться.

                          В качестве DNS собираются прикрутить ColorCoin, это надстройка над BitCoin, принцип работы которой наподобие NameCoin, но подробнее я не разбирался.
                        +1
                        Анонимность в Сети всегда была важным моментом для многих из нас, а после скандала с АНБ это вообще едва ли не проблема №1 для пользователей Сети

                        Правда?
                          0
                          Лучше давайте придумаем нормальную концепцию сразу.
                          1. Сеть должна иметь подобие днс. Реализовать можно на нэймкоинах. Сейчас можно записывать в них onion адреса, что является вполне хорошей идеей. Смущает только цена, по-хорошему адреса должно быть не надо продлевать, но иметь возможность передать другому. Адреса не обязательно должны быть вида aaa.bbb.cool_net, хотя это из коробки и даст cross-domain безопасность браузеров.
                          2. Сеть должна давать как анонимность пользователя, так и анонимность сервера. Тут надо бороться с уязвимостью замера пингов, которую даст любая простая mesh сеть. Как вариант: A знает о B, C, D, E. Если попросить A дать C, то он с 50% вероятностью даст C, а с 50% вероятностью даст любого соседа и скажет что, наверно, тот знает лучше. В этом случае надо следить за тем, что бы соседи были выделены не по территориальному признаку.
                          3. Отдавать данные должен нормальный сервер. Нельзя сегодня ставить ограничения на динамический контент.
                          4. Использование cdn. Пока сеть молодая — пинги будут огромными, ничто не должно запрещать использовать публичные js библиотеки\css гриды, но надо сделать нормальные хранилища, которые точно не пишут логов, или ограничить передачу referer на уровне браузера.
                          5. За браузер надо взять обычный open source браузер. Заморозить его в текущей версии и вычитать код, после чего дотюнить (убрать передачу передачу referer, сделать подобие flash-block, которое будет блокировать чужеродные вставки с других сайтов не из белого листа (в белый лист изначально включить только cdn из пункта 4) ).
                          6. Естественно, всё должно шифроваться уже от пользователя до первого узла.
                            0
                            Всё давно уже придумано. Осталось только реализовать.
                            По ссылке, кстати, отличный анализ и подробные рассуждения на тему.

                          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                          Самое читаемое