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

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

НЛО прилетело и опубликовало эту надпись здесь
Они есть. Реализованы отдельным сервисом, который мониторит транзакции, и присылает уведомление, которое включает и транзакцию с зашифрованным текстом сообщения. Сообщение расшифровывается локально. Вот: medium.com/adamant-im/push-notifications-friends-or-foes-b118b67ed258
я так понимаю сообщения хранятся открыто но зашифрованы? если через 10 лет квантовый компьютер сможет расшифровать? будете убивать историю?
Да, так. Даже если такое будет возможно, расшифровать «все» не получится, а вот переписку между U123456 и U654321 можно будет. Но это минимальная из бед, которые принесет квантовый компьютер. Все-все-все построено на этой криптографии, и не только «компьютерный мир». Вспомните про закон Яровой и аналоги в других странах — весь трафик хранится, и прочитать в таком случае можно будет не только переписку в блокчейн-мессенджере.
Пока это вопрос философский.
а что дает мессенджеру блокчейн?
В начале статьи есть перечисление «Мы хотели, чтобы блокчейн решил вопросы безопасности и приватности классических P2P-мессенджеров».
вопросы безопасности и приватности

И как в этом вопросе помогает именно блокчейн? Из статьи я не понял, для большинства перечисленных пунктов он не обязателен.
“Я этого не говорил” не прокатит с сообщениями в блокчейне

Возможность «вечного» хранения рассматриваю как угрозу приватности.
Для меня это самое важное:

  • Порядок сообщений, их содержимое, факт написания, источник и получателя, дату и время не исправить
  • Доступ к сообщениям с любого устройства в любое время
  • Можно не хранить сообщения локально, всегда подгружая из блокчейна
  • Криптокошельки и криптосервисы типа анонимного обменника


Блокчейн не творит чудеса. Вероятно, эти задачи можно решить другими способами. Мы рассматривали концепт — альтернативный способ переписки. Получили АДАМАНТ. Кому-то понравилась идея, а кому-то нет. Я считаю, что это первый блин, который комом.
— Хайповость.

Если квантовые компьютеры не будут тратить время на генерацию x и проверку f(x), весь мир временно сломается.

Мы доказали, что мессенджер на блокчейне может существовать. Ранее была только одна попытка в 2012 году — bitmessage, неудавшаяся из-за большого времени доставки сообщений, нагрузки на процессор и отсутствия мобильных приложений.
Bitmessage не использует Blockchain.
Конечно можно просто попробовать, но все таки спрошу, а как быстро сообщения «доставляются»?
Поскольку сообщения таким способом доставляются около 5 секунд — это время появления нового блока сети — мы придумали сокет-подключение клиент-узел и узел-узел. Когда узел получает новую транзакцию, он проверяет ее валидность и передает на другие узлы. Транзакция доступна клиентам-мессенджерам еще до наступления консенсуса и включения в блок. Так мы будем доставлять сообщения мгновенно, как и привычные мессенджеры.

А потестировать ветку с сокетами уже можно: feat-sockets-branch-adamant-im.surge.sh
5 секунд это одно подтверждение, для консенсуса надо сколько? 2-3? Каковы возможности по нагрузке, подозреваю он быстро ляжет в случае популярности.
5 секунд — это и есть консенсус. То есть большинство узлов сети согласились, что блок и все транзакции в нем правильные.
Количество подтверждений — это сколько блоков прошло после «вашего». Имеет значение при переводах больших сумм, а то, мало ли, сеть «откатится».
А по нагрузке да, сеть будет захлебываться при больших количествах сообщений. Но пока нас это не беспокоит. :)
А при популярности, а если ещё и звук с картинками гонять, то стонать намного раньше будут накопители.
И в минимальных требованиях будет ультрабыстрый твердотельник, на много-много терабайт.
Стоит уточнить, что клиентские приложения, собственно мессенджеры, не требуют никаких хранилищ данных. Они вообще могут не хранить сообщения, а только подгружать в оперативку.
А вот владельцам узлов диски пригодятся — все сообщения/транзакции как раз хранят узлы. Но пока это ~10 ГБ. Картинки и файлы хранить в блокчейне не собираемся, есть мысль использовать инфраструктуру специализированных проектов типа FileCoin или Storj.

