Обо мне
Я программист с 12+ летним опытом работы в C, C ++ и Python. Я работал на видео игры для PS3, Xbox360, PSP и Wii. Я люблю Bitcoin и использовал его в течение нескольких лет. Я подписался * только *, чтобы сделать этот пост, и, к сожалению, у меня есть сообщения в форуме новичку, пока я не белый список. После того, как белый список, я буду счастлив, чтобы переместить эту тему на форуме по развитию проекта.
мотивация
Это даже необходимо, чтобы описать проблемы со стандартной электронной почтой? Существующая система является небезопасной и склонной к прослушиванию и несанкционированному доступу. Мы должны это исправить. И спам? Давайте избавиться от него.
Я также невероятно занят другими проектами, и это один был взвешиванием на мой взгляд, в последнее время, как я считаю, что это очень важная часть программного обеспечения, которое еще не существует. Я просто не думаю, что у меня будет время, чтобы работать над этим, так что я надеюсь, что кто-то там будет принимать его.
Решение
BitMail распределенная P2P Система электронной почты означает, в конечном счете заменить существующую систему. Это будет перекрывать и работать с текущей системой электронной почты поэтому ранние не будет изолированы от стандартной электронной почты. Это будет легко объединить с существующей системой электронной почты по реализации стандартных POP или IMAP протоколов, так что сегодняшние почтовые клиенты продолжают работать без изменений, и SMTP протоколов передачи почты между новой шифрованной системой и старой системой.
Детали
Позвольте мне предварить все это, говоря, что впереди у меня нет все детали разработаны еще, и я даже не уверен, что это будет вся работа в конце концов, но если вам интересно, пожалуйста, читайте дальше.
Очень фундаментальный принцип этой системы состоит в том, что она должна стоить что-то для того, чтобы отправить сообщение. На индивидуальном уровне, она не должна быть заметна стоимостью, однако. Введите доказательство правильности работы.
Вот как это работает: Вы скачиваете клиент BitMail и установить. Во время установки, он спросит вас, если вы хотите, чтобы претендовать на новый адрес электронной почты. При ответе да, ввести любую строку, которую вы хотите, чтобы ваш адрес будет. Давайте назовем эту строку вашего "BitMail Addresss" (БМА для краткости). Мы будем рассматривать это псевдо-частный адрес, как вы будете раздавать их людям, которых вы хотите иметь контакт с. Я предполагая вседозволенность юникода строка 256 байт должна быть тонкой. Давайте не будем накладывать ограничения на то, что адрес BMA выглядит. Клиент BitMail использует этот адрес, а также некоторые случайности для создания частного / публичной пары ключей, которые постоянно привязаны к этому BMA. Затем он прослушивает сеть для некоторых из последних добываемых блоков (TBD позже) и использует информацию в этих блоках, чтобы начать номер хруста по указанному вами адресу. Примерно через 2 часа (да, она должна требовать немного работы, чтобы претендовать на адрес), клиент имеет BitMail "решена" адрес, утверждая, что сделки и широковещательные эту сделку, которая не включает в свой BMA, но вместо того, чтобы хэш вашего адреса, открытый ключ, принадлежащий этот адрес (в случае необходимости, см ниже), и доказательство работы на (надеюсь, небольшие в -размер) адрес утверждая сделки. Этот адресный блок собран в сети, проверяется, и вставляется в официальное blockchain адресов электронной почты (более позднее на blockchain).
На данный момент, вы предоставили в сеть претензию на ваш адрес и сделали работу требовать его. И, кроме того, вам больше не нужно взаимодействовать с клиентом BitMail, как он будет действовать в качестве службы, работающей на вашем компьютере. Он невидим. Итак, теперь вы можете составить сообщение. Вы открываете Outlook, и измените настройки SMTP на локальные, определенный порт, и некоторые специальный пароль, который клиент BitMail настроен на прием. Вы начинаете новое сообщение. В поле Кому: у вас есть два варианта: 1) Для того, чтобы ввести в специальном формате BMA адрес, который совместим с SMTP (возможно, URL-адрес закодированные с последующим @ bitmail.bma) или 2) стандартный адрес электронной почты?. Вы заканчиваете свое сообщение, приложив файлы, если вы хотите, и нажмите отправить. Содержание почты не имеет значения: заголовки почты и почтовых кодировок будет 100% совместим с BitMail, а BitMail только замена для доставки почты, а не фактическое содержание электронной почты. Если ввести стандартный адрес электронной почты, клиент BitMail действует как обычный агент доставки почты и перенаправляет почту на соответствующие сервера в соответствии с электронной почтой DNS. Самое интересное, когда вы пишете в ВМА. После получения данных из Outlook, клиент BitMail знает, что это сообщение было предназначено для получателя BitMail из формата адреса. Он создает набор заголовков сообщений, что сеть BitMail требует. Эти заголовки включает в себя, по меньшей мере хэш предполагаемого получателя BMA (ы), размер сообщения, хэш сообщения, и все больше и начинается номер хруст. Он должен принять очень небольшое, незаметное в небольших количествах, но заметное в большом, количество времени "решать" это заголовок сообщения. 100мс, кажется, не слишком смешно для меня. Это сообщение-решения время должно оставаться постоянным независимо от того насколько быстро компьютеров становятся, поэтому некоторые работы, чтобы придумать, как вычислить уровень сетевой трудности необходим. А поскольку решение заголовков сообщений не является сетевым почином, особое внимания нужно будет соблюдать осторожность при выборе для трудности. (TBD: вы должны доказать, что вы знаете, БМА получателя, а не только хэш БМА я думаю, что это можно сделать, используя знания о BMA подписать заголовок сообщения.).
После того, как заголовок сообщения решается, клиент BitMail начинает обрабатывать передачу сообщения. Это делается в двух частях. Первая часть загрузки и доставки содержимого сообщения. Содержание подписывается секретным ключом автора сообщения БМА и шифруется с помощью открытого ключа получателя BMA, который должен присутствовать в blockchain (в противном случае, BMA не будет действительным, было бы это?). Клиент BitMail будет поддерживать "сообщение о доставке контента" плагинов, что позволяет для доставки содержимого сообщения в любом случае, что разработчики, пожалуйста. Я имею в виду стандартный плагин доставки может быть использовать новый MEGA сайт хранения API. Другой плагин может быть битторрентом-как сеть передачи данных, где сверстники работают вместе, чтобы хранить зашифрованные куски данных. После того, как содержание сообщения передается через систему доставки, место и метод (я воображал схему URL, что плагины понять), чтобы получить эти данные включены в заголовках сообщений. Только решаемые заголовки сообщений, которые должны быть небольшими по размеру, затем транслируются по всей сети BitMail, передаются так долго, как заголовок считаются действительным (подписанные, легитимное доказательством работы, действительными получателями BMA и т.д.).
Все клиенты BitMail принимают и пересылку сообщений заголовков все время. Каждый заголовок проверяется, чтобы определить, является ли сам предполагаемый получатель этого сообщения. Если это так, то сообщение извлекается и расшифровано с помощью закрытого ключа, принадлежащего на БМО, используемых в заголовке сообщения. В следующий раз при открытии программы Outlook в папке Входящие через стандартные протоколы IMAP / POP появится сообщение. Ваша каждый день E-рассылка, то продолжается, как будто ничего не изменилось.
Но о человеке, он уверен, сделал.
О Блоке цепи
Более мысль должна быть введена в как блок-цепь BitMail может работать. Я рассмотрел мышление Блока цепи не в виде линейной цепочки, но больше дерева, сходного по идее Merkle дерев, где каждый вновь решаются блок имеет несколько хэш предыдущего блока в нем. Это позволило бы несколько блоков, чтобы быть ум сразу. (TBD Как решить утверждая конфликты разрешаются? Самая раннее время сети претензия более легитимная?) А клиент, не заинтересованы в загрузке полного блока цепи, может скачать только пару последних заголовков блоков из сети и использовать их в качестве вклада при решении адрес, утверждая сделки. Решение адресов должно происходить на месте, поэтому входы не должны быть старше определенного количества времени.
Текущее сообщение заголовка решения трудности необходимо будет поддерживать в блоке цепи. При отправке сообщения, заголовки сообщений ссылаются на блоке, что трудности пришли, и если этот блок слишком стар, сеть отклоняет сообщение. Мы не можем иметь ссылочное решение заголовка сообщения 10-летние блоки, что делает решение заголовков сообщений легче вычислить. BMA хэшей вместе с их открытыми ключами, в случае необходимости, сохраняются в блоке цепи. BMA решения трудности поддерживается в blockchain, а также, а также при ссылке на слишком старый блок при решении утверждая сделки BMA, претензия отклонена.
А шахтеры? Адрес-утверждая, что сделки должны быть затвердевает в блок цепи / дерево. Блок генеза (или пара генезиса блоки в случае блока дерева) может быть заполнены без каких-либо заявленных адресов. Как мы шахтеры стимулировать решения блоков? Является ли блок-цепь строго необходимо или может вся эта система существовать без одного?
Преимущества этой системы
Преимущества системы должны быть очевидны для любого знающих о Bitcoin.
- Никто не может написать вам сообщение без первого зная ваш адрес BitMail. Ваш BMA никогда не транслировался публично, только хеш ней. Таким образом, вы не можете подглядывать сеть для адресов.
- Без спама, или, скорее, спам не стоит драгоценных циклов процессора
- Полностью крипто система. Нет подслушивание. Безопасность сообщений полностью зависит от алгоритмов шифрования.
- Распределенные и одноранговой. Никто не может принять его. Никто не может требовать, чтобы увидеть вашу электронную почту
- Она пересекается с существующей системой электронной почты, так что каждый может принять его использование без влияния или опущены.
- Отправитель проверки. Каждое сообщение должно быть подписано с ключами, принадлежащих к BMA существующему в блоке цепи.
- собственности BMA является анонимным. Никто не знает, кто способен принимать какое сообщение. Никто ничего не знает о отправителе сообщения, либо.
- Сеть BitMail лучше масштабируется по размеру содержимого сообщения, поскольку услуги по хранению третьей стороны (Мег) или "поток"-подобных переводы могут быть использованы.
Недостатки?
- Можно было бы предположить, короткий BMAs.
- Надежность системы в значительной степени зависит от сильной системы сообщения доставки контента.
- Что-нибудь еще?
- Может ли сеть, как это обрабатывать количество сообщений сегодня почтовая система обрабатывает? Является ли какой-то алгоритм маршрутизации сообщений, необходимых для того, чтобы снизить нагрузку на сеть пропускной способности?
Другие идеи и бред
1. Может быть, лучше система будет "шахтные BMA претендующие монеты" вместо этого и использовать монеты "покупка" адреса. Это будет иметь преимущество, что кто-то, кто не хочет ждать эти 2 часа, чтобы претендовать на адрес может просто купить один сразу.
2. Получение регулярной электронной почты: вы можете настроить клиент BitMail действовать как "полномочие" для стандартного счета IMAP / pop3?
3. Возможно, открытые ключи BMA не должны быть включены в blockchain, и вместо этого вы можете убедиться, что вы знаете, БМА, будучи в состоянии генерировать открытый ключ от этого знания. Специальная математика, что я не совсем осведомлен бы использоваться, чтобы убедиться, что закрытый ключ не может быть угадан или генерироваться из знания БМО. Может быть, сама BMA, или некоторая функция БМА, _is_ открытого ключа.
4. Услуги могли прийти, чтобы люди, которые не используют BitMail может доставить почту BMAs. Это будет стандартный сервер SMTP, который принимает стандартные письма, а затем перенаправляет это сообщение в сеть BitMail для доставки. Webmail услуга может быть использовать бэкенд BitMail доставки.
5. Возможно, некоторые формы подтверждения получения могут быть разработаны в сетевом протокол.
6. Некоторые виды процедурной генерации адреса из исходного BMA? Это позволит вам выдавать различные формы вашего адреса разных сторон. Я думаю, вы могли бы просто получить несколько адресов, тоже.
7. Потеря закрытого ключа, связанный с BMA не должен иметь разрушительные последствия (например, навсегда потерять доступ к этому адресу). Так что, возможно, какой-то "бумажник мозг" эквивалент может быть реализован.
8. Для доставки, вы можете использовать БитТоррент. Плагин может автоматически генерировать файл .torrent и ссылка магнита может быть использована в качестве схемы извлечения. Это существенно позволит доставку очень больших сообщений. Возможно, она могла бы взаимодействовать с API Utorrent. Механизм доставки не особенно интересен, так как доставка p2p и зашифрованное хранение является по существу решена проблемой.
9. BitMail клиент может динамически устанавливать новый плагины доставки контента сообщения, как только они станут доступны.
10. В качестве альтернативы, вместо того, чтобы шахтеры, вы могли бы рассмотреть «Адрес-утверждая, что» сделки, как и сам блок дерева (назовем его в "адрес владение дерево"), Так как эти операции используют входные сигналы от предыдущих блоков для генерации. Если это так, то можно было бы отказаться в свой вклад в безопасность сети во время установки, загрузив всю цепочку генерации адреса и выполнения проверки на новые адреса. Отклонить недействительные претензии.
11.