DigiCash — компания, основанная Дэвидом Чаумом в 1990 году. Её технология eCash использовала слепые цифровые подписи для защиты приватности платежей. Деньги по-прежнему выпускал банк, который при обычной онлайн-процедуре также проверял, не были ли они уже потрачены. Поэтому DigiCash сочетала более конфиденциальные платежи с доверием к центральному эмитенту.
Представим, что Анна хочет купить статью в интернете. Платёж картой создаёт запись, связывающую её счёт, продавца и сумму. Дэвид Чаум спрашивал, действительно ли такая связь нужна при каждом цифровом платеже. Ему было недостаточно спрятать записи в защищённую базу данных. Он хотел, чтобы у банка не было прямого криптографического способа сопоставить конкретную потраченную цифровую монету с её снятием. DigiCash была компанией, воплощавшей его исследования, а eCash — названием платёжной технологии. Ни одно из этих названий не означало сеть без банков. [1] [6]
Возьмём простой пример с одним долларом. Анна входит в интернет-банк и запрашивает цифровую наличность. Кошелёк — программа на её компьютере для подготовки и хранения цифровых монет — готовит уникальный номер монеты и математически его скрывает. Банк списывает со счёта один доллар и подписывает преобразованные данные. Он знает клиентку и сумму снятия, но не видит исходный номер, по которому монету будут узнавать позже. Это не создание бесплатных денег: выпуск цифровой монеты сопровождается списанием соответствующей суммы со счёта. [5] [7]
Такой приём называется blind signature, или слепая подпись. Можно представить листок в непрозрачном конверте, через который ставят проверяемую печать. В действительности это не бумага, а тщательно разработанная математическая операция. Цифровая подпись — не изображение рукописной подписи. Программа вычисляет её с помощью приватного ключа, который банк хранит в секрете; соответствующий открытый ключ позволяет другим проверить подпись. Получив подпись, кошелёк Анны снимает маскировку, но подпись остаётся действительной для исходной монеты. Позже можно проверить, что её действительно подписал банк-эмитент. При этом маскировка не позволяет превратить долларовую монету в произвольно большую сумму. Сочетание проверяемой подписи и скрытого номера составляет суть идеи. [2] [5] [6]
Анна отправляет монету продавцу, а он предъявляет её банку-эмитенту. При онлайн-процедуре банк проверяет подпись и выясняет, не появлялся ли тот же номер в предыдущем платеже. Если всё в порядке, он принимает монету и зачисляет продавцу соответствующую сумму. Продавцу не приходится верить Анне на слово, что деньги действительны. При погашении банк видит монету и получателя, но сама слепая подпись не раскрывает, при каком снятии возникла именно эта монета. Это точнее, чем говорить, будто банк вообще ничего не видит. [5] [7]
Цифровые данные можно копировать, поэтому Анна могла бы отправить одну монету двум продавцам. Это double spend, двойная трата. Здесь её предотвращает база погашенных номеров у банка: повторно предъявленный номер отклоняется. Проверкой не занимаются ни публичная цепочка блоков, ни майнеры. Чаум, Амос Фиат и Мони Наор исследовали и офлайн-схемы, в которых повторная трата могла позднее раскрыть нарушителя. Это иной механизм, чем немедленная онлайн-проверка. Нельзя смешивать их и обещать одинаковые гарантии для любого платежа без связи. [5] [7]
Чаум представил слепые подписи в исследовании 1982 года, а в 1990 году основал DigiCash в Амстердаме. Ранние интернет-испытания использовали CyberBucks — экспериментальные единицы, а не обычные банковские доллары. 23 октября 1995 года DigiCash и американский Mark Twain Bank объявили о запуске сервиса электронной наличности в долларах. Разница существенная: речь шла уже не только об испытании программы, но и о получении цифровой наличности в обмен на списание денег с настоящего счёта. Однако само объявление услуги не доказывает, что такой способ оплаты получил массовое распространение. [1] [3] [7]
Счёт Анны всё ещё может быть открыт на её имя. Банк знает её снятия и суммы, а продавец может знать адрес доставки или учётную запись покупателя. Сопоставление времени и сумм тоже может дать подсказки. Слепая подпись защищает определённую связь внутри платёжной системы, а не все следы покупки. Важен и компьютер, готовящий монету: вредоносная программа может разрушить приватность ещё до оплаты. Технология призвана ограничить ненужное связывание записей, а не обещать полную невидимость. [6] [7]
Цифровая монета здесь представляет стоимость, которую признаёт конкретный эмитент. Если банк или сервис остановится, одна криптография не гарантирует, что продавец примет деньги или их удастся обменять обратно. Важны также условия сервиса и сохранность кошелька. Даже восстановление потерянных данных нельзя считать само собой разумеющимся: объявление 1995 года описывало восстановление с помощью секретного исходного значения (seed) как план для будущих версий. Этот исторический замысел не равнозначен современной стандартной резервной копии Bitcoin-кошелька. Приватность, доступность и возможность добиться исполнения денежного требования — разные вопросы. [7]
В ноябре 1998 года WIRED сообщило, что DigiCash запросила в США защиту по Chapter 11 — процедуре банкротства, допускающей реорганизацию. Репортаж описывал долги и сложности с достижением достаточного распространения сервиса. Это не доказательство того, что кто-то взломал слепые подписи. Для успеха технологии недостаточно математически верного проекта: нужны также банки, готовые её обслуживать, продавцы и желающие пользоваться ею клиенты. Однако такое общее объяснение стоит отличать от заявления, будто нам известна единственная точная причина краха всей компании. [4]
Позже Bitcoin решал другую часть той же проблемы: как передавать цифровую стоимость без банка, выпускающего монеты и ведущего решающий список уже потраченных единиц. Узлы — компьютеры с программой, которая проверяет транзакции по общим правилам. Транзакции объединяются в связанные друг с другом блоки. Proof of Work — вычислительная работа, необходимая для создания этих блоков; благодаря ей переписывание записанной истории обходится дорого. Но платежи записываются в публичную историю, поэтому отсутствие эмитента автоматически не даёт той же приватности, что слепые подписи. DigiCash — не просто неудачный Bitcoin. Она показывает, что приватность и независимость от учреждения являются разными целями, по обеим из которых нужно оценивать платёжную систему. [5] [8]
Для полной картины прочитайте эту статью вместе с David Chaum, Chaumian eCash, Blind Signature, Приватность в Bitcoin, Двойная трата, Bitcoin. На эту статью также ссылаются Chaumian eCash, Blind Signature, Digital Cash.