Случайно отклонил чей-то комментарий с вопросом, извините, хотел нажать «Ответить». Повторите, если не сложно.
Я хотел спросить на каком этапе происходит удаление сообщений. Я с темой мало знаком, но пока создаётся впечатление что сообщения будут храниться всё время существования программы и блокчейн будет постоянно «распухать».
Спасибо!

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

Адской популярности не предрекаем пока, поэтому узлы сильно не «пухнут». А если такой вопрос встанет, там и подумаем. И еще важный момент: вы видите публичный АДАМАНТ. Но любая организация может поднять «свой АДАМАНТ» и хранить только свои сообщения. — к нам периодически обращаются компании и консультируются по этому поводу.

Чем вы лучше Briar или Tox?
Как вы проверяете, что собеседник тот, за кого себя выдает? В Briar, например, нужно лично встретиться и сосканировать QR-код.
НЛО прилетело и опубликовало эту надпись здесь
Я не скажу, что лучше — у всего есть свое применение. Для меня важна целостность блокчейна, достоверность сообщений, возможности не хранить сообщения локально и поменять устройство для доступа к переписке, криптопереводы в чатах. Верю в распространенность криптовалют в будущем ;)

Briar и Tox — отличные мессенджеры. Сам не пользуюсь, потому что «не прижились».

Встретиться и сосканировать код можно и в АДАМАНТе — мы так и пишем в приветственном сообщении, что это лучший способ обменяться контактами.
Я верно понимаю, что в вашем мессенджере нужно платить за каждое отправленное сообщение?
Верно. Цена 0.001 ADM за ~255 символов. Это около 0.1 копейки сейчас.
Это нужно для поддержания сети — чтобы у держателей узлов-валидаторов был стимул.
Ну тоесть ваш im уже не анонимный (хотя это вроде и не заявлено в тексте) т.к. требует привязки к платежному средству?

И если используется blockchain который вместо транзакций хранит сообщения, файл с блокчейном постоянно растет или предусмотрен tail cut?
Не-не. Никаких банковских карт или Яндекс-Денег.
На данный момент можно получить 0.1 ADM бесплатно каждому новому аккаунту; купить ADM анонимно на странице покупки токенов, используя DASH, DOGE, BTC, LTC, ETH, LISK; купить ADM на бирже.

Удаления сообщений не будет. В этом и смысл использования блокчейна — порядок сообщений, достоверность содержимого, возможность подгрузить их в любой момент с любого устройства. Адской популярности не предрекаем пока, поэтому узлы сильно не «пухнут». А если такой вопрос встанет, там и подумаем. И еще важный момент: вы видите публичный АДАМАНТ. Но любая организация может поднять «свой АДАМАНТ» и хранить только свои сообщения. — к нам периодически обращаются компании и консультируются по этому поводу. Пока размер блокчейна ~10 ГБ. Картинки и файлы хранить в блокчейне не собираемся, есть мысль использовать инфраструктуру специализированных проектов типа FileCoin или Storj.
>На данный момент можно получить 0.1 ADM бесплатно каждому новому аккаунту; купить ADM анонимно на странице покупки токенов, используя DASH, DOGE, BTC, LTC, ETH, LISK; купить ADM на бирже.
Анонимно купить другие криптоволюты тоже нельзя, так что сложно но отследить можно, по крайней мере до счета в платежной системе («анонимный» киви-кошелек). И посмотрел на сайт, там таки есть про анонимность.

>Пока размер блокчейна ~10 ГБ.
блокчейн хранится на всех клиентах или только на «нодах»?

>Адской популярности не предрекаем пока, поэтому узлы сильно не «пухнут». А если такой вопрос встанет, там и подумаем.
Это грустно что «там подумаем», вот разработчики BitCoin тоже думали что пишут Proof-of-Concrt и им никто за пределами лабораторий не будет пользоваться, а в итоге блокчейн до сотен гигабайт вырос и ничего с этим поделать не могут.
Анонимно купить другие криптоволюты тоже нельзя, так что сложно но отследить можно, по крайней мере до счета в платежной системе («анонимный» киви-кошелек). И посмотрел на сайт, там таки есть про анонимность.

