Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Такие вещи нужно писать только на Си!Согласен. Node.js не совсем подходит для таких вещей. Платформа была выбрана исключительно для того чтобы не дублировать библиотеки на клиенте и сервере. И там и там JavaScript. Впоследствии стало понятно, что нода — далеко не лучшее решение и платформа упирается, как это ни странно, не в сеть или в диск, а в проц. Поскольку для работы с криптографией требуется выполнять много вычислений, и в данном случае больше подходят языки со статической типизацией, такие как, Си.
Желательно в виде либ, чтобы было легко растаскивать и встраивать.
Не понятно как сеть будет защищаться от замусоривания.Да. Ограничения от бесконтрольной заливки данных, безусловно, необходимо продумывать. На данный момент уже введены некоторые ограничения:
Зачем нужен регистратор, почему нельзя просто подключится к сети и запросить что надо? (клиент)Запрос так и происходит. Клиент подключается к сети и запрашивает то «что надо».
Зачем вообще нужен регистратор? (для публикующих)Регистратор — сейчас нужен исключительно для того чтобы хоть как-то ограничить беспорядочные регистрации доменов пользователями. Фактически регистратор осуществляет эмиссию доменов. Это единственная его функция.
Что будет когда место в нулевом-системном кольце закончится?Сейчас в нулевом кольце (хранилища N) располагается данные о доменах и их владельцах. Своего рода DNS. Клиент, открыв сайт, подключается к сети и запрашивает данные о домене. Он запрашивает данные в нулевом кольце. Как только кольцо переполнится (а это произойдет ой как не скоро) клиент для получения данных о домене будет искать их сперва в нулевом кольце, а затем в первом. Также со временем все данные нулевого кольца можно перетащить в первое, во второе и т.д. Полагаю, к тому времени когда нулевое кольцо переполниться (а это минимум 2 млн.записей), можно будет решить проще поступить, скопировать данные или запрашивать их в одновременно в нескольких кольцах. Уверен, что это далеко не критичная проблема.
Я бы не доверял браузеру хранить закрытый/секретный ключ.Браузер — это самое простое и универсальное клиентское ПО, которое уже установлено у каждого пользователя практически на любой платформе. Не хочется заставлять пользователя ставить какое-то специализированное ПО. Приватный ключ храниться в localStorage всего лишь одного домена (core.base.network). Доступ к нему имеет только один скрипт — API. Скрипты с других доменов не имеют возможность получить этот закрытый ключ.
Есть Tox, и неожиданно он у меня и в портах на фре и в миранде плагином, и на винде тоже клиент есть.
Есть libutp у битторента, не уверен что её в изначальном виде целиком встраивают, но дёргать куски из сишного кода куда либо ещё проще.
Тут лежат мои ECDSA + ГОСТ 2001/2012 и sha2, на сях.Это все классно. Написать на Си небольшую либу, работающую с криптографией. Но если говорить о серверной ноде, которая, по-мимо работы с криптографией, должна еще работать и как веб-сервер, реализовывать все тонкости http-протокола, работать с базой, осуществлять в фоне постоянные репликации с такими же нодами, держать с клиентами SSE-соединения и бог знает еще чего делать, то для простоты разработки, возможно, стоит использовать высокоуровневый язык, который как раз для этого и предназначен? В принципе, GO не сильно уступает по скорости выполнения, также компилируемый, со статической типизацией и пр.
Просто добавляешь include… и вызываешь нужное. Примеры как вызывать в seltest() функциях.
Не думаю что для мусорных данных нужен правильный хэш.
В чём отличия от других схожих технологий файлообмена?
Нафик слать инвайты почтой, когда тот же токс пашет просто так, из коробки?Чтобы использовать сеть не нужны инвайты. Любой (анонимно) может взять и оставить комментарий на сайте. Например, test.base.network/chat
Тут лежат мои ECDSA + ГОСТ 2001/2012 и sha2, на сях.Иван, я вижу, что ты — отличный спец в криптографии. Не хотел бы ты принять участие в развитии проекта?
с открытыми IP адресами будут торчать только некие гейты. сами данные будут храниться на клиентских машинах (не имеющие открытых выделенных адресов). эти машины держат постоянный коннект к гейтам и отдают им запрашиваемый контент. таким образом, информация о конечном юзере, у которого храниться контент, есть только у гейтов и недоступна из вне.
чтобы перейти на подобную схему потребуются лишь небольшие доработки серверного ПО.
Отдавать 4 гига не каждый захочет, тем боле на те сегменты сети/контента которые самому пользоваьелю не нужны.Сейчас, к примеру, база Bitcoin весит с десяток гигов — и это никого не останавливает скачать ее к себе на диск и использовать для проведения транзакций даже тех «которые самому пользоваьелю не нужны»
Пиринговая сеть base.network