Comments 52
А еще вы забыли упомянуть про безопасность. Украденную цифровую денежку легко отследить и вернуть владельцу. И наказать мошенника. Особенно, если регистрироваться цифровые кошельки будут строго по паспорту (для физ.лица) или по ИГРН (для юр.лиц).
Где костыль?
Вот именно, что даже костыля нет. Есть какой-то поток бессмысленных деталей.
Защиты от дублирования офлайновых транзакций де факто нет. Собственно, на алгоритмическом уровне его и быть не может.
В принципе, для цифроденег ЦБ, где все кошельки известны ЦБ и где кошельки потом будут сверяться в онлайне с базой ЦБ, проблема двойной траты не так важна. Сгрузили несколько дублирующих банкнот - кошелек дубликатор идентифицируется и платит/отдыхает.
То же самое и с атакой на блокировку денег плательщика - кошелек, злоупотребляющий офертами (которые могут быть обеспечены депозитами в ЦБ) опустошается и средства отправляются несостоявшемуся плательщику.
потом будут сверяться в онлайне с базой ЦБ
Ключевое слово "потом". Мошенник к тому времени выгоду так или иначе получит. То, что сам ЦБ ничего не потеряет это и так понятно.
Ну получит, и получит. Если пострадавший получит компенсацию (возможно, в каких-то ограниченных объёмах), то какая тут разница?
В принципе, это ничем не отличается от приёма наличных. Вручают пятитысячную бумажку - подумай 10 раз, стоит ли её принимать, т.к. не факт, что она подлинная.
Хочешь безопасного приёма средств - проведи онлайн. А если за какой-нибудь проезд принимаешь - ну так компенсируют.
Почему оффлайн транзакции — костыль?
Перефразируя вас "Снятие наличных стоиться на вере в то что смарт-карта делает то, что мы ожидаем. То есть по сути мы просто верим что отправитель не будет мухлевать. "
Дело в том, что это не верное утверждение. Как и ваше.
Отправитель НЕ будет мухлевать до тех пор, пока банковские карты надёжны. В чём проблема доверенную среду запихнуть в SIM-карту? По сути та же смарт-карта, только меньше и ещё даёт возможность звонить.
Не убедили.
В чём проблема доверенную среду запихнуть в SIM-карту?
А вот это, пожалуйста, не надо. Авторизация в системе связи - отдельно, деньги - отдельно. Хотя технически оно и возможно, да.
Если так легко сделать полностью доверенные устройства, которые никто никогда не сломает или не модифицирует, или не сделает свое, которое будет прикидываться доверенным, зачем вообще все эти сложности со слоями алгоритмов, блокчейном? Подошли с устройством к банку, он у себя в базе убавил с вашего счета 100 рублей, доверенное устройство у себя в базе прибавило 100 рублей, подошли к другому доверенному устройству, ваше списало у себя в базе 100 рублей, другое добавило себе в базу 100 рублей.
Контроль инфляции
Да здравствует плановая экономика? Не думаете, что если бизнесмену будет по каким-то причинам не выгодно продавать товар с наценкой, он его просто не будет продавать?
Ликвидация коррупции
Вот только в первую очередь пострадают обычные люди, которые например являются мелкими предпринимателями
Следить персонально можно только за чиновниками, юр.лицами и физ.лицами крупного бизнеса, взаимодействующего с государством
Следить за кем-то вообще подсудное дело. За чиновниками уж тем более.
Все остальные свойства тоже притянуты за уши.
Мне кажется, главные свойства, которые здесь не упомянуты, это:
Однородность
Мне кажется, одно из самых интересных свойств цифровых денег, это то, что их можно сделать неоднородными. Если раньше, имея 100 рублей, я мог или оплатить ими коммуналку, или купить гамбургер, то сейчас работодатель может выдать мне 50 рублей на коммуналку и 50 на гамбургеры. Не успел что-то потратить? Ну чтож, деньги сгорают.
Уменьшение количества посредников в передаче денег (банки, и т.п.)
Тут все понятно, меньше посредников, больше экономии
Перекладывание ответственности за хранение денег на частных лиц
Не знаю конкретно, чем это поможет, но перекладывание ответственности в любом деле считается за благо (вспомните ту же "это по предоставляется как есть, ..."), тут получается так, что ты эти деньги потерял, ты и виноват.
Введение новых посредников в схеме хранения и передачи денег
Например, для того, чтобы не терять все деньги при потере кошелька, вы можете доверить этот кошелек стороннему сервису, естественно за отдельную плату. Чем это отличается от банка, которые вроде бы предлагается убрать? Тем, что во-первых, пользователю это будет стоить больше, во-вторых, ответственности у такого сервера будет меньше, чем у банка
Чем это отличается от банка, которые вроде бы предлагается убрать?
Тем что банк может что-то делать с теми деньгами (выдать их в кредит), которые ему доверили. А посредник по хранению цифровых денег может даже не знать, что он деньги хранит. Увидит только какой-то шифрованный файл/образ c бакапом неизвестно чего.
Даже если кто-то поломает SIM карту (или токен), он НЕ ПОЛУЧИТ доступ ко всем деньгам системы.
Оффлайн - это самое слабое звено в вашем рассуждении. Если взломать сим-карту и вытащить оттуда приватник - spk (sim private key), то можно его загрузить в собственное программное устройство, которое не удаляет информацию от переданных банкнотах и таким образом бесконечно тратить деньги.
Т.е. поступать так:
1. Украсть сим карту (чтобы совершать зловредные действия не от своего имени)
2. Достать приватник и перенести на собственное устройство
3. Подойти к банкомату и выпустить банкноту на 1 млн
4. Записать состояние кошелька в бэкап
5. Найти жертву и купить на 1 млн в оффлайне (на кошельке 0 денег)
6. Восстановить из бэкапа (у нас на кошельке опять 1 млн)
7. Повторить шаг 5
Безопасность обеспечивается доверенной средой внутри каждого из кошельков. Без доверенной среды решить задачу offline передачи денег невозможно.
Именно поэтому весь ваш протокол небезопасен. Чтобы доказать безопасность - докажите что возможно создание не взламываемых чипов сим-карт (доверенной среды в вашей терминологии).
Кстати, это ваш протокол или это центральные банки так фантазируют?
таким образом бесконечно тратить деньги
В конце концов(а если сделать правильно - то очень быстро) какая-нибудь система заметит, что ей предъявили одни и те же 'монетки'. И потом соответствующие службы пойдут задавать неудобные вопросы всем причастным. В общем, процедура та же, как с обычным физическими фальшивыми купюрами.
Подойти к банкомату и выпустить банкноту на 1 млн
Хм... добавить онлайн проверку ?
Оффлайн нужен при обмене между устройствами А и Б, но не между банкоматом и устройстовм.
Вот и получается что человек и организация с доступом в интернет имеют защиту при транзакциях, а если человек у человека решил где то на дороге арбуз купить, то тут получается на свой страх и риск. Взломан кошелёк у плательщика и это его пятая повторная трата или не взломан получатель платежа узнает только когда подключится к сети. Или я что то не так понял?
Я так понял, именно так. И именно поэтому тут все эти опции для 'Большого Брата'. Чтобы потом можно было найти того, кто именно повторные оплаты делал
Ну да, на свой страх и риск. Но каковы риски? Думаю минимальны. В отличие от физических наличных на которых возможно не осталось физических отпечатков, в цифровых наличных докажите кто и когда вас обманул.
Взломать чип -- серьезное дело. И данный риск не помешал нам всем ходить с банковскими картами. Не думаю что если их и взломают, то будут красть арбузы.
И повторю ещё раз: при online у нас всё вообще в шоколаде. Там не нужны никакие counter-ы. Offline -- это доп.опция.
По сути, на практике, думаю все CBDC клиенты будут иметь по ДВА кошелька: offline и online.
И данный риск не помешал нам всем ходить с банковскими картами.
И это и происходит, с той лишь разницей что в интернете почти везде есть 3D Secure а снимать деньги с банкомата очень дорого по процентам, так как снимающий сядет почти наверняка. А в случае полного провала всё застраховано. Форумы по такой тематике процветают по сей день.
Впрочем во мне конечно больше говорят неоправданные ожидания. Но я бы рассмотрел возможность синхронизации транзакций не только через интернет а хотя бы звонком (что расширит диапазон покрытия сети до GSM фактически) и может быть даже старым добрым пищанием в трубку, что расширит диапазон до любого места где есть хоть какой то телефон.
В этом случае условные предприниматели "переведи через 900 по номеру" хотя бы в теории всерьёз рассмотрят использование этой системы, отходя синхронизировать транзакции раз в сколько то или просто синхронизируя транзакцию звонком/sms сообщением. Иначе думаю дальше городов милионников никуда это всё не пойдёт.
И это и происходит
Что происходит? Взлом чип-карты? Можно proof хотя бы один?
И снять деньги с банкомата при отсутствии пластика не получиться.
Или компрометация карты + социальня инженерия. Если так, мы не об этом.
Но я бы рассмотрел возможность синхронизации транзакций не только через интернет а хотя бы звонком
Да ради Бога! Это вообще не проблема. Online платежи в CBDC банальная тема, которая не требует обсуждений. Там всё очевидно.
Что происходит? Взлом чип-карты? Можно proof хотя бы один?
И снять деньги с банкомата при отсутствии пластика не получиться.
Классическим способом думаю не получится, тут вы правы. Но если нужно просто изготовить дубль с разрешения владельца то никаких проблем.
Классическим способом (а именно по быстрому без тыканья в чип всяким) можно только скопировать магнитную полосу и подсмотреть пин код.
В этой же системе "цифровых денег" владелец вполне может быть недоверенным лицом сам по себе. Почему он не может произвести манипуляции со своей же сим картой в целях взлома? Или с приложением?
Но если нужно просто изготовить дубль с разрешения владельца то никаких проблем.
Нет есть проблемы. Вы НЕ изготовите дубль. Разумеется доверенная часть должна прошиваться эмитентом и быть не доступной к копированию.
Почему он не может произвести манипуляции со своей же сим картой в целях взлома?
Какие манипуляции? Есть наружу две функции: подписать новый блок на приём и подписать новый блок на отправку. Ровно так как описал в статье. wallet c counter-ами недоступен для копирования, удаления, правки.
Вы хоть сами это читали?
Перечитайте вот это
Как работают банковские карты с чипом
Чип на карте — это не просто микросхема флеш-памяти. На самом деле это небольшой компьютер, позволяющий запускать приложения. Когда вы вставляете карту с чипом в терминал, происходит вот что: Первым делом начинается инициализация. На этом этапе терминал получает основные сведения о карте, такие как имя владельца, срок действия и так далее, а также список приложений, которые есть на карте.
Дальше идет опциональный этап аутентификации данных. На этом этапе при помощи криптографических алгоритмов терминал удостоверяется, что карта настоящая. Однако согласно стандарту этот этап не является обязательным — то есть его можно пропустить.
Следующий этап тоже не обязательный — это верификация владельца. То есть терминал должен убедиться, что человек, вставивший карту — это ее настоящий владелец. Для этого человек должен либо ввести PIN-код, либо расписаться на чеке — в зависимости от того, как карта запрограммирована.
Наконец, следующий этап — это собственно транзакция, то есть перевод денег.
Еще раз обращаем ваше внимание: обязательными являются только первый и четвертый этапы, а второй и третий — опциональные. Этим-то и воспользовались бразильские мошенники.
Карточка на все согласна
Итак, условия задачи: карточка умеет запускать приложения и при общении с терминалом первым делом сообщает ему информацию о себе и список доступных приложений. Количество этапов при осуществлении платежа определяется терминалом и картой.
Решение: бразильцы написали для карты Java-приложение, которое делает, по сути, две вещи. Во-первых, оно сообщает платежному терминалу, что проводить аутентификацию данных, то есть второй этап, не нужно. То есть никакой криптографии дальше не используется, что существенно упрощает задачу. Остается этап верификации владельца при помощи PIN-кода.
Но стандартом предусмотрены разные варианты подтверждения пина, и в том числе такой, когда правильность его ввода подтверждает… собственно, сама карта. А точнее, установленное на ней приложение. Преступники написали такое приложение, которое на вопрос о том, правильно ли введен PIN, всегда отвечает терминалу «да-да, все отлично».
То есть злоумышленник с клонированной картой может ввести на терминале четыре абсолютно случайные цифры — и эти цифры будут приняты как правильный PIN.
И где здесь взлом самой смарт-карты? Его нет.
Есть "бразильские оптимизации". Вангую придумал какой-нибудь гениальный манагер. По сути это то же самое, когда входная дверь в квартиру открывается ключом, но это "опционально", и можно войти к вам в квартиру и БЕЗ ключа :)
Давайте другой пруф.
И ещё раз: в ИБ нет ничего абсолютного. Есть управление рисками. Использовать смарт-карты для цифровых денег так же безопасно как использовать те же смарт-карты для безналичных платежей. При условии отсутсвии "бразильских оптимизаций". О чём тут спорим?
Я действительно плохо разбираюсь в теме. Поэтому и начал этот диалог. Что бы разобраться.
Просто для меня система где ни у кого на самом деле нет самих денег и есть арбитр в виде банка кажется более надёжной. На обычном пластике же нет по сути наличных. Есть только цифровая подпись, а сами деньги застрахованы.
С оффлаин транзакциями всё совершенно иначе. В симку влезает где то 250 номеров. Это примерно 1375 байт. Допустим туда с трудом влезет 2 подписи. Плюс надо же как то засунуть в это пространство приложение для генерации подписывающего ключа (что бы не выдавать подпись прямо в систему). Плюс непонятно как авторизовывать само приложение? Если сами записи будут хранится в памяти телефона, то манипулирование с ними уже не кажется таким проблематичным при условии рута на телефоне. Условно я просто могу поменять приложение или запустить стороннее и переподписать/удалить некоторые транзакции блокчеина, потом запустить основное и совершить двойную трату. И я не совсем понимаю как это предполагается обойти.
В SIM-картах есть не только память для номеров.
Технически можно разработать SIM с памятью... ну скажем 1 Гб. Другое дело, что вот прям сейчас таких SIM-ок в продаже нет. Там обычно в районе 128/256 КБ... Но это пока. CBDC гос.движуха откроет рынок "жирных симок", специально для этих задач.
Само приложение авторизовывать в рамках "на пальцах" не нужно. В этом нет необходимости для защиты от фальшивомонетчиков. Хотя, конечно не помешает. Плюс работа с SIM тот ещё гемор. Знаю как это делать root-ом, но как без него -- пока не знаю.
А самое главное что делать когда счётчик чтения на карте закончится. Вот есть условная симка, у неё умерла мобильная часть. Будет передаваться этот же ключ для транзакций на другую? Если да то что мешает его считать до смерти симки. Если нет то что будет с деньгами?
Я вот только одного не понял. Если у вас уже есть доверенная среда выполнения. То зачем все эти извраты??? Проблема передачи информации для двух доверенных агентов, через недоверенную среду уже давно решена. А при обмене между двумя доверенными агентами достаточно передать обычное сообщение.
Ну т.е. если говорить проще. Если вы доверяете тому, что счетчик всегда будет только увеличиваться, то что вам мешает просто убавить хранимую сумму на N в одном кошельке и увеличить в другом?
Все эти banknot id нужны только "большому брату" и больше никому.
ЗЫ: Кстати, если кто не в курсе, такой вариант уже давно был реализован "Золотой Короной" где-то в 90-х начале 2000-х, пока их не вытеснили Visa с Mastercard-ом. И все работало. И не было никаких проблем, кроме отсутсвия возможности меняться между физ. лицами, но это чисто из-за технических проблем тех времен. Сейчас можно было бы решить элементарно.
Проблема передачи информации для двух доверенных агентов, через недоверенную среду уже давно решена.
Проблема передачи информации решена, и что? Предложите алгоритм цифровых денег. Step-by-step.
Передача информации и передача информации с гарантированной невозможностью еще раз подписать, но уже третьему лицу -- это две большие разницы
Ну написал же уже наверху. Все просто.
Нам надо передать 100р. из кошелька "А" в кошелек "Б". Посылаем из кошелька "А" сообщение в кошелек "Б", типа "мы тебе передаем 100р". При подтверждении успешеной передачи сообщения в кошельке "А" делаем total -= 100р. В кошельке "Б" total += 100р.
Зачем сложные алгоритмы? Я в том смысле, что если алгоритмам кошельков мы доверяем. То какой смысл в усложнениях?
Окей. Потом кошелёк А откатывает систему к прежнему состоянию. Находит кошелёк В и повторно переводит 100 рублей. Доступа к сети нет, кошелёк В не имеет никакой физической возможности получить информацию от кошелька Б.
Потом кошелёк А откатывает систему к прежнему состоянию.
Не откатывает. Аргумент был в том, что он на доверенной системе стоит, которая этого не позволит.
На самом деле я думаю дело именно в том, что доверенной системы на самом деле не нужно(хотя с ней приятнее). Нужно просто быстро ловить и наказывать тех, кто двойные траты делает.
Доверенная среда не нужна при online, при offline как без неё?
Добавил https://habr.com/ru/post/688384/#online_offline
Как вы будите "быстро ловить" ? В offline-е?
Буду ограничивать длину цепочки offfline транзакций. Это приведет к тому, что 'монетки' будут быстро возвращаться из кошельков в банки, которые уже двойные траты и сравнят.
Да. Сделает. Не вижу проблемы. Я вообще не считаю, что оно в оффлайне работать должно. Числовая наличность нужна в онлайне, как средство, позволяющее заплатить какие-нибудь 0.0002копейки за просмотр статьи, не занимаясь на каждом таком платеже общением с банком, делая такой платеж невозможным из за транзакционных издержках. А позволит сначала накопить некую достаточно крупную сумму такой наличностью, а уже потом с ней в банк идти. Смотри GNU Taller.
Потом кошелёк А откатывает систему к прежнему состоянию.
Не понял. Почему в вашей системе counter нельзя откатить, а в такой-же системе но без counter можно откатить? Вы уж "или крестик снимити или трусы оденьте" (с).
Спасибо за статью, было позновательно! Был бы рад некоторым уточнениям:
1. Если у кошелька А 100 у.е, но есть намерение передать только 50 у.е., единственный вариант запросить у эмитента размен? Оффлан такую операцию не совершить, если у кошелька В нет сдачи?
2. Конвертация валюты потребует дополнительных блоков с указанием информации о самой сделке? Получается у нас атамарным должны быть минимум 2 операции перевода купюр, а значит хорошы это все хранить в едином блоке. Таже проблема в пункте выше когда надо получить сдачу.
3. Возможность "отмены" транзакции не предусмотрено, значит должен быть механизм принудительного возврата в случае мошеничества? Как вариант эмитент поменчает переданую купюру "невалидной", а жертве выпускает новую.
Да, это проблема. Нужно делать эксчендж (размен) с эмитентом. Либо придумать "сдачу" от кошелька Б. У покупателя 100 у.е., у продавца две купюры по 10 у.е.. Товар стоит 80 у.е. Значит вы ему 100, он вам два раза по 10. Но проще сделать так, чтобы ситуации с разменом возникали как можно реже. Нужно набрать статистику и эмпирически как-то решить.
Конвертация валюты это в рамках цифровых денег что? Если у нас есть разные купюры но разных валют? Я думаю это за рамками.
Да, верно, отмена в рамках алгоритма не предусмотрена. "Как вариант эмитент поменчает переданую купюру "невалидной", а жертве выпускает новую."
И так уже отстали, вероятно навсегда, но по другим причинам.
> Простые люди могут попасть под слежку только при подозрении на терроризм и иную аналогичную уголовную деятельность, но ни при каких обстоятельствах не за гражданскую позицию.
Читая подобное бывает трудно сдерживаться, толи это жирный троллинг тупостью, толи вы с альфа-центавры и не знаете ничего что произошло за последние 10 лет в России, особенно за последние полгода.
Если в самом деле непонятно где в вашей логике пробелы, вот пример: объявляете неугодное лицо террористом(
Коррупцию и левак это не устранит, теми кому сильно надо будут просто использовать подставные счета и не надо ничего взламывать. Обычные люди от отчаяния перейдут на бартер или будут тупо в параллели использовать ту же крипту.
Цифровой фиат с блокчейном только еще сильнее усугубит положение простого смертного и даст еще больше рычагов контроля тоталитарному государству и корпорациям.
Несколько ссылок по теме на английском:
CBDC's threat to your privacy an freedom — «A Government agency would be able to see every single transaction an individual makes, and the state's control over the individual, as it would give these agencies the power to simply turn off an individual’s access to their money.»
Edward Snowden: CBDCs Are 'Cryptofascist Currencies' That Could 'Casually Annihilate' Savings — Decrypt
The New Nightmare of CBDCs
Total Control: Why Central Bank Digital Currencies are a Catastrophic Idea
П-ф-ф-ф-ф....
А разве на деньгах уже не имеется уникального цифрового кода?
Чем тогда Ваши цифровые деньги отличаются от уже имеющихся бумажных?
То, что эти номера никак не используются, так это уже вопрос не к нам.
Кстати, тут в пору цитата из классика (Дэвид Джоунс, "Изобретения Дедала", из-во "Мир", с. 136):
Наконец, Дедал хотел бы отметить еще одно любопытное следствие. В настоящее время все купюры одного достоинства полностью тождественны между собой, подобно элементарным частицам, подчиняющимся статистике Бозе — Эйнштейна. Если же мы начнем различать их по номерам, то они должны вести себя в соответствии с распределением Ферми — Дирака и проявлять гораздо меньшую склонность к «скучиванию». Это создаст предпосылки к более справедливому распределению богатства в обществе.
Вы исходите из ложной предпосылки, что государству можно доверять... Всё остальное написанное уже в общем то и не важно. Хотя забавно - а нахрена там блокчейн при полностью централизованной системе? Это как с ДЭГ - все сто процентов нод контролируются хрен пойми кем, соответственно записывать и перезаписывать блоки можно бесконечное число раз для достижения нужного результата. Поэтому доверия этому инструменту... ну как государству - никакого.
Весь мелкий бизнес сразу умрет! Они и живут-то только за счет утаивания доходов от государства.
Мне кажется, есть что-то из идей НМТ в статье.
Хотя, мне ближе концепт Геззеля, можно даже без криптографии, просто электронные монеты со сроком годности. А то от сегодняшней управляемой инфляции имени Кейнса как-то не по себе, жизнь на эскалаторе для всех, кроме управляющих эскалатором прям такое себе.
извините, я не экономист, и не в курсе, поэтому задам дурацкий вопрос, на который у меня нет ответа (но возможно ответ на него есть у Геззеля, просто я его не знаю):
А что при будет брать на себя накопительную роль, при таком концепте?
Или проще - что будет "лежать под матрасом" и не иметь заранее заданного срока годности? Золото?
Если вкратце, то единственный способ сохранить что-то денежное это дать в долг под 0%. Например соседу, банку или государству. Сумма долга не изменится через год. Тем самым вы формируете из не-вечных денег сокровище в привычном понимании. Но тут сразу возникает интерес не брать в долг под 0%, ведь тогда демерредж начнёт утекать уже из кармана должника.
Основная идея тут в том, что "деньга" протухает у любого владельца (и у государства тоже), поэтому данный механизм должен гонять пользователей по рынку в поисках трат, а не скапливать абсолютную вечную ликвидность в карманах, что обычно вынуждает эмитента раздувать массу денег, т.н. инфляция, но она неравномерна и субъективна как регуляторный механизм, так как рынок тоже пытается её компенсировать ценами.
Цифровые наличные на пальцах