«Анонимность» используем для «маркетинга». Мессенджер не анонимный, а псевдонимный. Метаданные какой адрес кому писал — доступны всем. Просто «псевдонимность» не все поймут.

блокчейн хранится на всех клиентах или только на «нодах»

Только на нодах. Клиент может не хранить локально даже свои сообщения, подгружая переписку при входе в аккаунт (по-дефолту так).

Это грустно что «там подумаем», вот разработчики BitCoin тоже думали что пишут Proof-of-Concrt и им никто за пределами лабораторий не будет пользоваться, а в итоге блокчейн до сотен гигабайт вырос и ничего с этим поделать не могут.

Согласен. У нас нет возможности (=денег) сейчас заняться этим вопросом.
> Анонимно купить другие криптоволюты тоже нельзя
DASH, Monero, Zcash, uPlexa и тысячи их.
Да, но как купить их анонимно? Терминалы Киви скоро перестанут принимать наличку без идентификации даже по-мелочи. А если учесть, что везде камер натыкано…
А зачем покупать их анонимно? Покупаете Monero на кошелек White отправляете их на кошелек Grey и с него уже платите.
Да, мне нравится такое решение.
Кстати, а что случится с мессенджером, если курс ADM внезапно упадёт или вырастет на несколько порядков?
А ничего не случится. Но если курс вырастет, то у нас будет возможность активнее работать над проектом.
Если цена сообщения в ADM фиксирована, то при падении курса могут ноды начать разбегаться (место под хранение сообщения стоит дороже, чем получаемая за сохранение сообщения сумма), а при росте курса станет очень дорого отправлять сообщение, и поэтому начнут разбегаться уже потребители. Разве нет?
Разбежавшихся держателей узлов и делегатов заменят другие, кто готов «майнить» на будущее. Это показала практика с АДАМАНТом, биткоином, эфиром, лайткоином.

Люди, которые используют АДАМАНТ нам чаще предъявляют «почему сообщение стоит так дешево, сделайте дороже». Все зависит от целей использования. Если уйдут те, кто использует АДАМАНТ для отправки смайликов, это хорошо — уменьшится нагрузка на сеть.

НЛО прилетело и опубликовало эту надпись здесь
Форк Lisk'а.
Видимо, вы не заметили:
github.com/Adamant-im/adamant
ADAMANT is decentralized messaging platform based on Lisk codebase and written in JavaScript.
НЛО прилетело и опубликовало эту надпись здесь

Хранение сообщений в общей базе это хорошо для возможности вернуть историю и входа с нескольких устройств, но плохо для безопасности из-за увеличения доступа к архиву со 100% узлов.


Постоянное хранение без возможности удалить это удар по безопасности т.к. не позволить стереть опасное перед возможной встречей с мастерами убежать. Не все могут предсказать как их сегодняшнее сообщение скажется на них через 30 лет.


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

Про веченое хранение и «квантовый компьютер» для расшифровки в будущем отвечал выше. Чтобы вам не искать:

Даже если такое будет возможно, расшифровать «все» не получится, а вот переписку между U123456 и U654321 можно будет. Но это минимальная из бед, которые принесет квантовый компьютер. Все-все-все построено на этой криптографии, и не только «компьютерный мир». Вспомните про закон Яровой и аналоги в других странах — весь трафик хранится, и прочитать в таком случае можно будет не только переписку в блокчейн-мессенджере.
Пока это вопрос философский.

Еще добавлю: я вижу правильный сценарий использования мессенджера в периодической смене адресов, а еще лучше — отдельный адрес для каждого собеседника. У нас есть в проекте сделать в приложениях поддержку мульти-аккаунтов, чтобы удобно было использовать такой сценарий. Я вообще не сильно верю в шифрование в современном мире и даже без кантовых компьютеров. Государства настолько сильны, что расшуфруют все, что им дужно. Да, есть и «цена вопроса». На эту тему как-то писал статью: Secure Messengers Do Not Exist — They’re Impossible medium.com/adamant-im/secure-messengers-do-not-exist-theyre-impossible-7b2680cd3b36

