108 / 736E-CASH

Chaumian eCash

Цифровая наличность со слепыми подписями и доверием к эмитенту

Представьте, что цифровые деньги можно отправить так же легко, как сообщение, а их эмитент при этом не узнает автоматически, кому вы заплатили. К этому стремится Chaumian eCash. Но приватность не означает, что эмитент исчез: вы по-прежнему доверяете ему средства и рассчитываете, что его цифровые монеты можно будет потратить или обменять обратно.

Chaumian eCash — семейство систем цифровой наличности, основанных на работах Дэвида Чаума. Кошелёк — приложение для хранения и использования цифровых монет — получает от эмитента, которого часто называют mint, цифровые монеты со слепыми подписями. Математическое скрытие данных отделяет выпуск конкретной монеты от её последующего использования. Однако эмитент всё равно отвечает за приём или погашение монет, а в распространённых онлайн-системах также предотвращает двойную трату.

Когда Анна смотрит баланс в обычном платёжном приложении, чаще всего она видит запись на счёте, который ведёт оператор. В eCash она может вместо этого хранить сами цифровые подтверждения стоимости — монеты или токены. Такая монета содержит данные и удостоверяющий их результат вычисления, полученный программой с помощью секретных данных эмитента. Это не металлическая монета и не обязательно новая криптовалюта. Задача — приблизить оплату к наличным: не каждая мелкая покупка должна оставлять запись, которую легко связать с плательщиком. Дэвид Чаум развивал эту идею задолго до Bitcoin, а его компания DigiCash пыталась воплотить её на практике. [1] [3]

Эмитента часто называют mint, то есть монетным двором. Здесь это сервис, а не станок для чеканки. Например, Анна переводит ему средства, а её кошелёк получает взамен цифровые монеты. В системах, связанных с Bitcoin, суммы могут быть выражены в sats — сокращённом обозначении satoshi, мельчайших единиц Bitcoin. Главный вопрос: у кого находятся настоящие средства, за которые выпущены монеты? Если у mint, то Анна владеет требованием к нему, а не bitcoin, подконтрольным исключительно её собственным ключам — секретным данным для подписания переводов Bitcoin. Одинаковая сумма в sats на экране может означать совершенно разный способ хранения средств. [8] [6] [7]

Кошелёк готовит случайные секретные данные новой монеты и математически скрывает их перед подписанием. Эмитент видит запрошенный номинал и проверяет право на выпуск, но не видит скрытые исходные данные. После подписания кошелёк снимает маскировку, сохраняя действительность подтверждения. Это blind signature, или слепая подпись. Представьте проверяемую печать на листке внутри непрозрачного конверта; в действительности такую возможность обеспечивает математика. Правильно выполненная подпись сама по себе не сообщает эмитенту, какому прежнему получению монет соответствует предъявленная монета. Конкретные способы подписи и проверки отличаются от системы к системе. [1] [3] [8]

Анна отправляет Петру токен, например в сообщении. Пётр получил нужные данные, но Анна могла сохранить их копию. Поэтому в Cashu кошелёк получателя просит mint обменять полученные монеты на новые, подготовленные самим получателем. Mint аннулирует старые монеты и выпускает новые. Только после успешного завершения обмена отправитель уже не может потратить свою копию старых монет. Этот процесс также позволяет разорвать связь между новыми монетами и сданными. Поэтому изображение QR-кода или зелёная отметка о доставке сообщения не доказывают, что получатель уже безопасно распоряжается полученными средствами. [8] [9]

Double spend — попытка потратить одну и ту же стоимость повторно. Онлайн-сервис mint записывает данные использованных монет и отказывает в их повторном использовании. Это мешает пользователю просто скопировать деньги. Но сама база данных не доказывает, что у эмитента достаточно резервов или что он не выпускает дополнительные необеспеченные монеты. Нужно различать защиту от нечестного пользователя и доверие к оператору. Даже действительное криптографическое подтверждение монеты не является выпиской о резервах. Если эмитент перестанет сотрудничать, у человека может остаться действительный токен без возможности вернуть средства. [2] [6] [8]

