Один вопрос, на который я не могу правильно ответить, когда его спрашивают:
Как именно блокчейн может проверить личность пользователя без централизованной доверенной стороны, такой как VeriSign?
Я знаю, что это делается децентрализованно, и алгоритм ECDSA должен сработать, но другим приложениям по-прежнему нужна централизованная доверенная сторона, чтобы проверить, действительно ли пользователь является тем, кем он себя называет, даже если они также используют ECDSA. .
Но как именно я могу гарантировать, что никто не сможет притвориться кем-то другим и вместо этого потратить свои биткойны?
Да, я знаю основы работы криптографии с открытым ключом, но информационная безопасность со мной не сильна.
Предположим, у меня есть кофейня с интенсивным потоком клиентов. Как я могу быть уверен в том, что клиенты уже заплатили, а другие не заплатили?
Предположим, что Боб и Анна — мои клиенты. Боб заказывает макиато, Анна заказывает капучино. Оба кофе имеют одинаковую цену. Как я могу узнать, какой платеж пришел от каждого из них?
Вас действительно волнует, какой клиент заплатил, или вас волнует, какой счет был оплачен?
Скажем, у вас есть клиенты Анна и Боб, которые оба что-то заказывают. Боб замечает, что у него закончились деньги, поэтому Анна говорит, что заплатит за оба. Если вы действительно хотите, чтобы отправитель раскрыл свою личность, ваша система уже выйдет из строя, поскольку Боб никогда ничего не платит.
Почти во всех случаях вас волнует только то, какой счет оплачивается, и вам не нужны данные плательщика (что в некоторых случаях может быть нарушением конфиденциальности).
Обычный способ сделать это на практике — создать новый платежный адрес для каждого платежа, который вы хотите получить. Вы отслеживаете, какой счет был оплачен, отслеживая, по каким адресам вы получали деньги. Создание новых адресов очень дешево, и они достаточно длинные, поэтому крайне маловероятно, что один и тот же адрес когда-либо будет создан дважды.
Личность плательщика часто не имеет значения в биткойн-платежах. Важной проверкой является то, что платеж был авторизован владельцем. В Биткойне тот, кто контролирует закрытый ключ, владеет средствами, и поэтому достаточно, чтобы транзакция была подписана правильным закрытым ключом (который дан для действительной транзакции).
Для владельца магазина важно знать, что ему заплатили. Поскольку биткойн-платежи необратимы, неважно, назовет ли Боб свое имя, точно так же бариста не захочет узнать имя Боба, когда Боб зайдет в кафе и заплатит за Макиато наличными.
Чтобы различать платежи, вы указываете новый адрес получения для каждого счета . Таким образом, когда адрес получает деньги, вы знаете, какой счет был оплачен. К счастью, адресное пространство Биткойн достаточно велико, чтобы каждый мог создать столько адресов, сколько ему нужно .
Разные заказы имеют разные платежные адреса в биткойнах.
Заказ оплачивается, когда указанный адрес получает запрошенное количество биткойнов.
Единственный практический способ проверить личность пользователя — заставить пользователя что-то подписать своим закрытым ключом. Единственная идентификационная информация, которую вы получаете в этот момент, — это то, что пользователь имеет доступ к закрытому ключу. В биткойн-блокчейне владелец закрытого ключа — единственный, кто может перемещать биткойны, заблокированные этим ключом, потому что для этого необходима подпись. По сути, если вы попытаетесь притвориться кем-то другим, у вас ничего не получится, поскольку вы не сможете произвести подпись.
простой ответ: дать каждому клиенту свой другой адрес
никогда не используйте адреса повторно
Вильгельм Грей
Марч
корсика
Майкл Хэмптон
Нейт Элдридж
Ложь Райан