Для получения токенов нужно иметь какую-то другую криптовалюту для обмена. Или приобрести некоторое количество токенов, потом проголосовать за один из форжинг-пулов сети, и он будет регулярно выплачивать вам свою часть добытого.
На данный момент можно получить 0.1 ADM бесплатно каждому новому аккаунту; купить ADM анонимно на странице покупки токенов, используя DASH, DOGE, BTC, LTC, ETH, LISK; купить ADM на бирже. Никаких банковских карт или Яндекс-Денег, которые знают вашу личность.

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

Понимаю вашу настороженность.

В концепции как раз «пишу — значит отвечаю за свои слова» — это для ваших собеседников.

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

Спасибо, затея очень нужная!

Из статьи не понял:
— Механизм заинтересованности нод в участии. За отправку сообщений берутся ADM (о чём тоже стоило бы сказать в статье), но кому они дальше уходят? Кто из узлов сформирует блок? Что, если разные узлы сформировали блок одновременно?
— Откуда клиент при запуске берёт адрес ноды, к которой следует подключиться?
— «Подтверждение доставки сообщений. Не на устройство пользователя, а в сеть» — это как? Транзакция попала в блокчейн? А если клиента угораздило подключиться к злонамеренной ноде, та сказала «всё ок», а на самом деле всё не ок?
— Почему идёт речь про библиотеку NaCl, которая для C/C++, если и клиент, и ноды работают на JS?
— Как будут работать групповые чаты? Там ведь всё должно быть гораздо интереснее, чем просто двумя ключами зашифровать…

Что не понравилось в мессенджере:
— Платность сообщений. Да, очень дёшево (пока текст шлёшь, а не картинки), но надо следить за балансом, как-то его пополнять (а у меня криптовалюты вообще нет), в общем, дополнительный геморрой. Было бы лучше, если бы клиент каким-то образом сам потихонечку «майнил».
— Отсутствие «killer feature» для массового потребителя.
— По мелочи касательно конкретной реализации: windows-клиент представляет собой просто браузерчик, в котором запускается web-клиент. (К тому же, он упорно писал мне «invalid passphrase» на фразу, которую сам же только что сгенерировал; потом я догадался, что так он намекает, что ему доступ в сеть не дали)
Спасибо!

Механизм заинтересованности нод в участии. За отправку сообщений берутся ADM (о чём тоже стоило бы сказать в статье), но кому они дальше уходят? Кто из узлов сформирует блок? Что, если разные узлы сформировали блок одновременно?


Это вопросы консенсуса. В блокчейне бывают они разные. У нас вариант Delegated Proof of Stake (dPos) — Fair dPoS. Суть в том, что сеть определяет порядок, кто из делегатов сети формирует следующий блок. А правильность блока определяют не только узлы-делегаты, но и обычные узлы. Если что-то не так с этим блоком, то эстафета переходит к следующему делегату (их 101 активный и остальные запасные). Комиссия за отправку уходит делегатам сети, чтобы мотивировать их поддерживать узлы. Вот где можно посмотреть делегатов: explorer.adamant.im/delegateMonitor

Откуда клиент при запуске берёт адрес ноды, к которой следует подключиться?


В iOS- и Андроид- приложениях есть возможность указать любые ноды, а еще лучше поднять свою: medium.com/adamant-im/how-to-run-your-adamant-node-on-ubuntu-990e391e8fcc. В Web-приложении (+Win, Linux, Mac OS) это сделать в настройках нельзя, из-за CORS. Но можно поднять свой мессенджер на своем домене/IP, и у него уже в настройках указать свою ноду.

«Подтверждение доставки сообщений. Не на устройство пользователя, а в сеть» — это как? Транзакция попала в блокчейн?


Да, транзакция попала в блокчейн. Меня, например, бесит, что никто не знает, доставлено ли СМС или нет… и жмешь «повторить» до посинения. А в нашем примере 2FA 2fa-demo.adamant.im мы точно знаем, что 2FA-код доставлен и его можно извлечь.

А если клиента угораздило подключиться к злонамеренной ноде, та сказала «всё ок», а на самом деле всё не ок?


Блокчейн такого не позволит. Нода говорит «ок», но транзакция не попадет в блок. И отправитель, и получатель об этом знают.

