После прочтения о Bitmessage прошлой ночью, и вспоминание эта почта на Cryptography StackExchange Дэвид Шварц (теперь пульсирующего), я подумал, что, возможно, можно было бы использовать для достижения своей идеи. С этой целью я написал выше схему о том, как он может быть использован. Все заслуга Давида. Критицизмы приветствовать.
Использование Bitmessage с Bitcoin для дополнительной конфиденциальности
Боб хочет получить Bitcoin пожертвования. Он создает новый Bitmessage адрес и размещает на своем веб-сайте публично. Bitmessage адрес Боба, на более высоком уровне, считается новым типом Bitcoin адреса принимающей. Этот адрес может быть легко связан с его личной идентичностью.
Алиса хочет послать несколько биткойнов Бобу. Чтобы сделать это, Алиса сначала генерирует новый адрес Bitcoin и посылает биткойна к нему. Алиса генерирует новый адрес временного Bitmessage (это не нужно хранить после оплаты успешно завершена). Она использует эту возможность, чтобы закрытый ключ Bitcoin Бобу через сеть Bitmessage. Это сообщение шифруется с помощью открытого ключа Bitmessage Боба, так что только он может читать. Боб получает сообщение, может успешно расшифровать его, и видит, закрытый ключ Bitcoin, содержащийся в нем.
Для того, чтобы принять платеж, Боб генерирует новый адрес Bitcoin и, используя секретный ключ, посланный ему Алисой, может направить средства на него. Он может также выбрать, чтобы отклонить платеж, отправив сообщение на адрес временного Bitmessage Алисы. Алиса все еще имеет секретный ключ, и поэтому она еще может провести его в новый адрес в любое время, даже без этого отклонения сообщения. После перемещения средств на новый адрес, и после приемлемого числа подтверждений, Боб теперь получил компенсацию и Алису может удалить временный Bitmessage адреса. Эти процедуры могут все быть автоматизированы с помощью программного обеспечения.
Если бы все должны были использовать эту схему, то не было бы никаких Bitcoin адреса, способные быть легко связаны с индивидуальностью. Когда Боб хочет провести его биткойны в магазине Фрэнка, он будет дан Bitmessage адрес Франка будет использоваться для оплаты. Сам Боб затем создать новый адрес временного Bitmessage отправить Фрэнку закрытый ключ Bitcoin. Боб не использует повторно его общественный Bitmessage адрес при отправке платежа Фрэнку, так Фрэнк не знает, что Боб, кто платит ему (если он не подает его личность с адресом доставки, электронной почты и т.д.). Если Боб были просто повторно использовать его общественный Bitmessage адрес, Фрэнк мог бы ввести его в поисковую систему и обнаружить, что он принадлежит Бобу.
Любой может увидеть адрес публичного Bitmessage Боба, потому что он разместил на своем сайте, но они просто не могут использовать это, чтобы проверить, сколько Bitcoin пожертвования Боб получил, или кто пожертвовал. Алиса может видеть, когда Bitcoins перемещается снова на blockchain на новый Bitcoin адрес, и предположит, что это означает, что они были потрачены на Бобе, но она не может легко связать новый Bitcoin адреса с Фрэнком, даже если Франк публично раскрыл свои один и только Bitmessage адрес в Интернете, как Боб сделал. Только если Боб специально говорит Элис, что он послал биткоен Фрэнк может Алисе знать, что новый Bitcoin адрес принадлежит Frank. Точно так же, если Фрэнк и Алиса может сверить, Фрэнк может обнаружить, что Боб является тот, кто заплатил ему. Из-за этот факт, эта схема не делает Bitcoin безвестны и анонимно, но это может обеспечить некоторую дополнительную конфиденциальность. Это помогло бы сорвать некоторые очевидные открытия возможных с Bitcoin адресов в настоящее время, так как более активное сотрудничество было бы необходимо, чтобы достичь того же.
К счастью, эта схема была бы условность построен на вершине Bitcoin и Bitmessage, и поэтому не требует каких-либо изменений в любой протокол. Старый механизм получения платежа по-прежнему возможно, хотя в идеале вы бы не объединить средства, собранные от обоих механизмов в один кошелек или может произойти утечка вашей личности, когда они связаны друг с другом на blockchain с несколькими входами для одной транзакции. Вы бы в идеале держать их отдельно и в идеале только провести Bitmessage биткойны других Bitmessage адресов. Это было бы только реалистичным, однако, если это стало распространенной практикой.
Одним из основных Недостатком использования этой схемы является то, что Bitmessage адреса не могут пассивно получать биткойны в автономном режиме. Вам нужно будет идти онлайн в какой-то момент получить платеж в Bitmessage адрес, потому что вам нужно будет отправить биткойны на новый адрес Bitcoin, что у вас есть. В GUI, это может быть представлено как простой «Accept Bitcoins» кнопку, которая будет автоматически генерировать новый адрес Bitcoin и отправить средства на него, используя секретный ключ, содержащийся в сообщении. Пока это действие не будет выполнено, однако, Bitcoins все еще технически принадлежит оригинальной партии, так как они могут (и должны) хранить копию секретного ключа. Кроме того, сеть Bitmessage удаляет старые сообщения, хотя они получают повторно отправлены с более поздней временной меткой, если они не были признаны принимаются. Этот процесс также требует повторной отправки отправителя, чтобы вернуться в Интернет, однако.
Дополнительное возможное Достоинство этой схемы является то, что не было бы никакой необходимости для пользователей, чтобы создавать новый получать адрес каждый раз, когда для дополнительной конфиденциальности, хотя они все еще могут сделать это, если они пожелают. Это позволит сделать управление платежными адресов гораздо проще. Для отправки, однако, пользователи должны создать отдельный временный характер Bitmessage адрес каждый раз. В возможном GUI, Bitmessage может быть абстрагируются вместе с Bitcoin адресов. Можно представить только один Bitmessage адрес пользователя для приема. Этот адрес, вместе со всеми адресами Bitcoin, используемых за кадром, может быть сгенерирован в детерминированным образом из ключевой фразы, что позволяет для резервного копирования бумажника, чтобы быть очень простой.