Передать данные между двумя телефонами без подключения — одно, а надёжно убедиться, что их уже не потратили в другом месте, — другое. Некоторые методы позволяют проверить происхождение подписи без интернета. Однако это само по себе не подтверждает текущее состояние монеты. В исторических исследованиях Чаума, Амоса Фиата и Мони Наора описывалась и офлайн-наличность, повторная трата которой могла впоследствии раскрыть нарушителя. Но это не значит, что такой механизм использует каждый современный кошелёк. В обещаниях офлайн-платежей важно различать передачу данных, проверку подлинности и защиту от двойной траты. [2] [10]

Кошельку не нужна отдельная монета для каждой возможной суммы. Он может сочетать разные номиналы и при необходимости обменивать монеты. Допустим, баланс составляет 500 sats, а заплатить нужно 300 sats. Без учёта комиссий Анна хочет подготовить монеты общей стоимостью 300 sats для отправки и оставить 200 sats. Если подходящего сочетания нет, Cashu позволяет обменять монеты у mint, который заменит старые новыми. Это не валютная конвертация и не заработок на размене. Реальные комиссии и доступные номиналы зависят от правил конкретной системы. [8] [9]

Слепая подпись ограничивает возможность связать выпуск монеты с её тратой. Но она не стирает адрес доставки у продавца, вход в приложение, сетевые следы или приметное сочетание времени и суммы. Обычный токен без дополнительного ограничения может потратить тот, кто получил его секретные данные. Поэтому опубликовать его — не то же самое, что сообщить адрес для получения платежей. Нельзя также считать, что резервная копия кошелька решает любую проблему. Например, восстановление в Cashu может требовать не только слов резервной копии, но и содействия mint. Копия не вернёт средства, уже потраченные другим человеком, и не восполнит отсутствующие резервы эмитента. [3] [11] [12]

GNU Taler использует слепые подписи для защиты покупателя, но при этом предусматривает проверяемость доходов продавцов. Поэтому его задача — не скрыть всех участников от всех остальных. Cashu предлагает протокол электронной наличности на основе Bitcoin с сервисами mint. Fedimint распределяет управление между федерацией — группой хранителей, чтобы средства не контролировал один человек. Однако достаточная часть хранителей всё ещё может поставить средства под угрозу или выпустить необеспеченные монеты. Федерация распределяет доверие, а не отменяет его. Нельзя считать эти проекты взаимозаменяемыми только потому, что они используют родственную криптографическую идею. [4] [5] [6] [13]

Bitcoin проверяет переводы в сети по общим правилам без центрального эмитента, но история транзакций открыта. eCash может перенести часть платежей в более приватную среду эмитента и подключаться к Bitcoin, например через Lightning Network — сеть платёжных каналов для быстрых платежей. Участники канала обновляют распределение заранее внесённых биткоинов, не записывая каждый отдельный платёж в публичную историю Bitcoin. Однако пополнение или вывод через Lightning не превращают токен mint автоматически в bitcoin на самостоятельном хранении. Для начала достаточно трёх вопросов: кто держит деньги, которыми обеспечены монеты, кто может отказать в погашении и кому видны какие данные о платежах? Только вместе ответы дают честное представление о возможностях конкретной системы eCash. [6] [7] [13] [14]

Для полной картины прочитайте эту статью вместе с David Chaum, Blind Signature, DigiCash, Cashu, Fedimint, Двойная трата. На эту статью также ссылаются DigiCash, Reusable Proofs of Work, The Crypto Anarchist Manifesto, Blind Signature.

DOC · 001David Chaum — Blind Signatures for Untraceable PaymentsПервичный источник DOC · 002Chaum, Fiat and Naor — Untraceable Electronic CashПервичный источник DOC · 003David Chaum — Security Without IdentificationПервичный источник DOC · 004GNU Taler — Design principlesДокументация DOC · 005Cashu protocol specificationsСпецификация DOC · 006Fedimint — Trust Trade-OffsПервичный источник DOC · 007Bitcoin whitepaperПервичный источник DOC · 008Cashu NUT-00 — Notation and modelsПервичный источник DOC · 009Cashu NUT-03 — Swapping tokensПервичный источник DOC · 010Cashu NUT-12 — Offline ecash signature validationПервичный источник DOC · 011Cashu NUT-09 — Restore signaturesПервичный источник DOC · 012Cashu NUT-13 — Deterministic secretsПервичный источник DOC · 013Fedimint — How Federations WorkПервичный источник DOC · 014Lightning BOLTs — IntroductionСпецификация
Обновлено: Сначала источники · Не является инвестиционной рекомендацией