Почему идёт речь про библиотеку NaCl, которая для C/C++, если и клиент, и ноды работают на JS


Есть реализации этой штуки на всех языках программирования.

Как будут работать групповые чаты? Там ведь всё должно быть гораздо интереснее, чем просто двумя ключами зашифровать…


Хороший вопрос. Мы работали над проектом групповых чатов, есть решение. Но до реализации не дошли — нужно много времени (=денег). Возможно изначально сделаем не на уровне блокчейна, а как отдельный сервис. Ваша группа собеседников-участников чата поднимает этот сервис как отдельный адрес U12345. Отправляя в чат с U12345 сообщение, оно транслируется всем участникам. Доступ к сообщениям в групповом чате в таком случае есть у всех участников и у владельца U12345 (это опять же кто-то из участников).

Платность сообщений. Да, очень дёшево (пока текст шлёшь, а не картинки), но надо следить за балансом, как-то его пополнять (а у меня криптовалюты вообще нет), в общем, дополнительный геморрой. Было бы лучше, если бы клиент каким-то образом сам потихонечку «майнил».


Да, без криптовалют получить ADM есть только один сейчас вариант — бесплатные токены. Ну я верю в будущее и распространенность криптовалют.
«Майнил» можно, но не в мессенджере, он-то «легкий» ведь. Узлы могут майнить, если делегатами станут. Но: можно приобрести некоторое количество токенов, потом проголосовать за один из форжинг-пулов сети, и он будет регулярно выплачивать вам свою часть добытого.

Отсутствие «killer feature» для массового потребителя

Не верю в киллер-фичи. Это как вопрос «дорогой, за что ты меня любишь?». Выбор — это всегда совокупность факторов, плюсов и минусов.

По мелочи касательно конкретной реализации: windows-клиент представляет собой просто браузерчик, в котором запускается web-клиент. (К тому же, он упорно писал мне «invalid passphrase» на фразу, которую сам же только что сгенерировал; потом я догадался, что так он намекает, что ему доступ в сеть не дали)

Да, это электрон. У нас нет пока возможности написать отдельное windows-приложение. Но может быть кто-то нам поможет?
Блокчейн такого не позволит. Нода говорит «ок», но транзакция не попадет в блок. И отправитель, и получатель об этом знают.

Можно подробнее? Как клиент понимает, что он подключился к "правильной" ноде, а не к поддельной? Есть какой-то механизм верификации нод?


Еще интересно, как я могу убедится в том, что история сообщений не была изменена? Для этого мне требуется поднять свою ноду?

При отправке сообщения оно отображается в статусе Pending («часы»). Только когда сообщение попадет в блокчейн, статус поменяется на Delivered («галочка»). Если сообщение не попадет в блок в случае «плохой ноды», вместо статуса Delivered будет Error («крестик»). Получатель же видит сообщения только в статусе Delivered и мы у входящих даже галочки не показываем. Сообщение либо есть в блокчейне, либо его нет.

Еще интересно, как я могу убедится в том, что история сообщений не была изменена? Для этого мне требуется поднять свою ноду?


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

При отправке сообщения оно отображается в статусе Pending («часы»). Только когда сообщение попадет в блокчейн, статус поменяется на Delivered («галочка»). Если сообщение не попадет в блок в случае «плохой ноды», вместо статуса Delivered будет Error («крестик»). Получатель же видит сообщения только в статусе Delivered и мы у входящих даже галочки не показываем. Сообщение либо есть в блокчейне, либо его нет.

Галочки и крестики — это UI. Меня интересует, что меня защищает от злоумышленника, поднявшего собственную ноду с чуть подправленным кодом, которая перехватывает все мои сообщения (расшифровать я полагаю не может, но даже перехват опасен), а мне сообщает, что все ок.

Это как раз не UI. — через «плохую ноду» сообщение просто не попадет в сеть. То есть это невозможно, как бы вы не правили код.

