378 / 736DAI

Wei Dai

Автор b-money и первоначальный автор Crypto++

Wei Dai исследовал, как передавать деньги через интернет без общего банка и раскрытия личности. Его b-money относится к предшественникам Bitcoin. Crypto++ представляет другое направление его работы: инструменты, которыми программисты защищают данные.

Wei Dai — криптограф и первоначальный автор библиотеки Crypto++. В предложении b-money 1998 года он описал, как люди под цифровыми псевдонимами могли бы вести денежные счета и заключать договоры. Bitcoin ссылается на эту работу, но использует собственное устройство сети и правила.

Чтобы зашифровать сообщение или проверить цифровую подпись, программисту необязательно писать все процедуры с нуля. Можно воспользоваться криптографической библиотекой — набором функций для работы с защищёнными данными. Wei Dai первоначально написал именно такую библиотеку, Crypto++, на языке C++. Это настоящее программное обеспечение, которое можно включить в приложение. b-money — вклад другого рода: письменный проект денежной системы. Существование работающей библиотеки не доказывает, что сеть по этому проекту тоже работала. Чтобы понять его вклад, эти два направления следует рассматривать отдельно. [3]

В ноябре 1998 года Wei Dai задал вопрос, знакомый даже по обычным покупкам в интернете: как сотрудничать, не раскрывая личность? В b-money он предложил два протокола, то есть набора правил совместного учёта и договоров. Псевдонимами должны были служить открытые ключи, а сообщения — подписываться цифровой подписью. Однако сеть, не позволяющая отследить участников, была исходным допущением, а не результатом, который обеспечивал сам проект. Первый вариант автор назвал непрактичным из-за требований к общей рассылке сообщений. Перед нами продуманное предложение, а не инструкция уже работающего анонимного сервиса. [1]

Представим, что у Анны 5 единиц b-money и она отправляет Тому 2. В первом варианте каждый участник хранит собственную копию счетов. Подписанное сообщение Анны предписывает остальным списать платёж с её счёта и зачислить его Тому; у неё остаются 3 единицы. Сообщение, которое создало бы отрицательный баланс, игнорируется. Подпись позволяет проверить полномочия на распоряжение, но совместному учёту также нужны правила доставки сообщений. Bitcoin позднее использовал модель UTXO: она отслеживает конкретные выходы транзакций, которые ещё можно потратить. Сходная цель не означает одинакового способа учёта. [1]

Второй вариант b-money поручает учёт части участников, называемых серверами. Остальным требуется меньше работы, но возникает вопрос контроля управляющих. Серверы должны вносить залог для возможных штрафов, периодически публиковать базы данных и публично фиксировать обязательство придерживаться их содержимого. Пользователи проверяют собственный баланс и не превышает ли сумма счетов объём выпущенных денег. Получатель также проверяет обработку платежа на случайно выбранных серверах. Залог не устраняет доверие чудесным образом. Это часть предложенного надзора за людьми и машинами, которые ведут счета. [1]

В исходном b-money единицы создаются за решение вычислительной задачи. Их количество должно зависеть от стоимости вычислений, выраженной в стандартной корзине товаров. Корзина служит общей мерой затрат, а не устанавливает рыночную цену единицы. Однако компьютеры совершенствуются, а реальные затраты известны не всем. Dai признал эту трудность и предложил в приложении аукционный вариант: ведущие счета договариваются о количестве новых денег, а желающие соревнуются вычислительными заявками. Это не расписание выпуска BTC. Ценность текста также в том, что он называет сложную проблему и ищет другой путь её решения. [1]

Предложение выходит за пределы платежей. При заказе перевода подпись может подтвердить согласие с договором, но не качество готового текста. Поэтому договоры b-money предусматривают залоги, согласованные компенсации за нарушение и помощь арбитра. Если стороны не договорятся и с ним, они представляют аргументы, а каждый участник, ведущий учёт, принимает собственное решение. Это показывает, насколько трудно перенести человеческие споры в цифровую систему. Bitcoin Script, язык условий расходования выхода транзакции, напротив, проверяет точно заданные технические условия. Сам по себе он не определит, хорош ли обещанный перевод. [1]

Satoshi Nakamoto указал b-money 1998 года как источник 1 в whitepaper Bitcoin — документе, объясняющем его устройство. Так можно проследить конкретную связь идей: цифровые деньги без общего администратора исследовали ещё до Bitcoin. Ссылка не означает заимствования всех предложенных механизмов. Учёт, выпуск денег и разрешение споров в b-money отличаются от Bitcoin. Она также не раскрывает, кто стоял за именем Satoshi Nakamoto. Для понимания истории полезнее сравнивать документированные тексты, чем выводить личность автора из одной ссылки. [2]

История Crypto++ продолжается в исправлениях, тестах и работе других разработчиков. История проекта отмечает, что в июне 2015 года Wei Dai передал повседневное управление сообществу. Пользователю важны не только первоначальный автор, но и конкретная версия, а также правильное применение функций. Библиотека может предоставить инструменты подписи или шифрования, но сама не решает задачи безопасного хранения ключей и полного устройства кошелька. Разработчики приложений должны читать документацию, следить за исправлениями и проверять собственное использование. Признание вклада автора сочетается с проверкой сегодняшнего программного обеспечения. [3]

Для полной картины прочитайте эту статью вместе с Adam Back, Nick Szabo, b-money, Satoshi Nakamoto. На эту статью также ссылаются b-money, Bit Gold, Adam Back, Nick Szabo.

DOC · 001Wei Dai — b-money (November 1998)Документация DOC · 002Satoshi Nakamoto — Bitcoin whitepaper, reference 1Документация DOC · 003Crypto++ Project — author attribution and project historyДокументация
Обновлено: Сначала источники · Не является инвестиционной рекомендацией