И перехват ничем не опасен. Более того, все транзакции в блокчейне доступны кому угодно. Ваше сообщение — это транзакция. Если ее получит «плохая нода», и что-то в ней изменит, она не попадет в блокчейн (для этого нужен консенсус многих узлов сети). В худшем случае «плохая нода» не отправит ваше сообщение на другие узлы и оно не будет доставлено. Об этом вас и предупредит UI.
сеть определяет порядок, кто из делегатов сети формирует следующий блок
Ой, почитал, всё не просто там получается. Т.е. не каждая нода участвует в генерации блокчейна, а только 101 с наибольшим количеством ADM (из изъявивших желание)? Получается, у остальных нодовладельцев финансовой мотивации держать ноду нет?
Есть реализации этой штуки на всех языках программирования
В репозитории ничего сишного не нашёл…
Не верю в киллер-фичи
Мессенджер — такое ПО, которым не будешь пользоваться в одиночку. И тяжело обосновать постороннему человеку, почему именно в этом мессенджере следует переписываться. Как следствие, мессенджер не выйдет из ниши (утрируя) «нечто для кучки гиков и террористов».
Т.е. не каждая нода участвует в генерации блокчейна, а только 101 с наибольшим количеством ADM (из изъявивших желание)? Получается, у остальных нодовладельцев финансовой мотивации держать ноду нет?

Да, блоки формируют только первые 101 делегатов (но в консенсусе участвуют все ноды). Порядок делегатов в нашем консенсусе Fair dPoS определяется голосованием пользователями с ADM в кошельках. У остальных финансовой мотивации нет, вы правы. Но делегаты могут строить «пулы», распределяя полученные комиссии среди проголосовавших за них пользователей.

В репозитории ничего сишного не нашёл…

Так да, например, Web-мессенджер написан на JS и использует JS-реализацию NaCl:
github.com/Adamant-im/adamant-im/blob/master/src/lib/adamant.js

import nacl from 'tweetnacl/nacl-fast'
Все сообщения хранить на блокчейне? А что с размерами базы? Вся база хранится на каждой ноде, да? Ну т.е. чтобы стать узлом, мне надо свой датацентр разворачивать? Сколько реально будет нод и кто заинтересован в этом?
Да, в блокчейне, да, на каждой ноде.

Удаления сообщений не будет. В этом и смысл использования блокчейна — порядок сообщений, достоверность содержимого, возможность подгрузить их в любой момент с любого устройства. Адской популярности не предрекаем пока, поэтому узлы сильно не «пухнут». А если такой вопрос встанет, там и подумаем. И еще важный момент: вы видите публичный АДАМАНТ. Но любая организация может поднять «свой АДАМАНТ» и хранить только свои сообщения. — к нам периодически обращаются компании и консультируются по этому поводу. Пока размер блокчейна ~10 ГБ. Картинки и файлы хранить в блокчейне не собираемся, есть мысль использовать инфраструктуру специализированных проектов типа FileCoin или Storj.

Чтобы стать сейчас узлом, создайте виртуалку с 20 GB места. На полгода-год вперед лучше 25 GB. Вот как это сделать: medium.com/adamant-im/how-to-run-your-adamant-node-on-ubuntu-990e391e8fcc

Статистика по узлам: explorer.adamant.im/networkMonitor

Делегаты сети: explorer.adamant.im/delegateMonitor

Ваша нода — или для себя, чтобы на 100% быть уверенным, что ваш IP известен только вашему узлу. Или становитесь делегатом, и получайте комиссии сети.
А если такой вопрос встанет, там и подумаем.

Чота ржу. А вы точно инжене́р?
реально ли зарегать 50%+1 пользователя и подписывать блоки как вздумается?
Нет, чтобы делать «как вздумается» нужно не 51% пользователей, а 51% узлов и делегатов.
Это можно (в теории), просто дорого.
У биткоина и эфира такую штуку не провернули пока. Хотя АДАМАНТ не биткоин и не эфир…
Цена фиксирована за сообщение? Это хорошо — будет стимулировать думать перед отправкой и писать всё в одном сообщении, а не не нескольких десятках.

А ещё если будете добавлять голосовые сообщения и отправку эмодзи, берите, на них, пожалуйста, по десятикратному тарифу.
Картинки и файлы, голосовые сообщения хранить в блокчейне не собираемся, есть мысль использовать инфраструктуру специализированных проектов типа FileCoin или Storj.

Эмодзи поддерживаются и не стоят плюсом ничего: medium.com/adamant-im/discover-emotions-adamant-introduces-emoji-5adb7ba438b2. Это ж просто текст.
Вы не поняли суть риторики. Я не люблю когда шлют много коротких сообщений и голосовые сообщения. Большая цена вынудит меньше их использовать.
Да, понял только позже и ниже прокомментировал.
«Догнал» про голосовые сообщения и эмодзи.
Да, тоже это не люблю голосовые сообщения. Адски не люблю.
А если цена будет не за символы, а за байты, — мы с удовольствием вспомним навыки начала 2000-х, ))) А то и KOI-8R вспомним )))
По сути так и есть, за байты. ^_^ Нода-то не видит сообщений, видит только шифрованные данные. А комиссию за сообщение считает именно нода (узел сети).

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

Да, компании, которые к нам обращались, в первую очередь говорили про групповые чаты. Что ж, когда-нибудь сделаем.
Блокчейн хорош для верификации данных. В качестве основы хранения информации, часть из которой может быть строго конфиденциальной, он первородное зло. Уязвимости по софту еще никто не отменял, а тут вектор атаки может быть направлен вообще на произвольную ноду, работающую под устаревшим ПО, а то и вовсе поднятую специально для этой задачи. В совокупности с наличием фактически штатной возможности однозначно установить факт передачи сообщения конкретному адресату это означает, что, на мой взгляд, анонимность и безопасность тут крайне иллюзорна.
Но селф-киллер-фича — это, безусловно, платные сообщения…
тут вектор атаки может быть направлен вообще на произвольную ноду, работающую под устаревшим ПО, а то и вовсе поднятую специально для этой задачи

Расскажите, пожалуйста, как вы это видите. На ноду не приходит ничего, кроме того, что и так всем доступно — подписанная шифрованная транзакция. Ваше сообщение — это транзакция. Если ее получит «плохая нода», и что-то в ней изменит, она не попадет в блокчейн (для этого нужен консенсус многих узлов сети). В худшем случае «плохая нода» не отправит ваше сообщение на другие узлы и оно не будет доставлено.

однозначно установить факт передачи сообщения конкретному адресату

Однозначно установить факт передачи сообщения от U12345 к U54321?
Мне одно не понятно — зачем вы рекомендуете передавать контакт лично? Лично это условно абсолютно надежный канал связи. Если у меня есть абсолютно надежный канал связи, то зачем этот цирк, с блокчейнами, шифрованием и всем таким, если я могу просто передать закрытый ключ и юзать мессенджер с симметричным шифрованием?
Конечно.
Мессенджер вы можете выбрать любой, которому доверяете.

Мессенджеры на блокчейне уже существуют. Как пример, Crypviser. Есть уже приложения на Android и iOS. Имеется возможность аудио и видео звонков. Чем ваш мессенджер будет отличаться?

А чем конкретно блокчейн помогает в жизни чата? Чем это отличается от шифрованных чатов в том же matrix со своими серверами? Или от шифрования в keybase?


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


По теме — сколько нод минимум нужно для поднятия своего такого блокчейна внутри организации?

Для меня самое важное, что дает блокчейн в чате:

  • Порядок сообщений, их содержимое, факт написания, источник и получателя, дату и время не исправить
  • Доступ к сообщениям с любого устройства в любое время
  • Можно не хранить сообщения локально, всегда подгружая из блокчейна
  • Криптокошельки и криптосервисы типа анонимного обменника


Чтобы поднять свой блокчейн, нужно 3 узла. Но желательно больше.
А как новый узел, подключается к другим узлам не зная ip?
Узлы общаются между собой, узлы друг друга знают. При установке узла в конфиге можно указать, с кем связаться изначально.

Что касается клиентов-мессенджеров,
в iOS- и Андроид- приложениях есть возможность указать любые узлы, а еще лучше поднять свой. В Web-приложении (+Win, Linux, Mac OS) это сделать в настройках нельзя, из-за политик безопасности. Но можно поднять свой мессенджер на своем домене/IP, и у него уже в настройках указать свой узел.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории